Give access to the real-time state of the mouse. More...
Enumerations | |
enum class | Button { Left , Right , Middle , Extra1 , Extra2 } |
Mouse buttons. More... | |
enum class | Wheel { Vertical , Horizontal } |
Mouse wheels. More... | |
Functions | |
bool | isButtonPressed (Button button) |
Check if a mouse button is pressed. | |
Vector2i | getPosition () |
Get the current position of the mouse in desktop coordinates. | |
Vector2i | getPosition (const WindowBase &relativeTo) |
Get the current position of the mouse in window coordinates. | |
void | setPosition (Vector2i position) |
Set the current position of the mouse in desktop coordinates. | |
void | setPosition (Vector2i position, const WindowBase &relativeTo) |
Set the current position of the mouse in window coordinates. | |
Variables | |
static constexpr unsigned int | ButtonCount {5} |
The total number of mouse buttons. | |
Detailed Description
Give access to the real-time state of the mouse.
sf::Mouse
provides an interface to the state of the mouse.
A single mouse is assumed.
This namespace allows users to query the mouse state at any time and directly, without having to deal with a window and its events. Compared to the MouseMoved
, MouseButtonPressed
and MouseButtonReleased
events, sf::Mouse
can retrieve the state of the cursor and the buttons at any time (you don't need to store and update a boolean on your side in order to know if a button is pressed or released), and you always get the real state of the mouse, even if it is moved, pressed or released when your window is out of focus and no event is triggered.
The setPosition
and getPosition
functions can be used to change or retrieve the current position of the mouse pointer. 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).
Usage example:
- See also
sf::Joystick
,sf::Keyboard
,sf::Touch
Enumeration Type Documentation
◆ Button
|
strong |
◆ Wheel
|
strong |
Function Documentation
◆ getPosition() [1/2]
|
nodiscard |
Get the current position of the mouse in desktop coordinates.
This function returns the global position of the mouse cursor on the desktop.
- Returns
- Current position of the mouse
◆ getPosition() [2/2]
|
nodiscard |
Get the current position of the mouse in window coordinates.
This function returns the current position of the mouse cursor, relative to the given window.
- Parameters
-
relativeTo Reference window
- Returns
- Current position of the mouse
◆ isButtonPressed()
|
nodiscard |
Check if a mouse button is pressed.
- Warning
- Checking the state of buttons
Mouse::Button::Extra1
andMouse::Button::Extra2
is not supported on Linux with X11.
- Parameters
-
button Button to check
- Returns
true
if the button is pressed,false
otherwise
◆ setPosition() [1/2]
void sf::Mouse::setPosition | ( | Vector2i | position | ) |
Set the current position of the mouse in desktop coordinates.
This function sets the global position of the mouse cursor on the desktop.
- Parameters
-
position New position of the mouse
◆ setPosition() [2/2]
void sf::Mouse::setPosition | ( | Vector2i | position, |
const WindowBase & | relativeTo ) |
Set the current position of the mouse in window coordinates.
This function sets the current position of the mouse cursor, relative to the given window.
- Parameters
-
position New position of the mouse relativeTo Reference window