summaryrefslogtreecommitdiffstats
path: root/examples/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets')
-rw-r--r--examples/widgets/touch/fingerpaint/scribblearea.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/examples/widgets/touch/fingerpaint/scribblearea.cpp b/examples/widgets/touch/fingerpaint/scribblearea.cpp
index e490495cd9..4af0ec8e7e 100644
--- a/examples/widgets/touch/fingerpaint/scribblearea.cpp
+++ b/examples/widgets/touch/fingerpaint/scribblearea.cpp
@@ -205,22 +205,24 @@ bool ScribbleArea::event(QEvent *event)
continue;
default:
{
- QRectF rect = touchPoint.rect();
- if (rect.isEmpty()) {
+ QSizeF diams = touchPoint.ellipseDiameters();
+ if (diams.isEmpty()) {
qreal diameter = MaximumDiameter;
if (touch->device()->capabilities() & QTouchDevice::Pressure)
diameter = MinimumDiameter + (MaximumDiameter - MinimumDiameter) * touchPoint.pressure();
- rect.setSize(QSizeF(diameter, diameter));
+ diams = QSizeF(diameter, diameter);
}
QPainter painter(&image);
painter.setPen(Qt::NoPen);
painter.setBrush(myPenColors.at(touchPoint.id() % myPenColors.count()));
- painter.drawEllipse(rect);
+ painter.drawEllipse(touchPoint.pos(), diams.width() / 2, diams.height() / 2);
painter.end();
modified = true;
- int rad = 2;
+ const int rad = 2;
+ QRectF rect(QPointF(), diams);
+ rect.moveCenter(touchPoint.pos());
update(rect.toRect().adjusted(-rad,-rad, +rad, +rad));
}
break;