SFML
Simple and Fast Multimedia Library
Loading...
Searching...
No Matches
sf::Mouse Namespace Reference

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

SFML_WINDOW_API bool isButtonPressed (Button button)
 Check if a mouse button is pressed.
SFML_WINDOW_API Vector2i getPosition ()
 Get the current position of the mouse in desktop coordinates.
SFML_WINDOW_API Vector2i getPosition (const WindowBase &relativeTo)
 Get the current position of the mouse in window coordinates.
SFML_WINDOW_API void setPosition (Vector2i position)
 Set the current position of the mouse in desktop coordinates.
SFML_WINDOW_API void setPosition (Vector2i position, const WindowBase &relativeTo)
 Set the current position of the mouse in window coordinates.

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:

{
// left click...
}
// get global mouse position
// set mouse position relative to a window
SFML_WINDOW_API bool isButtonPressed(Button button)
Check if a mouse button is pressed.
@ Left
The left mouse button.
Definition Mouse.hpp:51
SFML_WINDOW_API void setPosition(Vector2i position)
Set the current position of the mouse in desktop coordinates.
SFML_WINDOW_API Vector2i getPosition()
Get the current position of the mouse in desktop coordinates.
Vector2< int > Vector2i
Definition Vector2.hpp:224
See also
sf::Joystick, sf::Keyboard, sf::Touch

Enumeration Type Documentation

◆ Button

enum class sf::Mouse::Button
strong

Mouse buttons.

Enumerator
Left 

The left mouse button.

Right 

The right mouse button.

Middle 

The middle (wheel) mouse button.

Extra1 

The first extra mouse button.

Extra2 

The second extra mouse button.

◆ Wheel

enum class sf::Mouse::Wheel
strong

Mouse wheels.

Enumerator
Vertical 

The vertical mouse wheel.

Horizontal 

The horizontal mouse wheel.

Function Documentation

◆ getPosition() [1/2]

SFML_WINDOW_API Vector2i sf::Mouse::getPosition ( )
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]

SFML_WINDOW_API Vector2i sf::Mouse::getPosition ( const WindowBase & relativeTo)
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
relativeToReference window
Returns
Current position of the mouse

◆ isButtonPressed()

SFML_WINDOW_API bool sf::Mouse::isButtonPressed ( Button button)
nodiscard

Check if a mouse button is pressed.

Warning
Checking the state of buttons Mouse::Button::Extra1 and Mouse::Button::Extra2 is not supported on Linux with X11.
Parameters
buttonButton to check
Returns
True if the button is pressed, false otherwise

◆ setPosition() [1/2]

SFML_WINDOW_API 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
positionNew position of the mouse

◆ setPosition() [2/2]

SFML_WINDOW_API 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
positionNew position of the mouse
relativeToReference window