{ "header": "SDL_events.h", "opaque_types": [], "typedefs": [], "function_pointers": [], "c_type_aliases": [ { "name": "SDL_EventFilter" } ], "enums": [ { "name": "SDL_EventType", "values": [ { "name": "SDL_EVENT_FIRST", "value": "0", "comment": "Unused (do not remove)" }, { "name": "SDL_EVENT_QUIT", "value": "0x100", "comment": "User-requested quit" }, { "name": "SDL_EVENT_TERMINATING" }, { "name": "SDL_EVENT_LOW_MEMORY" }, { "name": "SDL_EVENT_WILL_ENTER_BACKGROUND" }, { "name": "SDL_EVENT_DID_ENTER_BACKGROUND" }, { "name": "SDL_EVENT_WILL_ENTER_FOREGROUND" }, { "name": "SDL_EVENT_DID_ENTER_FOREGROUND" }, { "name": "SDL_EVENT_LOCALE_CHANGED", "comment": "The user's locale preferences have changed." }, { "name": "SDL_EVENT_SYSTEM_THEME_CHANGED", "comment": "The system theme changed" }, { "name": "SDL_EVENT_DISPLAY_ORIENTATION", "value": "0x151", "comment": "Display orientation has changed to data1" }, { "name": "SDL_EVENT_DISPLAY_ADDED", "comment": "Display has been added to the system" }, { "name": "SDL_EVENT_DISPLAY_REMOVED", "comment": "Display has been removed from the system" }, { "name": "SDL_EVENT_DISPLAY_MOVED", "comment": "Display has changed position" }, { "name": "SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED", "comment": "Display has changed desktop mode" }, { "name": "SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED", "comment": "Display has changed current mode" }, { "name": "SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED", "comment": "Display has changed content scale" }, { "name": "SDL_EVENT_WINDOW_SHOWN", "value": "0x202", "comment": "Window has been shown" }, { "name": "SDL_EVENT_WINDOW_HIDDEN", "comment": "Window has been hidden" }, { "name": "SDL_EVENT_WINDOW_EXPOSED", "comment": "Window has been exposed and should be redrawn, and can be redrawn directly from event watchers for this event" }, { "name": "SDL_EVENT_WINDOW_MOVED", "comment": "Window has been moved to data1, data2" }, { "name": "SDL_EVENT_WINDOW_RESIZED", "comment": "Window has been resized to data1xdata2" }, { "name": "SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED", "comment": "The pixel size of the window has changed to data1xdata2" }, { "name": "SDL_EVENT_WINDOW_METAL_VIEW_RESIZED", "comment": "The pixel size of a Metal view associated with the window has changed" }, { "name": "SDL_EVENT_WINDOW_MINIMIZED", "comment": "Window has been minimized" }, { "name": "SDL_EVENT_WINDOW_MAXIMIZED", "comment": "Window has been maximized" }, { "name": "SDL_EVENT_WINDOW_RESTORED", "comment": "Window has been restored to normal size and position" }, { "name": "SDL_EVENT_WINDOW_MOUSE_ENTER", "comment": "Window has gained mouse focus" }, { "name": "SDL_EVENT_WINDOW_MOUSE_LEAVE", "comment": "Window has lost mouse focus" }, { "name": "SDL_EVENT_WINDOW_FOCUS_GAINED", "comment": "Window has gained keyboard focus" }, { "name": "SDL_EVENT_WINDOW_FOCUS_LOST", "comment": "Window has lost keyboard focus" }, { "name": "SDL_EVENT_WINDOW_CLOSE_REQUESTED", "comment": "The window manager requests that the window be closed" }, { "name": "SDL_EVENT_WINDOW_HIT_TEST", "comment": "Window had a hit test that wasn't SDL_HITTEST_NORMAL" }, { "name": "SDL_EVENT_WINDOW_ICCPROF_CHANGED", "comment": "The ICC profile of the window's display has changed" }, { "name": "SDL_EVENT_WINDOW_DISPLAY_CHANGED", "comment": "Window has been moved to display data1" }, { "name": "SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED", "comment": "Window display scale has been changed" }, { "name": "SDL_EVENT_WINDOW_SAFE_AREA_CHANGED", "comment": "The window safe area has been changed" }, { "name": "SDL_EVENT_WINDOW_OCCLUDED", "comment": "The window has been occluded" }, { "name": "SDL_EVENT_WINDOW_ENTER_FULLSCREEN", "comment": "The window has entered fullscreen mode" }, { "name": "SDL_EVENT_WINDOW_LEAVE_FULLSCREEN", "comment": "The window has left fullscreen mode" }, { "name": "SDL_EVENT_WINDOW_DESTROYED" }, { "name": "SDL_EVENT_WINDOW_HDR_STATE_CHANGED", "comment": "Window HDR properties have changed" }, { "name": "SDL_EVENT_KEY_DOWN", "value": "0x300", "comment": "Key pressed" }, { "name": "SDL_EVENT_KEY_UP", "comment": "Key released" }, { "name": "SDL_EVENT_TEXT_EDITING", "comment": "Keyboard text editing (composition)" }, { "name": "SDL_EVENT_TEXT_INPUT", "comment": "Keyboard text input" }, { "name": "SDL_EVENT_KEYMAP_CHANGED" }, { "name": "SDL_EVENT_KEYBOARD_ADDED", "comment": "A new keyboard has been inserted into the system" }, { "name": "SDL_EVENT_KEYBOARD_REMOVED", "comment": "A keyboard has been removed" }, { "name": "SDL_EVENT_TEXT_EDITING_CANDIDATES", "comment": "Keyboard text editing candidates" }, { "name": "SDL_EVENT_MOUSE_MOTION", "value": "0x400", "comment": "Mouse moved" }, { "name": "SDL_EVENT_MOUSE_BUTTON_DOWN", "comment": "Mouse button pressed" }, { "name": "SDL_EVENT_MOUSE_BUTTON_UP", "comment": "Mouse button released" }, { "name": "SDL_EVENT_MOUSE_WHEEL", "comment": "Mouse wheel motion" }, { "name": "SDL_EVENT_MOUSE_ADDED", "comment": "A new mouse has been inserted into the system" }, { "name": "SDL_EVENT_MOUSE_REMOVED", "comment": "A mouse has been removed" }, { "name": "SDL_EVENT_JOYSTICK_AXIS_MOTION", "value": "0x600", "comment": "Joystick axis motion" }, { "name": "SDL_EVENT_JOYSTICK_BALL_MOTION", "comment": "Joystick trackball motion" }, { "name": "SDL_EVENT_JOYSTICK_HAT_MOTION", "comment": "Joystick hat position change" }, { "name": "SDL_EVENT_JOYSTICK_BUTTON_DOWN", "comment": "Joystick button pressed" }, { "name": "SDL_EVENT_JOYSTICK_BUTTON_UP", "comment": "Joystick button released" }, { "name": "SDL_EVENT_JOYSTICK_ADDED", "comment": "A new joystick has been inserted into the system" }, { "name": "SDL_EVENT_JOYSTICK_REMOVED", "comment": "An opened joystick has been removed" }, { "name": "SDL_EVENT_JOYSTICK_BATTERY_UPDATED", "comment": "Joystick battery level change" }, { "name": "SDL_EVENT_JOYSTICK_UPDATE_COMPLETE", "comment": "Joystick update is complete" }, { "name": "SDL_EVENT_GAMEPAD_AXIS_MOTION", "value": "0x650", "comment": "Gamepad axis motion" }, { "name": "SDL_EVENT_GAMEPAD_BUTTON_DOWN", "comment": "Gamepad button pressed" }, { "name": "SDL_EVENT_GAMEPAD_BUTTON_UP", "comment": "Gamepad button released" }, { "name": "SDL_EVENT_GAMEPAD_ADDED", "comment": "A new gamepad has been inserted into the system" }, { "name": "SDL_EVENT_GAMEPAD_REMOVED", "comment": "A gamepad has been removed" }, { "name": "SDL_EVENT_GAMEPAD_REMAPPED", "comment": "The gamepad mapping was updated" }, { "name": "SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN", "comment": "Gamepad touchpad was touched" }, { "name": "SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION", "comment": "Gamepad touchpad finger was moved" }, { "name": "SDL_EVENT_GAMEPAD_TOUCHPAD_UP", "comment": "Gamepad touchpad finger was lifted" }, { "name": "SDL_EVENT_GAMEPAD_SENSOR_UPDATE", "comment": "Gamepad sensor was updated" }, { "name": "SDL_EVENT_GAMEPAD_UPDATE_COMPLETE", "comment": "Gamepad update is complete" }, { "name": "SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED", "comment": "Gamepad Steam handle has changed" }, { "name": "SDL_EVENT_FINGER_UP" }, { "name": "SDL_EVENT_FINGER_MOTION" }, { "name": "SDL_EVENT_FINGER_CANCELED" }, { "name": "SDL_EVENT_CLIPBOARD_UPDATE", "value": "0x900", "comment": "The clipboard or primary selection changed" }, { "name": "SDL_EVENT_DROP_FILE", "value": "0x1000", "comment": "The system requests a file open" }, { "name": "SDL_EVENT_DROP_TEXT", "comment": "text/plain drag-and-drop event" }, { "name": "SDL_EVENT_DROP_BEGIN", "comment": "A new set of drops is beginning (NULL filename)" }, { "name": "SDL_EVENT_DROP_COMPLETE", "comment": "Current set of drops is now complete (NULL filename)" }, { "name": "SDL_EVENT_DROP_POSITION", "comment": "Position while moving over the window" }, { "name": "SDL_EVENT_AUDIO_DEVICE_ADDED", "value": "0x1100", "comment": "A new audio device is available" }, { "name": "SDL_EVENT_AUDIO_DEVICE_REMOVED", "comment": "An audio device has been removed." }, { "name": "SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED", "comment": "An audio device's format has been changed by the system." }, { "name": "SDL_EVENT_SENSOR_UPDATE", "value": "0x1200", "comment": "A sensor was updated" }, { "name": "SDL_EVENT_PEN_PROXIMITY_IN", "value": "0x1300", "comment": "Pressure-sensitive pen has become available" }, { "name": "SDL_EVENT_PEN_PROXIMITY_OUT", "comment": "Pressure-sensitive pen has become unavailable" }, { "name": "SDL_EVENT_PEN_DOWN", "comment": "Pressure-sensitive pen touched drawing surface" }, { "name": "SDL_EVENT_PEN_UP", "comment": "Pressure-sensitive pen stopped touching drawing surface" }, { "name": "SDL_EVENT_PEN_BUTTON_DOWN", "comment": "Pressure-sensitive pen button pressed" }, { "name": "SDL_EVENT_PEN_BUTTON_UP", "comment": "Pressure-sensitive pen button released" }, { "name": "SDL_EVENT_PEN_MOTION", "comment": "Pressure-sensitive pen is moving on the tablet" }, { "name": "SDL_EVENT_PEN_AXIS", "comment": "Pressure-sensitive pen angle/pressure/etc changed" }, { "name": "SDL_EVENT_CAMERA_DEVICE_ADDED", "value": "0x1400", "comment": "A new camera device is available" }, { "name": "SDL_EVENT_CAMERA_DEVICE_REMOVED", "comment": "A camera device has been removed." }, { "name": "SDL_EVENT_CAMERA_DEVICE_APPROVED", "comment": "A camera device has been approved for use by the user." }, { "name": "SDL_EVENT_CAMERA_DEVICE_DENIED", "comment": "A camera device has been denied for use by the user." }, { "name": "SDL_EVENT_RENDER_TARGETS_RESET", "value": "0x2000", "comment": "The render targets have been reset and their contents need to be updated" }, { "name": "SDL_EVENT_RENDER_DEVICE_RESET", "comment": "The device has been reset and all textures need to be recreated" }, { "name": "SDL_EVENT_RENDER_DEVICE_LOST", "comment": "The device has been lost and can't be recovered." }, { "name": "SDL_EVENT_PRIVATE1" }, { "name": "SDL_EVENT_PRIVATE2" }, { "name": "SDL_EVENT_PRIVATE3" }, { "name": "SDL_EVENT_POLL_SENTINEL", "value": "0x7F00", "comment": "Signals the end of an event poll cycle" } ] }, { "name": "SDL_EventAction", "values": [ { "name": "SDL_ADDEVENT", "comment": "Add events to the back of the queue." }, { "name": "SDL_PEEKEVENT", "comment": "Check but don't remove events from the queue front." }, { "name": "SDL_GETEVENT", "comment": "Retrieve/remove events from the front of the queue." } ] } ], "structs": [ { "name": "SDL_CommonEvent", "fields": [ { "name": "_type", "type": "Uint32", "comment": "Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" } ] }, { "name": "SDL_DisplayEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_DISPLAYEVENT_*" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "displayID", "type": "SDL_DisplayID", "comment": "The associated display" }, { "name": "data1", "type": "Sint32", "comment": "event dependent data" }, { "name": "data2", "type": "Sint32", "comment": "event dependent data" } ] }, { "name": "SDL_WindowEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_WINDOW_*" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The associated window" }, { "name": "data1", "type": "Sint32", "comment": "event dependent data" }, { "name": "data2", "type": "Sint32", "comment": "event dependent data" } ] }, { "name": "SDL_KeyboardDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_KEYBOARD_ADDED or SDL_EVENT_KEYBOARD_REMOVED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_KeyboardID", "comment": "The keyboard instance id" } ] }, { "name": "SDL_KeyboardEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_KEY_DOWN or SDL_EVENT_KEY_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with keyboard focus, if any" }, { "name": "which", "type": "SDL_KeyboardID", "comment": "The keyboard instance id, or 0 if unknown or virtual" }, { "name": "scancode", "type": "SDL_Scancode", "comment": "SDL physical key code" }, { "name": "key", "type": "SDL_Keycode", "comment": "SDL virtual key code" }, { "name": "mod", "type": "SDL_Keymod", "comment": "current key modifiers" }, { "name": "raw", "type": "Uint16", "comment": "The platform dependent scancode for this event" }, { "name": "down", "type": "bool", "comment": "true if the key is pressed" }, { "name": "repeat", "type": "bool", "comment": "true if this is a key repeat" } ] }, { "name": "SDL_TextEditingEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_TEXT_EDITING" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with keyboard focus, if any" }, { "name": "text", "type": "const char *", "comment": "The editing text" }, { "name": "start", "type": "Sint32", "comment": "The start cursor of selected editing text, or -1 if not set" }, { "name": "length", "type": "Sint32", "comment": "The length of selected editing text, or -1 if not set" } ] }, { "name": "SDL_TextEditingCandidatesEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_TEXT_EDITING_CANDIDATES" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with keyboard focus, if any" }, { "name": "candidates", "type": "const char * const *", "comment": "The list of candidates, or NULL if there are no candidates available" }, { "name": "num_candidates", "type": "Sint32", "comment": "The number of strings in `candidates`" }, { "name": "selected_candidate", "type": "Sint32", "comment": "The index of the selected candidate, or -1 if no candidate is selected" }, { "name": "horizontal", "type": "bool", "comment": "true if the list is horizontal, false if it's vertical" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" }, { "name": "padding3", "type": "Uint8" } ] }, { "name": "SDL_TextInputEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_TEXT_INPUT" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with keyboard focus, if any" }, { "name": "text", "type": "const char *", "comment": "The input text, UTF-8 encoded" } ] }, { "name": "SDL_MouseDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_MOUSE_ADDED or SDL_EVENT_MOUSE_REMOVED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_MouseID", "comment": "The mouse instance id" } ] }, { "name": "SDL_MouseMotionEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_MOUSE_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with mouse focus, if any" }, { "name": "which", "type": "SDL_MouseID", "comment": "The mouse instance id in relative mode, SDL_TOUCH_MOUSEID for touch events, or 0" }, { "name": "state", "type": "SDL_MouseButtonFlags", "comment": "The current button state" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" }, { "name": "xrel", "type": "float", "comment": "The relative motion in the X direction" }, { "name": "yrel", "type": "float", "comment": "The relative motion in the Y direction" } ] }, { "name": "SDL_MouseButtonEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_MOUSE_BUTTON_DOWN or SDL_EVENT_MOUSE_BUTTON_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with mouse focus, if any" }, { "name": "which", "type": "SDL_MouseID", "comment": "The mouse instance id in relative mode, SDL_TOUCH_MOUSEID for touch events, or 0" }, { "name": "button", "type": "Uint8", "comment": "The mouse button index" }, { "name": "down", "type": "bool", "comment": "true if the button is pressed" }, { "name": "clicks", "type": "Uint8", "comment": "1 for single-click, 2 for double-click, etc." }, { "name": "padding", "type": "Uint8" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" } ] }, { "name": "SDL_MouseWheelEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_MOUSE_WHEEL" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with mouse focus, if any" }, { "name": "which", "type": "SDL_MouseID", "comment": "The mouse instance id in relative mode or 0" }, { "name": "x", "type": "float", "comment": "The amount scrolled horizontally, positive to the right and negative to the left" }, { "name": "y", "type": "float", "comment": "The amount scrolled vertically, positive away from the user and negative toward the user" }, { "name": "direction", "type": "SDL_MouseWheelDirection", "comment": "Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back" }, { "name": "mouse_x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "mouse_y", "type": "float", "comment": "Y coordinate, relative to window" } ] }, { "name": "SDL_JoyAxisEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_AXIS_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "axis", "type": "Uint8", "comment": "The joystick axis index" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" }, { "name": "padding3", "type": "Uint8" }, { "name": "value", "type": "Sint16", "comment": "The axis value (range: -32768 to 32767)" }, { "name": "padding4", "type": "Uint16" } ] }, { "name": "SDL_JoyBallEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_BALL_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "ball", "type": "Uint8", "comment": "The joystick trackball index" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" }, { "name": "padding3", "type": "Uint8" }, { "name": "xrel", "type": "Sint16", "comment": "The relative motion in the X direction" }, { "name": "yrel", "type": "Sint16", "comment": "The relative motion in the Y direction" } ] }, { "name": "SDL_JoyHatEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_HAT_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "hat", "type": "Uint8", "comment": "The joystick hat index" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" } ] }, { "name": "SDL_JoyButtonEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_BUTTON_DOWN or SDL_EVENT_JOYSTICK_BUTTON_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "button", "type": "Uint8", "comment": "The joystick button index" }, { "name": "down", "type": "bool", "comment": "true if the button is pressed" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" } ] }, { "name": "SDL_JoyDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_ADDED or SDL_EVENT_JOYSTICK_REMOVED or SDL_EVENT_JOYSTICK_UPDATE_COMPLETE" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" } ] }, { "name": "SDL_JoyBatteryEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_JOYSTICK_BATTERY_UPDATED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "state", "type": "SDL_PowerState", "comment": "The joystick battery state" }, { "name": "percent", "type": "int", "comment": "The joystick battery percent charge remaining" } ] }, { "name": "SDL_GamepadAxisEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_GAMEPAD_AXIS_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "axis", "type": "Uint8", "comment": "The gamepad axis (SDL_GamepadAxis)" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" }, { "name": "padding3", "type": "Uint8" }, { "name": "value", "type": "Sint16", "comment": "The axis value (range: -32768 to 32767)" }, { "name": "padding4", "type": "Uint16" } ] }, { "name": "SDL_GamepadButtonEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_GAMEPAD_BUTTON_DOWN or SDL_EVENT_GAMEPAD_BUTTON_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "button", "type": "Uint8", "comment": "The gamepad button (SDL_GamepadButton)" }, { "name": "down", "type": "bool", "comment": "true if the button is pressed" }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" } ] }, { "name": "SDL_GamepadDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_GAMEPAD_ADDED, SDL_EVENT_GAMEPAD_REMOVED, or SDL_EVENT_GAMEPAD_REMAPPED, SDL_EVENT_GAMEPAD_UPDATE_COMPLETE or SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" } ] }, { "name": "SDL_GamepadTouchpadEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN or SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION or SDL_EVENT_GAMEPAD_TOUCHPAD_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "touchpad", "type": "Sint32", "comment": "The index of the touchpad" }, { "name": "finger", "type": "Sint32", "comment": "The index of the finger on the touchpad" }, { "name": "x", "type": "float", "comment": "Normalized in the range 0...1 with 0 being on the left" }, { "name": "y", "type": "float", "comment": "Normalized in the range 0...1 with 0 being at the top" }, { "name": "pressure", "type": "float", "comment": "Normalized in the range 0...1" } ] }, { "name": "SDL_GamepadSensorEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_GAMEPAD_SENSOR_UPDATE" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_JoystickID", "comment": "The joystick instance id" }, { "name": "sensor", "type": "Sint32", "comment": "The type of the sensor, one of the values of SDL_SensorType" }, { "name": "data", "type": "float[3]", "comment": "Up to 3 values from the sensor, as defined in SDL_sensor.h" }, { "name": "sensor_timestamp", "type": "Uint64", "comment": "The timestamp of the sensor reading in nanoseconds, not necessarily synchronized with the system clock" } ] }, { "name": "SDL_AudioDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_AUDIO_DEVICE_ADDED, or SDL_EVENT_AUDIO_DEVICE_REMOVED, or SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_AudioDeviceID", "comment": "SDL_AudioDeviceID for the device being added or removed or changing" }, { "name": "recording", "type": "bool", "comment": "false if a playback device, true if a recording device." }, { "name": "padding1", "type": "Uint8" }, { "name": "padding2", "type": "Uint8" }, { "name": "padding3", "type": "Uint8" } ] }, { "name": "SDL_CameraDeviceEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_CAMERA_DEVICE_ADDED, SDL_EVENT_CAMERA_DEVICE_REMOVED, SDL_EVENT_CAMERA_DEVICE_APPROVED, SDL_EVENT_CAMERA_DEVICE_DENIED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_CameraID", "comment": "SDL_CameraID for the device being added or removed or changing" } ] }, { "name": "SDL_RenderEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_RENDER_TARGETS_RESET, SDL_EVENT_RENDER_DEVICE_RESET, SDL_EVENT_RENDER_DEVICE_LOST" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window containing the renderer in question." } ] }, { "name": "SDL_TouchFingerEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_FINGER_DOWN, SDL_EVENT_FINGER_UP, SDL_EVENT_FINGER_MOTION, or SDL_EVENT_FINGER_CANCELED" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "touchID", "type": "SDL_TouchID", "comment": "The touch device id" }, { "name": "fingerID", "type": "SDL_FingerID" }, { "name": "x", "type": "float", "comment": "Normalized in the range 0...1" }, { "name": "y", "type": "float", "comment": "Normalized in the range 0...1" }, { "name": "dx", "type": "float", "comment": "Normalized in the range -1...1" }, { "name": "dy", "type": "float", "comment": "Normalized in the range -1...1" }, { "name": "pressure", "type": "float", "comment": "Normalized in the range 0...1" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window underneath the finger, if any" } ] }, { "name": "SDL_PenProximityEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_PEN_PROXIMITY_IN or SDL_EVENT_PEN_PROXIMITY_OUT" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with pen focus, if any" }, { "name": "which", "type": "SDL_PenID", "comment": "The pen instance id" } ] }, { "name": "SDL_PenMotionEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_PEN_MOTION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with pen focus, if any" }, { "name": "which", "type": "SDL_PenID", "comment": "The pen instance id" }, { "name": "pen_state", "type": "SDL_PenInputFlags", "comment": "Complete pen input state at time of event" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" } ] }, { "name": "SDL_PenTouchEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_PEN_DOWN or SDL_EVENT_PEN_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with pen focus, if any" }, { "name": "which", "type": "SDL_PenID", "comment": "The pen instance id" }, { "name": "pen_state", "type": "SDL_PenInputFlags", "comment": "Complete pen input state at time of event" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" }, { "name": "eraser", "type": "bool", "comment": "true if eraser end is used (not all pens support this)." }, { "name": "down", "type": "bool", "comment": "true if the pen is touching or false if the pen is lifted off" } ] }, { "name": "SDL_PenButtonEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_PEN_BUTTON_DOWN or SDL_EVENT_PEN_BUTTON_UP" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with mouse focus, if any" }, { "name": "which", "type": "SDL_PenID", "comment": "The pen instance id" }, { "name": "pen_state", "type": "SDL_PenInputFlags", "comment": "Complete pen input state at time of event" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" }, { "name": "button", "type": "Uint8", "comment": "The pen button index (first button is 1)." }, { "name": "down", "type": "bool", "comment": "true if the button is pressed" } ] }, { "name": "SDL_PenAxisEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_PEN_AXIS" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window with pen focus, if any" }, { "name": "which", "type": "SDL_PenID", "comment": "The pen instance id" }, { "name": "pen_state", "type": "SDL_PenInputFlags", "comment": "Complete pen input state at time of event" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window" }, { "name": "axis", "type": "SDL_PenAxis", "comment": "Axis that has changed" }, { "name": "value", "type": "float", "comment": "New value of axis" } ] }, { "name": "SDL_DropEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_DROP_BEGIN or SDL_EVENT_DROP_FILE or SDL_EVENT_DROP_TEXT or SDL_EVENT_DROP_COMPLETE or SDL_EVENT_DROP_POSITION" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The window that was dropped on, if any" }, { "name": "x", "type": "float", "comment": "X coordinate, relative to window (not on begin)" }, { "name": "y", "type": "float", "comment": "Y coordinate, relative to window (not on begin)" }, { "name": "source", "type": "const char *", "comment": "The source app that sent this drop event, or NULL if that isn't available" }, { "name": "data", "type": "const char *", "comment": "The text for SDL_EVENT_DROP_TEXT and the file name for SDL_EVENT_DROP_FILE, NULL for other events" } ] }, { "name": "SDL_ClipboardEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_CLIPBOARD_UPDATE" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "owner", "type": "bool", "comment": "are we owning the clipboard (internal update)" }, { "name": "num_mime_types", "type": "Sint32", "comment": "number of mime types" }, { "name": "mime_types", "type": "const char **", "comment": "current mime types" } ] }, { "name": "SDL_SensorEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_SENSOR_UPDATE" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "which", "type": "SDL_SensorID", "comment": "The instance ID of the sensor" }, { "name": "data", "type": "float[6]", "comment": "Up to 6 values from the sensor - additional values can be queried using SDL_GetSensorData()" }, { "name": "sensor_timestamp", "type": "Uint64", "comment": "The timestamp of the sensor reading in nanoseconds, not necessarily synchronized with the system clock" } ] }, { "name": "SDL_QuitEvent", "fields": [ { "name": "_type", "type": "SDL_EventType", "comment": "SDL_EVENT_QUIT" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" } ] }, { "name": "SDL_UserEvent", "fields": [ { "name": "_type", "type": "Uint32", "comment": "SDL_EVENT_USER through SDL_EVENT_LAST-1, Uint32 because these are not in the SDL_EventType enumeration" }, { "name": "reserved", "type": "Uint32" }, { "name": "timestamp", "type": "Uint64", "comment": "In nanoseconds, populated using SDL_GetTicksNS()" }, { "name": "windowID", "type": "SDL_WindowID", "comment": "The associated window if any" }, { "name": "code", "type": "Sint32", "comment": "User defined event code" }, { "name": "data1", "type": "void *", "comment": "User defined data pointer" }, { "name": "data2", "type": "void *", "comment": "User defined data pointer" } ] } ], "unions": [ { "name": "SDL_Event", "fields": [ { "name": "_type", "type": "Uint32", "comment": "Event type, shared with all events, Uint32 to cover user events which are not in the SDL_EventType enumeration" }, { "name": "common", "type": "SDL_CommonEvent", "comment": "Common event data" }, { "name": "display", "type": "SDL_DisplayEvent", "comment": "Display event data" }, { "name": "window", "type": "SDL_WindowEvent", "comment": "Window event data" }, { "name": "kdevice", "type": "SDL_KeyboardDeviceEvent", "comment": "Keyboard device change event data" }, { "name": "key", "type": "SDL_KeyboardEvent", "comment": "Keyboard event data" }, { "name": "edit", "type": "SDL_TextEditingEvent", "comment": "Text editing event data" }, { "name": "edit_candidates", "type": "SDL_TextEditingCandidatesEvent", "comment": "Text editing candidates event data" }, { "name": "text", "type": "SDL_TextInputEvent", "comment": "Text input event data" }, { "name": "mdevice", "type": "SDL_MouseDeviceEvent", "comment": "Mouse device change event data" }, { "name": "motion", "type": "SDL_MouseMotionEvent", "comment": "Mouse motion event data" }, { "name": "button", "type": "SDL_MouseButtonEvent", "comment": "Mouse button event data" }, { "name": "wheel", "type": "SDL_MouseWheelEvent", "comment": "Mouse wheel event data" }, { "name": "jdevice", "type": "SDL_JoyDeviceEvent", "comment": "Joystick device change event data" }, { "name": "jaxis", "type": "SDL_JoyAxisEvent", "comment": "Joystick axis event data" }, { "name": "jball", "type": "SDL_JoyBallEvent", "comment": "Joystick ball event data" }, { "name": "jhat", "type": "SDL_JoyHatEvent", "comment": "Joystick hat event data" }, { "name": "jbutton", "type": "SDL_JoyButtonEvent", "comment": "Joystick button event data" }, { "name": "jbattery", "type": "SDL_JoyBatteryEvent", "comment": "Joystick battery event data" }, { "name": "gdevice", "type": "SDL_GamepadDeviceEvent", "comment": "Gamepad device event data" }, { "name": "gaxis", "type": "SDL_GamepadAxisEvent", "comment": "Gamepad axis event data" }, { "name": "gbutton", "type": "SDL_GamepadButtonEvent", "comment": "Gamepad button event data" }, { "name": "gtouchpad", "type": "SDL_GamepadTouchpadEvent", "comment": "Gamepad touchpad event data" }, { "name": "gsensor", "type": "SDL_GamepadSensorEvent", "comment": "Gamepad sensor event data" }, { "name": "adevice", "type": "SDL_AudioDeviceEvent", "comment": "Audio device event data" }, { "name": "cdevice", "type": "SDL_CameraDeviceEvent", "comment": "Camera device event data" }, { "name": "sensor", "type": "SDL_SensorEvent", "comment": "Sensor event data" }, { "name": "quit", "type": "SDL_QuitEvent", "comment": "Quit request event data" }, { "name": "user", "type": "SDL_UserEvent", "comment": "Custom event data" }, { "name": "tfinger", "type": "SDL_TouchFingerEvent", "comment": "Touch finger event data" }, { "name": "pproximity", "type": "SDL_PenProximityEvent", "comment": "Pen proximity event data" }, { "name": "ptouch", "type": "SDL_PenTouchEvent", "comment": "Pen tip touching event data" }, { "name": "pmotion", "type": "SDL_PenMotionEvent", "comment": "Pen motion event data" }, { "name": "pbutton", "type": "SDL_PenButtonEvent", "comment": "Pen button event data" }, { "name": "paxis", "type": "SDL_PenAxisEvent", "comment": "Pen axis event data" }, { "name": "render", "type": "SDL_RenderEvent", "comment": "Render event data" }, { "name": "drop", "type": "SDL_DropEvent", "comment": "Drag and drop event data" }, { "name": "clipboard", "type": "SDL_ClipboardEvent", "comment": "Clipboard event data" }, { "name": "padding", "type": "Uint8[128]" } ] } ], "flags": [], "functions": [ { "name": "SDL_PumpEvents", "return_type": "void", "parameters": [] }, { "name": "SDL_PeepEvents", "return_type": "int", "parameters": [ { "name": "events", "type": "SDL_Event *" }, { "name": "numevents", "type": "int" }, { "name": "action", "type": "SDL_EventAction" }, { "name": "minType", "type": "Uint32" }, { "name": "maxType", "type": "Uint32" } ] }, { "name": "SDL_HasEvent", "return_type": "bool", "parameters": [ { "name": "_type", "type": "Uint32" } ] }, { "name": "SDL_HasEvents", "return_type": "bool", "parameters": [ { "name": "minType", "type": "Uint32" }, { "name": "maxType", "type": "Uint32" } ] }, { "name": "SDL_FlushEvent", "return_type": "void", "parameters": [ { "name": "_type", "type": "Uint32" } ] }, { "name": "SDL_FlushEvents", "return_type": "void", "parameters": [ { "name": "minType", "type": "Uint32" }, { "name": "maxType", "type": "Uint32" } ] }, { "name": "SDL_PollEvent", "return_type": "bool", "parameters": [ { "name": "event", "type": "SDL_Event *" } ] }, { "name": "SDL_WaitEvent", "return_type": "bool", "parameters": [ { "name": "event", "type": "SDL_Event *" } ] }, { "name": "SDL_WaitEventTimeout", "return_type": "bool", "parameters": [ { "name": "event", "type": "SDL_Event *" }, { "name": "timeoutMS", "type": "Sint32" } ] }, { "name": "SDL_PushEvent", "return_type": "bool", "parameters": [ { "name": "event", "type": "SDL_Event *" } ] }, { "name": "SDL_SetEventFilter", "return_type": "void", "parameters": [ { "name": "filter", "type": "SDL_EventFilter" }, { "name": "userdata", "type": "void *" } ] }, { "name": "SDL_GetEventFilter", "return_type": "bool", "parameters": [ { "name": "filter", "type": "SDL_EventFilter *" }, { "name": "userdata", "type": "void **" } ] }, { "name": "SDL_AddEventWatch", "return_type": "bool", "parameters": [ { "name": "filter", "type": "SDL_EventFilter" }, { "name": "userdata", "type": "void *" } ] }, { "name": "SDL_RemoveEventWatch", "return_type": "void", "parameters": [ { "name": "filter", "type": "SDL_EventFilter" }, { "name": "userdata", "type": "void *" } ] }, { "name": "SDL_FilterEvents", "return_type": "void", "parameters": [ { "name": "filter", "type": "SDL_EventFilter" }, { "name": "userdata", "type": "void *" } ] }, { "name": "SDL_SetEventEnabled", "return_type": "void", "parameters": [ { "name": "_type", "type": "Uint32" }, { "name": "enabled", "type": "bool" } ] }, { "name": "SDL_EventEnabled", "return_type": "bool", "parameters": [ { "name": "_type", "type": "Uint32" } ] }, { "name": "SDL_RegisterEvents", "return_type": "Uint32", "parameters": [ { "name": "numevents", "type": "int" } ] }, { "name": "SDL_GetWindowFromEvent", "return_type": "SDL_Window *", "parameters": [ { "name": "event", "type": "const SDL_Event *" } ] } ] }