diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-09-29 14:07:02 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-09-29 14:08:49 +0200 |
commit | 189dc655bbb3b4f9e1e11596f5a0f4682326066d (patch) | |
tree | 67527f791542775394332c2995887994bde9adc9 /examples/touch/fingerpaint/scribblearea.cpp | |
parent | 6fd5870df0fbad0187b6d8bf7e3b12afb2e7a66f (diff) | |
parent | dfe853bff90444edf92a993e391df853780c9e8d (diff) |
Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
src/corelib/tools/qbytearray.cpp
src/gui/image/qimage.cpp
src/gui/image/qppmhandler.cpp
src/gui/kernel/qguiapplication.cpp
src/gui/painting/qpaintengine_raster.cpp
Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
Diffstat (limited to 'examples/touch/fingerpaint/scribblearea.cpp')
-rw-r--r-- | examples/touch/fingerpaint/scribblearea.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/examples/touch/fingerpaint/scribblearea.cpp b/examples/touch/fingerpaint/scribblearea.cpp index 0d13e4579d..1630f6f112 100644 --- a/examples/touch/fingerpaint/scribblearea.cpp +++ b/examples/touch/fingerpaint/scribblearea.cpp @@ -46,6 +46,9 @@ #include "scribblearea.h" +static const qreal MinimumDiameter = 3.0; +static const qreal MaximumDiameter = 50.0; + //! [0] ScribbleArea::ScribbleArea(QWidget *parent) : QWidget(parent) @@ -179,6 +182,7 @@ bool ScribbleArea::event(QEvent *event) case QEvent::TouchUpdate: case QEvent::TouchEnd: { + QTouchEvent *touch = static_cast<QTouchEvent *>(event); QList<QTouchEvent::TouchPoint> touchPoints = static_cast<QTouchEvent *>(event)->touchPoints(); foreach (const QTouchEvent::TouchPoint &touchPoint, touchPoints) { switch (touchPoint.state()) { @@ -189,7 +193,9 @@ bool ScribbleArea::event(QEvent *event) { QRectF rect = touchPoint.rect(); if (rect.isEmpty()) { - qreal diameter = qreal(50) * touchPoint.pressure(); + qreal diameter = MinimumDiameter; + if (touch->device()->capabilities() & QTouchDevice::Pressure) + diameter = MinimumDiameter + (MaximumDiameter - MinimumDiameter) * touchPoint.pressure(); rect.setSize(QSizeF(diameter, diameter)); } |