SwipeGestureHandler
Use the SwipeGestureHandler
to handle swipe gesture in some particular direction.
Recognition is limited to the element’s geometry.
export component Example inherits Window { width: 270px; height: 100px;
property <int> current-page: 0;
sgr := SwipeGestureHandler { handle-swipe-right: current-page > 0; handle-swipe-left: current-page < 5; swiped => { if self.current-position.x > self.pressed-position.x + self.width / 4 { current-page -= 1; } else if self.current-position.x < self.pressed-position.x - self.width / 4 { current-page += 1; } }
HorizontalLayout { property <length> position: - current-page * root.width; animate position { duration: 200ms; easing: ease-in-out; } property <length> swipe-offset; x: position + swipe-offset; states [ swiping when sgr.swiping : { swipe-offset: sgr.current-position.x - sgr.pressed-position.x; out { animate swipe-offset { duration: 200ms; easing: ease-in-out; } } } ]
Rectangle { width: root.width; background: green; } Rectangle { width: root.width; background: limegreen; } Rectangle { width: root.width; background: yellow; } Rectangle { width: root.width; background: orange; } Rectangle { width: root.width; background: red; } Rectangle { width: root.width; background: violet; } } }}
Specify the different swipe directions you’d like to handle by setting the handle-swipe-left/right/up/down
properties and react to the gesture in the swiped
callback.
Pointer press events on the recognizer’s area are forwarded to the children with a small delay. If the pointer moves by more than 8 logical pixels in one of the enabled swipe directions, the gesture is recognized, and events are no longer forwarded to the children.
Properties
Section titled “Properties”enabled
Section titled “enabled” bool default: true
When disabled, the SwipeGestureHandler
doesn’t recognize any gestures.
pressed-position
Section titled “pressed-position” struct Point (out)
default: a struct with all default values
Point
This structure represents a point with x and y coordinate
x
(length):y
(length):
The position of the pointer when the swipe started.
current-position
Section titled “current-position” struct Point (out)
default: a struct with all default values
Point
This structure represents a point with x and y coordinate
x
(length):y
(length):
The current pointer position.
swiping
Section titled “swiping” bool (out)
default: false
true
while the gesture is recognized, false otherwise.
Handle swipe directions properties
Section titled “Handle swipe directions properties”handle-swipe-left
Section titled “handle-swipe-left” bool default: false
handle-swipe-right
Section titled “handle-swipe-right” bool default: false
handle-swipe-up
Section titled “handle-swipe-up” bool default: false
handle-swipe-down
Section titled “handle-swipe-down” bool default: false
Callbacks
Section titled “Callbacks”moved()
: Invoked when the pointer is moved.swiped()
: Invoked after the swipe gesture was recognized and the pointer was released.cancelled()
: Invoked when the swipe is cancelled programmatically or if the window loses focus.
Functions
Section titled “Functions”cancel()
: Cancel any on-going swipe gesture recognition.
© 2025 SixtyFPS GmbH