SFML 2.5.1

- Main Page
- Related Pages
- Topics
- 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
38 namespace sf
39{
44 class Event
45{
46 public:
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