//! [5] void TabletCanvas::paintImage(QPainter &painter, QTabletEvent *event) { QPoint brushAdjust(10, 10); switch (myTabletDevice) { case QTabletEvent::Stylus: painter.setBrush(myBrush); painter.setPen(myPen); painter.drawLine(polyLine[1], event->pos()); break; case QTabletEvent::Airbrush: myBrush.setColor(myColor); myBrush.setStyle(brushPattern(event->pressure())); painter.setPen(Qt::NoPen); painter.setBrush(myBrush); for (int i = 0; i < 3; ++i) { painter.drawEllipse(QRect(polyLine[i] - brushAdjust, polyLine[i] + brushAdjust)); } break; case QTabletEvent::Puck: case QTabletEvent::FourDMouse: case QTabletEvent::RotationStylus: qWarning("This input device is not supported by the example."); break; default: qWarning("Unknown tablet device."); } }
//! [5] void TabletCanvas::paintPixmap(QPainter &painter, QTabletEvent *event) { QPoint brushAdjust(10, 10); switch (myTabletDevice) { case QTabletEvent::Airbrush: myBrush.setColor(myColor); myBrush.setStyle(brushPattern(event->pressure())); painter.setPen(Qt::NoPen); painter.setBrush(myBrush); for (int i = 0; i < 3; ++i) { painter.drawEllipse(QRect(polyLine[i] - brushAdjust, polyLine[i] + brushAdjust)); } break; case QTabletEvent::Puck: case QTabletEvent::FourDMouse: case QTabletEvent::RotationStylus: { const QString error(tr("This input device is not supported by the example.")); #ifndef QT_NO_STATUSTIP QStatusTipEvent status(error); QApplication::sendEvent(this, &status); #else qWarning() << error; #endif } break; default: { const QString error(tr("Unknown tablet device - treating as stylus")); #ifndef QT_NO_STATUSTIP QStatusTipEvent status(error); QApplication::sendEvent(this, &status); #else qWarning() << error; #endif } // FALL-THROUGH case QTabletEvent::Stylus: painter.setBrush(myBrush); painter.setPen(myPen); painter.drawLine(polyLine[1], event->pos()); break; } }