Quantcast
Channel: Qt DevNet forums: Qt Quick 1283365070**
Viewing all articles
Browse latest Browse all 4972

HELP! I want to zoomIn and zoomOut scribble area.

$
0
0
the complete diagramscene example here- http://harmattan-dev.nokia.com/docs/library/html/qt4/graphicsview-diagramscene.html i tried inserting the below mentioned functions into “mainwindow.cpp” of diagramscene ..  void MainWindow::mousePressEvent(QMouseEvent *event)  {      if (event->button() == Qt::LeftButton) {          lastPoint = event->pos();          scribbling = true;      }  }    void MainWindow::mouseMoveEvent(QMouseEvent *event)  {      if ((event->buttons() & Qt::LeftButton) && scribbling)          drawLineTo(event->pos());  }    void ScribbleArea::mouseReleaseEvent(QMouseEvent *event)  {      if (event->button() == Qt::LeftButton && scribbling) {          drawLineTo(event->pos());          scribbling = false;      }  }    void MainWindow::paintEvent(QPaintEvent *event)  {      QPainter painter(this);      QRect dirtyRect = event->rect();      painter.drawImage(dirtyRect, image, dirtyRect);  }    void MainWindow::resizeEvent(QResizeEvent *event)  {      if (width() > image.width() || height() > image.height()) {          int newWidth = qMax(width() + 128, image.width());          int newHeight = qMax(height() + 128, image.height());          resizeImage(&image, QSize(newWidth, newHeight));          update();      }      QWidget::resizeEvent(event);  }    void MainWindow::drawLineTo(const QPoint &endPoint)  {      QPainter painter(&image);      painter.setPen(QPen(myPenColor, myPenWidth, Qt::SolidLine, Qt::RoundCap,                          Qt::RoundJoin));      painter.drawLine(lastPoint, endPoint);      modified = true;        int rad = (myPenWidth / 2) + 2;      update(QRect(lastPoint, endPoint).normalized()                                       .adjusted(-rad, -rad, +rad, +rad));      lastPoint = endPoint;  }    void MainWindow::resizeImage(QImage *image, const QSize &newSize)  {      if (image->size() == newSize)          return;        QImage newImage(newSize, QImage::Format_RGB32);      newImage.fill(qRgb(255, 255, 255));      QPainter painter(&newImage);      painter.drawImage(QPoint(0, 0), *image);      *image = newImage;  }

Viewing all articles
Browse latest Browse all 4972

Trending Articles