-Demos:
*added ImGUI styles *added new assets (fonts, shaders) *added cimgui.dll *added imports for bindbc-sdl (for WASM) *added simple demo *added demo launcher *added snake demo *impoved demo utils *added cimgui.bc library for WASM -improved wasm build script -small change in vector
This commit is contained in:
parent
73f2aa6861
commit
cb7609dcaa
82 changed files with 11188 additions and 413 deletions
674
demos/external/imports/bindbc/sdl/bind/sdlevents.d
vendored
674
demos/external/imports/bindbc/sdl/bind/sdlevents.d
vendored
|
|
@ -1,674 +0,0 @@
|
|||
|
||||
// Copyright Michael D. Parker 2018.
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
module bindbc.sdl.bind.sdlevents;
|
||||
|
||||
import bindbc.sdl.config;
|
||||
|
||||
import bindbc.sdl.bind.sdlgesture,
|
||||
bindbc.sdl.bind.sdljoystick,
|
||||
bindbc.sdl.bind.sdlkeyboard,
|
||||
bindbc.sdl.bind.sdlkeycode,
|
||||
bindbc.sdl.bind.sdlstdinc,
|
||||
bindbc.sdl.bind.sdlsyswm,
|
||||
bindbc.sdl.bind.sdltouch,
|
||||
bindbc.sdl.bind.sdlvideo;
|
||||
|
||||
enum {
|
||||
SDL_RELEASED = 0,
|
||||
SDL_PRESSED = 1,
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
enum SDL_EventType {
|
||||
SDL_FIRSTEVENT = 0,
|
||||
SDL_QUIT = 0x100,
|
||||
SDL_APP_TERMINATING,
|
||||
SDL_APP_LOWMEMORY,
|
||||
SDL_APP_WILLENTERBACKGROUND,
|
||||
SDL_APP_DIDENTERBACKGROUND,
|
||||
SDL_APP_WILLENTERFOREGROUND,
|
||||
SDL_APP_DIDENTERFOREGROUND,
|
||||
SDL_DISPLAYEVENT = 0x150,
|
||||
SDL_WINDOWEVENT = 0x200,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_KEYDOWN = 0x300,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_KEYMAPCHANGED,
|
||||
SDL_MOUSEMOTION = 0x400,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION = 0x600,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_JOYDEVICEADDED,
|
||||
SDL_JOYDEVICEREMOVED,
|
||||
SDL_CONTROLLERAXISMOTION = 0x650,
|
||||
SDL_CONTROLLERBUTTONDOWN,
|
||||
SDL_CONTROLLERBUTTONUP,
|
||||
SDL_CONTROLLERDEVICEADDED,
|
||||
SDL_CONTROLLERDEVICEREMOVED,
|
||||
SDL_CONTROLLERDEVICEREMAPPED,
|
||||
SDL_FINGERDOWN = 0x700,
|
||||
SDL_FINGERUP,
|
||||
SDL_FINGERMOTION,
|
||||
SDL_DOLLARGESTURE = 0x800,
|
||||
SDL_DOLLARRECORD,
|
||||
SDL_MULTIGESTURE,
|
||||
SDL_CLIPBOARDUPDATE = 0x900,
|
||||
SDL_DROPFILE = 0x1000,
|
||||
SDL_DROPTEXT,
|
||||
SDL_DROPBEGIN,
|
||||
SDL_DROPCOMPLETE,
|
||||
SDL_AUDIODEVICEADDED = 0x1100,
|
||||
SDL_AUDIODEVICEREMOVED,
|
||||
SDL_SENSORUPDATE = 0x1200,
|
||||
SDL_RENDER_TARGETS_RESET = 0x2000,
|
||||
SDL_RENDER_DEVICE_RESET,
|
||||
SDL_USEREVENT = 0x8000,
|
||||
SDL_LASTEVENT = 0xFFFF
|
||||
}
|
||||
}
|
||||
else static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
enum SDL_EventType {
|
||||
SDL_FIRSTEVENT = 0,
|
||||
SDL_QUIT = 0x100,
|
||||
SDL_APP_TERMINATING,
|
||||
SDL_APP_LOWMEMORY,
|
||||
SDL_APP_WILLENTERBACKGROUND,
|
||||
SDL_APP_DIDENTERBACKGROUND,
|
||||
SDL_APP_WILLENTERFOREGROUND,
|
||||
SDL_APP_DIDENTERFOREGROUND,
|
||||
SDL_WINDOWEVENT = 0x200,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_KEYDOWN = 0x300,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_KEYMAPCHANGED,
|
||||
SDL_MOUSEMOTION = 0x400,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION = 0x600,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_JOYDEVICEADDED,
|
||||
SDL_JOYDEVICEREMOVED,
|
||||
SDL_CONTROLLERAXISMOTION = 0x650,
|
||||
SDL_CONTROLLERBUTTONDOWN,
|
||||
SDL_CONTROLLERBUTTONUP,
|
||||
SDL_CONTROLLERDEVICEADDED,
|
||||
SDL_CONTROLLERDEVICEREMOVED,
|
||||
SDL_CONTROLLERDEVICEREMAPPED,
|
||||
SDL_FINGERDOWN = 0x700,
|
||||
SDL_FINGERUP,
|
||||
SDL_FINGERMOTION,
|
||||
SDL_DOLLARGESTURE = 0x800,
|
||||
SDL_DOLLARRECORD,
|
||||
SDL_MULTIGESTURE,
|
||||
SDL_CLIPBOARDUPDATE = 0x900,
|
||||
SDL_DROPFILE = 0x1000,
|
||||
SDL_DROPTEXT,
|
||||
SDL_DROPBEGIN,
|
||||
SDL_DROPCOMPLETE,
|
||||
SDL_AUDIODEVICEADDED = 0x1100,
|
||||
SDL_AUDIODEVICEREMOVED,
|
||||
SDL_RENDER_TARGETS_RESET = 0x2000,
|
||||
SDL_RENDER_DEVICE_RESET,
|
||||
SDL_USEREVENT = 0x8000,
|
||||
SDL_LASTEVENT = 0xFFFF
|
||||
}
|
||||
}
|
||||
else static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
enum SDL_EventType {
|
||||
SDL_FIRSTEVENT = 0,
|
||||
SDL_QUIT = 0x100,
|
||||
SDL_APP_TERMINATING,
|
||||
SDL_APP_LOWMEMORY,
|
||||
SDL_APP_WILLENTERBACKGROUND,
|
||||
SDL_APP_DIDENTERBACKGROUND,
|
||||
SDL_APP_WILLENTERFOREGROUND,
|
||||
SDL_APP_DIDENTERFOREGROUND,
|
||||
SDL_WINDOWEVENT = 0x200,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_KEYDOWN = 0x300,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_KEYMAPCHANGED,
|
||||
SDL_MOUSEMOTION = 0x400,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION = 0x600,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_JOYDEVICEADDED,
|
||||
SDL_JOYDEVICEREMOVED,
|
||||
SDL_CONTROLLERAXISMOTION = 0x650,
|
||||
SDL_CONTROLLERBUTTONDOWN,
|
||||
SDL_CONTROLLERBUTTONUP,
|
||||
SDL_CONTROLLERDEVICEADDED,
|
||||
SDL_CONTROLLERDEVICEREMOVED,
|
||||
SDL_CONTROLLERDEVICEREMAPPED,
|
||||
SDL_FINGERDOWN = 0x700,
|
||||
SDL_FINGERUP,
|
||||
SDL_FINGERMOTION,
|
||||
SDL_DOLLARGESTURE = 0x800,
|
||||
SDL_DOLLARRECORD,
|
||||
SDL_MULTIGESTURE,
|
||||
SDL_CLIPBOARDUPDATE = 0x900,
|
||||
SDL_DROPFILE = 0x1000,
|
||||
SDL_AUDIODEVICEADDED = 0x1100,
|
||||
SDL_AUDIODEVICEREMOVED,
|
||||
SDL_RENDER_TARGETS_RESET = 0x2000,
|
||||
SDL_RENDER_DEVICE_RESET,
|
||||
SDL_USEREVENT = 0x8000,
|
||||
SDL_LASTEVENT = 0xFFFF
|
||||
}
|
||||
}
|
||||
else static if(sdlSupport >= SDLSupport.sdl201) {
|
||||
enum SDL_EventType {
|
||||
SDL_FIRSTEVENT = 0,
|
||||
SDL_QUIT = 0x100,
|
||||
SDL_APP_TERMINATING,
|
||||
SDL_APP_LOWMEMORY,
|
||||
SDL_APP_WILLENTERBACKGROUND,
|
||||
SDL_APP_DIDENTERBACKGROUND,
|
||||
SDL_APP_WILLENTERFOREGROUND,
|
||||
SDL_APP_DIDENTERFOREGROUND,
|
||||
SDL_WINDOWEVENT = 0x200,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_KEYDOWN = 0x300,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_MOUSEMOTION = 0x400,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION = 0x600,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_JOYDEVICEADDED,
|
||||
SDL_JOYDEVICEREMOVED,
|
||||
SDL_CONTROLLERAXISMOTION = 0x650,
|
||||
SDL_CONTROLLERBUTTONDOWN,
|
||||
SDL_CONTROLLERBUTTONUP,
|
||||
SDL_CONTROLLERDEVICEADDED,
|
||||
SDL_CONTROLLERDEVICEREMOVED,
|
||||
SDL_CONTROLLERDEVICEREMAPPED,
|
||||
SDL_FINGERDOWN = 0x700,
|
||||
SDL_FINGERUP,
|
||||
SDL_FINGERMOTION,
|
||||
SDL_DOLLARGESTURE = 0x800,
|
||||
SDL_DOLLARRECORD,
|
||||
SDL_MULTIGESTURE,
|
||||
SDL_CLIPBOARDUPDATE = 0x900,
|
||||
SDL_DROPFILE = 0x1000,
|
||||
SDL_RENDER_TARGETS_RESET = 0x2000,
|
||||
SDL_USEREVENT = 0x8000,
|
||||
SDL_LASTEVENT = 0xFFFF
|
||||
}
|
||||
}
|
||||
else {
|
||||
enum SDL_EventType {
|
||||
SDL_FIRSTEVENT = 0,
|
||||
SDL_QUIT = 0x100,
|
||||
SDL_APP_TERMINATING,
|
||||
SDL_APP_LOWMEMORY,
|
||||
SDL_APP_WILLENTERBACKGROUND,
|
||||
SDL_APP_DIDENTERBACKGROUND,
|
||||
SDL_APP_WILLENTERFOREGROUND,
|
||||
SDL_APP_DIDENTERFOREGROUND,
|
||||
SDL_WINDOWEVENT = 0x200,
|
||||
SDL_SYSWMEVENT,
|
||||
SDL_KEYDOWN = 0x300,
|
||||
SDL_KEYUP,
|
||||
SDL_TEXTEDITING,
|
||||
SDL_TEXTINPUT,
|
||||
SDL_MOUSEMOTION = 0x400,
|
||||
SDL_MOUSEBUTTONDOWN,
|
||||
SDL_MOUSEBUTTONUP,
|
||||
SDL_MOUSEWHEEL,
|
||||
SDL_JOYAXISMOTION = 0x600,
|
||||
SDL_JOYBALLMOTION,
|
||||
SDL_JOYHATMOTION,
|
||||
SDL_JOYBUTTONDOWN,
|
||||
SDL_JOYBUTTONUP,
|
||||
SDL_JOYDEVICEADDED,
|
||||
SDL_JOYDEVICEREMOVED,
|
||||
SDL_CONTROLLERAXISMOTION = 0x650,
|
||||
SDL_CONTROLLERBUTTONDOWN,
|
||||
SDL_CONTROLLERBUTTONUP,
|
||||
SDL_CONTROLLERDEVICEADDED,
|
||||
SDL_CONTROLLERDEVICEREMOVED,
|
||||
SDL_CONTROLLERDEVICEREMAPPED,
|
||||
SDL_FINGERDOWN = 0x700,
|
||||
SDL_FINGERUP,
|
||||
SDL_FINGERMOTION,
|
||||
SDL_DOLLARGESTURE = 0x800,
|
||||
SDL_DOLLARRECORD,
|
||||
SDL_MULTIGESTURE,
|
||||
SDL_CLIPBOARDUPDATE = 0x900,
|
||||
SDL_DROPFILE = 0x1000,
|
||||
SDL_USEREVENT = 0x8000,
|
||||
SDL_LASTEVENT = 0xFFFF
|
||||
}
|
||||
}
|
||||
mixin(expandEnum!SDL_EventType);
|
||||
|
||||
struct SDL_CommonEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
struct SDL_DisplayEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint display;
|
||||
ubyte event;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
int data1;
|
||||
}
|
||||
}
|
||||
|
||||
struct SDL_WindowEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
SDL_WindowEventID event;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
int data1;
|
||||
int data2;
|
||||
}
|
||||
|
||||
struct SDL_KeyboardEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
ubyte state;
|
||||
ubyte repeat;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
SDL_Keysym keysym;
|
||||
}
|
||||
|
||||
enum SDL_TEXTEDITINGEVENT_TEXT_SIZE = 32;
|
||||
struct SDL_TextEditingEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
char[SDL_TEXTEDITINGEVENT_TEXT_SIZE] text;
|
||||
int start;
|
||||
int length;
|
||||
}
|
||||
|
||||
enum SDL_TEXTINPUTEVENT_TEXT_SIZE = 32;
|
||||
struct SDL_TextInputEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
char[SDL_TEXTINPUTEVENT_TEXT_SIZE] text;
|
||||
}
|
||||
|
||||
struct SDL_MouseMotionEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
uint which;
|
||||
uint state;
|
||||
int x;
|
||||
int y;
|
||||
int xrel;
|
||||
int yrel;
|
||||
}
|
||||
|
||||
struct SDL_MouseButtonEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
uint which;
|
||||
ubyte button;
|
||||
ubyte state;
|
||||
static if(sdlSupport == SDLSupport.sdl200) {
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
}
|
||||
else {
|
||||
ubyte clicks;
|
||||
ubyte padding1;
|
||||
}
|
||||
int x;
|
||||
int y;
|
||||
}
|
||||
|
||||
struct SDL_MouseWheelEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
uint which;
|
||||
int x;
|
||||
int y;
|
||||
static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
uint direction;
|
||||
}
|
||||
}
|
||||
|
||||
struct SDL_JoyAxisEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte axis;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
short value;
|
||||
ushort padding4;
|
||||
}
|
||||
|
||||
struct SDL_JoyBallEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte ball;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
short xrel;
|
||||
short yrel;
|
||||
}
|
||||
|
||||
struct SDL_JoyHatEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte hat;
|
||||
ubyte value;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
}
|
||||
|
||||
struct SDL_JoyButtonEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte button;
|
||||
ubyte state;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
}
|
||||
|
||||
struct SDL_JoyDeviceEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
int which;
|
||||
}
|
||||
|
||||
struct SDL_ControllerAxisEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte axis;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
short value;
|
||||
ushort padding4;
|
||||
}
|
||||
|
||||
struct SDL_ControllerButtonEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_JoystickID which;
|
||||
ubyte button;
|
||||
ubyte state;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
}
|
||||
|
||||
struct SDL_ControllerDeviceEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
int which;
|
||||
}
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
struct SDL_AudioDeviceEvent {
|
||||
uint type;
|
||||
uint timestamp;
|
||||
uint which;
|
||||
ubyte iscapture;
|
||||
ubyte padding1;
|
||||
ubyte padding2;
|
||||
ubyte padding3;
|
||||
}
|
||||
}
|
||||
|
||||
struct SDL_TouchFingerEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_TouchID touchId;
|
||||
SDL_FingerID fingerId;
|
||||
float x;
|
||||
float y;
|
||||
float dx;
|
||||
float dy;
|
||||
float pressure;
|
||||
}
|
||||
|
||||
struct SDL_MultiGestureEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_TouchID touchId;
|
||||
float dTheta;
|
||||
float dDist;
|
||||
float x;
|
||||
float y;
|
||||
ushort numFingers;
|
||||
ushort padding;
|
||||
}
|
||||
|
||||
struct SDL_DollarGestureEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_TouchID touchId;
|
||||
SDL_GestureID gestureId;
|
||||
uint numFingers;
|
||||
float error;
|
||||
float x;
|
||||
float y;
|
||||
}
|
||||
|
||||
struct SDL_DropEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
char* file;
|
||||
static if(sdlSupport >= SDLSupport.sdl205) {
|
||||
uint windowID;
|
||||
}
|
||||
}
|
||||
|
||||
struct SDL_SensorEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
int which;
|
||||
float[6] data;
|
||||
}
|
||||
|
||||
struct SDL_QuitEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
}
|
||||
|
||||
struct SDL_OSEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
}
|
||||
|
||||
struct SDL_UserEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
uint windowID;
|
||||
int code;
|
||||
void* data1;
|
||||
void* data2;
|
||||
}
|
||||
|
||||
struct SDL_SysWMEvent {
|
||||
SDL_EventType type;
|
||||
uint timestamp;
|
||||
SDL_SysWMmsg* msg;
|
||||
}
|
||||
|
||||
union SDL_Event {
|
||||
SDL_EventType type;
|
||||
SDL_CommonEvent common;
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
SDL_DisplayEvent display;
|
||||
}
|
||||
SDL_WindowEvent window;
|
||||
SDL_KeyboardEvent key;
|
||||
SDL_TextEditingEvent edit;
|
||||
SDL_TextInputEvent text;
|
||||
SDL_MouseMotionEvent motion;
|
||||
SDL_MouseButtonEvent button;
|
||||
SDL_MouseWheelEvent wheel;
|
||||
SDL_JoyAxisEvent jaxis;
|
||||
SDL_JoyBallEvent jball;
|
||||
SDL_JoyHatEvent jhat;
|
||||
SDL_JoyButtonEvent jbutton;
|
||||
SDL_JoyDeviceEvent jdevice;
|
||||
SDL_ControllerAxisEvent caxis;
|
||||
SDL_ControllerButtonEvent cbutton;
|
||||
SDL_ControllerDeviceEvent cdevice;
|
||||
static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
SDL_AudioDeviceEvent adevice;
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
SDL_SensorEvent sensor;
|
||||
}
|
||||
SDL_QuitEvent quit;
|
||||
SDL_UserEvent user;
|
||||
SDL_SysWMEvent syswm;
|
||||
SDL_TouchFingerEvent tfinger;
|
||||
SDL_MultiGestureEvent mgesture;
|
||||
SDL_DollarGestureEvent dgesture;
|
||||
SDL_DropEvent drop;
|
||||
|
||||
ubyte[56] padding;
|
||||
}
|
||||
|
||||
enum SDL_eventaction {
|
||||
SDL_ADDEVENT,
|
||||
SDL_PEEKEVENT,
|
||||
SDL_GETEVENT
|
||||
}
|
||||
alias SDL_EventAction = SDL_eventaction;
|
||||
mixin(expandEnum!SDL_EventAction);
|
||||
|
||||
extern(C) nothrow alias SDL_EventFilter = int function(void* userdata, SDL_Event* event);
|
||||
|
||||
enum {
|
||||
SDL_QUERY = -1,
|
||||
SDL_IGNORE = 0,
|
||||
SDL_DISABLE = 0,
|
||||
SDL_ENABLE = 1,
|
||||
}
|
||||
|
||||
@nogc nothrow {
|
||||
int SDL_GetEventState(SDL_EventType type) {
|
||||
pragma(inline, true);
|
||||
return SDL_EventState(type, SDL_QUERY);
|
||||
}
|
||||
|
||||
// This is implemented in SDL_quit.h, but works better here.
|
||||
bool SDL_QuitRequested() {
|
||||
pragma(inline, true);
|
||||
SDL_PumpEvents();
|
||||
return SDL_PeepEvents(null,0,SDL_PEEKEVENT,SDL_QUIT,SDL_QUIT) > 0;
|
||||
}
|
||||
}
|
||||
|
||||
version(BindSDL_Static) {
|
||||
extern(C) @nogc nothrow {
|
||||
void SDL_PumpEvents();
|
||||
int SDL_PeepEvents(SDL_Event*,int,SDL_eventaction,uint,uint);
|
||||
SDL_bool SDL_HasEvent(uint);
|
||||
SDL_bool SDL_HasEvents(uint,uint);
|
||||
void SDL_FlushEvent(uint);
|
||||
void SDL_FlushEvents(uint,uint);
|
||||
int SDL_PollEvent(SDL_Event*);
|
||||
int SDL_WaitEvent(SDL_Event*);
|
||||
int SDL_WaitEventTimeout(SDL_Event*,int);
|
||||
int SDL_PushEvent(SDL_Event*);
|
||||
void SDL_SetEventFilter(SDL_EventFilter,void*);
|
||||
SDL_bool SDL_GetEventFilter(SDL_EventFilter*,void**);
|
||||
void SDL_AddEventWatch(SDL_EventFilter,void*);
|
||||
void SDL_DelEventWatch(SDL_EventFilter,void*);
|
||||
void SDL_FilterEvents(SDL_EventFilter,void*);
|
||||
ubyte SDL_EventState(uint,int);
|
||||
uint SDL_RegisterEvents(int);
|
||||
}
|
||||
}
|
||||
else {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_PumpEvents = void function();
|
||||
alias pSDL_PeepEvents = int function(SDL_Event*,int,SDL_eventaction,uint,uint);
|
||||
alias pSDL_HasEvent = SDL_bool function(uint);
|
||||
alias pSDL_HasEvents = SDL_bool function(uint,uint);
|
||||
alias pSDL_FlushEvent = void function(uint);
|
||||
alias pSDL_FlushEvents = void function(uint,uint);
|
||||
alias pSDL_PollEvent = int function(SDL_Event*);
|
||||
alias pSDL_WaitEvent = int function(SDL_Event*);
|
||||
alias pSDL_WaitEventTimeout = int function(SDL_Event*,int);
|
||||
alias pSDL_PushEvent = int function(SDL_Event*);
|
||||
alias pSDL_SetEventFilter = void function(SDL_EventFilter,void*);
|
||||
alias pSDL_GetEventFilter = SDL_bool function(SDL_EventFilter*,void**);
|
||||
alias pSDL_AddEventWatch = void function(SDL_EventFilter,void*);
|
||||
alias pSDL_DelEventWatch = void function(SDL_EventFilter,void*);
|
||||
alias pSDL_FilterEvents = void function(SDL_EventFilter,void*);
|
||||
alias pSDL_EventState = ubyte function(uint,int);
|
||||
alias pSDL_RegisterEvents = uint function(int);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_PumpEvents SDL_PumpEvents;
|
||||
pSDL_PeepEvents SDL_PeepEvents;
|
||||
pSDL_HasEvent SDL_HasEvent;
|
||||
pSDL_HasEvents SDL_HasEvents;
|
||||
pSDL_FlushEvent SDL_FlushEvent;
|
||||
pSDL_FlushEvents SDL_FlushEvents;
|
||||
pSDL_PollEvent SDL_PollEvent;
|
||||
pSDL_WaitEvent SDL_WaitEvent;
|
||||
pSDL_WaitEventTimeout SDL_WaitEventTimeout;
|
||||
pSDL_PushEvent SDL_PushEvent;
|
||||
pSDL_SetEventFilter SDL_SetEventFilter;
|
||||
pSDL_GetEventFilter SDL_GetEventFilter;
|
||||
pSDL_AddEventWatch SDL_AddEventWatch;
|
||||
pSDL_DelEventWatch SDL_DelEventWatch;
|
||||
pSDL_FilterEvents SDL_FilterEvents;
|
||||
pSDL_EventState SDL_EventState;
|
||||
pSDL_RegisterEvents SDL_RegisterEvents;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue