aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2020-05-06 22:37:33 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2021-12-10 06:52:06 +0100
commitcd5d62e9997c71e2105d571f681777c5a59c3ef1 (patch)
tree59bfd9a2dd1a0bfbf2de964f335d98022b03c341 /examples
parente58cb58b44a0381592cd0e6eb0da3d3d6f1c5ccc (diff)
Pointer Handlers example: show mouse wheel feedback
MouseFeedbackSprite now shows a mouse wheel animating in the same direction as the physical mouse wheel is being rotated. Change-Id: I08709ead3b85065723d2320d17d49adb51a00f92 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/quick/pointerhandlers/CMakeLists.txt1
-rw-r--r--examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml28
-rw-r--r--examples/quick/pointerhandlers/components/images/mouse_wheel_ridges.pngbin0 -> 167 bytes
-rw-r--r--examples/quick/pointerhandlers/qml.qrc1
4 files changed, 27 insertions, 3 deletions
diff --git a/examples/quick/pointerhandlers/CMakeLists.txt b/examples/quick/pointerhandlers/CMakeLists.txt
index 1447bbe16d..ca13f72420 100644
--- a/examples/quick/pointerhandlers/CMakeLists.txt
+++ b/examples/quick/pointerhandlers/CMakeLists.txt
@@ -63,6 +63,7 @@ qt_add_qml_module(pointerhandlersexample
"components/images/mouse_left.png"
"components/images/mouse_middle.png"
"components/images/mouse_right.png"
+ "components/images/mouse_wheel_ridges.png"
"images/arrowhead.png"
"images/balloon.png"
"images/cursor-airbrush.png"
diff --git a/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml b/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml
index 0fa2db3aa7..276627a732 100644
--- a/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml
+++ b/examples/quick/pointerhandlers/components/MouseFeedbackSprite.qml
@@ -50,15 +50,14 @@
import QtQuick
-PointHandler {
+HoverHandler {
id: handler
objectName: "mouse point"
acceptedDevices: PointerDevice.Mouse
- acceptedButtons: Qt.AllButtons
target: Image {
objectName: "mouse sprite"
source: "images/mouse.png"
- visible: handler.active
+ opacity: (handler.point.pressedButtons || wheelAnimationTimer.running) ? 1 : 0
x: handler.point.position.x - width / 2
y: handler.point.position.y - height / 2
parent: handler.parent
@@ -74,5 +73,28 @@ PointHandler {
source: "images/mouse_right.png"
visible: handler.point.pressedButtons & Qt.RightButton
}
+ WheelHandler {
+ blocking: false
+ onWheel: (event)=> {
+ wheelSprite.reverse = (event.angleDelta.y < 0)
+ wheelAnimationTimer.start()
+ }
+ }
+ AnimatedSprite {
+ id: wheelSprite
+ x: 19
+ y: 7
+ source: "images/mouse_wheel_ridges.png"
+ frameWidth: 5
+ frameHeight: 15
+ frameCount: 3
+ frameDuration: 50
+ running: wheelAnimationTimer.running
+ visible: running
+ Timer {
+ id: wheelAnimationTimer
+ interval: 500
+ }
+ }
}
}
diff --git a/examples/quick/pointerhandlers/components/images/mouse_wheel_ridges.png b/examples/quick/pointerhandlers/components/images/mouse_wheel_ridges.png
new file mode 100644
index 0000000000..755cfdc4de
--- /dev/null
+++ b/examples/quick/pointerhandlers/components/images/mouse_wheel_ridges.png
Binary files differ
diff --git a/examples/quick/pointerhandlers/qml.qrc b/examples/quick/pointerhandlers/qml.qrc
index 39164527de..95c9fe28c8 100644
--- a/examples/quick/pointerhandlers/qml.qrc
+++ b/examples/quick/pointerhandlers/qml.qrc
@@ -42,6 +42,7 @@
<file>components/images/mouse_left.png</file>
<file>components/images/mouse_middle.png</file>
<file>components/images/mouse_right.png</file>
+ <file>components/images/mouse_wheel_ridges.png</file>
<file>images/redball.png</file>
</qresource>
</RCC>