CSFML

- Main Page
- Data Structures
- Files

- File List
- Globals

Event.h
Go to the documentation of this file.
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)//
5 // This software is provided 'as-is', without any express or implied warranty.
6 // In no event will the authors be held liable for any damages arising from the use of this software.
7 //
8 // Permission is granted to anyone to use this software for any purpose,
9 // including commercial applications, and to alter it and redistribute it freely,
10 // subject to the following restrictions:
11 //
12 // 1. The origin of this software must not be misrepresented;
13 // you must not claim that you wrote the original software.
14 // If you use this software in a product, an acknowledgment
15 // in the product documentation would be appreciated but is not required.
16 //
17 // 2. Altered source versions must be plainly marked as such,
18 // and must not be misrepresented as being the original software.
19 //
20 // 3. This notice may not be removed or altered from any source distribution.
21 //
23
24 #ifndef SFML_EVENT_H
25 #define SFML_EVENT_H
26
28 // Headers
30 #include <SFML/Window/Export.h>
31 #include <SFML/Window/Joystick.h>
32 #include <SFML/Window/Keyboard.h>
33 #include <SFML/Window/Mouse.h>
34
35
40 typedef enum
41 {
42 sfEvtClosed,
43 sfEvtResized,
44 sfEvtLostFocus,
45 sfEvtGainedFocus,
46 sfEvtTextEntered,
47 sfEvtKeyPressed,
48 sfEvtKeyReleased,
49 sfEvtMouseWheelMoved,
50 sfEvtMouseButtonPressed,
51 sfEvtMouseButtonReleased,
52 sfEvtMouseMoved,
53 sfEvtMouseEntered,
54 sfEvtMouseLeft,
55 sfEvtJoystickButtonPressed,
56 sfEvtJoystickButtonReleased,
57 sfEvtJoystickMoved,
58 sfEvtJoystickConnected,
59 sfEvtJoystickDisconnected
60 } sfEventType;
61
62
67 typedef struct
68 {
69 sfEventType type;
70 sfKeyCode code;
71 sfBool alt;
72 sfBool control;
73 sfBool shift;
74 sfBool system;
75 } sfKeyEvent;
76
81 typedef struct
82 {
83 sfEventType type;
84 sfUint32 unicode;
85 } sfTextEvent;
86
91 typedef struct
92 {
93 sfEventType type;
94 int x;
95 int y;
96 } sfMouseMoveEvent;
97
102 typedef struct
103 {
104 sfEventType type;
105 sfMouseButton button;
106 int x;
107 int y;
108 } sfMouseButtonEvent;
109
114 typedef struct
115 {
116 sfEventType type;
117 int delta;
118 int x;
119 int y;
120 } sfMouseWheelEvent;
121
126 typedef struct
127 {
128 sfEventType type;
129 unsigned int joystickId;
130 sfJoystickAxis axis;
131 float position;
132 } sfJoystickMoveEvent;
133
138 typedef struct
139 {
140 sfEventType type;
141 unsigned int joystickId;
142 unsigned int button;
143 } sfJoystickButtonEvent;
144
149 typedef struct
150 {
151 sfEventType type;
152 unsigned int joystickId;
153 } sfJoystickConnectEvent;
154
159 typedef struct
160 {
161 sfEventType type;
162 unsigned int width;
163 unsigned int height;
164 } sfSizeEvent;
165
166
171 typedef union
172 {
174 // Member data
176 sfEventType type;
177 sfSizeEvent size;
178 sfKeyEvent key;
179 sfTextEvent text;
180 sfMouseMoveEvent mouseMove;
181 sfMouseButtonEvent mouseButton;
182 sfMouseWheelEvent mouseWheel;
183 sfJoystickMoveEvent joystickMove;
184 sfJoystickButtonEvent joystickButton;
185 sfJoystickConnectEvent joystickConnect;
186 } sfEvent;
187
188
189 #endif // SFML_EVENT_H