module SF::Mouse
#
Give access to the real-time state of the mouse
SF::Mouse
provides an interface to the state of the
mouse. It only contains static functions (a single
mouse is assumed), so it's not meant to be instantiated.
This module 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 position= and position 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.button_pressed?(SF::Mouse::Left)
# left click...
end
# get global mouse position
position = SF::Mouse.position
# set mouse position relative to a window
SF::Mouse.set_position(SF.vector2i(100, 200), window)
See also: SF::Joystick
, SF::Keyboard
, SF::Touch
Class methods#
.button_pressed?(button : Mouse::Button) : Bool
#
Check if a mouse button is pressed
Warning
Checking the state of buttons Mouse::XButton1 and Mouse::XButton2 is not supported on Linux with X11.
- button - Button to check
Returns: True if the button is pressed, false otherwise
.get_position(relative_to : WindowBase) : Vector2i
#
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.
- relative_to - Reference window
Returns: Current position of the mouse
.position : Vector2i
#
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
.position=(position : Vector2 | Tuple)
#
Set the current position of the mouse in desktop coordinates
This function sets the global position of the mouse cursor on the desktop.
- position - New position of the mouse
.set_position(position : Vector2 | Tuple, relative_to : WindowBase)
#
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.
- position - New position of the mouse
- relative_to - Reference window