module SF::Touch
#
Give access to the real-time state of the touches
SF::Touch
provides an interface to the state of the
touches. It only contains static functions, so it's not
meant to be instantiated.
This module allows users to query the touches state at any
time and directly, without having to deal with a window and
its events. Compared to the TouchBegan
, TouchMoved
and TouchEnded
events, SF::Touch
can retrieve the
state of the touches at any time (you don't need to store and
update a boolean on your side in order to know if a touch is down),
and you always get the real state of the touches, even if they
happen when your window is out of focus and no event is triggered.
The position function can be used to retrieve the current position of a touch. There are two versions: one that operates in global coordinates (relative to the desktop) and one that operates in window coordinates (relative to a specific window).
Touches are identified by an index (the "finger"), so that in multi-touch events, individual touches can be tracked correctly. As long as a finger touches the screen, it will keep the same index even if other fingers start or stop touching the screen in the meantime. As a consequence, active touch indices may not always be sequential (i.e. touch number 0 may be released while touch number 1 is still down).
Usage example:
if SF::Touch.down?(0)
# touch 0 is down
end
# get global position of touch 1
global_pos = SF::Touch.get_position(1)
# get position of touch 1 relative to a window
relative_pos = SF::Touch.get_position(1, window)
See also: SF::Joystick
, SF::Keyboard
, SF::Mouse
Class methods#
.down?(finger : Int) : Bool
#
Check if a touch event is currently down
- finger - Finger index
Returns: True if finger is currently touching the screen, false otherwise
.get_position(finger : Int, relative_to : WindowBase) : Vector2i
#
Get the current position of a touch in window coordinates
This function returns the current touch position relative to the given window.
- finger - Finger index
- relative_to - Reference window
Returns: Current position of finger, or undefined if it's not down
.get_position(finger : Int) : Vector2i
#
Get the current position of a touch in desktop coordinates
This function returns the current touch position in global (desktop) coordinates.
- finger - Finger index
Returns: Current position of finger, or undefined if it's not down