clang
This commit is contained in:
parent
63e824b224
commit
118ba5bcc9
9 changed files with 873 additions and 897 deletions
File diff suppressed because it is too large
Load diff
|
@ -167,12 +167,12 @@ public:
|
|||
TPoint m_liveViewZoomOffset = TPoint(0, 0);
|
||||
EdsUInt32 m_liveViewZoom = 1;
|
||||
bool m_pickLiveViewZoom = false;
|
||||
bool m_liveViewZoomReadyToPick = true;
|
||||
bool m_liveViewZoomReadyToPick = true;
|
||||
TPointD m_liveViewZoomPickPoint = TPointD(0.0, 0.0);
|
||||
TPoint m_zoomRectDimensions = TPoint(0, 0);
|
||||
TPoint m_zoomRectDimensions = TPoint(0, 0);
|
||||
TPoint m_calculatedZoomPoint = TPoint(0, 0);
|
||||
TPoint m_finalZoomPoint = TPoint(0, 0);
|
||||
TRect m_zoomRect = TRect(0, 0, 0, 0);
|
||||
TRect m_zoomRect = TRect(0, 0, 0, 0);
|
||||
|
||||
// Webcam Public Properties
|
||||
QString m_webcamDeviceName;
|
||||
|
|
|
@ -195,7 +195,7 @@ StopMotionController::StopMotionController(QWidget *parent) : QWidget(parent) {
|
|||
m_resolutionCombo = new QComboBox(this);
|
||||
m_resolutionCombo->setFixedWidth(fontMetrics().width("0000 x 0000") + 25);
|
||||
m_resolutionLabel = new QLabel(tr("Resolution: "), this);
|
||||
m_cameraStatusLabel = new QLabel(tr("Camera Status"), this);
|
||||
m_cameraStatusLabel = new QLabel(tr("Camera Status"), this);
|
||||
QPushButton *refreshCamListButton = new QPushButton(tr("Refresh"), this);
|
||||
refreshCamListButton->setFixedHeight(28);
|
||||
refreshCamListButton->setStyleSheet("padding: 0 2;");
|
||||
|
@ -1152,7 +1152,7 @@ void StopMotionController::refreshMode() {
|
|||
m_cameraStatusLabel->hide();
|
||||
return;
|
||||
}
|
||||
QString mode = m_stopMotion->getMode();
|
||||
QString mode = m_stopMotion->getMode();
|
||||
QString battery = m_stopMotion->getCurrentBatteryLevel();
|
||||
m_cameraModeLabel->setText(tr("Mode: ") + mode);
|
||||
m_cameraStatusLabel->setText("Mode: " + mode + " - Battery: " + battery);
|
||||
|
@ -1630,57 +1630,55 @@ void StopMotionController::hideEvent(QHideEvent *event) {
|
|||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
void StopMotionController::keyPressEvent(QKeyEvent *event) {
|
||||
|
||||
int key = event->key();
|
||||
TFrameHandle* fh = TApp::instance()->getCurrentFrame();
|
||||
int origFrame = fh->getFrame();
|
||||
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) && (key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up || key == Qt::Key_Down
|
||||
|| key == Qt::Key_2 || key == Qt::Key_4 || key == Qt::Key_6 || key == Qt::Key_8)) {
|
||||
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
|
||||
if (key == Qt::Key_Left || key == Qt::Key_4) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
|
||||
}
|
||||
if (key == Qt::Key_Right || key == Qt::Key_6) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
|
||||
}
|
||||
if (key == Qt::Key_Up || key == Qt::Key_8) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
|
||||
}
|
||||
if (key == Qt::Key_Down || key == Qt::Key_2) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
|
||||
}
|
||||
if (m_stopMotion->m_zooming) {
|
||||
m_stopMotion->setZoomPoint();
|
||||
}
|
||||
}
|
||||
m_stopMotion->calculateZoomPoint();
|
||||
event->accept();
|
||||
}
|
||||
else if (key == Qt::Key_Up || key == Qt::Key_Left) {
|
||||
fh->prevFrame();
|
||||
event->accept();
|
||||
}
|
||||
else if (key == Qt::Key_Down || key == Qt::Key_Right) {
|
||||
fh->nextFrame();
|
||||
event->accept();
|
||||
}
|
||||
else if (key == Qt::Key_Home) {
|
||||
fh->firstFrame();
|
||||
event->accept();
|
||||
}
|
||||
else if (key == Qt::Key_End) {
|
||||
fh->lastFrame();
|
||||
event->accept();
|
||||
}
|
||||
else if (!m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Return || key == Qt::Key_Enter)) {
|
||||
void StopMotionController::keyPressEvent(QKeyEvent *event) {
|
||||
int key = event->key();
|
||||
TFrameHandle *fh = TApp::instance()->getCurrentFrame();
|
||||
int origFrame = fh->getFrame();
|
||||
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) &&
|
||||
(key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up ||
|
||||
key == Qt::Key_Down || key == Qt::Key_2 || key == Qt::Key_4 ||
|
||||
key == Qt::Key_6 || key == Qt::Key_8)) {
|
||||
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
|
||||
if (key == Qt::Key_Left || key == Qt::Key_4) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
|
||||
}
|
||||
if (key == Qt::Key_Right || key == Qt::Key_6) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
|
||||
}
|
||||
if (key == Qt::Key_Up || key == Qt::Key_8) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
|
||||
}
|
||||
if (key == Qt::Key_Down || key == Qt::Key_2) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
|
||||
}
|
||||
if (m_stopMotion->m_zooming) {
|
||||
m_stopMotion->setZoomPoint();
|
||||
}
|
||||
}
|
||||
m_stopMotion->calculateZoomPoint();
|
||||
event->accept();
|
||||
} else if (key == Qt::Key_Up || key == Qt::Key_Left) {
|
||||
fh->prevFrame();
|
||||
event->accept();
|
||||
} else if (key == Qt::Key_Down || key == Qt::Key_Right) {
|
||||
fh->nextFrame();
|
||||
event->accept();
|
||||
} else if (key == Qt::Key_Home) {
|
||||
fh->firstFrame();
|
||||
event->accept();
|
||||
} else if (key == Qt::Key_End) {
|
||||
fh->lastFrame();
|
||||
event->accept();
|
||||
} else if (!m_stopMotion->m_pickLiveViewZoom &&
|
||||
(key == Qt::Key_Return || key == Qt::Key_Enter)) {
|
||||
m_captureButton->animateClick();
|
||||
event->accept();
|
||||
}
|
||||
else if (m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Escape || key == Qt::Key_Enter || key == Qt::Key_Return )) {
|
||||
m_stopMotion->toggleZoomPicking();
|
||||
}
|
||||
|
||||
} else if (m_stopMotion->m_pickLiveViewZoom &&
|
||||
(key == Qt::Key_Escape || key == Qt::Key_Enter ||
|
||||
key == Qt::Key_Return)) {
|
||||
m_stopMotion->toggleZoomPicking();
|
||||
}
|
||||
|
||||
else
|
||||
event->ignore();
|
||||
}
|
||||
|
|
|
@ -74,7 +74,8 @@ class StopMotionController final : public QWidget {
|
|||
*m_focusFar3Button, *m_captureFilterSettingsBtn;
|
||||
QHBoxLayout *m_focusAndZoomLayout;
|
||||
QLabel *m_frameInfoLabel, *m_cameraSettingsLabel, *m_cameraModeLabel,
|
||||
*m_kelvinLabel, *m_resolutionLabel, *m_directShowLabel, *m_cameraStatusLabel;
|
||||
*m_kelvinLabel, *m_resolutionLabel, *m_directShowLabel,
|
||||
*m_cameraStatusLabel;
|
||||
QToolButton *m_previousLevelButton, *m_previousFrameButton,
|
||||
*m_previousXSheetFrameButton;
|
||||
|
||||
|
@ -103,7 +104,7 @@ protected:
|
|||
void hideEvent(QHideEvent *event);
|
||||
// void mousePressEvent(QMouseEvent *event) override;
|
||||
// void keyPressEvent(QKeyEvent *event);
|
||||
void keyPressEvent(QKeyEvent* event) override;
|
||||
void keyPressEvent(QKeyEvent *event) override;
|
||||
|
||||
protected slots:
|
||||
void refreshCameraList();
|
||||
|
|
|
@ -467,7 +467,8 @@ bool GenericSaveFilePopup::execute() {
|
|||
// (yep, even if a DIFFERENT type was specified - next time do it right :P)
|
||||
const QStringList &extList = m_browser->getFilterTypes();
|
||||
|
||||
if (!m_isDirectoryOnly && !extList.contains(QString::fromStdString(path.getType()))) {
|
||||
if (!m_isDirectoryOnly &&
|
||||
!extList.contains(QString::fromStdString(path.getType()))) {
|
||||
path =
|
||||
TFilePath(path.getWideString() + L"." + extList.first().toStdWString());
|
||||
}
|
||||
|
@ -1220,10 +1221,10 @@ bool LoadLevelPopup::execute() {
|
|||
args.frameIdsSet.push_back(tmp_fids);
|
||||
}
|
||||
|
||||
int xFrom = m_xFrom->text().toInt();
|
||||
int xFrom = m_xFrom->text().toInt();
|
||||
if (xFrom) args.xFrom = xFrom;
|
||||
int xTo = m_xTo->text().toInt();
|
||||
if (xTo) args.xTo = xTo;
|
||||
int xTo = m_xTo->text().toInt();
|
||||
if (xTo) args.xTo = xTo;
|
||||
|
||||
args.levelName = m_levelName->text().toStdWString();
|
||||
args.step = m_stepCombo->currentIndex();
|
||||
|
@ -1574,7 +1575,7 @@ bool SaveLevelAsPopup::execute() {
|
|||
TXshSimpleLevel *sl = dynamic_cast<TXshSimpleLevel *>(
|
||||
TApp::instance()->getCurrentLevel()->getLevel());
|
||||
if (!sl) return false;
|
||||
std::string ext = sl->getPath().getType();
|
||||
std::string ext = sl->getPath().getType();
|
||||
if (fp.getType() == "") fp = fp.withType(ext);
|
||||
|
||||
IoCmd::LoadResourceArguments args(fp);
|
||||
|
@ -2231,7 +2232,7 @@ void BrowserPopup::initFolder(TFilePath path) {
|
|||
}
|
||||
if (!TFileStatus(path).doesExist()) {
|
||||
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
|
||||
if (scene) path = scene->decodeFilePath(path);
|
||||
if (scene) path = scene->decodeFilePath(path);
|
||||
}
|
||||
|
||||
if (!path.getType().empty()) path = path.getParentDir();
|
||||
|
@ -2300,8 +2301,8 @@ void BrowserPopupController::openPopup(QStringList filters,
|
|||
QString BrowserPopupController::getPath(bool codePath) {
|
||||
m_isExecute = false;
|
||||
if (!m_browserPopup) return QString();
|
||||
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
|
||||
TFilePath fp = m_browserPopup->getPath();
|
||||
ToonzScene *scene = TApp::instance()->getCurrentScene()->getScene();
|
||||
TFilePath fp = m_browserPopup->getPath();
|
||||
if (scene && codePath) fp = scene->codeFilePath(fp);
|
||||
std::cout << ::to_string(fp) << std::endl;
|
||||
return toQString(fp);
|
||||
|
|
|
@ -1197,7 +1197,7 @@ void MainWindow::onMenuCheckboxChanged() {
|
|||
#endif
|
||||
else if (cm->getAction(MI_RasterizePli) == action) {
|
||||
if (!QGLPixelBuffer::hasOpenGLPbuffers()) isChecked = 0;
|
||||
RasterizePliToggleAction = isChecked;
|
||||
RasterizePliToggleAction = isChecked;
|
||||
} else if (cm->getAction(MI_SafeArea) == action)
|
||||
SafeAreaToggleAction = isChecked;
|
||||
else if (cm->getAction(MI_ViewColorcard) == action)
|
||||
|
@ -1621,7 +1621,8 @@ void MainWindow::defineActions() {
|
|||
createMenuRenderAction(MI_Preview, tr("&Preview"), "Ctrl+R");
|
||||
createMenuFileAction(MI_SoundTrack, tr("&Export Soundtrack"), "");
|
||||
#ifdef WITH_STOPMOTION
|
||||
createMenuFileAction(MI_StopMotionExportImageSequence, tr("&Export Stop Motion Image Sequence"), "");
|
||||
createMenuFileAction(MI_StopMotionExportImageSequence,
|
||||
tr("&Export Stop Motion Image Sequence"), "");
|
||||
#endif
|
||||
createMenuRenderAction(MI_SavePreviewedFrames, tr("&Save Previewed Frames"),
|
||||
"");
|
||||
|
@ -2372,7 +2373,8 @@ void MainWindow::defineActions() {
|
|||
createAction(MI_StopMotionToggleLiveView, tr("Toggle Stop Motion Live View"),
|
||||
"");
|
||||
createAction(MI_StopMotionToggleZoom, tr("Toggle Stop Motion Zoom"), "");
|
||||
createAction(MI_StopMotionPickFocusCheck, tr("Pick Focus Check Location"), "");
|
||||
createAction(MI_StopMotionPickFocusCheck, tr("Pick Focus Check Location"),
|
||||
"");
|
||||
createAction(MI_StopMotionLowerSubsampling,
|
||||
tr("Lower Stop Motion Level Subsampling"), "");
|
||||
createAction(MI_StopMotionRaiseSubsampling,
|
||||
|
@ -2467,7 +2469,7 @@ void MainWindow::clearCacheFolder() {
|
|||
// 1. $CACHE/[Current ProcessID]
|
||||
// 2. $CACHE/temp/[Current scene folder] if the current scene is untitled
|
||||
|
||||
TFilePath cacheRoot = ToonzFolder::getCacheRootFolder();
|
||||
TFilePath cacheRoot = ToonzFolder::getCacheRootFolder();
|
||||
if (cacheRoot.isEmpty()) cacheRoot = TEnv::getStuffDir() + "cache";
|
||||
|
||||
TFilePathSet filesToBeRemoved;
|
||||
|
@ -2581,9 +2583,9 @@ RecentFiles::~RecentFiles() {}
|
|||
void RecentFiles::addFilePath(QString path, FileType fileType,
|
||||
QString projectName) {
|
||||
QList<QString> files =
|
||||
(fileType == Scene)
|
||||
? m_recentScenes
|
||||
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
|
||||
(fileType == Scene) ? m_recentScenes : (fileType == Level)
|
||||
? m_recentLevels
|
||||
: m_recentFlipbookImages;
|
||||
int i;
|
||||
for (i = 0; i < files.size(); i++)
|
||||
if (files.at(i) == path) {
|
||||
|
@ -2750,9 +2752,9 @@ void RecentFiles::saveRecentFiles() {
|
|||
|
||||
QList<QString> RecentFiles::getFilesNameList(FileType fileType) {
|
||||
QList<QString> files =
|
||||
(fileType == Scene)
|
||||
? m_recentScenes
|
||||
: (fileType == Level) ? m_recentLevels : m_recentFlipbookImages;
|
||||
(fileType == Scene) ? m_recentScenes : (fileType == Level)
|
||||
? m_recentLevels
|
||||
: m_recentFlipbookImages;
|
||||
QList<QString> names;
|
||||
int i;
|
||||
for (i = 0; i < files.size(); i++) {
|
||||
|
@ -2779,9 +2781,9 @@ void RecentFiles::refreshRecentFilesMenu(FileType fileType) {
|
|||
menu->setEnabled(false);
|
||||
else {
|
||||
CommandId clearActionId =
|
||||
(fileType == Scene)
|
||||
? MI_ClearRecentScene
|
||||
: (fileType == Level) ? MI_ClearRecentLevel : MI_ClearRecentImage;
|
||||
(fileType == Scene) ? MI_ClearRecentScene : (fileType == Level)
|
||||
? MI_ClearRecentLevel
|
||||
: MI_ClearRecentImage;
|
||||
menu->setActions(names);
|
||||
menu->addSeparator();
|
||||
QAction *clearAction = CommandManager::instance()->getAction(clearActionId);
|
||||
|
|
|
@ -297,7 +297,7 @@ void invalidateIcons() {
|
|||
s.m_paintIndex = mask & ToonzCheck::ePaint ? tc->getColorIndex() : -1;
|
||||
IconGenerator::instance()->setSettings(s);
|
||||
|
||||
// Force icons to refresh
|
||||
// Force icons to refresh
|
||||
TXshLevel *sl = TApp::instance()->getCurrentLevel()->getLevel();
|
||||
if (sl) {
|
||||
std::vector<TFrameId> fids;
|
||||
|
@ -1585,24 +1585,25 @@ void SceneViewer::drawOverlay() {
|
|||
|
||||
#ifdef WITH_STOPMOTION
|
||||
// draw Stop Motion Zoom Box
|
||||
if (m_stopMotion->m_liveViewStatus == 2 && m_stopMotion->m_pickLiveViewZoom) {
|
||||
glPushMatrix();
|
||||
tglMultMatrix(m_drawCameraAff);
|
||||
m_pixelSize = sqrt(tglGetPixelSize2()) * getDevPixRatio();
|
||||
TRect rect = m_stopMotion->m_zoomRect;
|
||||
if (m_stopMotion->m_liveViewStatus == 2 &&
|
||||
m_stopMotion->m_pickLiveViewZoom) {
|
||||
glPushMatrix();
|
||||
tglMultMatrix(m_drawCameraAff);
|
||||
m_pixelSize = sqrt(tglGetPixelSize2()) * getDevPixRatio();
|
||||
TRect rect = m_stopMotion->m_zoomRect;
|
||||
|
||||
glColor3d(1.0, 0.0, 0.0);
|
||||
|
||||
// border
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2d(rect.x0, rect.y0);
|
||||
glVertex2d(rect.x0, rect.y1 - m_pixelSize);
|
||||
glVertex2d(rect.x1 - m_pixelSize, rect.y1 - m_pixelSize);
|
||||
glVertex2d(rect.x1 - m_pixelSize, rect.y0);
|
||||
glVertex2d(rect.x0, rect.y0);
|
||||
glEnd();
|
||||
glColor3d(1.0, 0.0, 0.0);
|
||||
|
||||
glPopMatrix();
|
||||
// border
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2d(rect.x0, rect.y0);
|
||||
glVertex2d(rect.x0, rect.y1 - m_pixelSize);
|
||||
glVertex2d(rect.x1 - m_pixelSize, rect.y1 - m_pixelSize);
|
||||
glVertex2d(rect.x1 - m_pixelSize, rect.y0);
|
||||
glVertex2d(rect.x0, rect.y0);
|
||||
glEnd();
|
||||
|
||||
glPopMatrix();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1985,9 +1986,9 @@ void SceneViewer::drawScene() {
|
|||
}
|
||||
|
||||
#ifdef WITH_STOPMOTION
|
||||
if (m_stopMotion->m_liveViewStatus == 2 &&
|
||||
(!frameHandle->isPlaying() ||
|
||||
frame == m_stopMotion->getXSheetFrameNumber())) {
|
||||
if (m_stopMotion->m_liveViewStatus == 2 &&
|
||||
(!frameHandle->isPlaying() ||
|
||||
frame == m_stopMotion->getXSheetFrameNumber())) {
|
||||
if (m_hasStopMotionLineUpImage && m_stopMotion->m_showLineUpImage) {
|
||||
Stage::Player smPlayer;
|
||||
double dpiX, dpiY;
|
||||
|
@ -2046,7 +2047,7 @@ double SceneViewer::projectToZ(const TPointD &delta) {
|
|||
GLint viewport[4];
|
||||
double modelview[16], projection[16];
|
||||
glGetIntegerv(GL_VIEWPORT, viewport);
|
||||
for (int i = 0; i < 16; i++)
|
||||
for (int i = 0; i < 16; i++)
|
||||
projection[i] = (double)m_projectionMatrix.constData()[i];
|
||||
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
|
||||
|
||||
|
@ -2208,9 +2209,8 @@ void SceneViewer::zoomQt(bool forward, bool reset) {
|
|||
if (reset || ((m_zoomScale3D < 500 || !forward) &&
|
||||
(m_zoomScale3D > 0.01 || forward))) {
|
||||
double oldZoomScale = m_zoomScale3D;
|
||||
m_zoomScale3D =
|
||||
reset ? 1
|
||||
: ImageUtils::getQuantizedZoomFactor(m_zoomScale3D, forward);
|
||||
m_zoomScale3D = reset ? 1 : ImageUtils::getQuantizedZoomFactor(
|
||||
m_zoomScale3D, forward);
|
||||
|
||||
m_pan3D = -(m_zoomScale3D / oldZoomScale) * -m_pan3D;
|
||||
}
|
||||
|
@ -2231,18 +2231,17 @@ void SceneViewer::zoomQt(bool forward, bool reset) {
|
|||
int i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
TAffine &viewAff = m_viewAff[i];
|
||||
TAffine &viewAff = m_viewAff[i];
|
||||
if (m_isFlippedX) viewAff = viewAff * TScale(-1, 1);
|
||||
if (m_isFlippedX) viewAff = viewAff * TScale(1, -1);
|
||||
double scale2 = std::abs(viewAff.det());
|
||||
double scale2 = std::abs(viewAff.det());
|
||||
if (m_isFlippedX) viewAff = viewAff * TScale(-1, 1);
|
||||
if (m_isFlippedX) viewAff = viewAff * TScale(1, -1);
|
||||
if (reset || ((scale2 < 100000 || !forward) &&
|
||||
(scale2 > 0.001 * 0.05 || forward))) {
|
||||
double oldZoomScale = sqrt(scale2) * dpiFactor;
|
||||
double zoomScale =
|
||||
reset ? 1
|
||||
: ImageUtils::getQuantizedZoomFactor(oldZoomScale, forward);
|
||||
double zoomScale = reset ? 1 : ImageUtils::getQuantizedZoomFactor(
|
||||
oldZoomScale, forward);
|
||||
|
||||
// threshold value -0.001 is intended to absorb the error of calculation
|
||||
if ((oldZoomScale - zoomScaleFittingWithScreen) *
|
||||
|
@ -2543,9 +2542,9 @@ void SceneViewer::fitToCamera() {
|
|||
TPointD P11 = cameraAff * cameraRect.getP11();
|
||||
TPointD p0 = TPointD(std::min({P00.x, P01.x, P10.x, P11.x}),
|
||||
std::min({P00.y, P01.y, P10.y, P11.y}));
|
||||
TPointD p1 = TPointD(std::max({P00.x, P01.x, P10.x, P11.x}),
|
||||
TPointD p1 = TPointD(std::max({P00.x, P01.x, P10.x, P11.x}),
|
||||
std::max({P00.y, P01.y, P10.y, P11.y}));
|
||||
cameraRect = TRectD(p0.x, p0.y, p1.x, p1.y);
|
||||
cameraRect = TRectD(p0.x, p0.y, p1.x, p1.y);
|
||||
|
||||
// Pan
|
||||
if (!is3DView()) {
|
||||
|
@ -2598,8 +2597,8 @@ void SceneViewer::resetZoom() {
|
|||
TPointD realCenter(m_viewAff[m_viewMode].a13, m_viewAff[m_viewMode].a23);
|
||||
TAffine aff =
|
||||
getNormalZoomScale() * TRotation(realCenter, m_rotationAngle[m_viewMode]);
|
||||
aff.a13 = realCenter.x;
|
||||
aff.a23 = realCenter.y;
|
||||
aff.a13 = realCenter.x;
|
||||
aff.a23 = realCenter.y;
|
||||
if (m_isFlippedX) aff = aff * TScale(-1, 1);
|
||||
if (m_isFlippedY) aff = aff * TScale(1, -1);
|
||||
setViewMatrix(aff, m_viewMode);
|
||||
|
@ -2656,17 +2655,16 @@ void SceneViewer::setActualPixelSize() {
|
|||
} else
|
||||
dpi = sl->getDpi(fid);
|
||||
|
||||
const double inch = Stage::inch;
|
||||
TAffine tempAff = getNormalZoomScale();
|
||||
if (m_isFlippedX) tempAff = tempAff * TScale(-1, 1);
|
||||
if (m_isFlippedY) tempAff = tempAff * TScale(1, -1);
|
||||
TPointD tempScale = dpi;
|
||||
const double inch = Stage::inch;
|
||||
TAffine tempAff = getNormalZoomScale();
|
||||
if (m_isFlippedX) tempAff = tempAff * TScale(-1, 1);
|
||||
if (m_isFlippedY) tempAff = tempAff * TScale(1, -1);
|
||||
TPointD tempScale = dpi;
|
||||
if (m_isFlippedX) tempScale.x = -tempScale.x;
|
||||
if (m_isFlippedY) tempScale.y = -tempScale.y;
|
||||
for (int i = 0; i < m_viewAff.size(); ++i)
|
||||
setViewMatrix(dpi == TPointD(0, 0)
|
||||
? tempAff
|
||||
: TScale(tempScale.x / inch, tempScale.y / inch),
|
||||
setViewMatrix(dpi == TPointD(0, 0) ? tempAff : TScale(tempScale.x / inch,
|
||||
tempScale.y / inch),
|
||||
i);
|
||||
|
||||
m_pos = QPoint(0, 0);
|
||||
|
@ -2949,7 +2947,7 @@ void drawSpline(const TAffine &viewMatrix, const TRect &clipRect, bool camera3d,
|
|||
|
||||
TStageObject *pegbar =
|
||||
objId != TStageObjectId::NoneId ? xsh->getStageObject(objId) : 0;
|
||||
const TStroke *stroke = 0;
|
||||
const TStroke *stroke = 0;
|
||||
if (pegbar && pegbar->getSpline()) stroke = pegbar->getSpline()->getStroke();
|
||||
if (!stroke) return;
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace {
|
|||
|
||||
void initToonzEvent(TMouseEvent &toonzEvent, QMouseEvent *event,
|
||||
int widgetHeight, double pressure, int devPixRatio) {
|
||||
toonzEvent.m_pos = TPointD(event->pos().x() * devPixRatio,
|
||||
toonzEvent.m_pos = TPointD(event->pos().x() * devPixRatio,
|
||||
widgetHeight - 1 - event->pos().y() * devPixRatio);
|
||||
toonzEvent.m_mousePos = event->pos();
|
||||
toonzEvent.m_pressure = 1.0;
|
||||
|
@ -908,12 +908,12 @@ void SceneViewer::wheelEvent(QWheelEvent *event) {
|
|||
|
||||
default: // Qt::MouseEventSynthesizedByQt,
|
||||
// Qt::MouseEventSynthesizedByApplication
|
||||
{
|
||||
std::cout << "not supported event: Qt::MouseEventSynthesizedByQt, "
|
||||
"Qt::MouseEventSynthesizedByApplication"
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
{
|
||||
std::cout << "not supported event: Qt::MouseEventSynthesizedByQt, "
|
||||
"Qt::MouseEventSynthesizedByApplication"
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
} // end switch
|
||||
|
||||
|
@ -1009,8 +1009,8 @@ void SceneViewer::gestureEvent(QGestureEvent *e) {
|
|||
qreal rotationDelta =
|
||||
gesture->rotationAngle() - gesture->lastRotationAngle();
|
||||
if (m_isFlippedX != m_isFlippedY) rotationDelta = -rotationDelta;
|
||||
TAffine aff = getViewMatrix().inv();
|
||||
TPointD center = aff * TPointD(0, 0);
|
||||
TAffine aff = getViewMatrix().inv();
|
||||
TPointD center = aff * TPointD(0, 0);
|
||||
if (!m_rotating && !m_zooming) {
|
||||
m_rotationDelta += rotationDelta;
|
||||
double absDelta = abs(m_rotationDelta);
|
||||
|
@ -1089,115 +1089,118 @@ void SceneViewer::touchEvent(QTouchEvent *e, int type) {
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
bool SceneViewer::event(QEvent *e) {
|
||||
/*
|
||||
switch (e->type()) {
|
||||
// case QEvent::Enter:
|
||||
// qDebug() << "[enter] ************************** Enter";
|
||||
// break;
|
||||
// case QEvent::Leave:
|
||||
// qDebug() << "[enter] ************************** Leave";
|
||||
// break;
|
||||
/*
|
||||
switch (e->type()) {
|
||||
// case QEvent::Enter:
|
||||
// qDebug() << "[enter] ************************** Enter";
|
||||
// break;
|
||||
// case QEvent::Leave:
|
||||
// qDebug() << "[enter] ************************** Leave";
|
||||
// break;
|
||||
|
||||
case QEvent::TabletPress: {
|
||||
QTabletEvent *te = static_cast<QTabletEvent *>(e);
|
||||
qDebug() << "[enter] ************************** TabletPress mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState
|
||||
<< ") pressure(" << m_pressure << ") pointerType("
|
||||
<< te->pointerType() << ") device(" << te->device() << ")";
|
||||
} break;
|
||||
// case QEvent::TabletMove:
|
||||
// qDebug() << "[enter] ************************** TabletMove
|
||||
//mouseState("<<m_mouseState<<") tabletState("<<m_tabletState<<") pressure("
|
||||
//<< m_pressure << ")";
|
||||
// break;
|
||||
case QEvent::TabletRelease:
|
||||
qDebug() << "[enter] ************************** TabletRelease mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
|
||||
break;
|
||||
case QEvent::TabletPress: {
|
||||
QTabletEvent *te = static_cast<QTabletEvent *>(e);
|
||||
qDebug() << "[enter] ************************** TabletPress mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState
|
||||
<< ") pressure(" << m_pressure << ") pointerType("
|
||||
<< te->pointerType() << ") device(" << te->device() << ")";
|
||||
} break;
|
||||
// case QEvent::TabletMove:
|
||||
// qDebug() << "[enter] ************************** TabletMove
|
||||
//mouseState("<<m_mouseState<<") tabletState("<<m_tabletState<<") pressure("
|
||||
//<< m_pressure << ")";
|
||||
// break;
|
||||
case QEvent::TabletRelease:
|
||||
qDebug() << "[enter] ************************** TabletRelease mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
|
||||
break;
|
||||
|
||||
case QEvent::TouchBegin:
|
||||
qDebug() << "[enter] ************************** TouchBegin";
|
||||
break;
|
||||
case QEvent::TouchEnd:
|
||||
qDebug() << "[enter] ************************** TouchEnd";
|
||||
break;
|
||||
case QEvent::TouchCancel:
|
||||
qDebug() << "[enter] ************************** TouchCancel";
|
||||
break;
|
||||
case QEvent::TouchBegin:
|
||||
qDebug() << "[enter] ************************** TouchBegin";
|
||||
break;
|
||||
case QEvent::TouchEnd:
|
||||
qDebug() << "[enter] ************************** TouchEnd";
|
||||
break;
|
||||
case QEvent::TouchCancel:
|
||||
qDebug() << "[enter] ************************** TouchCancel";
|
||||
break;
|
||||
|
||||
case QEvent::Gesture:
|
||||
qDebug() << "[enter] ************************** Gesture";
|
||||
break;
|
||||
case QEvent::Gesture:
|
||||
qDebug() << "[enter] ************************** Gesture";
|
||||
break;
|
||||
|
||||
case QEvent::MouseButtonPress:
|
||||
qDebug()
|
||||
<< "[enter] ************************** MouseButtonPress mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ") pressure("
|
||||
<< m_pressure << ") tabletEvent(" << m_tabletEvent << ")";
|
||||
break;
|
||||
// case QEvent::MouseMove:
|
||||
// qDebug() << "[enter] ************************** MouseMove mouseState("
|
||||
//<< m_mouseState << ") tabletState("<<m_tabletState<<") pressure(" <<
|
||||
//m_pressure << ")";
|
||||
// break;
|
||||
case QEvent::MouseButtonRelease:
|
||||
qDebug()
|
||||
<< "[enter] ************************** MouseButtonRelease mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
|
||||
break;
|
||||
case QEvent::MouseButtonPress:
|
||||
qDebug()
|
||||
<< "[enter] ************************** MouseButtonPress mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ") pressure("
|
||||
<< m_pressure << ") tabletEvent(" << m_tabletEvent << ")";
|
||||
break;
|
||||
// case QEvent::MouseMove:
|
||||
// qDebug() << "[enter] ************************** MouseMove mouseState("
|
||||
//<< m_mouseState << ") tabletState("<<m_tabletState<<") pressure(" <<
|
||||
//m_pressure << ")";
|
||||
// break;
|
||||
case QEvent::MouseButtonRelease:
|
||||
qDebug()
|
||||
<< "[enter] ************************** MouseButtonRelease mouseState("
|
||||
<< m_mouseState << ") tabletState(" << m_tabletState << ")";
|
||||
break;
|
||||
|
||||
case QEvent::MouseButtonDblClick:
|
||||
qDebug() << "[enter] ============================== MouseButtonDblClick";
|
||||
break;
|
||||
}
|
||||
*/
|
||||
case QEvent::MouseButtonDblClick:
|
||||
qDebug() << "[enter] ============================== MouseButtonDblClick";
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
#ifdef WITH_STOPMOTION
|
||||
int key = 0;
|
||||
if (e->type() == QEvent::KeyPress) {
|
||||
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(e);
|
||||
key = keyEvent->key();
|
||||
int key = 0;
|
||||
if (e->type() == QEvent::KeyPress) {
|
||||
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(e);
|
||||
key = keyEvent->key();
|
||||
|
||||
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) && (key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up || key == Qt::Key_Down
|
||||
|| key == Qt::Key_2 || key == Qt::Key_4 || key == Qt::Key_6 || key == Qt::Key_8)) {
|
||||
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
|
||||
if (key == Qt::Key_Left || key == Qt::Key_4) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
|
||||
}
|
||||
if (key == Qt::Key_Right || key == Qt::Key_6) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
|
||||
}
|
||||
if (key == Qt::Key_Up || key == Qt::Key_8) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
|
||||
}
|
||||
if (key == Qt::Key_Down || key == Qt::Key_2) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
|
||||
}
|
||||
if (m_stopMotion->m_zooming) {
|
||||
m_stopMotion->setZoomPoint();
|
||||
}
|
||||
}
|
||||
m_stopMotion->calculateZoomPoint();
|
||||
e->accept();
|
||||
return true;
|
||||
if ((m_stopMotion->m_pickLiveViewZoom || m_stopMotion->m_zooming) &&
|
||||
(key == Qt::Key_Left || key == Qt::Key_Right || key == Qt::Key_Up ||
|
||||
key == Qt::Key_Down || key == Qt::Key_2 || key == Qt::Key_4 ||
|
||||
key == Qt::Key_6 || key == Qt::Key_8)) {
|
||||
if (m_stopMotion->m_liveViewZoomReadyToPick == true) {
|
||||
if (key == Qt::Key_Left || key == Qt::Key_4) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x -= 10;
|
||||
}
|
||||
else if (m_stopMotion->m_pickLiveViewZoom && (key == Qt::Key_Escape || key == Qt::Key_Enter || key == Qt::Key_Return)) {
|
||||
m_stopMotion->toggleZoomPicking();
|
||||
e->accept();
|
||||
return true;
|
||||
if (key == Qt::Key_Right || key == Qt::Key_6) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.x += 10;
|
||||
}
|
||||
else if (m_stopMotion->m_liveViewStatus == 2 && (key == Qt::Key_Enter || key == Qt::Key_Return)) {
|
||||
m_stopMotion->captureImage();
|
||||
e->accept();
|
||||
return true;
|
||||
if (key == Qt::Key_Up || key == Qt::Key_8) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y += 10;
|
||||
}
|
||||
|
||||
if (key == Qt::Key_Down || key == Qt::Key_2) {
|
||||
m_stopMotion->m_liveViewZoomPickPoint.y -= 10;
|
||||
}
|
||||
if (m_stopMotion->m_zooming) {
|
||||
m_stopMotion->setZoomPoint();
|
||||
}
|
||||
}
|
||||
m_stopMotion->calculateZoomPoint();
|
||||
e->accept();
|
||||
return true;
|
||||
} else if (m_stopMotion->m_pickLiveViewZoom &&
|
||||
(key == Qt::Key_Escape || key == Qt::Key_Enter ||
|
||||
key == Qt::Key_Return)) {
|
||||
m_stopMotion->toggleZoomPicking();
|
||||
e->accept();
|
||||
return true;
|
||||
} else if (m_stopMotion->m_liveViewStatus == 2 &&
|
||||
(key == Qt::Key_Enter || key == Qt::Key_Return)) {
|
||||
m_stopMotion->captureImage();
|
||||
e->accept();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (e->type() == QEvent::Gesture && CommandManager::instance()
|
||||
->getAction(MI_TouchGestureControl)
|
||||
->isChecked()) {
|
||||
if (e->type() == QEvent::Gesture &&
|
||||
CommandManager::instance()
|
||||
->getAction(MI_TouchGestureControl)
|
||||
->isChecked()) {
|
||||
gestureEvent(static_cast<QGestureEvent *>(e));
|
||||
return true;
|
||||
}
|
||||
|
@ -1237,7 +1240,7 @@ bool SceneViewer::event(QEvent *e) {
|
|||
|
||||
// Disable keyboard shortcuts while the tool is busy with a mouse drag
|
||||
// operation.
|
||||
if ( tool->isDragging() ) {
|
||||
if (tool->isDragging()) {
|
||||
e->accept();
|
||||
}
|
||||
|
||||
|
@ -1665,13 +1668,13 @@ void SceneViewer::dropEvent(QDropEvent *e) {
|
|||
|
||||
IoCmd::loadResources(args);
|
||||
|
||||
if (acceptResourceOrFolderDrop(mimeData->urls())) {
|
||||
// Force Copy Action
|
||||
e->setDropAction(Qt::CopyAction);
|
||||
// For files, don't accept original proposed action in case it's a move
|
||||
e->accept();
|
||||
return;
|
||||
}
|
||||
if (acceptResourceOrFolderDrop(mimeData->urls())) {
|
||||
// Force Copy Action
|
||||
e->setDropAction(Qt::CopyAction);
|
||||
// For files, don't accept original proposed action in case it's a move
|
||||
e->accept();
|
||||
return;
|
||||
}
|
||||
}
|
||||
e->acceptProposedAction();
|
||||
}
|
||||
|
@ -1685,8 +1688,8 @@ void SceneViewer::onToolSwitched() {
|
|||
|
||||
TTool *tool = TApp::instance()->getCurrentTool()->getTool();
|
||||
if (tool) {
|
||||
tool->updateMatrix();
|
||||
if (tool->getViewer()) tool->getViewer()->setGuidedStrokePickerMode(0);
|
||||
tool->updateMatrix();
|
||||
if (tool->getViewer()) tool->getViewer()->setGuidedStrokePickerMode(0);
|
||||
}
|
||||
|
||||
onLevelChanged();
|
||||
|
|
|
@ -920,7 +920,6 @@ void TXshSimpleLevel::loadData(TIStream &is) {
|
|||
if (is.getTagParam("isStopMotionLevel", v))
|
||||
isStopMotionLevel = std::stoi(v);
|
||||
|
||||
|
||||
m_properties->setDpiPolicy(dpiPolicy);
|
||||
m_properties->setDpi(TPointD(xdpi, ydpi));
|
||||
m_properties->setSubsampling(subsampling);
|
||||
|
|
Loading…
Reference in a new issue