diff options
Diffstat (limited to 'examples/widgets/widgets/tablet/tabletcanvas.cpp')
-rw-r--r-- | examples/widgets/widgets/tablet/tabletcanvas.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/examples/widgets/widgets/tablet/tabletcanvas.cpp b/examples/widgets/widgets/tablet/tabletcanvas.cpp index 73678ab754..bfcc84e182 100644 --- a/examples/widgets/widgets/tablet/tabletcanvas.cpp +++ b/examples/widgets/widgets/tablet/tabletcanvas.cpp @@ -90,6 +90,12 @@ bool TabletCanvas::loadImage(const QString &file) } //! [2] +void TabletCanvas::clear() +{ + m_pixmap.fill(Qt::white); + update(); +} + //! [3] void TabletCanvas::tabletEvent(QTabletEvent *event) { @@ -142,12 +148,14 @@ void TabletCanvas::initPixmap() m_pixmap = newPixmap; } -void TabletCanvas::paintEvent(QPaintEvent *) +void TabletCanvas::paintEvent(QPaintEvent *event) { if (m_pixmap.isNull()) initPixmap(); QPainter painter(this); - painter.drawPixmap(0, 0, m_pixmap); + QRect pixmapPortion = QRect(event->rect().topLeft() * devicePixelRatioF(), + event->rect().size() * devicePixelRatioF()); + painter.drawPixmap(event->rect().topLeft(), m_pixmap, pixmapPortion); } //! [4] |