void UBMagnifier::setDrawingMode(int mode) { mDrawingMode = static_cast<DrawingMode>(mode); QString sMode; if (circular == mDrawingMode) { sMode = "roundeRrectangle"; resize(width(), width()); } if (rectangular == mDrawingMode) { sMode = "circle"; resize(width(), height()/3); if (mView) { qreal newPercentSize = size().width()/3 * 100 / mView->width(); emit magnifierResized_Signal(newPercentSize); } } sChangeModePixmap->load(":/images/"+sMode+".svg"); calculateButtonsPositions(); if (mView && gView) UBApplication::boardController->controlView()->scene()->moveMagnifier(); createMask(); UBSettings::settings()->magnifierDrawingMode->set(mode); }
void UBMagnifier::mouseMoveEvent ( QMouseEvent * event ) { if(m_isInteractive) { if(mShouldMoveWidget && (event->buttons() & Qt::LeftButton)) { move(pos() - mMousePressPos + event->pos()); event->accept(); QWidget::mouseMoveEvent(event); emit magnifierMoved_Signal(QPoint(this->pos().x() + size().width() / 2, this->pos().y() + size().height() / 2 )); return; } if(mShouldResizeWidget && (event->buttons() & Qt::LeftButton)) { QPoint currGlobalPos = event->globalPos(); qreal cvW = mView->width(); qreal newXSize = ( currGlobalPos.x() + mMousePressDelta - updPointGrab.x() ) * 2; qreal newPercentSize = newXSize * 100 / cvW; emit magnifierResized_Signal(newPercentSize); event->ignore(); return; } if (event->pos().x() >= size().width() - mResizeItem->width() - 20 && event->pos().x() < size().width() - 20 && event->pos().y() >= size().height() - mResizeItem->height() - 20 && event->pos().y() < size().height() - - 20 && isCusrsorAlreadyStored == false ) { mOldCursor = cursor(); isCusrsorAlreadyStored = true; setCursor(mResizeCursor); } } else event->ignore(); }