My Project
SDL_events.h
Go to the documentation of this file.
1 /*
2  Simple DirectMedia Layer
3  Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4 
5  This software is provided 'as-is', without any express or implied
6  warranty. In no event will the authors be held liable for any damages
7  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
11  freely, subject to the following restrictions:
12 
13  1. The origin of this software must not be misrepresented; you must not
14  claim that you wrote the original software. If you use this software
15  in a product, an acknowledgment in the product documentation would be
16  appreciated but is not required.
17  2. Altered source versions must be plainly marked as such, and must not be
18  misrepresented as being the original software.
19  3. This notice may not be removed or altered from any source distribution.
20 */
21 
28 #ifndef SDL_events_h_
29 #define SDL_events_h_
30 
31 #include "SDL_stdinc.h"
32 #include "SDL_error.h"
33 #include "SDL_video.h"
34 #include "SDL_keyboard.h"
35 #include "SDL_mouse.h"
36 #include "SDL_joystick.h"
37 #include "SDL_gamecontroller.h"
38 #include "SDL_quit.h"
39 #include "SDL_gesture.h"
40 #include "SDL_touch.h"
41 
42 #include "begin_code.h"
43 /* Set up for C function definitions, even when using C++ */
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /* General keyboard/mouse state definitions */
49 #define SDL_RELEASED 0
50 #define SDL_PRESSED 1
51 
55 typedef enum
56 {
59  /* Application events */
60  SDL_QUIT = 0x100,
62  /* These application events have special meaning on iOS, see README-ios.md for details */
88  /* Display events */
89  SDL_DISPLAYEVENT = 0x150,
91  /* Window events */
92  SDL_WINDOWEVENT = 0x200,
95  /* Keyboard events */
96  SDL_KEYDOWN = 0x300,
104  /* Mouse events */
105  SDL_MOUSEMOTION = 0x400,
110  /* Joystick events */
119  /* Game controller events */
127  /* Touch events */
128  SDL_FINGERDOWN = 0x700,
129  SDL_FINGERUP,
130  SDL_FINGERMOTION,
131 
132  /* Gesture events */
133  SDL_DOLLARGESTURE = 0x800,
134  SDL_DOLLARRECORD,
135  SDL_MULTIGESTURE,
136 
137  /* Clipboard events */
140  /* Drag and drop events */
141  SDL_DROPFILE = 0x1000,
146  /* Audio hotplug events */
150  /* Sensor events */
151  SDL_SENSORUPDATE = 0x1200,
153  /* Render events */
160  SDL_USEREVENT = 0x8000,
161 
165  SDL_LASTEVENT = 0xFFFF
166 } SDL_EventType;
167 
171 typedef struct SDL_CommonEvent
172 {
173  Uint32 type;
174  Uint32 timestamp;
176 
180 typedef struct SDL_DisplayEvent
181 {
182  Uint32 type;
183  Uint32 timestamp;
184  Uint32 display;
185  Uint8 event;
186  Uint8 padding1;
187  Uint8 padding2;
188  Uint8 padding3;
189  Sint32 data1;
191 
195 typedef struct SDL_WindowEvent
196 {
197  Uint32 type;
198  Uint32 timestamp;
199  Uint32 windowID;
200  Uint8 event;
201  Uint8 padding1;
202  Uint8 padding2;
203  Uint8 padding3;
204  Sint32 data1;
205  Sint32 data2;
207 
211 typedef struct SDL_KeyboardEvent
212 {
213  Uint32 type;
214  Uint32 timestamp;
215  Uint32 windowID;
216  Uint8 state;
217  Uint8 repeat;
218  Uint8 padding2;
219  Uint8 padding3;
222 
223 #define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32)
224 
227 typedef struct SDL_TextEditingEvent
228 {
229  Uint32 type;
230  Uint32 timestamp;
231  Uint32 windowID;
232  char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE];
233  Sint32 start;
234  Sint32 length;
236 
237 
238 #define SDL_TEXTINPUTEVENT_TEXT_SIZE (32)
239 
242 typedef struct SDL_TextInputEvent
243 {
244  Uint32 type;
245  Uint32 timestamp;
246  Uint32 windowID;
247  char text[SDL_TEXTINPUTEVENT_TEXT_SIZE];
249 
253 typedef struct SDL_MouseMotionEvent
254 {
255  Uint32 type;
256  Uint32 timestamp;
257  Uint32 windowID;
258  Uint32 which;
259  Uint32 state;
260  Sint32 x;
261  Sint32 y;
262  Sint32 xrel;
263  Sint32 yrel;
265 
269 typedef struct SDL_MouseButtonEvent
270 {
271  Uint32 type;
272  Uint32 timestamp;
273  Uint32 windowID;
274  Uint32 which;
275  Uint8 button;
276  Uint8 state;
277  Uint8 clicks;
278  Uint8 padding1;
279  Sint32 x;
280  Sint32 y;
282 
286 typedef struct SDL_MouseWheelEvent
287 {
288  Uint32 type;
289  Uint32 timestamp;
290  Uint32 windowID;
291  Uint32 which;
292  Sint32 x;
293  Sint32 y;
294  Uint32 direction;
296 
300 typedef struct SDL_JoyAxisEvent
301 {
302  Uint32 type;
303  Uint32 timestamp;
305  Uint8 axis;
306  Uint8 padding1;
307  Uint8 padding2;
308  Uint8 padding3;
309  Sint16 value;
310  Uint16 padding4;
312 
316 typedef struct SDL_JoyBallEvent
317 {
318  Uint32 type;
319  Uint32 timestamp;
321  Uint8 ball;
322  Uint8 padding1;
323  Uint8 padding2;
324  Uint8 padding3;
325  Sint16 xrel;
326  Sint16 yrel;
328 
332 typedef struct SDL_JoyHatEvent
333 {
334  Uint32 type;
335  Uint32 timestamp;
337  Uint8 hat;
338  Uint8 value;
345  Uint8 padding1;
346  Uint8 padding2;
348 
352 typedef struct SDL_JoyButtonEvent
353 {
354  Uint32 type;
355  Uint32 timestamp;
357  Uint8 button;
358  Uint8 state;
359  Uint8 padding1;
360  Uint8 padding2;
362 
366 typedef struct SDL_JoyDeviceEvent
367 {
368  Uint32 type;
369  Uint32 timestamp;
370  Sint32 which;
372 
373 
378 {
379  Uint32 type;
380  Uint32 timestamp;
382  Uint8 axis;
383  Uint8 padding1;
384  Uint8 padding2;
385  Uint8 padding3;
386  Sint16 value;
387  Uint16 padding4;
389 
390 
395 {
396  Uint32 type;
397  Uint32 timestamp;
399  Uint8 button;
400  Uint8 state;
401  Uint8 padding1;
402  Uint8 padding2;
404 
405 
410 {
411  Uint32 type;
412  Uint32 timestamp;
413  Sint32 which;
415 
419 typedef struct SDL_AudioDeviceEvent
420 {
421  Uint32 type;
422  Uint32 timestamp;
423  Uint32 which;
424  Uint8 iscapture;
425  Uint8 padding1;
426  Uint8 padding2;
427  Uint8 padding3;
429 
430 
434 typedef struct SDL_TouchFingerEvent
435 {
436  Uint32 type;
437  Uint32 timestamp;
438  SDL_TouchID touchId;
439  SDL_FingerID fingerId;
440  float x;
441  float y;
442  float dx;
443  float dy;
444  float pressure;
446 
447 
451 typedef struct SDL_MultiGestureEvent
452 {
453  Uint32 type;
454  Uint32 timestamp;
455  SDL_TouchID touchId;
456  float dTheta;
457  float dDist;
458  float x;
459  float y;
460  Uint16 numFingers;
461  Uint16 padding;
463 
464 
469 {
470  Uint32 type;
471  Uint32 timestamp;
472  SDL_TouchID touchId;
473  SDL_GestureID gestureId;
474  Uint32 numFingers;
475  float error;
476  float x;
477  float y;
479 
480 
486 typedef struct SDL_DropEvent
487 {
488  Uint32 type;
489  Uint32 timestamp;
490  char *file;
491  Uint32 windowID;
492 } SDL_DropEvent;
493 
494 
498 typedef struct SDL_SensorEvent
499 {
500  Uint32 type;
501  Uint32 timestamp;
502  Sint32 which;
503  float data[6];
505 
509 typedef struct SDL_QuitEvent
510 {
511  Uint32 type;
512  Uint32 timestamp;
513 } SDL_QuitEvent;
514 
518 typedef struct SDL_OSEvent
519 {
520  Uint32 type;
521  Uint32 timestamp;
522 } SDL_OSEvent;
523 
527 typedef struct SDL_UserEvent
528 {
529  Uint32 type;
530  Uint32 timestamp;
531  Uint32 windowID;
532  Sint32 code;
533  void *data1;
534  void *data2;
535 } SDL_UserEvent;
536 
537 
538 struct SDL_SysWMmsg;
539 typedef struct SDL_SysWMmsg SDL_SysWMmsg;
540 
547 typedef struct SDL_SysWMEvent
548 {
549  Uint32 type;
550  Uint32 timestamp;
553 
557 typedef union SDL_Event
558 {
559  Uint32 type;
587  /* This is necessary for ABI compatibility between Visual C++ and GCC
588  Visual C++ will respect the push pack pragma and use 52 bytes for
589  this structure, and GCC will use the alignment of the largest datatype
590  within the union, which is 8 bytes.
591 
592  So... we'll add padding to force the size to be 56 bytes for both.
593  */
594  Uint8 padding[56];
595 } SDL_Event;
596 
597 
598 /* Function prototypes */
599 
607 extern DECLSPEC void SDLCALL SDL_PumpEvents(void);
608 
609 /* @{ */
610 typedef enum
611 {
612  SDL_ADDEVENT,
613  SDL_PEEKEVENT,
614  SDL_GETEVENT
615 } SDL_eventaction;
616 
635 extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event * events, int numevents,
636  SDL_eventaction action,
637  Uint32 minType, Uint32 maxType);
638 /* @} */
639 
643 extern DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type);
644 extern DECLSPEC SDL_bool SDLCALL SDL_HasEvents(Uint32 minType, Uint32 maxType);
645 
652 extern DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type);
653 extern DECLSPEC void SDLCALL SDL_FlushEvents(Uint32 minType, Uint32 maxType);
654 
663 extern DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event * event);
664 
673 extern DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event * event);
674 
685 extern DECLSPEC int SDLCALL SDL_WaitEventTimeout(SDL_Event * event,
686  int timeout);
687 
694 extern DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event * event);
695 
696 typedef int (SDLCALL * SDL_EventFilter) (void *userdata, SDL_Event * event);
697 
723 extern DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter,
724  void *userdata);
725 
730 extern DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter(SDL_EventFilter * filter,
731  void **userdata);
732 
736 extern DECLSPEC void SDLCALL SDL_AddEventWatch(SDL_EventFilter filter,
737  void *userdata);
738 
742 extern DECLSPEC void SDLCALL SDL_DelEventWatch(SDL_EventFilter filter,
743  void *userdata);
744 
749 extern DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter,
750  void *userdata);
751 
752 /* @{ */
753 #define SDL_QUERY -1
754 #define SDL_IGNORE 0
755 #define SDL_DISABLE 0
756 #define SDL_ENABLE 1
757 
767 extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state);
768 /* @} */
769 #define SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY)
770 
778 extern DECLSPEC Uint32 SDLCALL SDL_RegisterEvents(int numevents);
779 
780 /* Ends C function definitions when using C++ */
781 #ifdef __cplusplus
782 }
783 #endif
784 #include "close_code.h"
785 
786 #endif /* SDL_events_h_ */
787 
788 /* vi: set ts=4 sw=4 expandtab: */
struct SDL_JoyButtonEvent SDL_JoyButtonEvent
Joystick button event structure (event.jbutton.*)
DECLSPEC void SDLCALL SDL_DelEventWatch(SDL_EventFilter filter, void *userdata)
Uint8 state
Definition: SDL_events.h:276
SDL_AudioDeviceEvent adevice
Definition: SDL_events.h:577
Uint32 type
Definition: SDL_events.h:511
Definition: SDL_events.h:155
DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event *event)
Waits indefinitely for the next available event.
Uint32 timestamp
Definition: SDL_events.h:521
Definition: SDL_events.h:79
struct SDL_ControllerAxisEvent SDL_ControllerAxisEvent
Game controller axis motion event structure (event.caxis.*)
Definition: SDL_events.h:143
Uint8 ball
Definition: SDL_events.h:321
Uint8 axis
Definition: SDL_events.h:305
SDL_WindowEvent window
Definition: SDL_events.h:562
Game controller button event structure (event.cbutton.*)
Definition: SDL_events.h:394
struct SDL_KeyboardEvent SDL_KeyboardEvent
Keyboard button event structure (event.key.*)
struct SDL_OSEvent SDL_OSEvent
OS Specific event.
Joystick trackball motion event structure (event.jball.*)
Definition: SDL_events.h:316
SDL_KeyboardEvent key
Definition: SDL_events.h:563
Definition: SDL_events.h:147
Mouse motion event structure (event.motion.*)
Definition: SDL_events.h:253
Uint32 state
Definition: SDL_events.h:259
SDL_JoyAxisEvent jaxis
Definition: SDL_events.h:569
Joystick button event structure (event.jbutton.*)
Definition: SDL_events.h:352
struct SDL_JoyBallEvent SDL_JoyBallEvent
Joystick trackball motion event structure (event.jball.*)
Sint32 y
Definition: SDL_events.h:261
Uint32 type
Definition: SDL_events.h:368
Definition: SDL_events.h:105
struct SDL_JoyDeviceEvent SDL_JoyDeviceEvent
Joystick device event structure (event.jdevice.*)
Uint32 timestamp
Definition: SDL_events.h:454
Uint32 type
Definition: SDL_events.h:334
Uint32 windowID
Definition: SDL_events.h:215
Sint16 xrel
Definition: SDL_events.h:325
Definition: SDL_events.h:111
Uint32 direction
Definition: SDL_events.h:294
struct SDL_TextEditingEvent SDL_TextEditingEvent
Keyboard text editing event structure (event.edit.*)
Uint32 timestamp
Definition: SDL_events.h:471
Definition: SDL_events.h:100
SDL_CommonEvent common
Definition: SDL_events.h:560
Sint32 x
Definition: SDL_events.h:260
Sint32 y
Definition: SDL_events.h:280
Sint32 length
Definition: SDL_events.h:234
Definition: SDL_events.h:63
Uint32 type
Definition: SDL_events.h:229
Joystick hat position change event structure (event.jhat.*)
Definition: SDL_events.h:332
Definition: SDL_events.h:148
struct SDL_MultiGestureEvent SDL_MultiGestureEvent
Multiple Finger Gesture Event (event.mgesture.*)
union SDL_Event SDL_Event
General event structure.
SDL_EventType
The types of events that can be delivered.
Definition: SDL_events.h:55
Uint32 timestamp
Definition: SDL_events.h:380
Definition: SDL_events.h:154
Uint32 type
Definition: SDL_events.h:520
Uint8 value
Definition: SDL_events.h:338
struct SDL_JoyAxisEvent SDL_JoyAxisEvent
Joystick axis motion event structure (event.jaxis.*)
Audio device event structure (event.adevice.*)
Definition: SDL_events.h:419
The SDL keysym structure, used in key events.
Definition: SDL_keyboard.h:47
DECLSPEC Uint8 SDLCALL SDL_EventState(Uint32 type, int state)
struct SDL_SysWMEvent SDL_SysWMEvent
A video driver dependent system event (event.syswm.*) This event is disabled by default, you can enable it with SDL_EventState()
Uint32 type
Definition: SDL_events.h:529
Uint32 timestamp
Definition: SDL_events.h:230
Definition: SDL_events.h:120
Uint32 type
Definition: SDL_events.h:197
Dollar Gesture Event (event.dgesture.*)
Definition: SDL_events.h:468
DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter(SDL_EventFilter *filter, void **userdata)
Uint32 display
Definition: SDL_events.h:184
Definition: SDL_events.h:106
SDL_Keysym keysym
Definition: SDL_events.h:220
Sint16 yrel
Definition: SDL_events.h:326
Definition: SDL_events.h:123
void * data2
Definition: SDL_events.h:534
Uint32 timestamp
Definition: SDL_events.h:272
Uint8 event
Definition: SDL_events.h:185
Definition: SDL_events.h:71
Uint32 timestamp
Definition: SDL_events.h:174
Uint8 clicks
Definition: SDL_events.h:277
Uint8 button
Definition: SDL_events.h:357
Uint32 type
Definition: SDL_events.h:213
DECLSPEC void SDLCALL SDL_FlushEvent(Uint32 type)
Touch finger event structure (event.tfinger.*)
Definition: SDL_events.h:434
Definition: SDL_events.h:97
Definition: SDL_events.h:115
Definition: SDL_events.h:113
Definition: SDL_events.h:122
SDL_MouseMotionEvent motion
Definition: SDL_events.h:566
SDL_QuitEvent quit
Definition: SDL_events.h:579
Uint8 state
Definition: SDL_events.h:400
Uint32 type
Definition: SDL_events.h:500
Definition: SDL_events.h:89
Definition: SDL_events.h:108
Definition: SDL_events.h:92
SDL_TouchID touchId
Definition: SDL_events.h:455
Uint32 type
Definition: SDL_events.h:488
Definition: SDL_events.h:165
float x
Definition: SDL_events.h:476
Sint32 yrel
Definition: SDL_events.h:263
General event structure.
Definition: SDL_events.h:557
Uint32 timestamp
Definition: SDL_events.h:530
SDL_TouchID touchId
Definition: SDL_events.h:472
The "quit requested" event.
Definition: SDL_events.h:509
Uint32 timestamp
Definition: SDL_events.h:422
Definition: SDL_events.h:57
Uint8 button
Definition: SDL_events.h:399
Uint32 timestamp
Definition: SDL_events.h:397
Definition: SDL_events.h:114
Definition: SDL_events.h:60
Joystick device event structure (event.jdevice.*)
Definition: SDL_events.h:366
Sint32 data1
Definition: SDL_events.h:189
Definition: SDL_events.h:160
Uint32 windowID
Definition: SDL_events.h:290
struct SDL_ControllerDeviceEvent SDL_ControllerDeviceEvent
Controller device event structure (event.cdevice.*)
Uint8 hat
Definition: SDL_events.h:337
float x
Definition: SDL_events.h:440
struct SDL_MouseButtonEvent SDL_MouseButtonEvent
Mouse button event structure (event.button.*)
Joystick axis motion event structure (event.jaxis.*)
Definition: SDL_events.h:300
SDL_MouseWheelEvent wheel
Definition: SDL_events.h:568
Uint32 type
Definition: SDL_events.h:288
SDL_MouseButtonEvent button
Definition: SDL_events.h:567
SDL_TouchFingerEvent tfinger
Definition: SDL_events.h:582
Uint32 type
Definition: SDL_events.h:244
struct SDL_ControllerButtonEvent SDL_ControllerButtonEvent
Game controller button event structure (event.cbutton.*)
DECLSPEC void SDLCALL SDL_PumpEvents(void)
Uint8 event
Definition: SDL_events.h:200
Uint32 timestamp
Definition: SDL_events.h:245
Sint32 data2
Definition: SDL_events.h:205
Uint32 timestamp
Definition: SDL_events.h:512
float dx
Definition: SDL_events.h:442
struct SDL_AudioDeviceEvent SDL_AudioDeviceEvent
Audio device event structure (event.adevice.*)
Definition: SDL_events.h:67
SDL_JoystickID which
Definition: SDL_events.h:304
Uint32 type
Definition: SDL_events.h:302
float pressure
Definition: SDL_events.h:444
Sint32 start
Definition: SDL_events.h:233
Uint32 type
Definition: SDL_events.h:379
Uint32 windowID
Definition: SDL_events.h:246
DECLSPEC Uint32 SDLCALL SDL_RegisterEvents(int numevents)
Definition: SDL_events.h:83
A user-defined event type (event.user.*)
Definition: SDL_events.h:527
Uint32 windowID
Definition: SDL_events.h:231
DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event *event)
Polls for currently pending events.
Multiple Finger Gesture Event (event.mgesture.*)
Definition: SDL_events.h:451
struct SDL_SensorEvent SDL_SensorEvent
Sensor event structure (event.sensor.*)
struct SDL_UserEvent SDL_UserEvent
A user-defined event type (event.user.*)
SDL_JoystickID which
Definition: SDL_events.h:398
SDL_DollarGestureEvent dgesture
Definition: SDL_events.h:584
DECLSPEC SDL_bool SDLCALL SDL_HasEvent(Uint32 type)
Uint32 type
Definition: SDL_events.h:396
SDL_TextInputEvent text
Definition: SDL_events.h:565
Uint32 type
Definition: SDL_events.h:559
SDL_JoystickID which
Definition: SDL_events.h:336
DECLSPEC void SDLCALL SDL_FilterEvents(SDL_EventFilter filter, void *userdata)
Definition: SDL_events.h:125
Uint32 timestamp
Definition: SDL_events.h:214
SDL_ControllerButtonEvent cbutton
Definition: SDL_events.h:575
char * file
Definition: SDL_events.h:490
Uint32 timestamp
Definition: SDL_events.h:319
Uint32 type
Definition: SDL_events.h:411
SDL_JoystickID which
Definition: SDL_events.h:356
Uint32 type
Definition: SDL_events.h:421
struct SDL_TouchFingerEvent SDL_TouchFingerEvent
Touch finger event structure (event.tfinger.*)
Fields shared by every event.
Definition: SDL_events.h:171
struct SDL_QuitEvent SDL_QuitEvent
The "quit requested" event.
Uint32 type
Definition: SDL_events.h:271
Keyboard button event structure (event.key.*)
Definition: SDL_events.h:211
Game controller axis motion event structure (event.caxis.*)
Definition: SDL_events.h:377
Uint32 which
Definition: SDL_events.h:423
struct SDL_WindowEvent SDL_WindowEvent
Window state change event data (event.window.*)
SDL_ControllerDeviceEvent cdevice
Definition: SDL_events.h:576
Uint8 iscapture
Definition: SDL_events.h:424
Sint32 x
Definition: SDL_events.h:292
Uint32 timestamp
Definition: SDL_events.h:437
struct SDL_MouseWheelEvent SDL_MouseWheelEvent
Mouse wheel event structure (event.wheel.*)
Definition: SDL_events.h:117
Uint8 axis
Definition: SDL_events.h:382
float y
Definition: SDL_events.h:477
Keyboard text input event structure (event.text.*)
Definition: SDL_events.h:242
SDL_TextEditingEvent edit
Definition: SDL_events.h:564
struct SDL_DisplayEvent SDL_DisplayEvent
Display state change event data (event.display.*)
SDL_JoyButtonEvent jbutton
Definition: SDL_events.h:572
DECLSPEC void SDLCALL SDL_AddEventWatch(SDL_EventFilter filter, void *userdata)
Uint32 which
Definition: SDL_events.h:274
Uint32 windowID
Definition: SDL_events.h:491
Definition: SDL_events.h:144
Uint8 repeat
Definition: SDL_events.h:217
Definition: SDL_events.h:151
float dy
Definition: SDL_events.h:443
Sint32 x
Definition: SDL_events.h:279
SDL_SensorEvent sensor
Definition: SDL_events.h:578
struct SDL_TextInputEvent SDL_TextInputEvent
Keyboard text input event structure (event.text.*)
struct SDL_CommonEvent SDL_CommonEvent
Fields shared by every event.
Definition: SDL_events.h:96
struct SDL_DollarGestureEvent SDL_DollarGestureEvent
Dollar Gesture Event (event.dgesture.*)
struct SDL_JoyHatEvent SDL_JoyHatEvent
Joystick hat position change event structure (event.jhat.*)
Sint32 SDL_JoystickID
Definition: SDL_joystick.h:81
Definition: SDL_events.h:99
SDL_ControllerAxisEvent caxis
Definition: SDL_events.h:574
Uint32 timestamp
Definition: SDL_events.h:303
An event used to request a file open by the system (event.drop.*) This event is enabled by default...
Definition: SDL_events.h:486
Sint32 y
Definition: SDL_events.h:293
Sint32 which
Definition: SDL_events.h:502
struct SDL_MouseMotionEvent SDL_MouseMotionEvent
Mouse motion event structure (event.motion.*)
DECLSPEC int SDLCALL SDL_WaitEventTimeout(SDL_Event *event, int timeout)
Waits until the specified timeout (in milliseconds) for the next available event. ...
Mouse wheel event structure (event.wheel.*)
Definition: SDL_events.h:286
Uint32 which
Definition: SDL_events.h:291
Uint32 timestamp
Definition: SDL_events.h:412
Uint32 windowID
Definition: SDL_events.h:199
Controller device event structure (event.cdevice.*)
Definition: SDL_events.h:409
Uint32 type
Definition: SDL_events.h:549
Definition: SDL_syswm.h:135
Uint32 type
Definition: SDL_events.h:470
Uint32 timestamp
Definition: SDL_events.h:198
Definition: SDL_events.h:107
Uint32 type
Definition: SDL_events.h:255
Uint32 which
Definition: SDL_events.h:258
OS Specific event.
Definition: SDL_events.h:518
SDL_JoystickID which
Definition: SDL_events.h:320
Definition: SDL_events.h:98
Definition: SDL_events.h:142
SDL_JoyHatEvent jhat
Definition: SDL_events.h:571
Uint32 timestamp
Definition: SDL_events.h:369
Keyboard text editing event structure (event.edit.*)
Definition: SDL_events.h:227
SDL_SysWMmsg * msg
Definition: SDL_events.h:551
SDL_UserEvent user
Definition: SDL_events.h:580
Definition: SDL_events.h:116
SDL_SysWMEvent syswm
Definition: SDL_events.h:581
Uint8 state
Definition: SDL_events.h:358
Uint32 timestamp
Definition: SDL_events.h:489
Sint32 which
Definition: SDL_events.h:413
Uint32 type
Definition: SDL_events.h:436
SDL_TouchID touchId
Definition: SDL_events.h:438
Uint32 windowID
Definition: SDL_events.h:273
Uint32 timestamp
Definition: SDL_events.h:289
SDL_JoyDeviceEvent jdevice
Definition: SDL_events.h:573
SDL_DisplayEvent display
Definition: SDL_events.h:561
Sint16 value
Definition: SDL_events.h:386
Uint32 timestamp
Definition: SDL_events.h:335
Uint32 type
Definition: SDL_events.h:453
Uint32 timestamp
Definition: SDL_events.h:501
Mouse button event structure (event.button.*)
Definition: SDL_events.h:269
SDL_JoyBallEvent jball
Definition: SDL_events.h:570
Definition: SDL_events.h:75
Definition: SDL_events.h:138
Definition: SDL_events.h:141
Uint8 state
Definition: SDL_events.h:216
SDL_DropEvent drop
Definition: SDL_events.h:585
Sint32 which
Definition: SDL_events.h:370
Window state change event data (event.window.*)
Definition: SDL_events.h:195
Uint32 type
Definition: SDL_events.h:182
Uint32 windowID
Definition: SDL_events.h:257
float y
Definition: SDL_events.h:441
Uint32 timestamp
Definition: SDL_events.h:550
Definition: SDL_events.h:93
Sint32 xrel
Definition: SDL_events.h:262
Sensor event structure (event.sensor.*)
Definition: SDL_events.h:498
DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event *event)
Add an event to the event queue.
SDL_JoystickID which
Definition: SDL_events.h:381
Uint8 button
Definition: SDL_events.h:275
Sint32 data1
Definition: SDL_events.h:204
struct SDL_DropEvent SDL_DropEvent
An event used to request a file open by the system (event.drop.*) This event is enabled by default...
Uint32 timestamp
Definition: SDL_events.h:183
Uint32 type
Definition: SDL_events.h:354
Uint32 timestamp
Definition: SDL_events.h:256
SDL_MultiGestureEvent mgesture
Definition: SDL_events.h:583
A video driver dependent system event (event.syswm.*) This event is disabled by default, you can enable it with SDL_EventState()
Definition: SDL_events.h:547
Definition: SDL_events.h:121
Uint32 type
Definition: SDL_events.h:318
void * data1
Definition: SDL_events.h:533
Sint16 value
Definition: SDL_events.h:309
DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType)
Definition: SDL_events.h:112
Sint32 code
Definition: SDL_events.h:532
DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter, void *userdata)
Uint32 timestamp
Definition: SDL_events.h:355
Definition: SDL_events.h:124
Uint32 windowID
Definition: SDL_events.h:531
Display state change event data (event.display.*)
Definition: SDL_events.h:180