Documentation of SFML 2.6.0

Warning: this page refers to an old version of SFML. Click here to switch to the latest version.
Loading...
Searching...
No Matches
Event.hpp
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_EVENT_HPP
26#define SFML_EVENT_HPP
27
29// Headers
31#include <SFML/Config.hpp>
32#include <SFML/Window/Joystick.hpp>
33#include <SFML/Window/Keyboard.hpp>
34#include <SFML/Window/Mouse.hpp>
35#include <SFML/Window/Sensor.hpp>
36
37
38namespace sf
39{
44class Event
45{
46public:
47
52 struct SizeEvent
53 {
54 unsigned int width;
55 unsigned int height;
56 };
57
62 struct KeyEvent
63 {
66 bool alt;
67 bool control;
68 bool shift;
69 bool system;
70 };
71
76 struct TextEvent
77 {
78 Uint32 unicode;
79 };
80
86 {
87 int x;
88 int y;
89 };
90
97 {
99 int x;
100 int y;
101 };
102
111 {
112 int delta;
113 int x;
114 int y;
115 };
116
122 {
124 float delta;
125 int x;
126 int y;
127 };
128
135 {
136 unsigned int joystickId;
137 };
138
144 {
145 unsigned int joystickId;
147 float position;
148 };
149
156 {
157 unsigned int joystickId;
158 unsigned int button;
159 };
160
166 {
167 unsigned int finger;
168 int x;
169 int y;
170 };
171
177 {
179 float x;
180 float y;
181 float z;
182 };
183
189 {
213
214 Count
215 };
216
218 // Member data
221
222 union
223 {
236 };
237};
238
239} // namespace sf
240
241
242#endif // SFML_EVENT_HPP
243
244
Defines a system event and its parameters.
Definition: Event.hpp:45
TextEvent text
Text event parameters (Event::TextEntered)
Definition: Event.hpp:226
MouseButtonEvent mouseButton
Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased)
Definition: Event.hpp:228
JoystickButtonEvent joystickButton
Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased)
Definition: Event.hpp:232
KeyEvent key
Key event parameters (Event::KeyPressed, Event::KeyReleased)
Definition: Event.hpp:225
TouchEvent touch
Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded)
Definition: Event.hpp:234
MouseWheelScrollEvent mouseWheelScroll
Mouse wheel event parameters (Event::MouseWheelScrolled)
Definition: Event.hpp:230
MouseMoveEvent mouseMove
Mouse move event parameters (Event::MouseMoved)
Definition: Event.hpp:227
SizeEvent size
Size event parameters (Event::Resized)
Definition: Event.hpp:224
MouseWheelEvent mouseWheel
Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated)
Definition: Event.hpp:229
JoystickConnectEvent joystickConnect
Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected)
Definition: Event.hpp:233
JoystickMoveEvent joystickMove
Joystick move event parameters (Event::JoystickMoved)
Definition: Event.hpp:231
SensorEvent sensor
Sensor event parameters (Event::SensorChanged)
Definition: Event.hpp:235
EventType type
Type of the event.
Definition: Event.hpp:220
EventType
Enumeration of the different types of events.
Definition: Event.hpp:189
@ JoystickButtonReleased
A joystick button was released (data in event.joystickButton)
Definition: Event.hpp:205
@ MouseWheelScrolled
The mouse wheel was scrolled (data in event.mouseWheelScroll)
Definition: Event.hpp:198
@ Closed
The window requested to be closed (no data)
Definition: Event.hpp:190
@ JoystickMoved
The joystick moved along an axis (data in event.joystickMove)
Definition: Event.hpp:206
@ MouseMoved
The mouse cursor moved (data in event.mouseMove)
Definition: Event.hpp:201
@ MouseEntered
The mouse cursor entered the area of the window (no data)
Definition: Event.hpp:202
@ MouseButtonPressed
A mouse button was pressed (data in event.mouseButton)
Definition: Event.hpp:199
@ MouseWheelMoved
The mouse wheel was scrolled (data in event.mouseWheel) (deprecated)
Definition: Event.hpp:197
@ Resized
The window was resized (data in event.size)
Definition: Event.hpp:191
@ JoystickButtonPressed
A joystick button was pressed (data in event.joystickButton)
Definition: Event.hpp:204
@ TextEntered
A character was entered (data in event.text)
Definition: Event.hpp:194
@ GainedFocus
The window gained the focus (no data)
Definition: Event.hpp:193
@ TouchMoved
A touch moved (data in event.touch)
Definition: Event.hpp:210
@ MouseButtonReleased
A mouse button was released (data in event.mouseButton)
Definition: Event.hpp:200
@ KeyReleased
A key was released (data in event.key)
Definition: Event.hpp:196
@ MouseLeft
The mouse cursor left the area of the window (no data)
Definition: Event.hpp:203
@ JoystickConnected
A joystick was connected (data in event.joystickConnect)
Definition: Event.hpp:207
@ SensorChanged
A sensor value changed (data in event.sensor)
Definition: Event.hpp:212
@ JoystickDisconnected
A joystick was disconnected (data in event.joystickConnect)
Definition: Event.hpp:208
@ TouchEnded
A touch event ended (data in event.touch)
Definition: Event.hpp:211
@ LostFocus
The window lost the focus (no data)
Definition: Event.hpp:192
@ KeyPressed
A key was pressed (data in event.key)
Definition: Event.hpp:195
@ Count
Keep last – the total number of event types.
Definition: Event.hpp:214
@ TouchBegan
A touch event began (data in event.touch)
Definition: Event.hpp:209
Axis
Axes supported by SFML joysticks.
Definition: Joystick.hpp:61
Key
Key codes.
Definition: Keyboard.hpp:55
Button
Mouse buttons.
Definition: Mouse.hpp:52
Wheel
Mouse wheels.
Definition: Mouse.hpp:67
Type
Sensor type.
Definition: Sensor.hpp:51
Joystick buttons events parameters (JoystickButtonPressed, JoystickButtonReleased)
Definition: Event.hpp:156
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:157
unsigned int button
Index of the button that has been pressed (in range [0 .. Joystick::ButtonCount - 1])
Definition: Event.hpp:158
Joystick connection events parameters (JoystickConnected, JoystickDisconnected)
Definition: Event.hpp:135
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:136
Joystick axis move event parameters (JoystickMoved)
Definition: Event.hpp:144
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition: Event.hpp:145
float position
New position on the axis (in range [-100 .. 100])
Definition: Event.hpp:147
Joystick::Axis axis
Axis on which the joystick moved.
Definition: Event.hpp:146
Keyboard event parameters (KeyPressed, KeyReleased)
Definition: Event.hpp:63
Keyboard::Scancode scancode
Physical code of the key that has been pressed.
Definition: Event.hpp:65
Keyboard::Key code
Code of the key that has been pressed.
Definition: Event.hpp:64
bool shift
Is the Shift key pressed?
Definition: Event.hpp:68
bool alt
Is the Alt key pressed?
Definition: Event.hpp:66
bool control
Is the Control key pressed?
Definition: Event.hpp:67
bool system
Is the System key pressed?
Definition: Event.hpp:69
Mouse buttons events parameters (MouseButtonPressed, MouseButtonReleased)
Definition: Event.hpp:97
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:99
Mouse::Button button
Code of the button that has been pressed.
Definition: Event.hpp:98
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:100
Mouse move event parameters (MouseMoved)
Definition: Event.hpp:86
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:88
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:87
Mouse wheel events parameters (MouseWheelMoved)
Definition: Event.hpp:111
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:113
int delta
Number of ticks the wheel has moved (positive is up, negative is down)
Definition: Event.hpp:112
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:114
Mouse wheel events parameters (MouseWheelScrolled)
Definition: Event.hpp:122
Mouse::Wheel wheel
Which wheel (for mice with multiple ones)
Definition: Event.hpp:123
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition: Event.hpp:125
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition: Event.hpp:126
float delta
Wheel offset (positive is up/left, negative is down/right). High-precision mice may use non-integral ...
Definition: Event.hpp:124
Sensor event parameters (SensorChanged)
Definition: Event.hpp:177
float z
Current value of the sensor on Z axis.
Definition: Event.hpp:181
float x
Current value of the sensor on X axis.
Definition: Event.hpp:179
Sensor::Type type
Type of the sensor.
Definition: Event.hpp:178
float y
Current value of the sensor on Y axis.
Definition: Event.hpp:180
Size events parameters (Resized)
Definition: Event.hpp:53
unsigned int width
New width, in pixels.
Definition: Event.hpp:54
unsigned int height
New height, in pixels.
Definition: Event.hpp:55
Text event parameters (TextEntered)
Definition: Event.hpp:77
Uint32 unicode
UTF-32 Unicode value of the character.
Definition: Event.hpp:78
Touch events parameters (TouchBegan, TouchMoved, TouchEnded)
Definition: Event.hpp:166
int x
X position of the touch, relative to the left of the owner window.
Definition: Event.hpp:168
unsigned int finger
Index of the finger in case of multi-touch events.
Definition: Event.hpp:167
int y
Y position of the touch, relative to the top of the owner window.
Definition: Event.hpp:169