# SFML - Simple and Fast Multimedia Library

SFML 3.0.0

- Main Page
- Topics
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Loading...
Searching...
No Matches
Enumerations | Functions | Variables
sf::Mouse Namespace Reference
Window module

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:

if (sf::Mouse::isButtonPressed(sf::Mouse::Button::Left))
{
// left click...
}
// get global mouse position
sf::Vector2i position = sf::Mouse::getPosition();
// set mouse position relative to a window
sf::Mouse::setPosition(sf::Vector2i(100, 200), window);
sf::Vector2< int >
sf::Mouse::isButtonPressed
bool isButtonPressed(Button button)
Check if a mouse button is pressed.
sf::Mouse::Button::Left
@ Left
The left mouse button.
sf::Mouse::setPosition
void setPosition(Vector2i position)
Set the current position of the mouse in desktop coordinates.
sf::Mouse::getPosition
Vector2i getPosition()
Get the current position of the mouse in desktop coordinates.

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.

Definition at line 49 of file Mouse.hpp.

## ◆ Wheel

enum class sf::Mouse::Wheel

strong

Mouse wheels.

Enumerator
Vertical | The vertical mouse wheel.
Horizontal | The horizontal mouse wheel.

Definition at line 65 of file Mouse.hpp.

## Function Documentation

## ◆ getPosition() [1/2]

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]

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

  relativeTo | Reference window

Returns
  Current position of the mouse

## ◆ isButtonPressed()

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

  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

## Variable Documentation

## ◆ ButtonCount

unsigned int sf::Mouse::ButtonCount {5}

staticconstexpr

The total number of mouse buttons.

Definition at line 59 of file Mouse.hpp.