SFML - Simple and Fast Multimedia Library

SFML 3.1.0
Loading...
Searching...
No Matches
Functions
sf::Touch Namespace Reference
Window module

Give access to the real-time state of the touches. More...

## Functions
bool | isDown (unsigned int finger)
| Check if a touch event is currently down.
Vector2i | getPosition (unsigned int finger)
| Get the current position of a touch in desktop coordinates.
Vector2i | getPosition (unsigned int finger, const WindowBase &relativeTo)
| Get the current position of a touch in window coordinates.

## Detailed Description

Give access to the real-time state of the touches.

sf::Touch provides an interface to the state of the touches.

Warning
  This namespace is deprecated and will be removed in a future release. Events should be used instead.

This namespace 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 getPosition 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::isDown(0))
{
// touch 0 is down
}
// get global position of touch 1
sf::Vector2i globalPos = sf::Touch::getPosition(1);
// get position of touch 1 relative to a window
sf::Vector2i relativePos = sf::Touch::getPosition(1, window);
sf::Touch::isDown
bool isDown(unsigned int finger)
Check if a touch event is currently down.
sf::Touch::getPosition
Vector2i getPosition(unsigned int finger)
Get the current position of a touch in desktop coordinates.
sf::Vector2i
Vector2< int > Vector2i
Definition Vector2.hpp:211

See also
  sf::Joystick, sf::Keyboard, sf::Mouse

## Function Documentation

## ◆ getPosition() [1/2]

Vector2i sf::Touch::getPosition | ( | unsigned int | finger | ) |
| nodiscard

Get the current position of a touch in desktop coordinates.

This function returns the current touch position in global (desktop) coordinates.

Deprecated
  Use position member of sf::Event::TouchBegan, sf::Event::TouchEnded and sf::Event::TouchMoved

Parameters

  finger | Finger index

Returns
  Current position of finger, or undefined if it's not down

## ◆ getPosition() [2/2]

Vector2i sf::Touch::getPosition | ( | unsigned int | finger,
|  | const WindowBase & | relativeTo )
| nodiscard

Get the current position of a touch in window coordinates.

This function returns the current touch position relative to the given window.

Deprecated
  Use position member of sf::Event::TouchBegan, sf::Event::TouchEnded and sf::Event::TouchMoved

Parameters

  finger | Finger index
  relativeTo | Reference window

Returns
  Current position of finger, or undefined if it's not down

## ◆ isDown()

bool sf::Touch::isDown | ( | unsigned int | finger | ) |
| nodiscard

Check if a touch event is currently down.

Deprecated
  Use sf::Event::TouchBegan and sf::Event::TouchEnded

Parameters

  finger | Finger index

Returns
  true if finger is currently touching the screen, false otherwise