%ifndef SDL2_EVENT_INC %define SDL2_EVENT_INC ; Stuff from SDL_events.h - modified to suit NASM declarations enum 0, SDL_FIRSTEVENT ;/* Application events */ enum 0x100, \ SDL_QUIT,\ SDL_APP_TERMINATING,\ SDL_APP_LOWMEMORY,\ SDL_APP_WILLENTERBACKGROUND,\ SDL_APP_DIDENTERBACKGROUND,\ SDL_APP_WILLENTERFOREGROUND,\ SDL_APP_DIDENTERFOREGROUND,\ SDL_LOCALECHANGED ;/* Display events */ enum 0x150, \ SDL_DISPLAYEVENT ;/* Window events */ enum 0x200,\ SDL_WINDOWEVENT,\ SDL_SYSWMEVENT ;/* Keyboard events */ enum 0x300,\ SDL_KEYDOWN,\ SDL_KEYUP,\ SDL_TEXTEDITING,\ SDL_TEXTINPUT,\ SDL_KEYMAPCHANGED,\ SDL_TEXTEDITING_EXT ;/* Mouse events */ enum 0x400,\ SDL_MOUSEMOTION,\ SDL_MOUSEBUTTONDOWN,\ SDL_MOUSEBUTTONUP,\ SDL_MOUSEWHEEL ;/* Joystick events */ enum 0x600,\ SDL_JOYAXISMOTION,\ SDL_JOYBALLMOTION,\ SDL_JOYHATMOTION,\ SDL_JOYBUTTONDOWN,\ SDL_JOYBUTTONUP,\ SDL_JOYDEVICEADDED,\ SDL_JOYDEVICEREMOVED,\ SDL_JOYBATTERYUPDATED ;/* Game controller events */ enum 0x650,\ SDL_CONTROLLERAXISMOTION,\ SDL_CONTROLLERBUTTONDOWN,\ SDL_CONTROLLERBUTTONUP,\ SDL_CONTROLLERDEVICEADDED,\ SDL_CONTROLLERDEVICEREMOVED,\ SDL_CONTROLLERDEVICEREMAPPED,\ SDL_CONTROLLERTOUCHPADDOWN,\ SDL_CONTROLLERTOUCHPADMOTION,\ SDL_CONTROLLERTOUCHPADUP,\ SDL_CONTROLLERSENSORUPDATE ;/* Touch events */ enum 0x700,\ SDL_FINGERDOWN,\ SDL_FINGERUP,\ SDL_FINGERMOTION ;/* Gesture events */ enum 0x800,\ SDL_DOLLARGESTURE,\ SDL_DOLLARRECORD,\ SDL_MULTIGESTURE ;/* Clipboard events */ enum 0x900,\ SDL_CLIPBOARDUPDATE ;/* Drag and drop events */ enum 0x1000,\ SDL_DROPFILE,\ SDL_DROPTEXT,\ SDL_DROPBEGIN,\ SDL_DROPCOMPLETE ;/* Audio hotplug events */ enum 0x1100,\ SDL_AUDIODEVICEADDED,\ SDL_AUDIODEVICEREMOVED ;/* Sensor events */ enum 0x1200,\ SDL_SENSORUPDATE ;/* Render events */ enum 0x2000,\ SDL_RENDER_TARGETS_RESET,\ SDL_RENDER_DEVICE_RESET ;/* Internal events */ enum 0x7F00, SDL_POLLSENTINEL enum 0x8000, SDL_USEREVENT enum 0xFFFF, SDL_LASTEVENT ; SDL keyboard event and keycode structure SDL_Event_size equ 64 ; normaly 56 bytes but on the stack we need to alight ; this to 64 anyway struc SDL_Keysym .scancode resd 1 ; /**< SDL physical key code - see ::SDL_Scancode for details */ .sym resd 1 ; signed /**< SDL virtual key code - see ::SDL_Keycode for details */ .mod resw 1 ; /**< current key modifiers */ .unused resd 1 endstruc defstruct_shortcuts SDL_Keysym struc SDL_KeyboardEvent .type resd 1 ;/**< ::SDL_KEYDOWN or ::SDL_KEYUP */ .timestamp resd 1 ;/**< In milliseconds, populated using SDL_GetTicks() */ .windowID resd 1 ;/**< The window with keyboard focus, if any */ .state resb 1 ;/**< ::SDL_PRESSED or ::SDL_RELEASED */ .repeat resb 1 ;/**< Non-zero if this is a key repeat */ .padding2 resb 1 ; .padding3 resb 1 ; .keysym resb SDL_Keysym_size ;/**< The key that was pressed or released */ endstruc defstruct_shortcuts SDL_KeyboardEvent %endif .