SFML - Simple and Fast Multimedia Library

SFML 2.5.1

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

- File List
- File Members

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