minecraft-pi-docker/media-layer/include/SDL/SDL_events.h
2021-10-07 16:54:47 -04:00

161 lines
3.0 KiB
C

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include "SDL_keysym.h"
#define SDL_RELEASED 0
#define SDL_PRESSED 1
typedef enum {
SDL_NOEVENT = 0,
SDL_ACTIVEEVENT,
SDL_KEYDOWN,
SDL_KEYUP,
SDL_MOUSEMOTION,
SDL_MOUSEBUTTONDOWN,
SDL_MOUSEBUTTONUP,
SDL_JOYAXISMOTION,
SDL_JOYBALLMOTION,
SDL_JOYHATMOTION,
SDL_JOYBUTTONDOWN,
SDL_JOYBUTTONUP,
SDL_QUIT,
SDL_SYSWMEVENT,
SDL_EVENT_RESERVEDA,
SDL_EVENT_RESERVEDB,
SDL_VIDEORESIZE,
SDL_VIDEOEXPOSE,
SDL_EVENT_RESERVED2,
SDL_EVENT_RESERVED3,
SDL_EVENT_RESERVED4,
SDL_EVENT_RESERVED5,
SDL_EVENT_RESERVED6,
SDL_EVENT_RESERVED7,
SDL_USEREVENT = 24,
SDL_NUMEVENTS = 32
} SDL_EventType;
typedef struct SDL_ActiveEvent {
uint8_t type;
uint8_t gain;
uint8_t state;
} SDL_ActiveEvent;
typedef struct SDL_keysym {
uint8_t scancode;
SDLKey sym;
SDLMod mod;
uint16_t unicode;
} SDL_keysym;
typedef struct SDL_KeyboardEvent {
uint8_t type;
uint8_t which;
uint8_t state;
SDL_keysym keysym;
} SDL_KeyboardEvent;
typedef struct SDL_MouseMotionEvent {
uint8_t type;
uint8_t which;
uint8_t state;
uint16_t x, y;
int16_t xrel;
int16_t yrel;
} SDL_MouseMotionEvent;
#define SDL_BUTTON_LEFT 1
#define SDL_BUTTON_MIDDLE 2
#define SDL_BUTTON_RIGHT 3
#define SDL_BUTTON_WHEELUP 4
#define SDL_BUTTON_WHEELDOWN 5
typedef struct SDL_MouseButtonEvent {
uint8_t type;
uint8_t which;
uint8_t button;
uint8_t state;
uint16_t x, y;
} SDL_MouseButtonEvent;
typedef struct SDL_JoyAxisEvent {
uint8_t type;
uint8_t which;
uint8_t axis;
int16_t value;
} SDL_JoyAxisEvent;
typedef struct SDL_JoyBallEvent {
uint8_t type;
uint8_t which;
uint8_t ball;
int16_t xrel;
int16_t yrel;
} SDL_JoyBallEvent;
typedef struct SDL_JoyHatEvent {
uint8_t type;
uint8_t which;
uint8_t hat;
uint8_t value;
} SDL_JoyHatEvent;
typedef struct SDL_JoyButtonEvent {
uint8_t type;
uint8_t which;
uint8_t button;
uint8_t state;
} SDL_JoyButtonEvent;
typedef struct SDL_ResizeEvent {
uint8_t type;
int32_t w;
int32_t h;
} SDL_ResizeEvent;
typedef struct SDL_ExposeEvent {
uint8_t type;
} SDL_ExposeEvent;
typedef struct SDL_QuitEvent {
uint8_t type;
} SDL_QuitEvent;
typedef struct SDL_UserEvent {
uint8_t type;
int32_t code;
uint32_t data1;
uint32_t data2;
} SDL_UserEvent;
typedef struct SDL_SysWMEvent {
uint8_t type;
uint32_t msg;
} SDL_SysWMEvent;
typedef union SDL_Event {
uint8_t type;
SDL_ActiveEvent active;
SDL_KeyboardEvent key;
SDL_MouseMotionEvent motion;
SDL_MouseButtonEvent button;
SDL_JoyAxisEvent jaxis;
SDL_JoyBallEvent jball;
SDL_JoyHatEvent jhat;
SDL_JoyButtonEvent jbutton;
SDL_ResizeEvent resize;
SDL_ExposeEvent expose;
SDL_QuitEvent quit;
SDL_UserEvent user;
SDL_SysWMEvent syswm;
} SDL_Event;
#ifdef __cplusplus
}
#endif