High level SDL 3.0 shared library wrapper for Nim.
Documentation below comes from SDL 3.0 library documentation.
Usage
# Load all symbols from SDL 3.0 shared library. # This must be the first proc called. if not open_sdl3_library(): echo "Failed to load SDL 3.0 library: ", last_sdl3_error() quit QuitFailure defer: close_sdl3_library() # Initialize SDL 3.0. if not Init INIT_VIDEO: echo "Failed to initialize SDL 3.0: ", GetError() quit QuitFailure defer: Quit() # SDL 3.0 calls follow…
Configuration
You can disable functions you don't use. All function groups are enabled by default.
Group | Define | Functions Defined In |
---|---|---|
Audio | sdl3.audio=0 | <SDL3/SDL_audio.h> |
Blend Mode | sdl3.blendmode=0 | <SDL3/SDL_blendmode.h> |
Clipboard | sdl3.clipboard=0 | <SDL3/SDL_clipboard.h> |
Gamepad | sdl3.gamepad=0 | <SDL3/SDL_gamepad.h> |
Gesture | sdl3.gesture=0 | <SDL3/SDL_gesture.h> |
Haptic | sdl3.haptic=0 | <SDL3/SDL_haptic.h> |
HID API | sdl3.hidapi=0 | <SDL3/SDL_hidapi.h> |
Hints | sdl3.hints=0 | <SDL3/SDL_hints.h> |
Joystick | sdl3.joystick=0 | <SDL3/SDL_joystick.h> |
Keyboard | sdl3.keyboard=0 | <SDL3/SDL_keyboard.h> |
Message Box | sdl3.messagebox=0 | <SDL3/SDL_messagebox.h> |
Mouse | sdl3.mouse=0 | <SDL3/SDL_mouse.h> |
Pen | sdl3.pen=0 | <SDL3/SDL_pen.h> |
Properties | sdl3.mouse=0 | <SDL3/SDL_mouse.h> |
Sensor | sdl3.properties=0 | <SDL3/SDL_properties.h> |
Touch | sdl3.touch=0 | <SDL3/SDL_touch.h> |
Vulkan | sdl3.vulkan=0 | <SDL3/SDL_vulkan.h> |
For example if you don't need audio functions compile with:
nim c -d=sdl3.audio=0 file(s)
Imports
-
nsdl3/config, nsdl3/libsdl3, nsdl3/utils, nsdl3/sdl3inc/audio, nsdl3/sdl3inc/blendmode, nsdl3/sdl3inc/events, nsdl3/sdl3inc/hints, nsdl3/sdl3inc/init, nsdl3/sdl3inc/joystick, nsdl3/sdl3inc/keycode, nsdl3/sdl3inc/log, nsdl3/sdl3inc/messagebox, nsdl3/sdl3inc/mouse, nsdl3/sdl3inc/pixels, nsdl3/sdl3inc/properties, nsdl3/sdl3inc/rect, nsdl3/sdl3inc/render, nsdl3/sdl3inc/surface, nsdl3/sdl3inc/timer, nsdl3/sdl3inc/version, nsdl3/sdl3inc/video
Procs
proc AddTimer(interval: uint32; callback: TimerCallback; param: pointer = nil): TimerID {. ...raises: [], tags: [RootEffect], forbids: [].}
-
SDL_TimerID SDL_AddTimer(Uint32 interval, SDL_TimerCallback callback, void *param)
proc CaptureMouse(enabled: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_CaptureMouse(SDL_bool enabled)
proc ClearClipboardData(): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_ClearClipboardData(void)
proc ClearError() {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_ClearError(void)
proc CloseJoystick(joystick: Joystick) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_CloseJoystick
proc ComposeCustomBlendMode(src_color_factor: BlendFactor; dst_color_factor: BlendFactor; color_operation: BlendOperation; src_alpha_factor: BlendFactor; dst_alpha_factor: BlendFactor; alpha_operation: BlendOperation): BlendMode {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Compose a custom blend mode for renderers.
SDL_BlendMode SDL_ComposeCustomBlendMode(SDL_BlendFactor srcColorFactor, SDL_BlendFactor dstColorFactor, SDL_BlendOperation colorOperation, SDL_BlendFactor srcAlphaFactor, SDL_BlendFactor dstAlphaFactor, SDL_BlendOperation alphaOperation)
proc CreateAudioStream(src_spec: AudioSpec; dst_spec: AudioSpec): AudioStream {. ...raises: [], tags: [RootEffect], forbids: [].}
-
SDL_AudioStream *SDL_CreateAudioStream(const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec)
proc CreateColorCursor(surface: SurfacePtr; hot_x: int; hot_y: int): Cursor {. ...raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Cursor *SDL_CreateColorCursor(SDL_Surface *surface, int hot_x, int hot_y)
proc CreateCursor(data, mask: openArray[byte]; w: int; h: int; hot_x: int; hot_y: int): Cursor {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Cursor *SDL_CreateCursor(const Uint8 *data, const Uint8 *mask, int w, int h, int hot_x, int hot_y)
proc CreatePopupWindow(parent: Window; offset_x: int; offset_y: int; w: int; h: int; flags: WindowFlags): Window {....raises: [], tags: [RootEffect], forbids: [].}
-
Create a child popup window of the specified parent window.
SDL_Window *SDL_CreatePopupWindow(SDL_Window *parent, int offset_x, int offset_y, int w, int h, Uint32 flags)
proc CreateRenderer(window: Window; flags = RendererFlags 0): Renderer {. ...raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Renderer *SDL_CreateRenderer(SDL_Window *window, const char *name, Uint32 flags)
proc CreateRenderer(window: Window; name: string; flags = RendererFlags 0): Renderer {. ...raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Renderer *SDL_CreateRenderer(SDL_Window *window, const char *name, Uint32 flags)
proc CreateRendererWithProperties(props: PropertiesID): Renderer {....raises: [], tags: [RootEffect], forbids: [].}
-
Create a 2D rendering context for a window, with the specified properties.
SDL_CreateRendererWithProperties
proc CreateRGBSurfaceFrom(pixels: pointer; width: int; height: int; depth: int; pitch: int; rmask: uint32; gmask: uint32; bmask: uint32; amask: uint32): SurfacePtr {. ...deprecated: "use CreateSurfaceFrom", inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc CreateSurfaceFrom(pixels: pointer; width, height: int; pitch: int; format: uint32): SurfacePtr {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Surface *SDL_CreateSurfaceFrom(void *pixels, int width, int height, int pitch, Uint32 format)
proc CreateSystemCursor(id: SystemCursor): Cursor {....raises: [], tags: [RootEffect], forbids: [].}
-
Create a system cursor.
SDL_Cursor *SDL_CreateSystemCursor(SDL_SystemCursor id)
proc CreateTexture(renderer: Renderer; format: PixelFormatEnum; access: TextureAccess; width: int; height: int): Texture {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Create a texture for a rendering context.
SDL_CreateTexture
proc CreateTextureFromSurface(renderer: Renderer; surface: SurfacePtr): Texture {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Create a texture from an existing surface.
SDL_CreateTextureFromSurface
proc CreateTextureWithProperties(renderer: Renderer; props: PropertiesID): Texture {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Create a texture for a rendering context with the specified properties.
SDL_CreateTextureWithProperties
proc CreateWindow(title: string; w: int; h: int; flags = WindowFlags 0): Window {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Create a window with the specified dimensions and flags.
SDL_Window *SDL_CreateWindow(const char *title, int w, int h, Uint32 flags)
proc CreateWindowAndRenderer(width: int; height: int; window_flags: WindowFlags = WindowFlags 0): tuple[ window: Window, renderer: Renderer] {....raises: [], tags: [RootEffect], forbids: [].}
-
Create a window and default renderer.
SDL_CreateWindowAndRenderer
proc CreateWindowWithProperties(props: PropertiesID): Window {....raises: [], tags: [RootEffect], forbids: [].}
-
Create a window with the specified properties.
SDL_CreateWindowWithProperties
proc CursorVisible(): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc Delay(ms: uint32) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc DelayNS(ns: uint64) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc DestroyAudioStream(stream: AudioStream) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_DestroyAudioStream(SDL_AudioStream *stream)
proc DestroyCursor(cursor: Cursor) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_DestroyCursor(SDL_Cursor *cursor)
proc DestroyRenderer(renderer: Renderer) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Destroy the window rendering context and free all textures.
SDL_DestroyRenderer
proc DestroySurface(surface: SurfacePtr) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_DestroySurface(SDL_Surface *surface)
proc DestroyTexture(texture: Texture) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Destroy the texture.
SDL_DestroyTexture
proc DestroyWindow(window: Window) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Destroy the window.
void SDL_DestroyWindow(SDL_Window *window)
proc DisableScreenSaver(): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Prevent the screen from being blanked by a screen saver.
int SDL_DisableScreenSaver(void)
proc EnableScreenSaver(): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Allow the screen to be blanked by a screen saver.
int SDL_EnableScreenSaver(void)
proc FlashWindow(window: Window; operation: FlashOperation): bool {.discardable, ...raises: [], tags: [RootEffect], forbids: [].}
-
Request a window to demand attention from the user.
int SDL_FlashWindow(SDL_Window *window, SDL_FlashOperation operation)
proc FlushAudioStream(stream: AudioStream): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_FlushAudioStream(SDL_AudioStream *stream)
proc FreeSurface(surface: SurfacePtr) {....deprecated: "use DestroySurface instead", inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc GetAudioDeviceName(devid: AudioDeviceID): string {....raises: [], tags: [RootEffect], forbids: [].}
-
char *SDL_GetAudioDeviceName(SDL_AudioDeviceID devid)
proc GetAudioDriver(index: int): string {....raises: [], tags: [RootEffect], forbids: [].}
-
const char *SDL_GetAudioDriver(int index)
proc GetAudioOutputDevices(): seq[AudioDeviceID] {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_AudioDeviceID *SDL_GetAudioOutputDevices(int *count)
proc GetAudioStreamAvailable(stream: AudioStream): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_GetAudioStreamAvailable(SDL_AudioStream *stream)
proc GetAudioStreamDevice(stream: AudioStream): AudioDeviceID {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_AudioDeviceID SDL_GetAudioStreamDevice(SDL_AudioStream *stream)
proc GetClipboardData(mime_type: string): seq[byte] {....raises: [], tags: [RootEffect], forbids: [].}
-
void *SDL_GetClipboardData(const char *mime_type, size_t *size)
proc GetClosestFullscreenDisplayMode(display_id: DisplayID; w: int; h: int; refresh_rate: float; include_high_density_modes: bool): ptr DisplayMode {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the closest match to the requested display mode.
const SDL_DisplayMode * SDL_GetClosestFullscreenDisplayMode(SDL_DisplayID displayID, int w, int h, float refresh_rate, SDL_bool include_high_density_modes)
proc GetCurrentAudioDriver(): string {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
const char *SDL_GetCurrentAudioDriver(void)
proc GetCurrentDisplayMode(display_id: DisplayID): ptr DisplayMode {....raises: [], tags: [RootEffect], forbids: [].}
-
Get information about the current display mode.
const SDL_DisplayMode *SDL_GetCurrentDisplayMode(SDL_DisplayID displayID)
proc GetCurrentVideoDriver(): string {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the name of the currently initialized video driver.
const char *SDL_GetCurrentVideoDriver(void)
proc GetDisplayBounds(display_id: DisplayID; rect: var Rect): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the desktop area represented by a display.
int SDL_GetDisplayBounds(SDL_DisplayID displayID, SDL_Rect *rect)
proc GetDisplayBounds(display_id: DisplayID; x: var int; y: var int; width: var int; height: var int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the desktop area represented by a display.
int SDL_GetDisplayBounds(SDL_DisplayID displayID, SDL_Rect *rect)
proc GetDisplayContentScale(display_id: DisplayID): float {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc GetDisplayForWindow(window: Window): DisplayID {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the display associated with a window.
SDL_DisplayID SDL_GetDisplayForWindow(SDL_Window *window)
proc GetDisplayName(display_id: DisplayID): string {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the name of a display in UTF-8 encoding.
const char *SDL_GetDisplayName(SDL_DisplayID displayID)
proc GetDisplays(): seq[DisplayID] {....raises: [], tags: [RootEffect], forbids: [].}
-
Get a list of currently connected displays.
SDL_DisplayID *SDL_GetDisplays(int *count)
proc GetDisplayUsableBounds(display_id: DisplayID; rect: var Rect): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the usable desktop area represented by a display, in screen coordinates.
int SDL_GetDisplayUsableBounds(SDL_DisplayID displayID, SDL_Rect *rect)
proc GetDisplayUsableBounds(display_id: DisplayID; width: var int; height: var int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the usable desktop area represented by a display, in screen coordinates.
int SDL_GetDisplayUsableBounds(SDL_DisplayID displayID, SDL_Rect *rect)
proc GetError(): string {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
const char *SDL_GetError(void)
proc GetFullscreenDisplayModes(display_id: DisplayID): seq[DisplayMode] {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get a list of fullscreen display modes available on a display.
const SDL_DisplayMode **SDL_GetFullscreenDisplayModes(SDL_DisplayID displayID, int *count)
proc GetGlobalMouseState(): tuple[x, y: float, state: uint32] {....raises: [], tags: [RootEffect], forbids: [].}
-
Uint32 SDL_GetGlobalMouseState(float *x, float *y)
proc GetGrabbedWindow(): Window {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the window that currently has an input grab enabled.
SDL_Window *SDL_GetGrabbedWindow(void)
proc GetJoystickCaps(joystick: Joystick): JoystickCaps {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickCaps
proc GetJoystickGUID(joystick: Joystick): JoystickGUID {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickGUID
proc GetJoystickName(joystick: Joystick): string {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickName
proc GetJoystickPath(joystick: Joystick): string {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickPath
proc GetJoystickProduct(joystick: Joystick): uint16 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickProduct
proc GetJoysticks(): seq[JoystickID] {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoysticks
proc GetJoystickVendor(joystick: Joystick): uint16 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetJoystickVendor
proc GetMouseFocus(): Window {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Window * SDL_GetMouseFocus(void)
proc GetMouseState(): tuple[x, y: float, state: uint32] {....raises: [], tags: [RootEffect], forbids: [].}
-
Uint32 SDL_GetMouseState(float *x, float *y)
proc GetNumAudioDrivers(): int {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc GetNumJoystickAxes(joystick: Joystick): int {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetNumJoystickAxes
proc GetNumJoystickButtons(joystick: Joystick): int {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetNumJoystickButtons
proc GetNumJoystickHats(joystick: Joystick): int {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_GetNumJoystickHats
proc GetNumVideoDrivers(): int {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the number of video drivers compiled into SDL.
int SDL_GetNumVideoDrivers(void)
proc GetPerformanceCounter(): uint64 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Uint64 SDL_GetPerformanceCounter(void)
proc GetPerformanceFrequency(): uint64 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Uint64 SDL_GetPerformanceFrequency(void)
proc GetPixelFormatEnumForMasks(bpp: int; rmask: uint32; gmask: uint32; bmask: uint32; amask: uint32): uint32 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Convert bits/pixel value and RGBA masks to pixel format.
Return PIXELFORMAT_UNKNOWN if the conversion failed.
Uint32 SDL_GetPixelFormatEnumForMasks(int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
proc GetPrimaryDisplay(): DisplayID {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Return the primary display.
SDL_DisplayID SDL_GetPrimaryDisplay(void)
proc GetRelativeMouseMode(): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc GetRenderer(window: Window): Renderer {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Renderer *SDL_GetRenderer(SDL_Window *window)
proc GetRevision(): string {....raises: [], tags: [RootEffect], forbids: [].}
-
const char *SDL_GetRevision(void)
proc GetTicks(): uint64 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Return the number of milliseconds since the SDL library initialization.
Uint64 SDL_GetTicks(void)
proc GetTicksNS(): uint64 {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Uint64 SDL_GetTicksNS(void)
proc GetVersion(): tuple[major, minor, patch: int] {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_GetVersion(SDL_version *ver)
proc GetWindowFlags(window: Window): WindowFlags {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the window flags.
Uint32 SDL_GetWindowFlags(SDL_Window *window)
proc GetWindowFromID(id: WindowID or uint32): Window {.inline, ...raises: [].}
-
Get a window from a stored ID.
SDL_Window *SDL_GetWindowFromID(SDL_WindowID id)
proc GetWindowFullscreenMode(window: Window = nil): ptr DisplayMode {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Query the display mode to use when a window is visible at fullscreen.
const SDL_DisplayMode *SDL_GetWindowFullscreenMode(SDL_Window *window)
proc GetWindowGrab(window: Window): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc GetWindowID(window: Window): WindowID {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the numeric ID of a window.
SDL_WindowID SDL_GetWindowID(SDL_Window *window)
proc GetWindowKeyboardGrab(window: Window): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc GetWindowMaximumSize(window: Window; w: var int; h: var int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the maximum size of a window's client area.
int SDL_GetWindowMaximumSize(SDL_Window *window, int *w, int *h)
proc GetWindowMinimumSize(window: Window; w: var int; h: var int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the minimum size of a window's client area.
int SDL_GetWindowMinimumSize(SDL_Window *window, int *w, int *h)
proc GetWindowMouseGrab(window: Window): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc GetWindowPixelFormat(window: Window): PixelFormatEnum {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the pixel format associated with the window.
Uint32 SDL_GetWindowPixelFormat(SDL_Window *window)
proc GetWindowPosition(window: Window; x: var int; y: var int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get the position of a window.
int SDL_GetWindowPosition(SDL_Window *window, int *x, int *y)
proc GetWindowSize(window: Window; w, h: var int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Get the size of a window's client area.
int SDL_GetWindowSize(SDL_Window *window, int *w, int *h)
proc HasClipboardData(mime_type: string): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc HideCursor(): bool {.discardable, inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Hide the cursor.
int SDL_HideCursor(void)
proc HideWindow(window: Window): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Hide a window.
int SDL_HideWindow(SDL_Window *window)
proc InitSubSystem(flags: InitFlags): bool {....raises: [], tags: [RootEffect], forbids: [].}
- Initialize SDL3 subsystem.
proc JoystickHasLED(joystick: Joystick): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc JoystickHasRumble(joystick: Joystick): bool {. ...deprecated: "use GetJoystickCaps instead", raises: [], tags: [], forbids: [].}
proc JoystickHasRumbleTriggers(joystick: Joystick): bool {. ...deprecated: "use GetJoystickCaps instead", raises: [], tags: [], forbids: [].}
proc JoystickNumAxes(joystick: Joystick): int {. ...deprecated: "Use GetNumJoystickAxes instead", raises: [], tags: [RootEffect], forbids: [].}
proc JoystickNumButtons(joystick: Joystick): int {. ...deprecated: "Use GetNumJoystickButtons instead", raises: [], tags: [RootEffect], forbids: [].}
proc JoystickNumHats(joystick: Joystick): int {. ...deprecated: "Use GetNumJoystickHats instead", raises: [], tags: [RootEffect], forbids: [].}
proc LoadBMP(file: string): SurfacePtr {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_Surface *SDL_LoadBMP(const char *file)
proc Log(message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_Log(const char *fmt, ...)
proc LogCritical(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogCritical(int category, const char *fmt, ...)
proc LogDebug(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogDebug(int category, const char *fmt, ...)
proc LogError(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogError(int category, const char *fmt, ...)
proc LogInfo(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogInfo(int category, const char *fmt, ...)
proc LogMessage(category: LogCategory; priority: LogPriority; message: string) {. ...raises: [], tags: [RootEffect], forbids: [].}
proc LogSetOutputFunction(callback: LogOutputFunction; userdata: pointer = nil) {. inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogSetOutputFunction(SDL_LogOutputFunction callback, void *userdata)
proc LogSetPriority(category: LogCategory; priority: LogPriority) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogSetPriority(int category, SDL_LogPriority priority)
proc LogVerbose(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogVerbose(int category, const char *fmt, ...)
proc LogWarn(category: LogCategory; message: string) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_LogWarn(int category, const char *fmt, ...)
proc MapRGB(format: PixelFormat; r: byte; g: byte; b: byte): uint32 {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Uint32 SDL_MapRGB(const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b)
proc MapRGBA(format: PixelFormat; r: byte; g: byte; b: byte; a: byte): uint32 {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Uint32 SDL_MapRGBA(const SDL_PixelFormat *format, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
proc OpenAudioDeviceStream(devid: AudioDeviceID; spec: AudioSpec; callback: AudioStreamCallback; userdata: pointer = nil): AudioStream {....raises: [], tags: [RootEffect], forbids: [].}
-
SDL_AudioStream * SDL_OpenAudioDeviceStream(SDL_AudioDeviceID devid, const SDL_AudioSpec *spec, SDL_AudioStreamCallback callback, void *userdata)
proc OpenJoystick(instance_id: JoystickID): Joystick {....raises: [], tags: [RootEffect], forbids: [].}
- SDL_OpenJoystick
proc PauseAudioDevice(dev: AudioDeviceID): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_PauseAudioDevice(SDL_AudioDeviceID dev)
proc PeepEvents(events: var openArray[Event]; action: EventAction; min_type: EventType; max_type: EventType): int {.inline, ...raises: [], tags: [], forbids: [].}
proc PeepEvents(events: var openArray[Event]; numevents: int; action: EventAction; min_type: EventType; max_type: EventType): int {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_PeepEvents(SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType)
proc PollEvent(): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc PumpEvents() {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_PumpEvents(void)
proc PutAudioStreamData(stream: AudioStream; buf: pointer; buflen: int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_PutAudioStreamData(SDL_AudioStream *stream, const void *buf, int len)
proc QueryTexture(texture: Texture; format: var uint32; access: var int; w: var int; h: var int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_QueryTexture(SDL_Texture *texture, Uint32 *format, int *access, int *w, int *h)
proc Quit() {....raises: [], tags: [RootEffect], forbids: [].}
- Clean up all initialized subsystems.
proc QuitRequested(): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
#define SDL_QuitRequested() \ SDL_PumpEvents(), \ (SDL_PeepEvents(NULL, 0, SDL_PEEKEVENT, SDL_EVENT_QUIT, \ SDL_EVENT_QUIT) > 0))
proc QuitSubSystem(flags: InitFlags) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_QuitSubSystem(Uint32 flags)
proc RaiseWindow(window: Window): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Raise a window above other windows and set the input focus.
int SDL_RaiseWindow(SDL_Window *window)
proc RemoveTimer(id: TimerID): bool {.discardable, inline, ...raises: [], raises: [], tags: [RootEffect], forbids: [].}
proc RenderClear(renderer: Renderer): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderClear(SDL_Renderer *renderer)
proc RenderCoordinatesFromWindow(renderer: Renderer; window_x: float; window_y: float; x: var float; y: var float): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Get a point in render coordinates when given a point in window coordinates.
int SDL_RenderCoordinatesFromWindow(SDL_Renderer *renderer, float window_x, float window_y, float *x, float *y)
proc RenderCopy(renderer: Renderer; texture: Texture): bool {. ...deprecated: "use RenderTexture instead", inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
XXX
proc RenderCopy(renderer: Renderer; texture: Texture; dst: FRect): bool {. ...deprecated: "use RenderTexture instead", inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
XXX
proc RenderCopy(renderer: Renderer; texture: Texture; src, dst: FRect): bool {. ...deprecated: "use RenderTexture instead", inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
XXX
proc RenderFillRect(renderer: Renderer): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderFillRect(SDL_Renderer *renderer, const SDL_FRect *rect)
proc RenderFillRect(renderer: Renderer; rect: FRect): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderFillRect(SDL_Renderer *renderer, const SDL_FRect *rect)
proc RenderFillRect(renderer: Renderer; x: float; y: float; w: float; h: float): bool {. inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderFillRect(SDL_Renderer *renderer, const SDL_FRect *rect)
proc RenderGeometry(renderer: Renderer; texture: Texture; vertices: openArray[Vertex]; indices: openArray[cint]): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderGeometry(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Vertex *vertices, int num_vertices, const int *indices, int num_indices)
proc RenderGeometry(renderer: Renderer; texture: Texture; vertices: openArray[Vertex]): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderGeometry(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Vertex *vertices, int num_vertices, const int *indices, int num_indices)
proc RenderGeometry(renderer: Renderer; vertices: openArray[Vertex]): bool {. inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderGeometry(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Vertex *vertices, int num_vertices, const int *indices, int num_indices)
proc RenderGeometry(renderer: Renderer; vertices: openArray[Vertex]; indices: openArray[cint]): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderGeometry(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Vertex *vertices, int num_vertices, const int *indices, int num_indices)
proc RenderLine(renderer: Renderer; x1: float; y1: float; x2: float; y2: float): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderLine(SDL_Renderer *renderer, float x1, float y1, float x2, float y2)
proc RenderPoint(renderer: Renderer; x, y: int): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc RenderPoint(renderer: Renderer; x: float; y: float): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderPoint(SDL_Renderer *renderer, float x, float y)
proc RenderPresent(renderer: Renderer) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderPresent(SDL_Renderer *renderer)
proc RenderRect(renderer: Renderer; rect: FRect): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderRect(SDL_Renderer *renderer, const SDL_FRect *rect)
proc RenderRect(renderer: Renderer; x, y: float; w, h: float): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderRect(SDL_Renderer *renderer, const SDL_FRect *rect)
proc RenderTexture(renderer: Renderer; texture: Texture): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, const SDL_FRect *dstrect)
proc RenderTexture(renderer: Renderer; texture: Texture; dst: FRect): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, const SDL_FRect *dstrect)
proc RenderTexture(renderer: Renderer; texture: Texture; srcrect: FRect; dstrect: FRect): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, const SDL_FRect *dstrect)
proc RenderTexture(renderer: Renderer; texture: Texture; x: int; y: int; w: int; h: int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_RenderTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_FRect *srcrect, const SDL_FRect *dstrect)
proc ResumeAudioDevice(dev: AudioDeviceID): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_ResumeAudioDevice(SDL_AudioDeviceID dev)
proc SaveBMP(surface: SurfacePtr; file: string): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SaveBMP(SDL_Surface *surface, const char *file)
proc ScreenSaverEnabled(): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc sdl3_avail(flags = INIT_VIDEO): bool {....raises: [], tags: [RootEffect], forbids: [].}
proc SetEventEnabled(typ: EventType; state: bool) {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
Set the state of processing events by type.
void SDL_SetEventEnabled(Uint32 type, SDL_bool enabled)
proc SetRelativeMouseMode(enabled: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set relative mouse mode.
int SDL_SetRelativeMouseMode(SDL_bool enabled)
proc SetRenderClipRect(renderer: Renderer; rect: Rect): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetRenderClipRect(SDL_Renderer *renderer, const SDL_Rect *rect)
proc SetRenderDrawBlendMode(renderer: Renderer; blend_mode: BlendMode): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode)
proc SetRenderDrawColor(renderer: Renderer; r: byte; g: byte; b: byte; a: byte = 0x000000FF): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the color used for drawing operations (clear, line, rect, etc.).
int SDL_SetRenderDrawColor(SDL_Renderer *renderer, Uint8 r, Uint8 g, Uint8 b, Uint8 a)
proc SetRenderScale(renderer: Renderer; scale_x: float; scale_y: float): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetRenderScale(SDL_Renderer *renderer, float scaleX, float scaleY)
proc SetRenderTarget(renderer: Renderer; texture: Texture = nil): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
proc SetRenderVSync(renderer: Renderer; vsync: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetRenderVSync(SDL_Renderer *renderer, int vsync)
proc SetSurfaceColorKey(surface: SurfacePtr; flag: bool; key: uint32): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetSurfaceColorKey(SDL_Surface *surface, int flag, Uint32 key)
proc SetTextureAlphaMod(texture: Texture; alpha: byte): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetTextureAlphaMod(SDL_Texture *texture, Uint8 alpha)
proc SetTextureBlendMode(texture: Texture; blend_mode: BlendMode): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode blendMode)
proc SetTextureColorMod(texture: Texture; r: byte; g: byte; b: byte): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetTextureColorMod(SDL_Texture *texture, Uint8 r, Uint8 g, Uint8 b)
proc SetTextureScaleMode(texture: Texture; scale_mode: ScaleMode): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_SetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode scaleMode)
proc SetWindowBordered(window: Window; bordered: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the border state of a window.
int SDL_SetWindowBordered(SDL_Window *window, SDL_bool bordered)
proc SetWindowFullscreen(window: Window; fullscreen: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set a window's fullscreen state.
int SDL_SetWindowFullscreen(SDL_Window *window, SDL_bool fullscreen)
proc SetWindowFullscreenMode(window: Window; mode: ptr DisplayMode): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Set the display mode to use when a window is visible and fullscreen.
int SDL_SetWindowFullscreenMode(SDL_Window *window, const SDL_DisplayMode *mode)
proc SetWindowGrab(window: Window; grabbed: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set a window's input grab mode.
int SDL_SetWindowGrab(SDL_Window *window, SDL_bool grabbed)
proc SetWindowIcon(window: Window; surface: SurfacePtr): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the icon for a window.
int SDL_SetWindowIcon(SDL_Window *window, SDL_Surface *icon)
proc SetWindowKeyboardGrab(window: Window; grabbed: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set a window's keyboard grab mode.
int SDL_SetWindowKeyboardGrab(SDL_Window *window, SDL_bool grabbed)
proc SetWindowMaximumSize(window: Window; min_w: int; min_h: int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Set the maximum size of a window's client area.
int SDL_SetWindowMaximumSize(SDL_Window *window, int max_w, int max_h)
proc SetWindowMinimumSize(window: Window; min_w: int; min_h: int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
Set the minimum size of a window's client area.
int SDL_SetWindowMinimumSize(SDL_Window *window, int min_w, int min_h)
proc SetWindowMouseGrab(window: Window; grabbed: bool): bool {.discardable, ...raises: [], tags: [RootEffect], forbids: [].}
-
Set a window's mouse grab mode.
int SDL_SetWindowMouseGrab(SDL_Window *window, SDL_bool grabbed)
proc SetWindowPosition(window: Window; x: int; y: int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the position of a window.Note: Centering the window after returning from full screen moves the window to primary display. XXX: TODO: this note comes from SDL2, check this behavior in SDL3.
int SDL_SetWindowPosition(SDL_Window *window, int x, int y)
proc SetWindowResizable(window: Window; ontop: bool): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the user-resizable state of a window.
int SDL_SetWindowResizable(SDL_Window *window, SDL_bool resizable)
proc SetWindowSize(window: Window; x: int; y: int): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the size of a window's client area.
int SDL_SetWindowSize(SDL_Window *window, int w, int h)
proc SetWindowTitle(window: Window; title: string): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Set the title of a window.
int SDL_SetWindowTitle(SDL_Window *window, const char *title)
proc ShowCursor(): bool {.discardable, inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_ShowCursor(void)
proc ShowMessageBox(messageboxdata: var MessageBoxData; buttonid: var int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
proc ShowSimpleMessageBox(flags: MessageBoxFlags; title: string; message: string; window: Window = nil): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_ShowSimpleMessageBox(Uint32 flags, const char *title, const char *message, SDL_Window *window)
proc ShowWindow(window: Window): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Show a window.
int SDL_ShowWindow(SDL_Window *window)
proc UpdateJoysticks() {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
-
void SDL_UpdateJoysticks(void)
proc UpdateTexture(texture: Texture; pixels: pointer; pitch: int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_UpdateTexture(SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch)
proc UpdateTexture(texture: Texture; rect: var Rect; pixels: pointer; pitch: int): bool {. ...raises: [], tags: [RootEffect], forbids: [].}
-
int SDL_UpdateTexture(SDL_Texture *texture, const SDL_Rect *rect, const void *pixels, int pitch)
proc UpdateWindowSurface(window: Window): bool {....raises: [], tags: [RootEffect], forbids: [].}
-
Copy the window surface to the screen.
int SDL_UpdateWindowSurface(SDL_Window *window)
proc WaitEvent(): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc WaitEventTimeout(event: var Event; timeout: int32): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
proc WaitEventTimeout(timeout: int32): bool {.inline, ...raises: [], tags: [RootEffect], forbids: [].}
Templates
template newSeqUninit[T: SomeNumber](len: Natural): seq[T]
Exports
-
open_sdl3_library, close_sdl3_library, last_sdl3_error, AudioFormatFlags, audio_isfloat, AUDIO_S32BE, AUDIO_S16, AudioFormat, AudioStream, or, AUDIO_F32LE, audio_isunsigned, AudioStreamCallback, AUDIO_S8, ==, AUDIO_S32SYS, audio_isint, audio_framesize, AUDIO_S32, AudioDeviceID, audio_islittleendian, audio_bytesize, AUDIO_F32BE, AUDIO_MASK_BITSIZE, AUDIO_U8, AUDIO_F32, audio_isbigendian, AUDIO_S16LE, AUDIO_S16BE, AUDIO_S16SYS, AudioSpec, AUDIO_S32LE, AUDIO_MASK_SIGNED, audio_issigned, AUDIO_DEVICE_DEFAULT_OUTPUT, AUDIO_MASK_ENDIAN, audio_bitsize, AudioPostmixCallback, AUDIO_MASK_FLOAT, AUDIO_F32SYS, AUDIO_DEVICE_DEFAULT_CAPTURE, WindowEvent, RELEASED, TextEditingEvent, AudioDeviceEvent, PRESSED, GamepadSensorEvent, QuitEvent, TextInputEvent, GamepadTouchpadEvent, JoyButtonEvent, repr, JoyHatEvent, EventType, TouchFingerEvent, UserEvent, MouseWheelEvent, EventFilter, PenTipEvent, MouseButtonEvent, JoyBatteryEvent, GamepadDeviceEvent, SensorEvent, $, GamepadAxisEvent, KeyboardEvent, GamepadButtonEvent, DisplayEvent, PenMotionEvent, PenButtonEvent, repr, JoyAxisEvent, MouseMotionEvent, DropEvent, EventAction, Event, JoyDeviceEvent, ClipboardEvent, CommonEvent, HINT_THREAD_STACK_SIZE, HINT_GAMECONTROLLERCONFIG, HINT_ACCELEROMETER_AS_JOYSTICK, HINT_WINDOW_ACTIVATE_WHEN_RAISED, HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO, HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS, HINT_PS2_DYNAMIC_VSYNC, HINT_AUTO_UPDATE_JOYSTICKS, HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED, HINT_MOUSE_FOCUS_CLICKTHROUGH, HINT_JOYSTICK_ZERO_CENTERED_DEVICES, HINT_JOYSTICK_HIDAPI_SWITCH, HINT_VIDEO_MAC_FULLSCREEN_SPACES, HINT_EVENT_LOGGING, HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED, HINT_AUDIO_DEVICE_APP_NAME, HINT_PEN_NOT_MOUSE, HINT_AUDIO_DEVICE_SAMPLE_FRAMES, HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC, HINT_MOUSE_RELATIVE_MODE_CENTER, HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED, HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS, HINT_MAIN_CALLBACK_RATE, HINT_JOYSTICK_WGI, HINT_JOYSTICK_GAMECUBE_DEVICES, HINT_WINDOWS_INTRESOURCE_ICON, HINT_APP_NAME, HINT_JOYSTICK_IOKIT, HINT_WAVE_TRUNCATION, HINT_GRAB_KEYBOARD, HINT_JOYSTICK_ROG_CHAKRAM, HINT_LINUX_JOYSTICK_CLASSIC, HINT_DIRECTINPUT_ENABLED, HINT_EMSCRIPTEN_ASYNCIFY, HINT_THREAD_PRIORITY_POLICY, HINT_VIDEO_DOUBLE_BUFFER, HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, HINT_VIDEO_WAYLAND_MODE_EMULATION, HINT_WINDOWS_USE_D3D9EX, HINT_VIDEO_WAYLAND_PREFER_LIBDECOR, HINT_TRACKPAD_IS_TOUCH_ONLY, HINT_X11_WINDOW_TYPE, HINT_ORIENTATIONS, HINT_MOUSE_AUTO_CAPTURE, HINT_VIDEO_X11_NET_WM_PING, HINT_TIMER_RESOLUTION, HINT_JOYSTICK_THREAD, HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED, HINT_QTWAYLAND_WINDOW_FLAGS, HINT_MOUSE_RELATIVE_MODE_WARP, HINT_IME_SHOW_UI, HINT_JOYSTICK_HIDAPI_JOY_CONS, HINT_SHUTDOWN_DBUS_ON_QUIT, HINT_NO_SIGNAL_HANDLERS, HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED, HINT_WINDOWS_ENABLE_MENU_MNEMONICS, HINT_QUIT_ON_LAST_WINDOW_CLOSE, HINT_AUDIO_DEVICE_STREAM_ROLE, HINT_VIDEO_X11_SCALING_FACTOR, HINT_GAMECONTROLLERCONFIG_FILE, HINT_VIDEO_DRIVER, HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR, HINT_MOUSE_DOUBLE_CLICK_TIME, HINT_RENDER_OPENGL_SHADERS, HINT_MOUSE_TOUCH_EVENTS, HintCallback, HINT_JOYSTICK_BLACKLIST_DEVICES, HINT_WAVE_RIFF_CHUNK_SIZE, HINT_TOUCH_MOUSE_EVENTS, HINT_JOYSTICK_MFI, HINT_WINDOW_ACTIVATE_WHEN_SHOWN, HINT_KMSDRM_REQUIRE_DRM_MASTER, HINT_VIDEO_WAYLAND_MODE_SCALING, HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED, HINT_MOUSE_RELATIVE_WARP_MOTION, HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED, HINT_LINUX_JOYSTICK_DEADZONES, HINT_KMSDRM_DEVICE_INDEX, HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT, HINT_JOYSTICK_THROTTLE_DEVICES, HINT_X11_FORCE_OVERRIDE_REDIRECT, HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS, HINT_AUTO_UPDATE_SENSORS, HINT_PREFERRED_LOCALES, HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED, HINT_JOYSTICK_RAWINPUT, HintName, HINT_RENDER_DIRECT3D11_DEBUG, HINT_RPI_VIDEO_LAYER, HINT_MAC_OPENGL_ASYNC_DISPATCH, HINT_ALLOW_ALT_TAB_WHILE_GRABBED, HINT_JOYSTICK_HIDAPI_PS4, HINT_EMSCRIPTEN_CANVAS_SELECTOR, HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT, HINT_VIDEO_ALLOW_SCREENSAVER, HINT_ROG_GAMEPAD_MICE, HINT_VIDEO_FORCE_EGL, HINT_WINRT_PRIVACY_POLICY_LABEL, HINT_ANDROID_ALLOW_RECREATE_ACTIVITY, HINT_JOYSTICK_HIDAPI_PS4_RUMBLE, HINT_JOYSTICK_FLIGHTSTICK_DEVICES, HINT_BMP_SAVE_LEGACY_FORMAT, HINT_WINRT_HANDLE_BACK_BUTTON, HINT_AUDIO_INCLUDE_MONITORS, HINT_DISPLAY_USABLE_BOUNDS, HINT_GAMECONTROLLER_SENSOR_FUSION, HINT_FORCE_RAISEWINDOW, HINT_RENDER_LINE_METHOD, HINT_IME_INTERNAL_EDITING, HINT_VITA_TOUCH_MOUSE_DEVICE, HintPriority, HINT_AUDIO_CATEGORY, HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE, HINT_XINPUT_ENABLED, HINT_MOUSE_RELATIVE_SPEED_SCALE, HINT_GDK_TEXTINPUT_SCOPE, HINT_WINDOWS_NO_CLOSE_ON_ALT_F4, HINT_JOYSTICK_ARCADESTICK_DEVICES, HINT_IOS_HIDE_HOME_INDICATOR, HINT_RENDER_SCALE_QUALITY, HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS, HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL, HINT_JOYSTICK_DEVICE, HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS, HINT_GAMECONTROLLERTYPE, HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK, HINT_JOYSTICK_HIDAPI_XBOX_ONE, HINT_JOYSTICK_HIDAPI_STEAMDECK, HINT_TV_REMOTE_AS_JOYSTICK, HINT_JOYSTICK_HIDAPI_STADIA, HINT_WINDOWS_INTRESOURCE_ICON_SMALL, HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED, HINT_VIDEO_X11_WINDOW_VISUALID, HINT_ALLOW_TOPMOST, HINT_RENDER_DIRECT3D_THREADSAFE, HINT_POLL_SENTINEL, HINT_APP_ID, HINT_MOUSE_DOUBLE_CLICK_RADIUS, HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED, HINT_JOYSTICK_HIDAPI_PS3, HINT_JOYSTICK_HIDAPI_XBOX_360, HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME, HINT_JOYSTICK_HIDAPI_GAMECUBE, HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK, HINT_ENABLE_SCREEN_KEYBOARD, HINT_APPLE_TV_REMOTE_ALLOW_ROTATION, HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN, HINT_JOYSTICK_HIDAPI_SHIELD, HINT_JOYSTICK_WHEEL_DEVICES, HINT_GAMECONTROLLER_IGNORE_DEVICES, HINT_JOYSTICK_HIDAPI, HINT_GDK_TEXTINPUT_TITLE, HINT_ROG_GAMEPAD_MICE_EXCLUDED, HINT_JOYSTICK_HIDAPI_PS5_RUMBLE, HINT_QTWAYLAND_CONTENT_ORIENTATION, HINT_RENDER_DRIVER, HINT_JOYSTICK_HIDAPI_STEAM, HINT_LINUX_HAT_DEADZONES, HINT_LINUX_DIGITAL_HATS, HINT_RENDER_VSYNC, HINT_MOUSE_NORMAL_SPEED_SCALE, HINT_MAC_BACKGROUND_APP, HINT_VIDEO_X11_XRANDR, HINT_VIDEO_WIN_D3DCOMPILER, HINT_ANDROID_TRAP_BACK_BUTTON, HINT_MOUSE_RELATIVE_SYSTEM_SCALE, HINT_FRAMEBUFFER_ACCELERATION, HINT_WINRT_PRIVACY_POLICY_URL, HINT_APPLE_TV_CONTROLLER_UI_EVENTS, HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL, HINT_WINDOWS_ENABLE_MESSAGELOOP, HINT_GDK_TEXTINPUT_DEFAULT, HINT_JOYSTICK_HIDAPI_XBOX, HINT_AUDIO_DRIVER, HINT_GDK_TEXTINPUT_DESCRIPTION, HINT_HIDAPI_IGNORE_DEVICES, HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE, HINT_EMSCRIPTEN_KEYBOARD_ELEMENT, HINT_JOYSTICK_HIDAPI_PS5, HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, HINT_JOYSTICK_HIDAPI_WII, HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED, HINT_PEN_DELAY_MOUSE_BUTTON, HINT_ANDROID_BLOCK_ON_PAUSE, HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP, HINT_VIDEO_EXTERNAL_CONTEXT, HINT_GDK_TEXTINPUT_MAX_LENGTH, HINT_OPENGL_ES_DRIVER, HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED, HINT_VIDEO_SYNC_WINDOW_OPERATIONS, HINT_AUDIO_DEVICE_STREAM_NAME, HINT_RETURN_KEY_HIDES_IME, HINT_JOYSTICK_HIDAPI_LUNA, HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED, HINT_WAVE_FACT_CHUNK, HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, INIT_GAMEPAD, INIT_EVENTS, INIT_AUDIO, or, INIT_VIDEO, INIT_HAPTIC, INIT_SENSOR, SdlBool, INIT_JOYSTICK, INIT_TIMER, InitFlags, INIT_NONE, SDLK_KP_1, KMOD_NUM, SDLK_y, SDLK_EXCLAIM, SDLK_KP_000, SDLK_F22, SDLK_KP_EQUALSAS400, SDLK_KP_COMMA, SDLK_KP_BINARY, SDLK_F15, SDLK_APPLICATION, ==, SDLK_d, SDLK_QUOTEDBL, SDLK_KP_MEMADD, SDLK_MODE, SDLK_7, SDLK_CLEAR, SDLK_F11, SDLK_COLON, SDLK_AC_SEARCH, SDLK_UNDERSCORE, SDLK_KP_LEFTBRACE, SDLK_F19, SDLK_CANCEL, SDLK_TAB, SDLK_AGAIN, SDLK_t, SDLK_BACKSLASH, SDLK_RIGHTPAREN, SDLK_KP_TAB, SDLK_BRIGHTNESSUP, KMOD_CTRL, SDLK_MENU, SDLK_4, SDLK_COMMA, SDLK_AC_HOME, SDLK_CURRENCYSUBUNIT, SDLK_KP_RIGHTBRACE, SDLK_KP_DBLAMPERSAND, SDLK_F5, SDLK_ASTERISK, SDLK_KP_MEMSTORE, SDLK_3, SDLK_KP_PLUS, SDLK_DELETE, SDLK_PERIOD, SDLK_KP_5, SDLK_OPER, SDLK_KP_MEMDIVIDE, SDLK_p, SDLK_F7, SDLK_u, SDLK_g, SDLK_KBDILLUMUP, SDLK_AT, SDLK_AC_BACK, SDLK_PRIOR, SDLK_F4, SDLK_F2, SDLK_MEDIASELECT, SDLK_MINUS, SDLK_F20, SDLK_KP_D, SDLK_z, SDLK_RSHIFT, SDLK_VOLUMEDOWN, SDLK_F9, SDLK_PERCENT, SDLK_KBDILLUMTOGGLE, KMOD_ALT, SDLK_MUTE, KMOD_LALT, SDLK_CALCULATOR, SDLK_F23, SDLK_SCROLLLOCK, SDLK_PRINTSCREEN, SDLK_s, SDLK_k, SDLK_SEMICOLON, SDLK_RCTRL, SDLK_ESCAPE, SDLK_F10, ==, SDLK_KP_2, SDLK_LALT, SDLK_RIGHT, SDLK_FIND, SDLK_KP_OCTAL, SDLK_x, Keycode, KMOD_RESERVED, SDLK_BACKSPACE, SDLK_KP_E, SDLK_v, SDLK_KP_HEXADECIMAL, SDLK_F3, KMOD_LSHIFT, SDLK_PAGEDOWN, SDLK_COMPUTER, SDLK_KP_B, SDLK_CRSEL, KMOD_LGUI, SDLK_j, SDLK_KP_LEFTPAREN, SDLK_LEFTBRACKET, KMOD_RGUI, SDLK_COPY, SDLK_DISPLAYSWITCH, SDLK_h, SDLK_APP1, SDLK_POWER, SDLK_RALT, SDLK_KP_HASH, SDLK_F14, SDLK_KP_MEMSUBTRACT, SDLK_KP_LESS, SDLK_KP_DECIMAL, SDLK_CURRENCYUNIT, SDLK_F17, SDLK_KP_7, SDLK_AUDIOMUTE, SDLK_KP_0, SDLK_LEFT, KMOD_RSHIFT, SDLK_8, SDLK_KP_4, SDLK_KP_3, SDLK_KP_A, SDLK_KP_SPACE, SDLK_KP_MEMCLEAR, SDLK_KP_ENTER, SDLK_UNDO, SDLK_e, SDLK_KP_COLON, SDLK_w, KMOD_RALT, SDLK_KP_EQUALS, SDLK_DECIMALSEPARATOR, SDLK_PAUSE, SDLK_KP_MULTIPLY, SDLK_l, SDLK_KBDILLUMDOWN, SDLK_F1, SDLK_CARET, SDLK_KP_00, SDLK_AUDIOPREV, SDLK_KP_PERCENT, SDLK_PAGEUP, SDLK_F12, SDLK_9, SDLK_AC_FORWARD, SDLK_SELECT, SDLK_AC_STOP, SDLK_KP_AT, SDLK_AUDIOREWIND, SDLK_F6, SDLK_1, SDLK_F16, SDLK_r, SDLK_F24, SDLK_KP_XOR, KMOD_RCTRL, SDLK_RETURN2, SDLK_NUMLOCKCLEAR, SDLK_o, SDLK_AUDIOFASTFORWARD, SDLK_KP_MEMRECALL, SDLK_i, SDLK_CALL, SDLK_SOFTLEFT, SDLK_KP_VERTICALBAR, SDLK_HOME, KMOD_NONE, SDLK_KP_DIVIDE, SDLK_n, SDLK_KP_F, KMOD_SCROLL, SDLK_CUT, SDLK_ALTERASE, SDLK_AC_REFRESH, SDLK_SLASH, SDLK_KP_PERIOD, SDLK_ENDCALL, SDLK_DOLLAR, SDLK_STOP, SDLK_APP2, KMOD_LCTRL, SDLK_KP_MINUS, SDLK_INSERT, SDLK_BRIGHTNESSDOWN, SDLK_KP_RIGHTPAREN, SDLK_LSHIFT, SDLK_KP_C, SDLK_KP_8, SDLK_CAPSLOCK, SDLK_RETURN, SDLK_KP_POWER, SDLK_b, SDLK_KP_EXCLAM, SDLK_m, SDLK_END, SDLK_F18, SDLK_6, SDLK_LESS, SDLK_THOUSANDSSEPARATOR, SDLK_F8, KMOD_CAPS, SDLK_F13, SDLK_HASH, SDLK_KP_BACKSPACE, and, SDLK_LCTRL, SDLK_AUDIOPLAY, SDLK_VOLUMEUP, SDLK_CLEARAGAIN, SDLK_SYSREQ, SDLK_SLEEP, SDLK_KP_6, SDLK_KP_CLEAR, SDLK_MAIL, SDLK_5, SDLK_PLUS, SDLK_EXSEL, SDLK_EJECT, SDLK_QUESTION, SDLK_UNKNOWN, SDLK_0, SDLK_EQUALS, KMOD_GUI, SDLK_LGUI, SDLK_SPACE, SDLK_AUDIONEXT, SDLK_KP_DBLVERTICALBAR, SDLK_LEFTPAREN, Keymod, SDLK_AUDIOSTOP, SDLK_RIGHTBRACKET, SDLK_SOFTRIGHT, SDLK_AMPERSAND, SDLK_f, SDLK_HELP, SDLK_OUT, SDLK_q, SDLK_BACKQUOTE, KMOD_MODE, SDLK_AC_BOOKMARKS, SDLK_KP_CLEARENTRY, SDLK_2, SDLK_WWW, SDLK_PASTE, SDLK_SEPARATOR, SDLK_UP, SDLK_KP_PLUSMINUS, KMOD_SHIFT, SDLK_c, SDLK_KP_AMPERSAND, SDLK_QUOTE, SDLK_KP_MEMMULTIPLY, SDLK_RGUI, SDLK_KP_9, SDLK_F21, SDLK_a, SDLK_DOWN, SDLK_GREATER, SDLK_KP_GREATER, SDLK_EXECUTE, LogPriority, LogCategory, LogOutputFunction, MESSAGEBOX_WARNING, MessageBoxButtonData, MessageBoxData, MessageBoxButtonFlags, MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT, or, MessageBoxColorType, MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT, MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT, MessageBoxColorScheme, MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, MessageBoxColor, +, MESSAGEBOX_ERROR, MessageBoxFlags, MESSAGEBOX_INFORMATION, BUTTON_X2, MouseWheelDirection, BUTTON_LEFT, Cursor, BUTTON_RMASK, BUTTON_X2MASK, BUTTON_MMASK, SDL_NUM_SYSTEM_CURSORS, MouseID, BUTTON_X1MASK, BUTTON_LMASK, BUTTON_RIGHT, SystemCursor, BUTTON_X1, BUTTON_MIDDLE, ALPHA_TRANSPARENT, Palette, PackedLayout, ArrayOrder, PIXELFORMAT_XRGB32, PIXELFORMAT_RGB555, ALPHA_OPAQUE, Color, PackedOrder, PIXELFORMAT_RGBA32, bytes_per_pixel, BitmapOrder, is_array, PIXELFORMAT_RGB444, PIXELFORMAT_BGR555, init, is_packed, PIXELFORMAT_ARGB32, PIXELFORMAT_BGR444, is_indexed, PixelType, PixelFormatEnum, is_10bit, PixelFormat, PIXELFORMAT_XBGR32, PIXELFORMAT_BGRA32, is_alpha, PIXELFORMAT_BGRX32, PIXELFORMAT_RGBX32, bits_per_pixel, PIXELFORMAT_ABGR32, Rect, FPoint, init, point_in_rect, init, init, rect_empty, point_in_rect_float, rect_empty, init, FRect, init, rect_equals, rect_empty_float, Point, rects_equal_epsilon, rects_equal_float, PROPERTY_RENDERER_CREATE_NAME_STRING, PROPERTY_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER, PROPERTY_TEXTURE_OPENGLES2_TEXTURE_TARGET, RendererLogicalPresentation, init, PROPERTY_TEXTURE_D3D12_TEXTURE_V_POINTER, PROPERTY_TEXTURE_D3D12_TEXTURE_POINTER, PROPERTY_TEXTURE_OPENGL_TEXTURE_NUMBER, RENDERER_SOFTWARE, PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER, PROPERTY_TEXTURE_OPENGL_TEX_W_FLOAT, RENDERER_ACCELERATED, RendererInfo, TextureCreateProperty, TextureAccess, PROPERTY_RENDERER_D3D12_DEVICE_POINTER, Vertex, PROPERTY_TEXTURE_D3D11_TEXTURE_U_POINTER, PROPERTY_TEXTURE_OPENGL_TEXTURE_V_NUMBER, PROPERTY_TEXTURE_CREATE_FORMAT_NUMBER, RENDERER_PRESENTVSYNC, RenderDeviceProperty, PROPERTY_TEXTURE_CREATE_HEIGHT_NUMBER, PROPERTY_RENDERER_D3D12_COMMAND_QUEUE_POINTER, TextureProperty, PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER, PROPERTY_TEXTURE_OPENGL_TEXTURE_U_NUMBER, PROPERTY_TEXTURE_D3D11_TEXTURE_V_POINTER, PROPERTY_RENDERER_CREATE_PRESENT_VSYNC_BOOLEAN, RendererFlags, PROPERTY_TEXTURE_OPENGL_TEX_H_FLOAT, PROPERTY_TEXTURE_D3D12_TEXTURE_U_POINTER, or, PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER, PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER, PROPERTY_TEXTURE_OPENGLES2_TEXTURE_NUMBER, PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER, PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER, PROPERTY_TEXTURE_CREATE_WIDTH_NUMBER, RenderCreateProperty, PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER, PROPERTY_TEXTURE_OPENGL_TEXTURE_TARGET, PROPERTY_RENDERER_D3D11_DEVICE_POINTER, PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER, PROPERTY_TEXTURE_CREATE_D3D11_TEXTURE_POINTER, Renderer, RendererFlip, PROPERTY_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER, PROPERTY_TEXTURE_D3D11_TEXTURE_POINTER, PROPERTY_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER, PROPERTY_RENDERER_CREATE_SURFACE_POINTER, PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER, PROPERTY_RENDERER_CREATE_WINDOW_POINTER, PROPERTY_TEXTURE_OPENGL_TEXTURE_UV_NUMBER, PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER, PROPERTY_RENDERER_D3D9_DEVICE_POINTER, PROPERTY_TEXTURE_CREATE_ACCESS_NUMBER, PROPERTY_TEXTURE_CREATE_D3D12_TEXTURE_POINTER, PROPERTY_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER, PROPERTY_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER, Texture, BlitMap, FlipMode, pixels16, or, ScaleMode, SURFACE_USES_PROPERTIES, YuvConversionMode, PREALLOC, ==, SWSURFACE, pixels32, SurfaceFlags, DONTFREE, SurfacePtr, SIMD_ALIGNED, Surface, mustlock, RLEACCEL, TimerCallback, NS_PER_SECOND, ms_to_ns, NS_PER_US, MS_PER_SECOND, us_to_ns, ns_to_us, US_PER_SECOND, TimerID, ns_to_ms, NS_PER_MS, PROPERTY_WINDOW_CREATE_MAXIMIZED_BOOLEAN, PROPERTY_WINDOW_X11_SCREEN_NUMBER, PROPERTY_WINDOW_WAYLAND_EGL_WINDOW_POINTER, PROPERTY_WINDOW_CREATE_OPENGL_BOOLEAN, WINDOW_HIGH_PIXEL_DENSITY, WINDOW_METAL, PROPERTY_WINDOW_CREATE_COCOA_WINDOW_POINTER, EGLAttribArrayCallback, ==, PROPERTY_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER, GLContextResetNotification, PROPERTY_WINDOW_X11_DISPLAY_POINTER, WINDOW_HIDDEN, PROPERTY_WINDOW_CREATE_X_NUMBER, PROPERTY_WINDOW_CREATE_FULLSCREEN_BOOLEAN, PROPERTY_WINDOW_CREATE_X11_WINDOW_NUMBER, WINDOW_ALWAYS_ON_TOP, and, WindowBooleanProperty, PROPERTY_WINDOW_ANDROID_WINDOW_POINTER, HitTestResult, PROPERTY_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN, PROPERTY_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER, EGLAttrib, WINDOW_INPUT_FOCUS, PROPERTY_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER, PROPERTY_WINDOW_CREATE_WIDTH_NUMBER, WINDOW_VULKAN, Window, EGLSurface, PROPERTY_WINDOW_CREATE_PARENT_POINTER, EGLDisplay, PROPERTY_WINDOW_CREATE_HEIGHT_NUMBER, PROPERTY_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN, PROPERTY_WINDOW_CREATE_TITLE_STRING, GLContext, WINDOW_EXTERNAL, windowpos_iscentered, SystemTheme, WINDOW_TRANSPARENT, ==, WINDOW_MINIMIZED, PROPERTY_WINDOW_WIN32_INSTANCE_POINTER, PROPERTY_WINDOW_CREATE_WIN32_HWND_POINTER, WINDOW_OCCLUDED, PROPERTY_WINDOW_CREATE_COCOA_VIEW_POINTER, WINDOW_RESIZABLE, ==, WINDOW_FULLSCREEN, PROPERTY_WINDOW_CREATE_RESIZABLE_BOOLEAN, WINDOW_NOT_FOCUSABLE, PROPERTY_WINDOW_CREATE_METAL_BOOLEAN, windowpos_isundefined, WINDOW_BORDERLESS, WINDOW_MAXIMIZED, PROPERTY_WINDOW_CREATE_HIDDEN_BOOLEAN, WindowFlags, WINDOW_SKIP_TASKBAR, PROPERTY_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN, PROPERTY_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN, PROPERTY_WINDOW_X11_WINDOW_NUMBER, PROPERTY_WINDOW_WIN32_HDC_POINTER, WINDOW_MOUSE_GRABBED, PROPERTY_WINDOW_CREATE_TOOLTIP_BOOLEAN, PROPERTY_WINDOW_WAYLAND_DISPLAY_POINTER, ==, PROPERTY_WINDOW_CREATE_MENU_BOOLEAN, PROPERTY_WINDOW_CREATE_VULKAN_BOOLEAN, GLcontextReleaseFlag, PROPERTY_WINDOW_WIN32_HWND_POINTER, PROPERTY_WINDOW_CREATE_UTILITY_BOOLEAN, PROPERTY_WINDOW_WAYLAND_SURFACE_POINTER, PROPERTY_WINDOW_COCOA_WINDOW_POINTER, PROPERTY_WINDOW_VIVANTE_DISPLAY_POINTER, WindowID, PROPERTY_WINDOW_CREATE_BORDERLESS_BOOLEAN, PROPERTY_WINDOW_UIKIT_WINDOW_POINTER, PROPERTY_WINDOW_WAYLAND_XDG_SURFACE_POINTER, WindowPointerProperty, DisplayOrientation, WINDOW_TOOLTIP, GLprofile, WINDOW_UTILITY, WINDOW_MOUSE_CAPTURE, PROPERTY_WINDOW_VIVANTE_SURFACE_POINTER, PROPERTY_WINDOW_CREATE_Y_NUMBER, or, PROPERTY_WINDOW_CREATE_FOCUSABLE_BOOLEAN, HitTest, PROPERTY_WINDOW_WAYLAND_XDG_POPUP_POINTER, PROPERTY_WINDOW_KMSDRM_DRM_FD_NUMBER, EGLConfig, WINDOW_KEYBOARD_GRABBED, WINDOWPOS_UNDEFINED, WINDOW_OPENGL, WINDOW_MOUSE_FOCUS, DisplayID, PROPERTY_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER, EGLIntArrayCallback, PROPERTY_WINDOW_WAYLAND_XDG_POSITIONER_POINTER, PROPERTY_WINDOW_ANDROID_SURFACE_POINTER, PROPERTY_WINDOW_WINRT_WINDOW_POINTER, PROPERTY_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER, DisplayMode, windowpos_centered_display, FlashOperation, PROPERTY_WINDOW_KMSDRM_GBM_DEVICE_POINTER, PROPERTY_WINDOW_VIVANTE_WINDOW_POINTER, PROPERTY_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN, WINDOWPOS_CENTERED, GLattr, PROPERTY_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER, EGLint, PROPERTY_WINDOW_CREATE_TRANSPARENT_BOOLEAN, PROPERTY_WINDOW_CREATE_MINIMIZED_BOOLEAN, WINDOW_POPUP_MENU, windowpos_centered_display, GLcontextFlag