SFML - Simple and Fast Multimedia Library

SFML 2.6.1

- Main Page
- Related Pages
- Topics
- Namespaces
- Classes
- Files

- File List
- File Members

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{
44 class Event
45{
46public:
47
52 struct SizeEvent
53 {
54 unsigned int width;
55 unsigned int height;
56 };
57
62 struct KeyEvent
63 {
64 Keyboard::Key code;
65 Keyboard::Scancode scancode;
66 bool alt;
67 bool control;
68 bool shift;
69 bool system;
70 };
71
76 struct TextEvent
77 {
78 Uint32 unicode;
79 };
80
85 struct MouseMoveEvent
86 {
87 int x;
88 int y;
89 };
90
96 struct MouseButtonEvent
97 {
98 Mouse::Button button;
99 int x;
100 int y;
101 };
102
110 struct MouseWheelEvent
111 {
112 int delta;
113 int x;
114 int y;
115 };
116
121 struct MouseWheelScrollEvent
122 {
123 Mouse::Wheel wheel;
124 float delta;
125 int x;
126 int y;
127 };
128
134 struct JoystickConnectEvent
135 {
136 unsigned int joystickId;
137 };
138
143 struct JoystickMoveEvent
144 {
145 unsigned int joystickId;
146 Joystick::Axis axis;
147 float position;
148 };
149
155 struct JoystickButtonEvent
156 {
157 unsigned int joystickId;
158 unsigned int button;
159 };
160
165 struct TouchEvent
166 {
167 unsigned int finger;
168 int x;
169 int y;
170 };
171
176 struct SensorEvent
177 {
178 Sensor::Type type;
179 float x;
180 float y;
181 float z;
182 };
183
188 enum EventType
189 {
190 Closed,
191 Resized,
192 LostFocus,
193 GainedFocus,
194 TextEntered,
195 KeyPressed,
196 KeyReleased,
197 MouseWheelMoved,
198 MouseWheelScrolled,
199 MouseButtonPressed,
200 MouseButtonReleased,
201 MouseMoved,
202 MouseEntered,
203 MouseLeft,
204 JoystickButtonPressed,
205 JoystickButtonReleased,
206 JoystickMoved,
207 JoystickConnected,
208 JoystickDisconnected,
209 TouchBegan,
210 TouchMoved,
211 TouchEnded,
212 SensorChanged,
213
214 Count
215 };
216
218 // Member data
220 EventType type;
221
222 union
223 {
224 SizeEvent size;
225 KeyEvent key;
226 TextEvent text;
227 MouseMoveEvent mouseMove;
228 MouseButtonEvent mouseButton;
229 MouseWheelEvent mouseWheel;
230 MouseWheelScrollEvent mouseWheelScroll;
231 JoystickMoveEvent joystickMove;
232 JoystickButtonEvent joystickButton;
233 JoystickConnectEvent joystickConnect;
234 TouchEvent touch;
235 SensorEvent sensor;
236 };
237};
238
239} // namespace sf
240
241
242#endif // SFML_EVENT_HPP
243
244
sf::Event
Defines a system event and its parameters.
Definition Event.hpp:45
sf::Event::text
TextEvent text
Text event parameters (Event::TextEntered)
Definition Event.hpp:226
sf::Event::mouseButton
MouseButtonEvent mouseButton
Mouse button event parameters (Event::MouseButtonPressed, Event::MouseButtonReleased)
Definition Event.hpp:228
sf::Event::joystickButton
JoystickButtonEvent joystickButton
Joystick button event parameters (Event::JoystickButtonPressed, Event::JoystickButtonReleased)
Definition Event.hpp:232
sf::Event::key
KeyEvent key
Key event parameters (Event::KeyPressed, Event::KeyReleased)
Definition Event.hpp:225
sf::Event::touch
TouchEvent touch
Touch events parameters (Event::TouchBegan, Event::TouchMoved, Event::TouchEnded)
Definition Event.hpp:234
sf::Event::mouseWheelScroll
MouseWheelScrollEvent mouseWheelScroll
Mouse wheel event parameters (Event::MouseWheelScrolled)
Definition Event.hpp:230
sf::Event::mouseMove
MouseMoveEvent mouseMove
Mouse move event parameters (Event::MouseMoved)
Definition Event.hpp:227
sf::Event::size
SizeEvent size
Size event parameters (Event::Resized)
Definition Event.hpp:224
sf::Event::mouseWheel
MouseWheelEvent mouseWheel
Mouse wheel event parameters (Event::MouseWheelMoved) (deprecated)
Definition Event.hpp:229
sf::Event::joystickConnect
JoystickConnectEvent joystickConnect
Joystick (dis)connect event parameters (Event::JoystickConnected, Event::JoystickDisconnected)
Definition Event.hpp:233
sf::Event::joystickMove
JoystickMoveEvent joystickMove
Joystick move event parameters (Event::JoystickMoved)
Definition Event.hpp:231
sf::Event::sensor
SensorEvent sensor
Sensor event parameters (Event::SensorChanged)
Definition Event.hpp:235
sf::Event::type
EventType type
Type of the event.
Definition Event.hpp:220
sf::Event::EventType
EventType
Enumeration of the different types of events.
Definition Event.hpp:189
sf::Event::JoystickButtonReleased
@ JoystickButtonReleased
A joystick button was released (data in event.joystickButton)
Definition Event.hpp:205
sf::Event::MouseWheelScrolled
@ MouseWheelScrolled
The mouse wheel was scrolled (data in event.mouseWheelScroll)
Definition Event.hpp:198
sf::Event::Closed
@ Closed
The window requested to be closed (no data)
Definition Event.hpp:190
sf::Event::JoystickMoved
@ JoystickMoved
The joystick moved along an axis (data in event.joystickMove)
Definition Event.hpp:206
sf::Event::MouseMoved
@ MouseMoved
The mouse cursor moved (data in event.mouseMove)
Definition Event.hpp:201
sf::Event::MouseEntered
@ MouseEntered
The mouse cursor entered the area of the window (no data)
Definition Event.hpp:202
sf::Event::MouseButtonPressed
@ MouseButtonPressed
A mouse button was pressed (data in event.mouseButton)
Definition Event.hpp:199
sf::Event::MouseWheelMoved
@ MouseWheelMoved
The mouse wheel was scrolled (data in event.mouseWheel) (deprecated)
Definition Event.hpp:197
sf::Event::Resized
@ Resized
The window was resized (data in event.size)
Definition Event.hpp:191
sf::Event::JoystickButtonPressed
@ JoystickButtonPressed
A joystick button was pressed (data in event.joystickButton)
Definition Event.hpp:204
sf::Event::TextEntered
@ TextEntered
A character was entered (data in event.text)
Definition Event.hpp:194
sf::Event::GainedFocus
@ GainedFocus
The window gained the focus (no data)
Definition Event.hpp:193
sf::Event::TouchMoved
@ TouchMoved
A touch moved (data in event.touch)
Definition Event.hpp:210
sf::Event::MouseButtonReleased
@ MouseButtonReleased
A mouse button was released (data in event.mouseButton)
Definition Event.hpp:200
sf::Event::KeyReleased
@ KeyReleased
A key was released (data in event.key)
Definition Event.hpp:196
sf::Event::MouseLeft
@ MouseLeft
The mouse cursor left the area of the window (no data)
Definition Event.hpp:203
sf::Event::JoystickConnected
@ JoystickConnected
A joystick was connected (data in event.joystickConnect)
Definition Event.hpp:207
sf::Event::SensorChanged
@ SensorChanged
A sensor value changed (data in event.sensor)
Definition Event.hpp:212
sf::Event::JoystickDisconnected
@ JoystickDisconnected
A joystick was disconnected (data in event.joystickConnect)
Definition Event.hpp:208
sf::Event::TouchEnded
@ TouchEnded
A touch event ended (data in event.touch)
Definition Event.hpp:211
sf::Event::LostFocus
@ LostFocus
The window lost the focus (no data)
Definition Event.hpp:192
sf::Event::KeyPressed
@ KeyPressed
A key was pressed (data in event.key)
Definition Event.hpp:195
sf::Event::Count
@ Count
Keep last – the total number of event types.
Definition Event.hpp:214
sf::Event::TouchBegan
@ TouchBegan
A touch event began (data in event.touch)
Definition Event.hpp:209
sf::Joystick::Axis
Axis
Axes supported by SFML joysticks.
Definition Joystick.hpp:61
sf::Keyboard::Key
Key
Key codes.
Definition Keyboard.hpp:55
sf::Mouse::Button
Button
Mouse buttons.
Definition Mouse.hpp:52
sf::Mouse::Wheel
Wheel
Mouse wheels.
Definition Mouse.hpp:67
sf::Sensor::Type
Type
Sensor type.
Definition Sensor.hpp:51
sf::Event::JoystickButtonEvent
Joystick buttons events parameters (JoystickButtonPressed, JoystickButtonReleased)
Definition Event.hpp:156
sf::Event::JoystickButtonEvent::joystickId
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition Event.hpp:157
sf::Event::JoystickButtonEvent::button
unsigned int button
Index of the button that has been pressed (in range [0 .. Joystick::ButtonCount - 1])
Definition Event.hpp:158
sf::Event::JoystickConnectEvent
Joystick connection events parameters (JoystickConnected, JoystickDisconnected)
Definition Event.hpp:135
sf::Event::JoystickConnectEvent::joystickId
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition Event.hpp:136
sf::Event::JoystickMoveEvent
Joystick axis move event parameters (JoystickMoved)
Definition Event.hpp:144
sf::Event::JoystickMoveEvent::joystickId
unsigned int joystickId
Index of the joystick (in range [0 .. Joystick::Count - 1])
Definition Event.hpp:145
sf::Event::JoystickMoveEvent::position
float position
New position on the axis (in range [-100 .. 100])
Definition Event.hpp:147
sf::Event::JoystickMoveEvent::axis
Joystick::Axis axis
Axis on which the joystick moved.
Definition Event.hpp:146
sf::Event::KeyEvent
Keyboard event parameters (KeyPressed, KeyReleased)
Definition Event.hpp:63
sf::Event::KeyEvent::scancode
Keyboard::Scancode scancode
Physical code of the key that has been pressed.
Definition Event.hpp:65
sf::Event::KeyEvent::code
Keyboard::Key code
Code of the key that has been pressed.
Definition Event.hpp:64
sf::Event::KeyEvent::shift
bool shift
Is the Shift key pressed?
Definition Event.hpp:68
sf::Event::KeyEvent::alt
bool alt
Is the Alt key pressed?
Definition Event.hpp:66
sf::Event::KeyEvent::control
bool control
Is the Control key pressed?
Definition Event.hpp:67
sf::Event::KeyEvent::system
bool system
Is the System key pressed?
Definition Event.hpp:69
sf::Event::MouseButtonEvent
Mouse buttons events parameters (MouseButtonPressed, MouseButtonReleased)
Definition Event.hpp:97
sf::Event::MouseButtonEvent::x
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition Event.hpp:99
sf::Event::MouseButtonEvent::button
Mouse::Button button
Code of the button that has been pressed.
Definition Event.hpp:98
sf::Event::MouseButtonEvent::y
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition Event.hpp:100
sf::Event::MouseMoveEvent
Mouse move event parameters (MouseMoved)
Definition Event.hpp:86
sf::Event::MouseMoveEvent::y
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition Event.hpp:88
sf::Event::MouseMoveEvent::x
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition Event.hpp:87
sf::Event::MouseWheelEvent
Mouse wheel events parameters (MouseWheelMoved)
Definition Event.hpp:111
sf::Event::MouseWheelEvent::x
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition Event.hpp:113
sf::Event::MouseWheelEvent::delta
int delta
Number of ticks the wheel has moved (positive is up, negative is down)
Definition Event.hpp:112
sf::Event::MouseWheelEvent::y
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition Event.hpp:114
sf::Event::MouseWheelScrollEvent
Mouse wheel events parameters (MouseWheelScrolled)
Definition Event.hpp:122
sf::Event::MouseWheelScrollEvent::wheel
Mouse::Wheel wheel
Which wheel (for mice with multiple ones)
Definition Event.hpp:123
sf::Event::MouseWheelScrollEvent::x
int x
X position of the mouse pointer, relative to the left of the owner window.
Definition Event.hpp:125
sf::Event::MouseWheelScrollEvent::y
int y
Y position of the mouse pointer, relative to the top of the owner window.
Definition Event.hpp:126
sf::Event::MouseWheelScrollEvent::delta
float delta
Wheel offset (positive is up/left, negative is down/right). High-precision mice may use non-integral ...
Definition Event.hpp:124
sf::Event::SensorEvent
Sensor event parameters (SensorChanged)
Definition Event.hpp:177
sf::Event::SensorEvent::z
float z
Current value of the sensor on Z axis.
Definition Event.hpp:181
sf::Event::SensorEvent::x
float x
Current value of the sensor on X axis.
Definition Event.hpp:179
sf::Event::SensorEvent::type
Sensor::Type type
Type of the sensor.
Definition Event.hpp:178
sf::Event::SensorEvent::y
float y
Current value of the sensor on Y axis.
Definition Event.hpp:180
sf::Event::SizeEvent
Size events parameters (Resized)
Definition Event.hpp:53
sf::Event::SizeEvent::width
unsigned int width
New width, in pixels.
Definition Event.hpp:54
sf::Event::SizeEvent::height
unsigned int height
New height, in pixels.
Definition Event.hpp:55
sf::Event::TextEvent
Text event parameters (TextEntered)
Definition Event.hpp:77
sf::Event::TextEvent::unicode
Uint32 unicode
UTF-32 Unicode value of the character.
Definition Event.hpp:78
sf::Event::TouchEvent
Touch events parameters (TouchBegan, TouchMoved, TouchEnded)
Definition Event.hpp:166
sf::Event::TouchEvent::x
int x
X position of the touch, relative to the left of the owner window.
Definition Event.hpp:168
sf::Event::TouchEvent::finger
unsigned int finger
Index of the finger in case of multi-touch events.
Definition Event.hpp:167
sf::Event::TouchEvent::y
int y
Y position of the touch, relative to the top of the owner window.
Definition Event.hpp:169
sf::Keyboard::Scan::Scancode
Scancode
Definition Keyboard.hpp:193