package vendor:sdl2

Index

Types (176)
Constants (592)
Variables (0)

This section is empty.

Procedures (772)
Procedure Groups (0)

This section is empty.

Types

AudioCVT Â¶

AudioCVT :: struct #packed {
	needed:       i32,
	// *< Set to 1 if conversion possible 
	src_format:   AudioFormat,
	// *< Source audio format 
	dst_format:   AudioFormat,
	// *< Target audio format 
	rate_incr:    f64,
	// *< Rate conversion increment 
	buf:          [^]u8,
	// *< Buffer to hold entire audio data 
	len:          i32,
	// *< Length of original audio buffer 
	len_cvt:      i32,
	// *< Length of converted audio buffer 
	len_mult:     i32,
	// *< buffer must be len*len_mult big 
	len_ratio:    f64,
	// *< Given len, final size is len*len_ratio 
	filters:      [10]AudioFilter,
	// *< NULL-terminated list of filter functions 
	filter_index: i32,
}

AudioCallback Â¶

AudioCallback :: proc "cdecl" (userdata: rawptr, stream: [^]u8, len: i32)

AudioDeviceEvent Â¶

AudioDeviceEvent :: struct {
	type:      EventType,
	// *< ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     u32,
	// *< The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event 
	iscapture: u8,
	// *< zero if an output device, non-zero if a capture device. 
	_:         u8,
	_:         u8,
	_:         u8,
}

AudioDeviceID Â¶

AudioDeviceID :: distinct u32

AudioFilter Â¶

AudioFilter :: proc "cdecl" (cvt: ^AudioCVT, format: AudioFormat)

AudioFormat Â¶

AudioFormat :: distinct u16
 

* * \brief Audio format flags. * * These are what the 16 bits in SDL_AudioFormat currently mean... * (Unspecified bits are always zero). * * \verbatim ++-----------------------sample is signed if set || || ++-----------sample is bigendian if set || || || || ++---sample is float if set || || || || || || +---sample bit size---+ || || || | | 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 \endverbatim * * There are macros in SDL 2.0 and later to query these bits.

AudioSpec Â¶

AudioSpec :: struct {
	freq:     i32,
	// *< DSP frequency -- samples per second 
	format:   AudioFormat,
	// *< Audio data format 
	channels: u8,
	// *< Number of channels: 1 mono, 2 stereo 
	silence:  u8,
	// *< Audio buffer silence value (calculated) 
	samples:  u16,
	// *< Audio buffer size in sample FRAMES (total samples divided by channel count) 
	padding:  u16,
	// *< Necessary for some compile environments 
	size:     u32,
	// *< Audio buffer size in bytes (calculated) 
	callback: AudioCallback,
	// *< Callback that feeds the audio device (NULL to use SDL_QueueAudio()). 
	userdata: rawptr,
}
 

* * The calculated values in this structure are calculated by SDL_OpenAudio(). * * For multi-channel audio, the default SDL channel mapping is: * 2: FL FR (stereo) * 3: FL FR LFE (2.1 surround) * 4: FL FR BL BR (quad) * 5: FL FR FC BL BR (quad + center) * 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR) * 7: FL FR FC LFE BC SL SR (6.1 surround) * 8: FL FR FC LFE BL BR SL SR (7.1 surround)

AudioStatus Â¶

AudioStatus :: enum i32 {
	STOPPED = 0, 
	PLAYING, 
	PAUSED, 
}

AudioStream Â¶

AudioStream :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}
 

this is opaque to the outside world.

BlendFactor Â¶

BlendFactor :: enum i32 {
	ZERO                = 1,  // *< 0, 0, 0, 0
	ONE                 = 2,  // *< 1, 1, 1, 1
	SRC_COLOR           = 3,  // *< srcR, srcG, srcB, srcA
	ONE_MINUS_SRC_COLOR = 4,  // *< 1-srcR, 1-srcG, 1-srcB, 1-srcA
	SRC_ALPHA           = 5,  // *< srcA, srcA, srcA, srcA
	ONE_MINUS_SRC_ALPHA = 6,  // *< 1-srcA, 1-srcA, 1-srcA, 1-srcA
	DST_COLOR           = 7,  // *< dstR, dstG, dstB, dstA
	ONE_MINUS_DST_COLOR = 8,  // *< 1-dstR, 1-dstG, 1-dstB, 1-dstA
	DST_ALPHA           = 9,  // *< dstA, dstA, dstA, dstA
	ONE_MINUS_DST_ALPHA = 10, // *< 1-dstA, 1-dstA, 1-dstA, 1-dstA
}
 

* * \brief The normalized factor used to multiply pixel components

BlendMode Â¶

BlendMode :: enum i32 {
	NONE    = 0,          // *< no blending
	                        dstRGBA = srcRGBA
	BLEND   = 1,          // *< alpha blending
	                        dstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA))
	                        dstA = srcA + (dstA * (1-srcA))
	ADD     = 2,          // *< additive blending
	                        dstRGB = (srcRGB * srcA) + dstRGB
	                        dstA = dstA
	MOD     = 4,          // *< color modulate
	                        dstRGB = srcRGB * dstRGB
	                        dstA = dstA
	MUL     = 8,          // *< color multiply
	                        dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA))
	                        dstA = (srcA * dstA) + (dstA * (1-srcA))
	INVALID = 2147483647, 
}
 

* * \brief The blend mode used in SDL_RenderCopy() and drawing operations.

BlendOperation Â¶

BlendOperation :: enum i32 {
	ADD          = 1, // *< dst + src: supported by all renderers
	SUBTRACT     = 2, // *< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES
	REV_SUBTRACT = 3, // *< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES
	MINIMUM      = 4, // *< min(dst, src) : supported by D3D11
	MAXIMUM      = 5, // *< max(dst, src) : supported by D3D11
}
 

* * \brief The blend operation used when combining source and destination pixel components

BlitMap Â¶

BlitMap :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

Color Â¶

Color :: struct {
	r,
	g,
	b,
	a: u8,
}

CommonEvent Â¶

CommonEvent :: struct {
	type:      EventType,
	timestamp: u32,
}

ControllerAxisEvent Â¶

ControllerAxisEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYAXISMOTION 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	axis:      u8,
	// *< The joystick axis index 
	_:         u8,
	_:         u8,
	_:         u8,
	value:     i16,
	// *< The axis value (range: -32768 to 32767) 
	_:         u16,
}

ControllerButtonEvent Â¶

ControllerButtonEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	button:    u8,
	// *< The joystick button index 
	state:     u8,
	// *< ::SDL_PRESSED or ::SDL_RELEASED 
	_:         u8,
	_:         u8,
}

ControllerDeviceEvent Â¶

ControllerDeviceEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     i32,
}

ControllerSensorEvent Â¶

ControllerSensorEvent :: struct {
	type:      EventType,
	// *< ::SDL_CONTROLLERSENSORUPDATE 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	sensor:    i32,
	// *< The type of the sensor, one of the values of ::SDL_SensorType 
	data:      [3]f32,
}

ControllerTouchpadEvent Â¶

ControllerTouchpadEvent :: struct {
	type:      EventType,
	// *< ::SDL_CONTROLLERTOUCHPADDOWN or ::SDL_CONTROLLERTOUCHPADMOTION or ::SDL_CONTROLLERTOUCHPADUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	touchpad:  i32,
	// *< The index of the touchpad 
	finger:    i32,
	// *< The index of the finger on the touchpad 
	x:         f32,
	// *< Normalized in the range 0...1 with 0 being on the left 
	y:         f32,
	// *< Normalized in the range 0...1 with 0 being at the top 
	pressure:  f32,
}

Cursor Â¶

Cursor :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

DisplayEvent Â¶

DisplayEvent :: struct {
	type:      EventType,
	// *< ::SDL_DISPLAYEVENT 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	display:   u32,
	// *< The associated display index 
	event:     DisplayEventID,
	// *< ::SDL_DisplayEventID 
	_:         u8,
	_:         u8,
	_:         u8,
	data1:     i32,
}

DisplayEventID Â¶

DisplayEventID :: enum u8 {
	NONE,         // *< Never used
	ORIENTATION,  // *< Display orientation has changed to data1
	CONNECTED,    // *< Display has been added to the system
	DISCONNECTED, // *< Display has been removed from the system
}

DisplayMode Â¶

DisplayMode :: struct {
	format:       u32,
	// *< pixel format 
	w:            i32,
	// *< width, in screen coordinates 
	h:            i32,
	// *< height, in screen coordinates 
	refresh_rate: i32,
	// *< refresh rate (or zero for unspecified) 
	driverdata:   rawptr,
}

DisplayOrientation Â¶

DisplayOrientation :: enum i32 {
	UNKNOWN,           // *< The display orientation can't be determined
	LANDSCAPE,         // *< The display is in landscape mode, with the right side up, relative to portrait mode
	LANDSCAPE_FLIPPED, // *< The display is in landscape mode, with the left side up, relative to portrait mode
	PORTRAIT,          // *< The display is in portrait mode
	PORTRAIT_FLIPPED,  // *< The display is in portrait mode, upside down
}

DollarGestureEvent Â¶

DollarGestureEvent :: struct {
	type:       EventType,
	// *< ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD 
	timestamp:  u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	touchId:    TouchID,
	// *< The touch device id 
	gestureId:  GestureID,
	numFingers: u32,
	error:      f32,
	x:          f32,
	// *< Normalized center of gesture 
	y:          f32,
}
 

* \brief Dollar Gesture Event (event.dgesture.)

DropEvent Â¶

DropEvent :: struct {
	type:      EventType,
	// *< ::SDL_DROPBEGIN or ::SDL_DROPFILE or ::SDL_DROPTEXT or ::SDL_DROPCOMPLETE 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	file:      cstring,
	// *< The file name, which should be freed with SDL_free(), is NULL on begin/complete 
	windowID:  u32,
}

Event Â¶

Event :: struct #raw_union {
	type:      EventType,
	// *< Event type, shared with all events 
	common:    CommonEvent,
	// *< Common event data 
	display:   DisplayEvent,
	// *< Display event data 
	window:    WindowEvent,
	// *< Window event data 
	key:       KeyboardEvent,
	// *< Keyboard event data 
	edit:      TextEditingEvent,
	// *< Text editing event data 
	text:      TextInputEvent,
	// *< Text input event data 
	motion:    MouseMotionEvent,
	// *< Mouse motion event data 
	button:    MouseButtonEvent,
	// *< Mouse button event data 
	wheel:     MouseWheelEvent,
	// *< Mouse wheel event data 
	jaxis:     JoyAxisEvent,
	// *< Joystick axis event data 
	jball:     JoyBallEvent,
	// *< Joystick ball event data 
	jhat:      JoyHatEvent,
	// *< Joystick hat event data 
	jbutton:   JoyButtonEvent,
	// *< Joystick button event data 
	jdevice:   JoyDeviceEvent,
	// *< Joystick device change event data 
	caxis:     ControllerAxisEvent,
	// *< Game Controller axis event data 
	cbutton:   ControllerButtonEvent,
	// *< Game Controller button event data 
	cdevice:   ControllerDeviceEvent,
	// *< Game Controller device event data 
	ctouchpad: ControllerTouchpadEvent,
	// *< Game Controller touchpad event data 
	csensor:   ControllerSensorEvent,
	// *< Game Controller sensor event data 
	adevice:   AudioDeviceEvent,
	// *< Audio device event data 
	sensor:    SensorEvent,
	// *< Sensor event data 
	quit:      QuitEvent,
	// *< Quit request event data 
	user:      UserEvent,
	// *< Custom event data 
	syswm:     SysWMEvent,
	// *< System dependent window event data 
	tfinger:   TouchFingerEvent,
	// *< Touch finger event data 
	mgesture:  MultiGestureEvent,
	// *< Gesture event data 
	dgesture:  DollarGestureEvent,
	// *< Gesture event data 
	drop:      DropEvent,
	// *< Drag and drop event data 
	padding:   [56]u8,
}

EventFilter Â¶

EventFilter :: proc "cdecl" (userdata: rawptr, event: ^Event) -> i32

EventType Â¶

EventType :: enum u32 {
	FIRSTEVENT               = 0,     // *< Unused (do not remove)
	// Application events 
	QUIT                     = 256,   // *< User-requested quit
	// These application events have special meaning on iOS, see README-ios.md for details 
	APP_TERMINATING,                  // *< The application is being terminated by the OS
	                             Called on iOS in applicationWillTerminate()
	                             Called on Android in onDestroy()
	APP_LOWMEMORY,                    // *< The application is low on memory, free memory if possible.
	                             Called on iOS in applicationDidReceiveMemoryWarning()
	                             Called on Android in onLowMemory()
	APP_WILLENTERBACKGROUND,          // *< The application is about to enter the background
	                             Called on iOS in applicationWillResignActive()
	                             Called on Android in onPause()
	APP_DIDENTERBACKGROUND,           // *< The application did enter the background and may not get CPU for some time
	                             Called on iOS in applicationDidEnterBackground()
	                             Called on Android in onPause()
	APP_WILLENTERFOREGROUND,          // *< The application is about to enter the foreground
	                             Called on iOS in applicationWillEnterForeground()
	                             Called on Android in onResume()
	APP_DIDENTERFOREGROUND,           // *< The application is now interactive
	                             Called on iOS in applicationDidBecomeActive()
	                             Called on Android in onResume()
	LOCALECHANGED,                    // *< The user's locale preferences have changed.
	// Display events 
	DISPLAYEVENT             = 336,   // *< Display state change
	// Window events 
	WINDOWEVENT              = 512,   // *< Window state change
	SYSWMEVENT,                       // *< System specific event
	// Keyboard events 
	KEYDOWN                  = 768,   // *< Key pressed
	KEYUP,                            // *< Key released
	TEXTEDITING,                      // *< Keyboard text editing (composition)
	TEXTINPUT,                        // *< Keyboard text input
	KEYMAPCHANGED,                    // *< Keymap changed due to a system event such as an
	                             input language or keyboard layout change.
	// Mouse events 
	MOUSEMOTION              = 1024,  // *< Mouse moved
	MOUSEBUTTONDOWN,                  // *< Mouse button pressed
	MOUSEBUTTONUP,                    // *< Mouse button released
	MOUSEWHEEL,                       // *< Mouse wheel motion
	// Joystick events 
	JOYAXISMOTION            = 1536,  // *< Joystick axis motion
	JOYBALLMOTION,                    // *< Joystick trackball motion
	JOYHATMOTION,                     // *< Joystick hat position change
	JOYBUTTONDOWN,                    // *< Joystick button pressed
	JOYBUTTONUP,                      // *< Joystick button released
	JOYDEVICEADDED,                   // *< A new joystick has been inserted into the system
	JOYDEVICEREMOVED,                 // *< An opened joystick has been removed
	// Game controller events 
	CONTROLLERAXISMOTION     = 1616,  // *< Game controller axis motion
	CONTROLLERBUTTONDOWN,             // *< Game controller button pressed
	CONTROLLERBUTTONUP,               // *< Game controller button released
	CONTROLLERDEVICEADDED,            // *< A new Game controller has been inserted into the system
	CONTROLLERDEVICEREMOVED,          // *< An opened Game controller has been removed
	CONTROLLERDEVICEREMAPPED,         // *< The controller mapping was updated
	CONTROLLERTOUCHPADDOWN,           // *< Game controller touchpad was touched
	CONTROLLERTOUCHPADMOTION,         // *< Game controller touchpad finger was moved
	CONTROLLERTOUCHPADUP,             // *< Game controller touchpad finger was lifted
	CONTROLLERSENSORUPDATE,           // *< Game controller sensor was updated
	// Touch events 
	FINGERDOWN               = 1792, 
	FINGERUP, 
	FINGERMOTION, 
	// Gesture events 
	DOLLARGESTURE            = 2048, 
	DOLLARRECORD, 
	MULTIGESTURE, 
	// Clipboard events 
	CLIPBOARDUPDATE          = 2304,  // *< The clipboard changed
	// Drag and drop events 
	DROPFILE                 = 4096,  // *< The system requests a file open
	DROPTEXT,                         // *< text/plain drag-and-drop event
	DROPBEGIN,                        // *< A new set of drops is beginning (NULL filename)
	DROPCOMPLETE,                     // *< Current set of drops is now complete (NULL filename)
	// Audio hotplug events 
	AUDIODEVICEADDED         = 4352,  // *< A new audio device is available
	AUDIODEVICEREMOVED,               // *< An audio device has been removed.
	// Sensor events 
	SENSORUPDATE             = 4608,  // *< A sensor was updated
	// Render events 
	RENDER_TARGETS_RESET     = 8192,  // *< The render targets have been reset and their contents need to be updated
	RENDER_DEVICE_RESET,              // *< The device has been reset and all textures need to be recreated
	// Events ::SDL_USEREVENT through ::SDL_LASTEVENT are for your use,
	// 	*  and should be allocated with SDL_RegisterEvents()
	USEREVENT                = 32768, 
	// *
	// 	*  This last event is only for bounding internal arrays
	LASTEVENT                = 65535, 
}

FPoint Â¶

FPoint :: struct {
	x: f32,
	y: f32,
}

FRect Â¶

FRect :: struct {
	x,
	y: f32,
	w,
	h: f32,
}

Finger Â¶

Finger :: struct {
	id:       FingerID,
	x:        f32,
	y:        f32,
	pressure: f32,
}

FingerID Â¶

FingerID :: distinct i64

FlashOperation Â¶

FlashOperation :: enum i32 {
	CANCEL,        // *< Cancel any window flash state
	BRIEFLY,       // *< Flash the window briefly to get attention
	UNTIL_FOCUSED, // *< Flash the window until it gets focus
}

GLContext Â¶

GLContext :: distinct rawptr

GLContextResetNotification Â¶

GLContextResetNotification :: enum i32 {
	NO_NOTIFICATION = 0, 
	LOSE_CONTEXT    = 1, 
}

GLattr Â¶

GLattr :: enum i32 {
	RED_SIZE, 
	GREEN_SIZE, 
	BLUE_SIZE, 
	ALPHA_SIZE, 
	BUFFER_SIZE, 
	DOUBLEBUFFER, 
	DEPTH_SIZE, 
	STENCIL_SIZE, 
	ACCUM_RED_SIZE, 
	ACCUM_GREEN_SIZE, 
	ACCUM_BLUE_SIZE, 
	ACCUM_ALPHA_SIZE, 
	STEREO, 
	MULTISAMPLEBUFFERS, 
	MULTISAMPLESAMPLES, 
	ACCELERATED_VISUAL, 
	RETAINED_BACKING, 
	CONTEXT_MAJOR_VERSION, 
	CONTEXT_MINOR_VERSION, 
	CONTEXT_EGL, 
	CONTEXT_FLAGS, 
	CONTEXT_PROFILE_MASK, 
	SHARE_WITH_CURRENT_CONTEXT, 
	FRAMEBUFFER_SRGB_CAPABLE, 
	CONTEXT_RELEASE_BEHAVIOR, 
	CONTEXT_RESET_NOTIFICATION, 
	CONTEXT_NO_ERROR, 
}

GLcontextFlag Â¶

GLcontextFlag :: enum i32 {
	DEBUG_FLAG              = 1, 
	FORWARD_COMPATIBLE_FLAG = 2, 
	ROBUST_ACCESS_FLAG      = 4, 
	RESET_ISOLATION_FLAG    = 8, 
}

GLcontextReleaseFlag Â¶

GLcontextReleaseFlag :: enum i32 {
	NONE  = 0, 
	FLUSH = 1, 
}

GLprofile Â¶

GLprofile :: enum i32 {
	CORE          = 1, 
	COMPATIBILITY = 2, 
	ES            = 4, // *< GLX_CONTEXT_ES2_PROFILE_BIT_EXT
}

GameController Â¶

GameController :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

GameControllerAxis Â¶

GameControllerAxis :: enum i32 {
	INVALID      = -1, 
	LEFTX, 
	LEFTY, 
	RIGHTX, 
	RIGHTY, 
	TRIGGERLEFT, 
	TRIGGERRIGHT, 
	MAX, 
}

GameControllerBindType Â¶

GameControllerBindType :: enum i32 {
	NONE   = 0, 
	BUTTON, 
	AXIS, 
	HAT, 
}

GameControllerButton Â¶

GameControllerButton :: enum i32 {
	INVALID       = -1, 
	A, 
	B, 
	X, 
	Y, 
	BACK, 
	GUIDE, 
	START, 
	LEFTSTICK, 
	RIGHTSTICK, 
	LEFTSHOULDER, 
	RIGHTSHOULDER, 
	DPAD_UP, 
	DPAD_DOWN, 
	DPAD_LEFT, 
	DPAD_RIGHT, 
	MISC1,              // Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button
	PADDLE1,            // Xbox Elite paddle P1
	PADDLE2,            // Xbox Elite paddle P3
	PADDLE3,            // Xbox Elite paddle P2
	PADDLE4,            // Xbox Elite paddle P4
	TOUCHPAD,           // PS4/PS5 touchpad button
	MAX, 
}

GameControllerButtonBind Â¶

GameControllerButtonBind :: struct {
	bindType: GameControllerBindType,
	value:    struct #raw_union {
		button: i32,
		axis:   i32,
		hat:    struct {
			hat:      i32,
			hat_mask: i32,
		},
	},
}

GameControllerType Â¶

GameControllerType :: enum i32 {
	UNKNOWN             = 0, 
	XBOX360, 
	XBOXONE, 
	PS3, 
	PS4, 
	NINTENDO_SWITCH_PRO, 
	VIRTUAL, 
	PS5, 
	AMAZON_LUNA, 
	GOOGLE_STADIA, 
}

GestureID Â¶

GestureID :: distinct i64

Haptic Â¶

Haptic :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

HapticCondition Â¶

HapticCondition :: struct {
	// Header 
	type:        HapticType,
	// *< ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,
	// 	                         ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION 
	direction:   HapticDirection,
	// Replay 
	length:      u32,
	// *< Duration of the effect. 
	delay:       u16,
	// Trigger 
	button:      u16,
	// *< Button that triggers the effect. 
	interval:    u16,
	// Condition 
	right_sat:   [3]u16,
	// *< Level when joystick is to the positive side; max 0xFFFF. 
	left_sat:    [3]u16,
	// *< Level when joystick is to the negative side; max 0xFFFF. 
	right_coeff: [3]i16,
	// *< How fast to increase the force towards the positive side. 
	left_coeff:  [3]i16,
	// *< How fast to increase the force towards the negative side. 
	deadband:    [3]u16,
	// *< Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered. 
	center:      [3]i16,
}

HapticConstant Â¶

HapticConstant :: struct {
	// Header 
	type:          HapticType,
	// *< ::SDL_HAPTIC_CONSTANT 
	direction:     HapticDirection,
	// Replay 
	length:        u32,
	// *< Duration of the effect. 
	delay:         u16,
	// Trigger 
	button:        u16,
	// *< Button that triggers the effect. 
	interval:      u16,
	// Constant 
	level:         i16,
	// Envelope 
	attack_length: u16,
	// *< Duration of the attack. 
	attack_level:  u16,
	// *< Level at the start of the attack. 
	fade_length:   u16,
	// *< Duration of the fade. 
	fade_level:    u16,
}

HapticCustom Â¶

HapticCustom :: struct {
	// Header 
	type:          HapticType,
	// *< ::SDL_HAPTIC_CUSTOM 
	direction:     HapticDirection,
	// Replay 
	length:        u32,
	// *< Duration of the effect. 
	delay:         u16,
	// Trigger 
	button:        u16,
	// *< Button that triggers the effect. 
	interval:      u16,
	// Custom 
	channels:      u8,
	// *< Axes to use, minimum of one. 
	period:        u16,
	// *< Sample periods. 
	samples:       u16,
	// *< Amount of samples. 
	data:          [^]u16,
	// Envelope 
	attack_length: u16,
	// *< Duration of the attack. 
	attack_level:  u16,
	// *< Level at the start of the attack. 
	fade_length:   u16,
	// *< Duration of the fade. 
	fade_level:    u16,
}

HapticDirection Â¶

HapticDirection :: struct {
	type: HapticDirectionType,
	// *< The type of encoding. 
	dir:  [3]i32,
}

HapticDirectionType Â¶

HapticDirectionType :: enum u8 {
	POLAR         = 0, 
	CARTESIAN     = 1, 
	SPHERICAL     = 2, 
	STEERING_AXIS = 3, 
}

HapticEffect Â¶

HapticEffect :: struct #raw_union {
	// Common for all force feedback effects 
	type:      HapticType,
	// *< Effect type. 
	constant:  HapticConstant,
	// *< Constant effect. 
	periodic:  HapticPeriodic,
	// *< Periodic effect. 
	condition: HapticCondition,
	// *< Condition effect. 
	ramp:      HapticRamp,
	// *< Ramp effect. 
	leftright: HapticLeftRight,
	// *< Left/Right effect. 
	custom:    HapticCustom,
}

HapticLeftRight Â¶

HapticLeftRight :: struct {
	// Header 
	type:            HapticType,
	// Replay 
	length:          u32,
	// Rumble 
	large_magnitude: u16,
	// *< Control of the large controller motor. 
	small_magnitude: u16,
}

HapticPeriodic Â¶

HapticPeriodic :: struct {
	// Header 
	type:          HapticType,
	// *< ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,
	// 	                        ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or
	// 	                        ::SDL_HAPTIC_SAWTOOTHDOWN 
	direction:     HapticDirection,
	// Replay 
	length:        u32,
	// *< Duration of the effect. 
	delay:         u16,
	// Trigger 
	button:        u16,
	// *< Button that triggers the effect. 
	interval:      u16,
	// Periodic 
	period:        u16,
	// *< Period of the wave. 
	magnitude:     i16,
	// *< Peak value; if negative, equivalent to 180 degrees extra phase shift. 
	offset:        i16,
	// *< Mean value of the wave. 
	phase:         u16,
	// Envelope 
	attack_length: u16,
	// *< Duration of the attack. 
	attack_level:  u16,
	// *< Level at the start of the attack. 
	fade_length:   u16,
	// *< Duration of the fade. 
	fade_level:    u16,
}

HapticRamp Â¶

HapticRamp :: struct {
	// Header 
	type:          HapticType,
	// *< ::SDL_HAPTIC_RAMP 
	direction:     HapticDirection,
	// Replay 
	length:        u32,
	// *< Duration of the effect. 
	delay:         u16,
	// Trigger 
	button:        u16,
	// *< Button that triggers the effect. 
	interval:      u16,
	// Ramp 
	start:         i16,
	// *< Beginning strength level. 
	end:           i16,
	// Envelope 
	attack_length: u16,
	// *< Duration of the attack. 
	attack_level:  u16,
	// *< Level at the start of the attack. 
	fade_length:   u16,
	// *< Duration of the fade. 
	fade_level:    u16,
}

HapticType Â¶

HapticType :: enum u16 {
	CONSTANT     = 1, 
	SINE         = 2, 
	LEFTRIGHT    = 4, 
	TRIANGLE     = 8, 
	SAWTOOTHUP   = 16, 
	SAWTOOTHDOWN = 32, 
	RAMP         = 64, 
	SPRING       = 128, 
	DAMPER       = 256, 
	INERTIA      = 512, 
	FRICTION     = 1024, 
	CUSTOM       = 2048, 
	GAIN         = 4096, 
	AUTOCENTER   = 8192, 
	STATUS       = 16384, 
	PAUSE        = 32768, 
}

HintCallback Â¶

HintCallback :: proc "cdecl" (userdata: rawptr, name, oldValue, newValue: cstring)

HintPriority Â¶

HintPriority :: enum i32 {
	DEFAULT, 
	NORMAL, 
	OVERRIDE, 
}

HitTest Â¶

HitTest :: proc "cdecl" (win: ^Window, area: ^Point, data: rawptr) -> HitTestResult

HitTestResult Â¶

HitTestResult :: enum i32 {
	NORMAL,             // *< Region is normal. No special properties.
	DRAGGABLE,          // *< Region can drag entire window.
	RESIZE_TOPLEFT, 
	RESIZE_TOP, 
	RESIZE_TOPRIGHT, 
	RESIZE_RIGHT, 
	RESIZE_BOTTOMRIGHT, 
	RESIZE_BOTTOM, 
	RESIZE_BOTTOMLEFT, 
	RESIZE_LEFT, 
}

ID3D11Device Â¶

ID3D11Device :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

IDirect3DDevice9 Â¶

IDirect3DDevice9 :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

InitFlag Â¶

InitFlag :: enum u32 {
	TIMER          = 0, 
	AUDIO          = 4, 
	VIDEO          = 5, 
	JOYSTICK       = 9, 
	HAPTIC         = 12, 
	GAMECONTROLLER = 13, 
	EVENTS         = 14, 
	SENSOR         = 15, 
	NOPARACHUTE    = 20, 
}

InitFlags Â¶

InitFlags :: bit_set[InitFlag; u32]

JoyAxisEvent Â¶

JoyAxisEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYAXISMOTION 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	axis:      u8,
	// *< The joystick axis index 
	_:         u8,
	_:         u8,
	_:         u8,
	value:     i16,
	// *< The axis value (range: -32768 to 32767) 
	_:         u16,
}

JoyBallEvent Â¶

JoyBallEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYBALLMOTION 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	ball:      u8,
	// *< The joystick trackball index 
	_:         u8,
	_:         u8,
	_:         u8,
	xrel:      i16,
	// *< The relative motion in the X direction 
	yrel:      i16,
}

JoyButtonEvent Â¶

JoyButtonEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	button:    u8,
	// *< The joystick button index 
	state:     u8,
	// *< ::SDL_PRESSED or ::SDL_RELEASED 
	_:         u8,
	_:         u8,
}

JoyDeviceEvent Â¶

JoyDeviceEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     i32,
}

JoyHatEvent Â¶

JoyHatEvent :: struct {
	type:      EventType,
	// *< ::SDL_JOYHATMOTION 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     JoystickID,
	// *< The joystick instance id 
	hat:       u8,
	// *< The joystick hat index 
	value:     u8,
	// *< The hat position value.
	// 	                 *   \sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP
	// 	                 *   \sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT
	// 	                 *   \sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN
	// 	                 *
	// 	                 *   Note that zero means the POV is centered.
	_:         u8,
	_:         u8,
}

Joystick Â¶

Joystick :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

JoystickGUID Â¶

JoystickGUID :: struct {
	data: [16]u8,
}

JoystickID Â¶

JoystickID :: distinct i32

JoystickPowerLevel Â¶

JoystickPowerLevel :: enum i32 {
	UNKNOWN = -1, 
	EMPTY,        // <= 5%
	LOW,          // <= 20%
	MEDIUM,       // <= 70%
	FULL,         // <= 100%
	WIRED, 
	MAX, 
}

JoystickType Â¶

JoystickType :: enum i32 {
	UNKNOWN, 
	GAMECONTROLLER, 
	WHEEL, 
	ARCADE_STICK, 
	FLIGHT_STICK, 
	DANCE_PAD, 
	GUITAR, 
	DRUM_KIT, 
	ARCADE_PAD, 
	THROTTLE, 
}

KeyboardEvent Â¶

KeyboardEvent :: struct {
	type:      EventType,
	// *< ::SDL_KEYDOWN or ::SDL_KEYUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with keyboard focus, if any 
	state:     u8,
	// *< ::SDL_PRESSED or ::SDL_RELEASED 
	repeat:    u8,
	// *< Non-zero if this is a key repeat 
	_:         u8,
	_:         u8,
	keysym:    Keysym,
}

Keycode Â¶

Keycode :: enum i32 {
	UNKNOWN            = 0, 
	RETURN             = 13, 
	ESCAPE             = 27, 
	BACKSPACE          = 8, 
	TAB                = 9, 
	SPACE              = 32, 
	EXCLAIM            = 33, 
	QUOTEDBL           = 34, 
	HASH               = 35, 
	PERCENT            = 37, 
	DOLLAR             = 36, 
	AMPERSAND          = 38, 
	QUOTE              = 39, 
	LEFTPAREN          = 40, 
	RIGHTPAREN         = 41, 
	ASTERISK           = 42, 
	PLUS               = 43, 
	COMMA              = 44, 
	MINUS              = 45, 
	PERIOD             = 46, 
	SLASH              = 47, 
	NUM0               = 48, 
	NUM1               = 49, 
	NUM2               = 50, 
	NUM3               = 51, 
	NUM4               = 52, 
	NUM5               = 53, 
	NUM6               = 54, 
	NUM7               = 55, 
	NUM8               = 56, 
	NUM9               = 57, 
	COLON              = 58, 
	SEMICOLON          = 59, 
	LESS               = 60, 
	EQUALS             = 61, 
	GREATER            = 62, 
	QUESTION           = 63, 
	AT                 = 64, 
	LEFTBRACKET        = 91, 
	BACKSLASH          = 92, 
	RIGHTBRACKET       = 93, 
	CARET              = 94, 
	UNDERSCORE         = 95, 
	BACKQUOTE          = 96, 
	a                  = 97, 
	b                  = 98, 
	c                  = 99, 
	d                  = 100, 
	e                  = 101, 
	f                  = 102, 
	g                  = 103, 
	h                  = 104, 
	i                  = 105, 
	j                  = 106, 
	k                  = 107, 
	l                  = 108, 
	m                  = 109, 
	n                  = 110, 
	o                  = 111, 
	p                  = 112, 
	q                  = 113, 
	r                  = 114, 
	s                  = 115, 
	t                  = 116, 
	u                  = 117, 
	v                  = 118, 
	w                  = 119, 
	x                  = 120, 
	y                  = 121, 
	z                  = 122, 
	A                  = 97, 
	B                  = 98, 
	C                  = 99, 
	D                  = 100, 
	E                  = 101, 
	F                  = 102, 
	G                  = 103, 
	H                  = 104, 
	I                  = 105, 
	J                  = 106, 
	K                  = 107, 
	L                  = 108, 
	M                  = 109, 
	N                  = 110, 
	O                  = 111, 
	P                  = 112, 
	Q                  = 113, 
	R                  = 114, 
	S                  = 115, 
	T                  = 116, 
	U                  = 117, 
	V                  = 118, 
	W                  = 119, 
	X                  = 120, 
	Y                  = 121, 
	Z                  = 122, 
	CAPSLOCK           = 1073741881, 
	F1                 = 1073741882, 
	F2                 = 1073741883, 
	F3                 = 1073741884, 
	F4                 = 1073741885, 
	F5                 = 1073741886, 
	F6                 = 1073741887, 
	F7                 = 1073741888, 
	F8                 = 1073741889, 
	F9                 = 1073741890, 
	F10                = 1073741891, 
	F11                = 1073741892, 
	F12                = 1073741893, 
	PRINTSCREEN        = 1073741894, 
	SCROLLLOCK         = 1073741895, 
	PAUSE              = 1073741896, 
	INSERT             = 1073741897, 
	HOME               = 1073741898, 
	PAGEUP             = 1073741899, 
	DELETE             = 127, 
	END                = 1073741901, 
	PAGEDOWN           = 1073741902, 
	RIGHT              = 1073741903, 
	LEFT               = 1073741904, 
	DOWN               = 1073741905, 
	UP                 = 1073741906, 
	NUMLOCKCLEAR       = 1073741907, 
	KP_DIVIDE          = 1073741908, 
	KP_MULTIPLY        = 1073741909, 
	KP_MINUS           = 1073741910, 
	KP_PLUS            = 1073741911, 
	KP_ENTER           = 1073741912, 
	KP_1               = 1073741913, 
	KP_2               = 1073741914, 
	KP_3               = 1073741915, 
	KP_4               = 1073741916, 
	KP_5               = 1073741917, 
	KP_6               = 1073741918, 
	KP_7               = 1073741919, 
	KP_8               = 1073741920, 
	KP_9               = 1073741921, 
	KP_0               = 1073741922, 
	KP_PERIOD          = 1073741923, 
	APPLICATION        = 1073741925, 
	POWER              = 1073741926, 
	KP_EQUALS          = 1073741927, 
	F13                = 1073741928, 
	F14                = 1073741929, 
	F15                = 1073741930, 
	F16                = 1073741931, 
	F17                = 1073741932, 
	F18                = 1073741933, 
	F19                = 1073741934, 
	F20                = 1073741935, 
	F21                = 1073741936, 
	F22                = 1073741937, 
	F23                = 1073741938, 
	F24                = 1073741939, 
	EXECUTE            = 1073741940, 
	HELP               = 1073741941, 
	MENU               = 1073741942, 
	SELECT             = 1073741943, 
	STOP               = 1073741944, 
	AGAIN              = 1073741945, 
	UNDO               = 1073741946, 
	CUT                = 1073741947, 
	COPY               = 1073741948, 
	PASTE              = 1073741949, 
	FIND               = 1073741950, 
	MUTE               = 1073741951, 
	VOLUMEUP           = 1073741952, 
	VOLUMEDOWN         = 1073741953, 
	KP_COMMA           = 1073741957, 
	KP_EQUALSAS400     = 1073741958, 
	ALTERASE           = 1073741977, 
	SYSREQ             = 1073741978, 
	CANCEL             = 1073741979, 
	CLEAR              = 1073741980, 
	PRIOR              = 1073741981, 
	RETURN2            = 1073741982, 
	SEPARATOR          = 1073741983, 
	OUT                = 1073741984, 
	OPER               = 1073741985, 
	CLEARAGAIN         = 1073741986, 
	CRSEL              = 1073741987, 
	EXSEL              = 1073741988, 
	KP_00              = 1073742000, 
	KP_000             = 1073742001, 
	THOUSANDSSEPARATOR = 1073742002, 
	DECIMALSEPARATOR   = 1073742003, 
	CURRENCYUNIT       = 1073742004, 
	CURRENCYSUBUNIT    = 1073742005, 
	KP_LEFTPAREN       = 1073742006, 
	KP_RIGHTPAREN      = 1073742007, 
	KP_LEFTBRACE       = 1073742008, 
	KP_RIGHTBRACE      = 1073742009, 
	KP_TAB             = 1073742010, 
	KP_BACKSPACE       = 1073742011, 
	KP_A               = 1073742012, 
	KP_B               = 1073742013, 
	KP_C               = 1073742014, 
	KP_D               = 1073742015, 
	KP_E               = 1073742016, 
	KP_F               = 1073742017, 
	KP_XOR             = 1073742018, 
	KP_POWER           = 1073742019, 
	KP_PERCENT         = 1073742020, 
	KP_LESS            = 1073742021, 
	KP_GREATER         = 1073742022, 
	KP_AMPERSAND       = 1073742023, 
	KP_DBLAMPERSAND    = 1073742024, 
	KP_VERTICALBAR     = 1073742025, 
	KP_DBLVERTICALBAR  = 1073742026, 
	KP_COLON           = 1073742027, 
	KP_HASH            = 1073742028, 
	KP_SPACE           = 1073742029, 
	KP_AT              = 1073742030, 
	KP_EXCLAM          = 1073742031, 
	KP_MEMSTORE        = 1073742032, 
	KP_MEMRECALL       = 1073742033, 
	KP_MEMCLEAR        = 1073742034, 
	KP_MEMADD          = 1073742035, 
	KP_MEMSUBTRACT     = 1073742036, 
	KP_MEMMULTIPLY     = 1073742037, 
	KP_MEMDIVIDE       = 1073742038, 
	KP_PLUSMINUS       = 1073742039, 
	KP_CLEAR           = 1073742040, 
	KP_CLEARENTRY      = 1073742041, 
	KP_BINARY          = 1073742042, 
	KP_OCTAL           = 1073742043, 
	KP_DECIMAL         = 1073742044, 
	KP_HEXADECIMAL     = 1073742045, 
	LCTRL              = 1073742048, 
	LSHIFT             = 1073742049, 
	LALT               = 1073742050, 
	LGUI               = 1073742051, 
	RCTRL              = 1073742052, 
	RSHIFT             = 1073742053, 
	RALT               = 1073742054, 
	RGUI               = 1073742055, 
	MODE               = 1073742081, 
	AUDIONEXT          = 1073742082, 
	AUDIOPREV          = 1073742083, 
	AUDIOSTOP          = 1073742084, 
	AUDIOPLAY          = 1073742085, 
	AUDIOMUTE          = 1073742086, 
	MEDIASELECT        = 1073742087, 
	WWW                = 1073742088, 
	MAIL               = 1073742089, 
	CALCULATOR         = 1073742090, 
	COMPUTER           = 1073742091, 
	AC_SEARCH          = 1073742092, 
	AC_HOME            = 1073742093, 
	AC_BACK            = 1073742094, 
	AC_FORWARD         = 1073742095, 
	AC_STOP            = 1073742096, 
	AC_REFRESH         = 1073742097, 
	AC_BOOKMARKS       = 1073742098, 
	BRIGHTNESSDOWN     = 1073742099, 
	BRIGHTNESSUP       = 1073742100, 
	DISPLAYSWITCH      = 1073742101, 
	KBDILLUMTOGGLE     = 1073742102, 
	KBDILLUMDOWN       = 1073742103, 
	KBDILLUMUP         = 1073742104, 
	EJECT              = 1073742105, 
	SLEEP              = 1073742106, 
	APP1               = 1073742107, 
	APP2               = 1073742108, 
	AUDIOREWIND        = 1073742109, 
	AUDIOFASTFORWARD   = 1073742110, 
}

Keymod Â¶

Keymod :: distinct bit_set[KeymodFlag; u16]

KeymodFlag Â¶

KeymodFlag :: enum u16 {
	LSHIFT   = 0, 
	RSHIFT   = 1, 
	LCTRL    = 6, 
	RCTRL    = 7, 
	LALT     = 8, 
	RALT     = 9, 
	LGUI     = 10, 
	RGUI     = 11, 
	NUM      = 12, 
	CAPS     = 13, 
	MODE     = 14, 
	RESERVED = 15, 
}

Keysym Â¶

Keysym :: struct {
	scancode: Scancode,
	// *< SDL physical key code - see ::SDL_Scancode for details 
	sym:      Keycode,
	// *< SDL virtual key code - see ::SDL_Keycode for details 
	mod:      Keymod,
	// *< current key modifiers 
	unused:   u32,
}

Locale Â¶

Locale :: struct {
	language: cstring,
	// *< A language name, like "en" for English. 
	country:  cstring,
}

LogCategory Â¶

LogCategory :: enum i32 {
	APPLICATION, 
	ERROR, 
	ASSERT, 
	SYSTEM, 
	AUDIO, 
	VIDEO, 
	RENDER, 
	INPUT, 
	TEST, 
	// Reserved for future SDL library use 
	RESERVED1, 
	RESERVED2, 
	RESERVED3, 
	RESERVED4, 
	RESERVED5, 
	RESERVED6, 
	RESERVED7, 
	RESERVED8, 
	RESERVED9, 
	RESERVED10, 
	// Beyond this point is reserved for application use, e.g.
	// 	enum {
	// 		MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,
	// 		MYAPP_CATEGORY_AWESOME2,
	// 		MYAPP_CATEGORY_AWESOME3,
	// 		...
	// 	};
	CUSTOM, 
}

LogOutputFunction Â¶

LogOutputFunction :: proc "cdecl" (userdata: rawptr, category: LogCategory, priority: LogPriority, message: cstring)

LogPriority Â¶

LogPriority :: enum i32 {
	DEFAULT  = 0, // CUSTOM ONE
	VERBOSE  = 1, 
	DEBUG, 
	INFO, 
	WARN, 
	ERROR, 
	CRITICAL, 
	NUM, 
}

MessageBoxButtonData Â¶

MessageBoxButtonData :: struct {
	flags:    MessageBoxButtonFlags,
	// *< ::SDL_MessageBoxButtonFlags 
	buttonid: i32,
	// *< User defined button id (value returned via SDL_ShowMessageBox) 
	text:     cstring,
}

MessageBoxButtonFlag Â¶

MessageBoxButtonFlag :: enum u32 {
	RETURNKEY_DEFAULT = 0, // *< Marks the default button when return is hit
	ESCAPEKEY_DEFAULT = 1, // *< Marks the default button when escape is hit
}

MessageBoxButtonFlags Â¶

MessageBoxButtonFlags :: distinct bit_set[MessageBoxButtonFlag; u32]

MessageBoxColor Â¶

MessageBoxColor :: struct {
	r,
	g,
	b: u8,
}

MessageBoxColorScheme Â¶

MessageBoxColorScheme :: struct {
	colors: [MessageBoxColorType]MessageBoxColor,
}

MessageBoxColorType Â¶

MessageBoxColorType :: enum i32 {
	BACKGROUND, 
	TEXT, 
	BUTTON_BORDER, 
	BUTTON_BACKGROUND, 
	BUTTON_SELECTED, 
}

MessageBoxData Â¶

MessageBoxData :: struct {
	flags:       MessageBoxFlags,
	// *< ::SDL_MessageBoxFlags 
	window:      ^Window,
	// *< Parent window, can be NULL 
	title:       cstring,
	// *< UTF-8 title 
	message:     cstring,
	// *< UTF-8 message text 
	numbuttons:  i32,
	buttons:     ^MessageBoxButtonData,
	colorScheme: ^MessageBoxColorScheme,
}

MessageBoxFlag Â¶

MessageBoxFlag :: enum u32 {
	ERROR                 = 4, // *< error dialog
	WARNING               = 5, // *< warning dialog
	INFORMATION           = 6, // *< informational dialog
	BUTTONS_LEFT_TO_RIGHT = 7, // *< buttons placed left to right
	BUTTONS_RIGHT_TO_LEFT = 8, // *< buttons placed right to left
}

MessageBoxFlags Â¶

MessageBoxFlags :: distinct bit_set[MessageBoxFlag; u32]

MetalView Â¶

MetalView :: distinct rawptr

MouseButtonEvent Â¶

MouseButtonEvent :: struct {
	type:      EventType,
	// *< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with mouse focus, if any 
	which:     u32,
	// *< The mouse instance id, or SDL_TOUCH_MOUSEID 
	button:    u8,
	// *< The mouse button index 
	state:     u8,
	// *< ::SDL_PRESSED or ::SDL_RELEASED 
	clicks:    u8,
	// *< 1 for single-click, 2 for double-click, etc. 
	_:         u8,
	x:         i32,
	// *< X coordinate, relative to window 
	y:         i32,
}

MouseMotionEvent Â¶

MouseMotionEvent :: struct {
	type:      EventType,
	// *< ::SDL_MOUSEMOTION 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with mouse focus, if any 
	which:     u32,
	// *< The mouse instance id, or SDL_TOUCH_MOUSEID 
	state:     u32,
	// *< The current button state 
	x:         i32,
	// *< X coordinate, relative to window 
	y:         i32,
	// *< Y coordinate, relative to window 
	xrel:      i32,
	// *< The relative motion in the X direction 
	yrel:      i32,
}

MouseWheelDirection Â¶

MouseWheelDirection :: enum i32 {
	NORMAL,  // *< The scroll direction is normal
	FLIPPED, // *< The scroll direction is flipped / natural
}

MouseWheelEvent Â¶

MouseWheelEvent :: struct {
	type:      EventType,
	// *< ::SDL_MOUSEWHEEL 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with mouse focus, if any 
	which:     u32,
	// *< The mouse instance id, or SDL_TOUCH_MOUSEID 
	x:         i32,
	// *< The amount scrolled horizontally, positive to the right and negative to the left 
	y:         i32,
	// *< The amount scrolled vertically, positive away from the user and negative toward the user 
	direction: u32,
}

MultiGestureEvent Â¶

MultiGestureEvent :: struct {
	type:       EventType,
	// *< ::SDL_MULTIGESTURE 
	timestamp:  u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	touchId:    TouchID,
	// *< The touch device id 
	dTheta:     f32,
	dDist:      f32,
	x:          f32,
	y:          f32,
	numFingers: u16,
	padding:    u16,
}

OSEvent Â¶

OSEvent :: struct {
	type:      EventType,
	timestamp: u32,
}

Palette Â¶

Palette :: struct {
	ncolors:  i32,
	colors:   ^Color,
	version:  u32,
	refcount: i32,
}

PixelFormat Â¶

PixelFormat :: struct {
	format:        u32,
	palette:       ^Palette,
	BitsPerPixel:  u8,
	BytesPerPixel: u8,
	padding:       [2]u8,
	Rmask:         u32,
	Gmask:         u32,
	Bmask:         u32,
	Amask:         u32,
	Rloss:         u8,
	Gloss:         u8,
	Bloss:         u8,
	Aloss:         u8,
	Rshift:        u8,
	Gshift:        u8,
	Bshift:        u8,
	Ashift:        u8,
	refcount:      i32,
	next:          ^PixelFormat,
}

PixelFormatEnum Â¶

PixelFormatEnum :: enum u32 {
	UNKNOWN      = 0, 
	INDEX1LSB    = 286261504, 
	INDEX1MSB    = 287310080, 
	INDEX4LSB    = 303039488, 
	INDEX4MSB    = 304088064, 
	INDEX8       = 318769153, 
	RGB332       = 336660481, 
	XRGB4444     = 353504258, 
	RGB444       = 353504258, 
	XBGR4444     = 357698562, 
	BGR444       = 357698562, 
	XRGB1555     = 353570562, 
	RGB555       = 353570562, 
	XBGR1555     = 357764866, 
	BGR555       = 357764866, 
	ARGB4444     = 355602434, 
	RGBA4444     = 356651010, 
	ABGR4444     = 359796738, 
	BGRA4444     = 360845314, 
	ARGB1555     = 355667970, 
	RGBA5551     = 356782082, 
	ABGR1555     = 359862274, 
	BGRA5551     = 360976386, 
	RGB565       = 353701890, 
	BGR565       = 357896194, 
	RGB24        = 386930691, 
	BGR24        = 390076419, 
	XRGB8888     = 370546692, 
	RGB888       = 370546692, 
	RGBX8888     = 371595268, 
	XBGR8888     = 374740996, 
	BGR888       = 374740996, 
	BGRX8888     = 375789572, 
	ARGB8888     = 372645892, 
	RGBA8888     = 373694468, 
	ABGR8888     = 376840196, 
	BGRA8888     = 377888772, 
	ARGB2101010  = 372711428, 
	// Aliases for RGBA byte arrays of color data, for the current platform 
	RGBA32       = 376840196, 
	ARGB32       = 377888772, 
	BGRA32       = 372645892, 
	ABGR32       = 373694468, 
	YV12         = 1498820914, 
	IYUV         = 1230591318, 
	YUY2         = 1498765618, 
	UYVY         = 1431918169, 
	YVYU         = 1498831189, 
	NV12         = 1314271538, 
	NV21         = 1314271793, 
	EXTERNAL_OES = 1329943328, 
}

Point Â¶

Point :: struct {
	x,
	y: i32,
}

PowerState Â¶

PowerState :: enum i32 {
	UNKNOWN,    // *< cannot determine power status
	ON_BATTERY, // *< Not plugged in, running on the battery
	NO_BATTERY, // *< Plugged in, no battery available
	CHARGING,   // *< Plugged in, charging battery
	CHARGED,    // *< Plugged in, battery charged
}

QuitEvent Â¶

QuitEvent :: struct {
	type:      EventType,
	timestamp: u32,
}

RWops Â¶

RWops :: struct {
	size:   proc "cdecl" (ctx: ^RWops) -> i64,
	seek:   proc "cdecl" (ctx: ^RWops, offset: i64, whence: i32) -> i64,
	read:   proc "cdecl" (ctx: ^RWops, ptr: rawptr, size: uint, maxnum: uint) -> uint,
	write:  proc "cdecl" (ctx: ^RWops, ptr: rawptr, size: uint, num: uint) -> uint,
	close:  proc "cdecl" (ctx: ^RWops) -> i32,
	type:   u32,
	hidden: struct #raw_union {
		androidio: struct {
			asset: rawptr,
		},
		windowsio: struct {
			append: bool,
			h:      rawptr,
			buffer: struct {
				data: rawptr,
				size: uint,
				left: uint,
			},
		},
		vitaio:    struct {
			h:      i32,
			buffer: struct {
				data: rawptr,
				size: uint,
				left: uint,
			},
		},
		stdio:     struct {
			autoclose: bool,
			fp:        rawptr,
		},
		mem:       struct {
			base: ^u8,
			here: ^u8,
			stop: ^u8,
		},
		unknown:   struct {
			data1: rawptr,
			data2: rawptr,
		},
	},
}
 

* * This is the read/write operation structure -- very basic.

Rect Â¶

Rect :: struct {
	x,
	y,
	w,
	h: i32,
}

Renderer Â¶

Renderer :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

RendererFlag Â¶

RendererFlag :: enum u32 {
	SOFTWARE      = 0, // *< The renderer is a software fallback
	ACCELERATED   = 1, // *< The renderer uses hardware acceleration
	PRESENTVSYNC  = 2, // *< Present is synchronized with the refresh rate
	TARGETTEXTURE = 3, // *< The renderer supports rendering to texture
}

RendererFlags Â¶

RendererFlags :: distinct bit_set[RendererFlag; u32]

RendererFlip Â¶

RendererFlip :: enum i32 {
	NONE       = 0, // *< Do not flip
	HORIZONTAL = 1, // *< flip horizontally
	VERTICAL   = 2, // *< flip vertically
}
 

* * Flip constants for SDL_RenderCopyEx

RendererInfo Â¶

RendererInfo :: struct {
	name:                cstring,
	// *< The name of the renderer 
	flags:               RendererFlags,
	// *< Supported ::SDL_RendererFlags 
	num_texture_formats: u32,
	// *< The number of available texture formats 
	texture_formats:     [16]u32,
	// *< The available texture formats 
	max_texture_width:   i32,
	// *< The maximum texture width 
	max_texture_height:  i32,
}

SYSWM_TYPE Â¶

SYSWM_TYPE :: enum i32 {
	UNKNOWN, 
	WINDOWS, 
	X11, 
	DIRECTFB, 
	COCOA, 
	UIKIT, 
	WAYLAND, 
	MIR,      // no longer available, left for API/ABI compatibility. Remove in 2.1!
	WINRT, 
	ANDROID, 
	VIVANTE, 
	OS2, 
	HAIKU, 
	KMSDRM, 
}

ScaleMode Â¶

ScaleMode :: enum i32 {
	Nearest, // *< nearest pixel sampling
	Linear,  // *< linear filtering
	Best,    // *< anisotropic filtering
}
 

* * The scaling mode for a texture.

Scancode Â¶

Scancode :: enum i32 {
	UNKNOWN            = 0, 
	A                  = 4, 
	B                  = 5, 
	C                  = 6, 
	D                  = 7, 
	E                  = 8, 
	F                  = 9, 
	G                  = 10, 
	H                  = 11, 
	I                  = 12, 
	J                  = 13, 
	K                  = 14, 
	L                  = 15, 
	M                  = 16, 
	N                  = 17, 
	O                  = 18, 
	P                  = 19, 
	Q                  = 20, 
	R                  = 21, 
	S                  = 22, 
	T                  = 23, 
	U                  = 24, 
	V                  = 25, 
	W                  = 26, 
	X                  = 27, 
	Y                  = 28, 
	Z                  = 29, 
	NUM1               = 30, 
	NUM2               = 31, 
	NUM3               = 32, 
	NUM4               = 33, 
	NUM5               = 34, 
	NUM6               = 35, 
	NUM7               = 36, 
	NUM8               = 37, 
	NUM9               = 38, 
	NUM0               = 39, 
	RETURN             = 40, 
	ESCAPE             = 41, 
	BACKSPACE          = 42, 
	TAB                = 43, 
	SPACE              = 44, 
	MINUS              = 45, 
	EQUALS             = 46, 
	LEFTBRACKET        = 47, 
	RIGHTBRACKET       = 48, 
	BACKSLASH          = 49, 
	NONUSHASH          = 50, 
	SEMICOLON          = 51, 
	APOSTROPHE         = 52, 
	GRAVE              = 53, 
	COMMA              = 54, 
	PERIOD             = 55, 
	SLASH              = 56, 
	CAPSLOCK           = 57, 
	F1                 = 58, 
	F2                 = 59, 
	F3                 = 60, 
	F4                 = 61, 
	F5                 = 62, 
	F6                 = 63, 
	F7                 = 64, 
	F8                 = 65, 
	F9                 = 66, 
	F10                = 67, 
	F11                = 68, 
	F12                = 69, 
	PRINTSCREEN        = 70, 
	SCROLLLOCK         = 71, 
	PAUSE              = 72, 
	INSERT             = 73, 
	HOME               = 74, 
	PAGEUP             = 75, 
	DELETE             = 76, 
	END                = 77, 
	PAGEDOWN           = 78, 
	RIGHT              = 79, 
	LEFT               = 80, 
	DOWN               = 81, 
	UP                 = 82, 
	NUMLOCKCLEAR       = 83, 
	KP_DIVIDE          = 84, 
	KP_MULTIPLY        = 85, 
	KP_MINUS           = 86, 
	KP_PLUS            = 87, 
	KP_ENTER           = 88, 
	KP_1               = 89, 
	KP_2               = 90, 
	KP_3               = 91, 
	KP_4               = 92, 
	KP_5               = 93, 
	KP_6               = 94, 
	KP_7               = 95, 
	KP_8               = 96, 
	KP_9               = 97, 
	KP_0               = 98, 
	KP_PERIOD          = 99, 
	NONUSBACKSLASH     = 100, 
	APPLICATION        = 101, 
	POWER              = 102, 
	KP_EQUALS          = 103, 
	F13                = 104, 
	F14                = 105, 
	F15                = 106, 
	F16                = 107, 
	F17                = 108, 
	F18                = 109, 
	F19                = 110, 
	F20                = 111, 
	F21                = 112, 
	F22                = 113, 
	F23                = 114, 
	F24                = 115, 
	EXECUTE            = 116, 
	HELP               = 117, 
	MENU               = 118, 
	SELECT             = 119, 
	STOP               = 120, 
	AGAIN              = 121, 
	UNDO               = 122, 
	CUT                = 123, 
	COPY               = 124, 
	PASTE              = 125, 
	FIND               = 126, 
	MUTE               = 127, 
	VOLUMEUP           = 128, 
	VOLUMEDOWN         = 129, 
	// not sure whether there's a reason to enable these 
	//     LOCKINGCAPSLOCK = 130,  
	//     LOCKINGNUMLOCK = 131, 
	//     LOCKINGSCROLLLOCK = 132, 
	KP_COMMA           = 133, 
	KP_EQUALSAS400     = 134, 
	INTERNATIONAL1     = 135, 
	INTERNATIONAL2     = 136, 
	INTERNATIONAL3     = 137, 
	INTERNATIONAL4     = 138, 
	INTERNATIONAL5     = 139, 
	INTERNATIONAL6     = 140, 
	INTERNATIONAL7     = 141, 
	INTERNATIONAL8     = 142, 
	INTERNATIONAL9     = 143, 
	LANG1              = 144, 
	LANG2              = 145, 
	LANG3              = 146, 
	LANG4              = 147, 
	LANG5              = 148, 
	LANG6              = 149, 
	LANG7              = 150, 
	LANG8              = 151, 
	LANG9              = 152, 
	ALTERASE           = 153, 
	SYSREQ             = 154, 
	CANCEL             = 155, 
	CLEAR              = 156, 
	PRIOR              = 157, 
	RETURN2            = 158, 
	SEPARATOR          = 159, 
	OUT                = 160, 
	OPER               = 161, 
	CLEARAGAIN         = 162, 
	CRSEL              = 163, 
	EXSEL              = 164, 
	KP_00              = 176, 
	KP_000             = 177, 
	THOUSANDSSEPARATOR = 178, 
	DECIMALSEPARATOR   = 179, 
	CURRENCYUNIT       = 180, 
	CURRENCYSUBUNIT    = 181, 
	KP_LEFTPAREN       = 182, 
	KP_RIGHTPAREN      = 183, 
	KP_LEFTBRACE       = 184, 
	KP_RIGHTBRACE      = 185, 
	KP_TAB             = 186, 
	KP_BACKSPACE       = 187, 
	KP_A               = 188, 
	KP_B               = 189, 
	KP_C               = 190, 
	KP_D               = 191, 
	KP_E               = 192, 
	KP_F               = 193, 
	KP_XOR             = 194, 
	KP_POWER           = 195, 
	KP_PERCENT         = 196, 
	KP_LESS            = 197, 
	KP_GREATER         = 198, 
	KP_AMPERSAND       = 199, 
	KP_DBLAMPERSAND    = 200, 
	KP_VERTICALBAR     = 201, 
	KP_DBLVERTICALBAR  = 202, 
	KP_COLON           = 203, 
	KP_HASH            = 204, 
	KP_SPACE           = 205, 
	KP_AT              = 206, 
	KP_EXCLAM          = 207, 
	KP_MEMSTORE        = 208, 
	KP_MEMRECALL       = 209, 
	KP_MEMCLEAR        = 210, 
	KP_MEMADD          = 211, 
	KP_MEMSUBTRACT     = 212, 
	KP_MEMMULTIPLY     = 213, 
	KP_MEMDIVIDE       = 214, 
	KP_PLUSMINUS       = 215, 
	KP_CLEAR           = 216, 
	KP_CLEARENTRY      = 217, 
	KP_BINARY          = 218, 
	KP_OCTAL           = 219, 
	KP_DECIMAL         = 220, 
	KP_HEXADECIMAL     = 221, 
	LCTRL              = 224, 
	LSHIFT             = 225, 
	LALT               = 226, 
	LGUI               = 227, 
	RCTRL              = 228, 
	RSHIFT             = 229, 
	RALT               = 230, 
	RGUI               = 231, 
	MODE               = 257, 
	AUDIONEXT          = 258, 
	AUDIOPREV          = 259, 
	AUDIOSTOP          = 260, 
	AUDIOPLAY          = 261, 
	AUDIOMUTE          = 262, 
	MEDIASELECT        = 263, 
	WWW                = 264, 
	MAIL               = 265, 
	CALCULATOR         = 266, 
	COMPUTER           = 267, 
	AC_SEARCH          = 268, 
	AC_HOME            = 269, 
	AC_BACK            = 270, 
	AC_FORWARD         = 271, 
	AC_STOP            = 272, 
	AC_REFRESH         = 273, 
	AC_BOOKMARKS       = 274, 
	BRIGHTNESSDOWN     = 275, 
	BRIGHTNESSUP       = 276, 
	DISPLAYSWITCH      = 277, 
	KBDILLUMTOGGLE     = 278, 
	KBDILLUMDOWN       = 279, 
	KBDILLUMUP         = 280, 
	EJECT              = 281, 
	SLEEP              = 282, 
	APP1               = 283, 
	APP2               = 284, 
	AUDIOREWIND        = 285, 
	AUDIOFASTFORWARD   = 286, 
	NUM_SCANCODES      = 512, 
}

Sensor Â¶

Sensor :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

SensorEvent Â¶

SensorEvent :: struct {
	type:      EventType,
	// *< ::SDL_SENSORUPDATE 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	which:     i32,
	// *< The instance ID of the sensor 
	data:      [6]f32,
}

SensorID Â¶

SensorID :: distinct i32

SensorType Â¶

SensorType :: enum i32 {
	INVALID = -1, // *< Returned for an invalid sensor
	UNKNOWN,      // *< Unknown sensor type
	ACCEL,        // *< Accelerometer
	GYRO,         // *< Gyroscope
}

SpinLock Â¶

SpinLock :: distinct i32
 

Atomic NOTE: Prefer the intrinsics built into Odin 'package intrinsics'

Surface Â¶

Surface :: struct {
	flags:        u32,
	// *< Read-only 
	format:       ^PixelFormat,
	// *< Read-only 
	w,
	h:            i32,
	// *< Read-only 
	pitch:        i32,
	// *< Read-only 
	pixels:       rawptr,
	// Application data associated with the surface 
	userdata:     rawptr,
	// information needed for surfaces requiring locks 
	locked:       i32,
	// list of BlitMap that hold a reference to this surface 
	list_blitmap: rawptr,
	// clipping information 
	clip_rect:    Rect,
	// info for fast blit mapping to other surfaces 
	blitmap:      ^BlitMap,
	// Reference count -- used when freeing surface 
	refcount:     i32,
}

SysWMEvent Â¶

SysWMEvent :: struct {
	type:      EventType,
	// *< ::SDL_SYSWMEVENT 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	msg:       ^SysWMmsg,
}

SysWMinfo Â¶

SysWMinfo :: struct {
	version:   version,
	subsystem: SYSWM_TYPE,
	info:      struct #raw_union {
		win:     struct {
			window:    rawptr,
			hdc:       rawptr,
			hinstance: rawptr,
		},
		winrt:   struct {
			window: rawptr,
		},
		x11:     struct {
			display: rawptr,
			window:  uintptr,
		},
		cocoa:   struct {
			window: rawptr,
		},
		uikit:   struct {
			window:             rawptr,
			// *< The UIKit window 
			framebuffer:        u32,
			// *< The GL view's Framebuffer Object. It must be bound when rendering to the screen using GL. 
			colorbuffer:        u32,
			// *< The GL view's color Renderbuffer Object. It must be bound when SDL_GL_SwapWindow is called. 
			resolveFramebuffer: u32,
		},
		wl:      struct {
			display:       rawptr,
			// *< Wayland display 
			surface:       rawptr,
			// *< Wayland surface 
			shell_surface: rawptr,
			// *< DEPRECATED Wayland shell_surface (window manager handle) 
			egl_window:    rawptr,
			// *< Wayland EGL window (native window) 
			xdg_surface:   rawptr,
		},
		mir:     struct {
			connection: rawptr,
			// *< Mir display server connection 
			surface:    rawptr,
		},
		android: struct {
			window:  rawptr,
			surface: rawptr,
		},
		dummy:   [64]u8,
	},
}
 

* * The custom window manager information structure. * * When this structure is returned, it holds information about which * low level system it is using, and will be one of SYSWM_TYPE.

SysWMmsg Â¶

SysWMmsg :: struct {
	version:   version,
	subsystem: SYSWM_TYPE,
	msg:       struct #raw_union {
		win:   struct {
			hwnd:   rawptr,
			// *< The window for the message 
			msg:    u32,
			// *< The type of message 
			wParam: uint,
			// *< WORD message parameter 
			lParam: int,
		},
		x11:   struct {
			event: XEvent,
		},
		cocoa: struct {
			dummy: i32,
		},
		uikit: struct {
			dummy: i32,
		},
		dummy: i32,
	},
}

SystemCursor Â¶

SystemCursor :: enum i32 {
	ARROW,              // *< Arrow
	IBEAM,              // *< I-beam
	WAIT,               // *< Wait
	CROSSHAIR,          // *< Crosshair
	WAITARROW,          // *< Small wait cursor (or Wait if not available)
	SIZENWSE,           // *< Double arrow pointing northwest and southeast
	SIZENESW,           // *< Double arrow pointing northeast and southwest
	SIZEWE,             // *< Double arrow pointing west and east
	SIZENS,             // *< Double arrow pointing north and south
	SIZEALL,            // *< Four pointed arrow pointing north, south, east, and west
	NO,                 // *< Slashed circle or crossbones
	HAND,               // *< Hand
	NUM_SYSTEM_CURSORS, 
}

TLSID Â¶

TLSID :: distinct u32

TextEditingEvent Â¶

TextEditingEvent :: struct {
	type:      EventType,
	// *< ::SDL_TEXTEDITING 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with keyboard focus, if any 
	text:      [32]u8,
	// *< The editing text 
	start:     i32,
	// *< The start cursor of selected editing text 
	length:    i32,
}

TextInputEvent Â¶

TextInputEvent :: struct {
	type:      EventType,
	// *< ::SDL_TEXTINPUT 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The window with keyboard focus, if any 
	text:      [32]u8,
}

Texture Â¶

Texture :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

TextureAccess Â¶

TextureAccess :: enum i32 {
	STATIC,    // *< Changes rarely, not lockable
	STREAMING, // *< Changes frequently, lockable
	TARGET,    // *< Texture can be used as a render target
}
 

* * The access pattern allowed for a texture.

Thread Â¶

Thread :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

ThreadFunction Â¶

ThreadFunction :: proc "cdecl" (data: rawptr) -> i32

ThreadPriority Â¶

ThreadPriority :: enum i32 {
	LOW, 
	NORMAL, 
	HIGH, 
	TIME_CRITICAL, 
}

TimerCallback Â¶

TimerCallback :: proc "cdecl" (interval: u32, param: rawptr) -> u32

TimerID Â¶

TimerID :: distinct i32

TouchDeviceType Â¶

TouchDeviceType :: enum i32 {
	INVALID           = -1, 
	DIRECT,                 // touch screen with window-relative coordinates
	INDIRECT_ABSOLUTE,      // trackpad with absolute device coordinates
	INDIRECT_RELATIVE,      // trackpad with screen cursor-relative coordinates
}

TouchFingerEvent Â¶

TouchFingerEvent :: struct {
	type:      EventType,
	// *< ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	touchId:   TouchID,
	// *< The touch device id 
	fingerId:  FingerID,
	x:         f32,
	// *< Normalized in the range 0...1 
	y:         f32,
	// *< Normalized in the range 0...1 
	dx:        f32,
	// *< Normalized in the range -1...1 
	dy:        f32,
	// *< Normalized in the range -1...1 
	pressure:  f32,
	// *< Normalized in the range 0...1 
	windowID:  u32,
}

TouchID Â¶

TouchID :: distinct i64

UserEvent Â¶

UserEvent :: struct {
	type:      EventType,
	// *< ::SDL_USEREVENT through ::SDL_LASTEVENT-1 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The associated window if any 
	code:      i32,
	// *< User defined event code 
	data1:     rawptr,
	// *< User defined data pointer 
	data2:     rawptr,
}

VkInstance Â¶

VkInstance :: vulkan.Instance

VkSurfaceKHR Â¶

VkSurfaceKHR :: vulkan.SurfaceKHR

WinRT_DeviceFamily Â¶

WinRT_DeviceFamily :: enum int {
	// \brief Unknown family  
	UNKNOWN, 
	// \brief Desktop family
	DESKTOP, 
	// \brief Mobile family (for example smartphone) 
	MOBILE, 
	// \brief XBox family 
	XBOX, 
}

WinRT_Path Â¶

WinRT_Path :: enum i32 {
	// \brief The installed app's root directory.
	// 	Files here are likely to be read-only. 
	INSTALLED_LOCATION, 
	// \brief The app's local data store.  Files may be written here 
	LOCAL_FOLDER, 
	// \brief The app's roaming data store.  Unsupported on Windows Phone.
	// 	Files written here may be copied to other machines via a network
	// 	connection.
	ROAMING_FOLDER, 
	// \brief The app's temporary data store.  Unsupported on Windows Phone.
	// 	Files written here may be deleted at any time. 
	TEMP_FOLDER, 
}

Window Â¶

Window :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

WindowEvent Â¶

WindowEvent :: struct {
	type:      EventType,
	// *< ::SDL_WINDOWEVENT 
	timestamp: u32,
	// *< In milliseconds, populated using SDL_GetTicks() 
	windowID:  u32,
	// *< The associated window 
	event:     WindowEventID,
	// *< ::SDL_WindowEventID 
	_:         u8,
	_:         u8,
	_:         u8,
	data1:     i32,
	// *< event dependent data 
	data2:     i32,
}

WindowEventID Â¶

WindowEventID :: enum u8 {
	NONE,         // *< Never used
	SHOWN,        // *< Window has been shown
	HIDDEN,       // *< Window has been hidden
	EXPOSED,      // *< Window has been exposed and should be
	                                 redrawn
	MOVED,        // *< Window has been moved to data1, data2
	RESIZED,      // *< Window has been resized to data1xdata2
	SIZE_CHANGED, // *< The window size has changed, either as
	                                 a result of an API call or through the
	                                 system or user changing the window size.
	MINIMIZED,    // *< Window has been minimized
	MAXIMIZED,    // *< Window has been maximized
	RESTORED,     // *< Window has been restored to normal size
	                                 and position
	ENTER,        // *< Window has gained mouse focus
	LEAVE,        // *< Window has lost mouse focus
	FOCUS_GAINED, // *< Window has gained keyboard focus
	FOCUS_LOST,   // *< Window has lost keyboard focus
	CLOSE,        // *< The window manager requests that the window be closed
	TAKE_FOCUS,   // *< Window is being offered a focus (should SetWindowInputFocus() on itself or a subwindow, or ignore)
	HIT_TEST,     // *< Window had a hit test that wasn't SDL_HITTEST_NORMAL.
}

WindowFlag Â¶

WindowFlag :: enum u32 {
	FULLSCREEN                   = 0,  // *< fullscreen window
	OPENGL                       = 1,  // *< window usable with OpenGL context
	SHOWN                        = 2,  // *< window is visible
	HIDDEN                       = 3,  // *< window is not visible
	BORDERLESS                   = 4,  // *< no window decoration
	RESIZABLE                    = 5,  // *< window can be resized
	MINIMIZED                    = 6,  // *< window is minimized
	MAXIMIZED                    = 7,  // *< window is maximized
	MOUSE_GRABBED                = 8,  // *< window has grabbed mouse input
	INPUT_FOCUS                  = 9,  // *< window has input focus
	MOUSE_FOCUS                  = 10, // *< window has mouse focus
	_INTERNAL_FULLSCREEN_DESKTOP = 12, 
	FOREIGN                      = 11, // *< window not created by SDL
	ALLOW_HIGHDPI                = 13, // *< window should be created in high-DPI mode if supported.
	                                             On macOS NSHighResolutionCapable must be set true in the
	                                             application's Info.plist for this to have any effect.
	MOUSE_CAPTURE                = 14, // *< window has mouse captured (unrelated to MOUSE_GRABBED)
	ALWAYS_ON_TOP                = 15, // *< window should always be above others
	SKIP_TASKBAR                 = 16, // *< window should not be added to the taskbar
	UTILITY                      = 17, // *< window should be treated as a utility window
	TOOLTIP                      = 18, // *< window should be treated as a tooltip
	POPUP_MENU                   = 19, // *< window should be treated as a popup menu
	KEYBOARD_GRABBED             = 20, // *< window has grabbed keyboard input
	VULKAN                       = 28, // *< window usable for Vulkan surface
	METAL                        = 29, // *< window usable for Metal view
	INPUT_GRABBED                = 8,  // *< equivalent to SDL_WINDOW_MOUSE_GRABBED for compatibility
}

WindowFlags Â¶

WindowFlags :: distinct bit_set[WindowFlag; u32]

WindowShapeMode Â¶

WindowShapeMode :: struct {
	mode:       WindowShapeModeEnum,
	parameters: WindowShapeParams,
}

WindowShapeModeEnum Â¶

WindowShapeModeEnum :: enum i32 {
	// \brief The default mode, a binarized alpha cutoff of 1. 
	Default, 
	// \brief A binarized alpha cutoff with a given integer value. 
	BinarizeAlpha, 
	// \brief A binarized alpha cutoff with a given integer value, but with the opposite comparison. 
	ReverseBinarizeAlpha, 
	// \brief A color key is applied. 
	ColorKey, 
}

WindowShapeParams Â¶

WindowShapeParams :: struct #raw_union {
	binarizationCutoff: u8,
	colorKey:           Color,
}

WindowsMessageHook Â¶

WindowsMessageHook :: proc "cdecl" (userdata: rawptr, hWnd: rawptr, message: u32, wParam: u64, lParam: i64)

XEvent Â¶

XEvent :: struct {
	type: i32,
	pad:  [24]i32,
}

YUV_CONVERSION_MODE Â¶

YUV_CONVERSION_MODE :: enum i32 {
	JPEG,      // *< Full range JPEG
	BT601,     // *< BT.601 (the default)
	BT709,     // *< BT.709
	AUTOMATIC, // *< BT.601 for SD content, BT.709 for HD content
}

atomic_t Â¶

atomic_t :: struct {
	value: i32,
}

blit Â¶

blit :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32

bool Â¶

bool :: distinct b32

calloc_func Â¶

calloc_func :: proc "cdecl" (nmemb, size: uint) -> rawptr

cond Â¶

cond :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

errorcode Â¶

errorcode :: enum i32 {
	ENOMEM, 
	EFREAD, 
	EFWRITE, 
	EFSEEK, 
	UNSUPPORTED, 
	LASTERROR, 
}

eventaction Â¶

eventaction :: enum i32 {
	ADDEVENT, 
	PEEKEVENT, 
	GETEVENT, 
}

free_func Â¶

free_func :: proc "cdecl" (mem: rawptr)

iconv_t Â¶

iconv_t :: distinct rawptr
 

SDL_iconv_* are now always real symbols/types, not macros or inlined.

malloc_func Â¶

malloc_func :: proc "cdecl" (size: uint) -> rawptr

mutex Â¶

mutex :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

realloc_func Â¶

realloc_func :: proc "cdecl" (mem: rawptr, size: uint) -> rawptr

semaphore Â¶

semaphore :: struct($Key: typeid, $Value: typeid) where intrinsics.type_is_valid_map_key(Key) {}

threadID Â¶

threadID :: distinct u32

version Â¶

version :: struct {
	major: u8,
	// *< major version 
	minor: u8,
	// *< minor version 
	patch: u8,
}

vulkanInstance Â¶

vulkanInstance :: vulkan.Instance

vulkanSurface Â¶

vulkanSurface :: vulkan.SurfaceKHR

Constants

ALPHA_OPAQUE Â¶

ALPHA_OPAQUE :: 255

ALPHA_TRANSPARENT Â¶

ALPHA_TRANSPARENT :: 0

ANDROID_EXTERNAL_STORAGE_READ Â¶

ANDROID_EXTERNAL_STORAGE_READ :: 0x01

ANDROID_EXTERNAL_STORAGE_WRITE Â¶

ANDROID_EXTERNAL_STORAGE_WRITE :: 0x02

ARRAYORDER_ABG Â¶

ARRAYORDER_ABG :: 6

ARRAYORDER_ARGB Â¶

ARRAYORDER_ARGB :: 3

ARRAYORDER_BGR Â¶

ARRAYORDER_BGR :: 4

ARRAYORDER_BGRA Â¶

ARRAYORDER_BGRA :: 5

ARRAYORDER_NONE Â¶

ARRAYORDER_NONE :: 0
 

Array component order, low byte -> high byte. !!! FIXME: in 2.1, make these not overlap differently with !!! FIXME: SDL_PACKEDORDER_*, so we can simplify SDL_ISPIXELFORMAT_ALPHA

ARRAYORDER_RGB Â¶

ARRAYORDER_RGB :: 1

ARRAYORDER_RGBA Â¶

ARRAYORDER_RGBA :: 2

AUDIOCVT_MAX_FILTERS Â¶

AUDIOCVT_MAX_FILTERS :: 9

AUDIO_ALLOW_ANY_CHANGE Â¶

AUDIO_ALLOW_ANY_CHANGE :: AUDIO_ALLOW_FREQUENCY_CHANGE | AUDIO_ALLOW_FORMAT_CHANGE | AUDIO_ALLOW_CHANNELS_CHANGE | AUDIO_ALLOW_SAMPLES_CHANGE

AUDIO_ALLOW_CHANNELS_CHANGE Â¶

AUDIO_ALLOW_CHANNELS_CHANGE :: 0x00000004

AUDIO_ALLOW_FORMAT_CHANGE Â¶

AUDIO_ALLOW_FORMAT_CHANGE :: 0x00000002

AUDIO_ALLOW_FREQUENCY_CHANGE Â¶

AUDIO_ALLOW_FREQUENCY_CHANGE :: 0x00000001

AUDIO_ALLOW_SAMPLES_CHANGE Â¶

AUDIO_ALLOW_SAMPLES_CHANGE :: 0x00000008

AUDIO_F32 Â¶

AUDIO_F32 :: AUDIO_F32LSB

AUDIO_F32LSB Â¶

AUDIO_F32LSB :: 0x8120
 

*< 32-bit floating point samples

AUDIO_F32MSB Â¶

AUDIO_F32MSB :: 0x9120
 

*< As above, but big-endian byte order

AUDIO_F32SYS Â¶

AUDIO_F32SYS :: AUDIO_F32LSB

AUDIO_MASK_BITSIZE Â¶

AUDIO_MASK_BITSIZE :: 0xFF

AUDIO_MASK_DATATYPE Â¶

AUDIO_MASK_DATATYPE :: 1 << 8

AUDIO_MASK_ENDIAN Â¶

AUDIO_MASK_ENDIAN :: 1 << 12

AUDIO_MASK_SIGNED Â¶

AUDIO_MASK_SIGNED :: 1 << 15

AUDIO_S16 Â¶

AUDIO_S16 :: AUDIO_S16LSB

AUDIO_S16LSB Â¶

AUDIO_S16LSB :: 0x8010
 

*< Signed 16-bit samples

AUDIO_S16MSB Â¶

AUDIO_S16MSB :: 0x9010
 

*< As above, but big-endian byte order

AUDIO_S16SYS Â¶

AUDIO_S16SYS :: AUDIO_S16LSB

AUDIO_S32 Â¶

AUDIO_S32 :: AUDIO_S32LSB

AUDIO_S32LSB Â¶

AUDIO_S32LSB :: 0x8020
 

*< 32-bit integer samples

AUDIO_S32MSB Â¶

AUDIO_S32MSB :: 0x9020
 

*< As above, but big-endian byte order

AUDIO_S32SYS Â¶

AUDIO_S32SYS :: AUDIO_S32LSB

AUDIO_S8 Â¶

AUDIO_S8 :: 0x8008
 

*< Signed 8-bit samples

AUDIO_U16 Â¶

AUDIO_U16 :: AUDIO_U16LSB

AUDIO_U16LSB Â¶

AUDIO_U16LSB :: 0x0010
 

*< Unsigned 16-bit samples

AUDIO_U16MSB Â¶

AUDIO_U16MSB :: 0x1010
 

*< As above, but big-endian byte order

AUDIO_U16SYS Â¶

AUDIO_U16SYS :: AUDIO_U16LSB

AUDIO_U8 Â¶

AUDIO_U8 :: 0x0008
 

*< Unsigned 8-bit samples

BITMAPORDER_1234 Â¶

BITMAPORDER_1234 :: 2

BITMAPORDER_4321 Â¶

BITMAPORDER_4321 :: 1

BITMAPORDER_NONE Â¶

BITMAPORDER_NONE :: 0

BUTTON_LEFT Â¶

BUTTON_LEFT :: 1

BUTTON_LMASK Â¶

BUTTON_LMASK :: 1 << (BUTTON_LEFT - 1)

BUTTON_MIDDLE Â¶

BUTTON_MIDDLE :: 2

BUTTON_MMASK Â¶

BUTTON_MMASK :: 1 << (BUTTON_MIDDLE - 1)

BUTTON_RIGHT Â¶

BUTTON_RIGHT :: 3

BUTTON_RMASK Â¶

BUTTON_RMASK :: 1 << (BUTTON_RIGHT - 1)

BUTTON_X1 Â¶

BUTTON_X1 :: 4

BUTTON_X1MASK Â¶

BUTTON_X1MASK :: 1 << (BUTTON_X1 - 1)

BUTTON_X2 Â¶

BUTTON_X2 :: 5

BUTTON_X2MASK Â¶

BUTTON_X2MASK :: 1 << (BUTTON_X2 - 1)

CACHELINE_SIZE Â¶

CACHELINE_SIZE :: 128
 

This is a guess for the cacheline size used for padding. * Most x86 processors have a 64 byte cache line. * The 64-bit PowerPC processors have a 128 byte cache line. * We'll use the larger value to be generally safe.

DISABLE Â¶

DISABLE :: 0

DONTFREE Â¶

DONTFREE :: 0x00000004
 

*< Surface is referenced internally

ENABLE Â¶

ENABLE :: 1

HAPTIC_AUTOCENTER Â¶

HAPTIC_AUTOCENTER :: HapticType.AUTOCENTER

HAPTIC_CARTESIAN Â¶

HAPTIC_CARTESIAN :: HapticDirectionType.CARTESIAN

HAPTIC_CONSTANT Â¶

HAPTIC_CONSTANT :: HapticType.CONSTANT

HAPTIC_CUSTOM Â¶

HAPTIC_CUSTOM :: HapticType.CUSTOM

HAPTIC_DAMPER Â¶

HAPTIC_DAMPER :: HapticType.DAMPER

HAPTIC_FRICTION Â¶

HAPTIC_FRICTION :: HapticType.FRICTION

HAPTIC_GAIN Â¶

HAPTIC_GAIN :: HapticType.GAIN

HAPTIC_INERTIA Â¶

HAPTIC_INERTIA :: HapticType.INERTIA

HAPTIC_INFINITY Â¶

HAPTIC_INFINITY :: 4294967295

HAPTIC_LEFTRIGHT Â¶

HAPTIC_LEFTRIGHT :: HapticType.LEFTRIGHT

HAPTIC_PAUSE Â¶

HAPTIC_PAUSE :: HapticType.PAUSE

HAPTIC_POLAR Â¶

HAPTIC_POLAR :: HapticDirectionType.POLAR

HAPTIC_RAMP Â¶

HAPTIC_RAMP :: HapticType.RAMP

HAPTIC_SAWTOOTHDOWN Â¶

HAPTIC_SAWTOOTHDOWN :: HapticType.SAWTOOTHDOWN

HAPTIC_SAWTOOTHUP Â¶

HAPTIC_SAWTOOTHUP :: HapticType.SAWTOOTHUP

HAPTIC_SINE Â¶

HAPTIC_SINE :: HapticType.SINE

HAPTIC_SPHERICAL Â¶

HAPTIC_SPHERICAL :: HapticDirectionType.SPHERICAL

HAPTIC_SPRING Â¶

HAPTIC_SPRING :: HapticType.SPRING

HAPTIC_STATUS Â¶

HAPTIC_STATUS :: HapticType.STATUS

HAPTIC_STEERING_AXIS Â¶

HAPTIC_STEERING_AXIS :: HapticDirectionType.STEERING_AXIS

HAPTIC_TRIANGLE Â¶

HAPTIC_TRIANGLE :: HapticType.TRIANGLE

HAT_CENTERED Â¶

HAT_CENTERED :: 0x00

HAT_DOWN Â¶

HAT_DOWN :: 0x04

HAT_LEFT Â¶

HAT_LEFT :: 0x08

HAT_LEFTDOWN Â¶

HAT_LEFTDOWN :: HAT_LEFT | HAT_DOWN

HAT_LEFTUP Â¶

HAT_LEFTUP :: HAT_LEFT | HAT_UP

HAT_RIGHT Â¶

HAT_RIGHT :: 0x02

HAT_RIGHTDOWN Â¶

HAT_RIGHTDOWN :: HAT_RIGHT | HAT_DOWN

HAT_RIGHTUP Â¶

HAT_RIGHTUP :: HAT_RIGHT | HAT_UP

HAT_UP Â¶

HAT_UP :: 0x01

HINT_ACCELEROMETER_AS_JOYSTICK Â¶

HINT_ACCELEROMETER_AS_JOYSTICK :: "SDL_ACCELEROMETER_AS_JOYSTICK"

HINT_ALLOW_ALT_TAB_WHILE_GRABBED Â¶

HINT_ALLOW_ALT_TAB_WHILE_GRABBED :: "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"

HINT_ALLOW_TOPMOST Â¶

HINT_ALLOW_TOPMOST :: "SDL_ALLOW_TOPMOST"

HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION Â¶

HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"

HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION Â¶

HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"

HINT_ANDROID_BLOCK_ON_PAUSE Â¶

HINT_ANDROID_BLOCK_ON_PAUSE :: "SDL_ANDROID_BLOCK_ON_PAUSE"

HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO Â¶

HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO :: "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO"

HINT_ANDROID_TRAP_BACK_BUTTON Â¶

HINT_ANDROID_TRAP_BACK_BUTTON :: "SDL_ANDROID_TRAP_BACK_BUTTON"

HINT_APPLE_TV_CONTROLLER_UI_EVENTS Â¶

HINT_APPLE_TV_CONTROLLER_UI_EVENTS :: "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"

HINT_APPLE_TV_REMOTE_ALLOW_ROTATION Â¶

HINT_APPLE_TV_REMOTE_ALLOW_ROTATION :: "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"

HINT_AUDIO_CATEGORY Â¶

HINT_AUDIO_CATEGORY :: "SDL_AUDIO_CATEGORY"

HINT_AUDIO_DEVICE_APP_NAME Â¶

HINT_AUDIO_DEVICE_APP_NAME :: "SDL_AUDIO_DEVICE_APP_NAME"

HINT_AUDIO_DEVICE_STREAM_NAME Â¶

HINT_AUDIO_DEVICE_STREAM_NAME :: "SDL_AUDIO_DEVICE_STREAM_NAME"

HINT_AUDIO_DEVICE_STREAM_ROLE Â¶

HINT_AUDIO_DEVICE_STREAM_ROLE :: "SDL_AUDIO_DEVICE_STREAM_ROLE"

HINT_AUDIO_INCLUDE_MONITORS Â¶

HINT_AUDIO_INCLUDE_MONITORS :: "SDL_AUDIO_INCLUDE_MONITORS"

HINT_AUDIO_RESAMPLING_MODE Â¶

HINT_AUDIO_RESAMPLING_MODE :: "SDL_AUDIO_RESAMPLING_MODE"

HINT_AUTO_UPDATE_JOYSTICKS Â¶

HINT_AUTO_UPDATE_JOYSTICKS :: "SDL_AUTO_UPDATE_JOYSTICKS"

HINT_AUTO_UPDATE_SENSORS Â¶

HINT_AUTO_UPDATE_SENSORS :: "SDL_AUTO_UPDATE_SENSORS"

HINT_BMP_SAVE_LEGACY_FORMAT Â¶

HINT_BMP_SAVE_LEGACY_FORMAT :: "SDL_BMP_SAVE_LEGACY_FORMAT"

HINT_DISPLAY_USABLE_BOUNDS Â¶

HINT_DISPLAY_USABLE_BOUNDS :: "SDL_DISPLAY_USABLE_BOUNDS"

HINT_EMSCRIPTEN_ASYNCIFY Â¶

HINT_EMSCRIPTEN_ASYNCIFY :: "SDL_EMSCRIPTEN_ASYNCIFY"

HINT_EMSCRIPTEN_KEYBOARD_ELEMENT Â¶

HINT_EMSCRIPTEN_KEYBOARD_ELEMENT :: "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"

HINT_ENABLE_STEAM_CONTROLLERS Â¶

HINT_ENABLE_STEAM_CONTROLLERS :: "SDL_ENABLE_STEAM_CONTROLLERS"

HINT_EVENT_LOGGING Â¶

HINT_EVENT_LOGGING :: "SDL_EVENT_LOGGING"

HINT_FRAMEBUFFER_ACCELERATION Â¶

HINT_FRAMEBUFFER_ACCELERATION :: "SDL_FRAMEBUFFER_ACCELERATION"

HINT_GAMECONTROLLERCONFIG Â¶

HINT_GAMECONTROLLERCONFIG :: "SDL_GAMECONTROLLERCONFIG"

HINT_GAMECONTROLLERCONFIG_FILE Â¶

HINT_GAMECONTROLLERCONFIG_FILE :: "SDL_GAMECONTROLLERCONFIG_FILE"

HINT_GAMECONTROLLERTYPE Â¶

HINT_GAMECONTROLLERTYPE :: "SDL_GAMECONTROLLERTYPE"

HINT_GAMECONTROLLER_IGNORE_DEVICES Â¶

HINT_GAMECONTROLLER_IGNORE_DEVICES :: "SDL_GAMECONTROLLER_IGNORE_DEVICES"

HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT Â¶

HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT :: "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"

HINT_GAMECONTROLLER_USE_BUTTON_LABELS Â¶

HINT_GAMECONTROLLER_USE_BUTTON_LABELS :: "SDL_GAMECONTROLLER_USE_BUTTON_LABELS"

HINT_GRAB_KEYBOARD Â¶

HINT_GRAB_KEYBOARD :: "SDL_GRAB_KEYBOARD"

HINT_IDLE_TIMER_DISABLED Â¶

HINT_IDLE_TIMER_DISABLED :: "SDL_IOS_IDLE_TIMER_DISABLED"

HINT_IME_INTERNAL_EDITING Â¶

HINT_IME_INTERNAL_EDITING :: "SDL_IME_INTERNAL_EDITING"

HINT_IOS_HIDE_HOME_INDICATOR Â¶

HINT_IOS_HIDE_HOME_INDICATOR :: "SDL_IOS_HIDE_HOME_INDICATOR"

HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS Â¶

HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS :: "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"

HINT_JOYSTICK_HIDAPI Â¶

HINT_JOYSTICK_HIDAPI :: "SDL_JOYSTICK_HIDAPI"

HINT_JOYSTICK_HIDAPI_GAMECUBE Â¶

HINT_JOYSTICK_HIDAPI_GAMECUBE :: "SDL_JOYSTICK_HIDAPI_GAMECUBE"

HINT_JOYSTICK_HIDAPI_JOY_CONS Â¶

HINT_JOYSTICK_HIDAPI_JOY_CONS :: "SDL_JOYSTICK_HIDAPI_JOY_CONS"

HINT_JOYSTICK_HIDAPI_LUNA Â¶

HINT_JOYSTICK_HIDAPI_LUNA :: "SDL_JOYSTICK_HIDAPI_LUNA"

HINT_JOYSTICK_HIDAPI_PS4 Â¶

HINT_JOYSTICK_HIDAPI_PS4 :: "SDL_JOYSTICK_HIDAPI_PS4"

HINT_JOYSTICK_HIDAPI_PS4_RUMBLE Â¶

HINT_JOYSTICK_HIDAPI_PS4_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"

HINT_JOYSTICK_HIDAPI_PS5 Â¶

HINT_JOYSTICK_HIDAPI_PS5 :: "SDL_JOYSTICK_HIDAPI_PS5"

HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED Â¶

HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED :: "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"

HINT_JOYSTICK_HIDAPI_PS5_RUMBLE Â¶

HINT_JOYSTICK_HIDAPI_PS5_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE"

HINT_JOYSTICK_HIDAPI_STADIA Â¶

HINT_JOYSTICK_HIDAPI_STADIA :: "SDL_JOYSTICK_HIDAPI_STADIA"

HINT_JOYSTICK_HIDAPI_STEAM Â¶

HINT_JOYSTICK_HIDAPI_STEAM :: "SDL_JOYSTICK_HIDAPI_STEAM"

HINT_JOYSTICK_HIDAPI_SWITCH Â¶

HINT_JOYSTICK_HIDAPI_SWITCH :: "SDL_JOYSTICK_HIDAPI_SWITCH"

HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED Â¶

HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED :: "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"

HINT_JOYSTICK_HIDAPI_XBOX Â¶

HINT_JOYSTICK_HIDAPI_XBOX :: "SDL_JOYSTICK_HIDAPI_XBOX"

HINT_JOYSTICK_RAWINPUT Â¶

HINT_JOYSTICK_RAWINPUT :: "SDL_JOYSTICK_RAWINPUT"

HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT Â¶

HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT :: "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"

HINT_JOYSTICK_THREAD Â¶

HINT_JOYSTICK_THREAD :: "SDL_JOYSTICK_THREAD"

HINT_KMSDRM_REQUIRE_DRM_MASTER Â¶

HINT_KMSDRM_REQUIRE_DRM_MASTER :: "SDL_KMSDRM_REQUIRE_DRM_MASTER"

HINT_LINUX_JOYSTICK_DEADZONES Â¶

HINT_LINUX_JOYSTICK_DEADZONES :: "SDL_LINUX_JOYSTICK_DEADZONES"

HINT_MAC_BACKGROUND_APP Â¶

HINT_MAC_BACKGROUND_APP :: "SDL_MAC_BACKGROUND_APP"

HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK Â¶

HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK :: "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"

HINT_MOUSE_DOUBLE_CLICK_RADIUS Â¶

HINT_MOUSE_DOUBLE_CLICK_RADIUS :: "SDL_MOUSE_DOUBLE_CLICK_RADIUS"

HINT_MOUSE_DOUBLE_CLICK_TIME Â¶

HINT_MOUSE_DOUBLE_CLICK_TIME :: "SDL_MOUSE_DOUBLE_CLICK_TIME"

HINT_MOUSE_FOCUS_CLICKTHROUGH Â¶

HINT_MOUSE_FOCUS_CLICKTHROUGH :: "SDL_MOUSE_FOCUS_CLICKTHROUGH"

HINT_MOUSE_NORMAL_SPEED_SCALE Â¶

HINT_MOUSE_NORMAL_SPEED_SCALE :: "SDL_MOUSE_NORMAL_SPEED_SCALE"

HINT_MOUSE_RELATIVE_MODE_WARP Â¶

HINT_MOUSE_RELATIVE_MODE_WARP :: "SDL_MOUSE_RELATIVE_MODE_WARP"

HINT_MOUSE_RELATIVE_SCALING Â¶

HINT_MOUSE_RELATIVE_SCALING :: "SDL_MOUSE_RELATIVE_SCALING"

HINT_MOUSE_RELATIVE_SPEED_SCALE Â¶

HINT_MOUSE_RELATIVE_SPEED_SCALE :: "SDL_MOUSE_RELATIVE_SPEED_SCALE"

HINT_MOUSE_TOUCH_EVENTS Â¶

HINT_MOUSE_TOUCH_EVENTS :: "SDL_MOUSE_TOUCH_EVENTS"

HINT_NO_SIGNAL_HANDLERS Â¶

HINT_NO_SIGNAL_HANDLERS :: "SDL_NO_SIGNAL_HANDLERS"

HINT_OPENGL_ES_DRIVER Â¶

HINT_OPENGL_ES_DRIVER :: "SDL_OPENGL_ES_DRIVER"

HINT_ORIENTATIONS Â¶

HINT_ORIENTATIONS :: "SDL_IOS_ORIENTATIONS"

HINT_PREFERRED_LOCALES Â¶

HINT_PREFERRED_LOCALES :: "SDL_PREFERRED_LOCALES"

HINT_QTWAYLAND_CONTENT_ORIENTATION Â¶

HINT_QTWAYLAND_CONTENT_ORIENTATION :: "SDL_QTWAYLAND_CONTENT_ORIENTATION"

HINT_QTWAYLAND_WINDOW_FLAGS Â¶

HINT_QTWAYLAND_WINDOW_FLAGS :: "SDL_QTWAYLAND_WINDOW_FLAGS"

HINT_RENDER_BATCHING Â¶

HINT_RENDER_BATCHING :: "SDL_RENDER_BATCHING"

HINT_RENDER_DIRECT3D11_DEBUG Â¶

HINT_RENDER_DIRECT3D11_DEBUG :: "SDL_RENDER_DIRECT3D11_DEBUG"

HINT_RENDER_DIRECT3D_THREADSAFE Â¶

HINT_RENDER_DIRECT3D_THREADSAFE :: "SDL_RENDER_DIRECT3D_THREADSAFE"

HINT_RENDER_DRIVER Â¶

HINT_RENDER_DRIVER :: "SDL_RENDER_DRIVER"

HINT_RENDER_LOGICAL_SIZE_MODE Â¶

HINT_RENDER_LOGICAL_SIZE_MODE :: "SDL_RENDER_LOGICAL_SIZE_MODE"

HINT_RENDER_OPENGL_SHADERS Â¶

HINT_RENDER_OPENGL_SHADERS :: "SDL_RENDER_OPENGL_SHADERS"

HINT_RENDER_SCALE_QUALITY Â¶

HINT_RENDER_SCALE_QUALITY :: "SDL_RENDER_SCALE_QUALITY"

HINT_RENDER_VSYNC Â¶

HINT_RENDER_VSYNC :: "SDL_RENDER_VSYNC"

HINT_RETURN_KEY_HIDES_IME Â¶

HINT_RETURN_KEY_HIDES_IME :: "SDL_RETURN_KEY_HIDES_IME"

HINT_RPI_VIDEO_LAYER Â¶

HINT_RPI_VIDEO_LAYER :: "SDL_RPI_VIDEO_LAYER"

HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL Â¶

HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL :: "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"

HINT_THREAD_PRIORITY_POLICY Â¶

HINT_THREAD_PRIORITY_POLICY :: "SDL_THREAD_PRIORITY_POLICY"

HINT_THREAD_STACK_SIZE Â¶

HINT_THREAD_STACK_SIZE :: "SDL_THREAD_STACK_SIZE"

HINT_TIMER_RESOLUTION Â¶

HINT_TIMER_RESOLUTION :: "SDL_TIMER_RESOLUTION"

HINT_TOUCH_MOUSE_EVENTS Â¶

HINT_TOUCH_MOUSE_EVENTS :: "SDL_TOUCH_MOUSE_EVENTS"

HINT_TV_REMOTE_AS_JOYSTICK Â¶

HINT_TV_REMOTE_AS_JOYSTICK :: "SDL_TV_REMOTE_AS_JOYSTICK"

HINT_VIDEO_ALLOW_SCREENSAVER Â¶

HINT_VIDEO_ALLOW_SCREENSAVER :: "SDL_VIDEO_ALLOW_SCREENSAVER"

HINT_VIDEO_DOUBLE_BUFFER Â¶

HINT_VIDEO_DOUBLE_BUFFER :: "SDL_VIDEO_DOUBLE_BUFFER"

HINT_VIDEO_EXTERNAL_CONTEXT Â¶

HINT_VIDEO_EXTERNAL_CONTEXT :: "SDL_VIDEO_EXTERNAL_CONTEXT"

HINT_VIDEO_HIGHDPI_DISABLED Â¶

HINT_VIDEO_HIGHDPI_DISABLED :: "SDL_VIDEO_HIGHDPI_DISABLED"

HINT_VIDEO_MAC_FULLSCREEN_SPACES Â¶

HINT_VIDEO_MAC_FULLSCREEN_SPACES :: "SDL_VIDEO_MAC_FULLSCREEN_SPACES"

HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS Â¶

HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS :: "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"

HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR Â¶

HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR :: "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"

HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT Â¶

HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT :: "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"

HINT_VIDEO_WIN_D3DCOMPILER Â¶

HINT_VIDEO_WIN_D3DCOMPILER :: "SDL_VIDEO_WIN_D3DCOMPILER"

HINT_VIDEO_X11_FORCE_EGL Â¶

HINT_VIDEO_X11_FORCE_EGL :: "SDL_VIDEO_X11_FORCE_EGL"

HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR Â¶

HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR :: "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"

HINT_VIDEO_X11_NET_WM_PING Â¶

HINT_VIDEO_X11_NET_WM_PING :: "SDL_VIDEO_X11_NET_WM_PING"

HINT_VIDEO_X11_WINDOW_VISUALID Â¶

HINT_VIDEO_X11_WINDOW_VISUALID :: "SDL_VIDEO_X11_WINDOW_VISUALID"

HINT_VIDEO_X11_XINERAMA Â¶

HINT_VIDEO_X11_XINERAMA :: "SDL_VIDEO_X11_XINERAMA"

HINT_VIDEO_X11_XRANDR Â¶

HINT_VIDEO_X11_XRANDR :: "SDL_VIDEO_X11_XRANDR"

HINT_VIDEO_X11_XVIDMODE Â¶

HINT_VIDEO_X11_XVIDMODE :: "SDL_VIDEO_X11_XVIDMODE"

HINT_WAVE_FACT_CHUNK Â¶

HINT_WAVE_FACT_CHUNK :: "SDL_WAVE_FACT_CHUNK"

HINT_WAVE_RIFF_CHUNK_SIZE Â¶

HINT_WAVE_RIFF_CHUNK_SIZE :: "SDL_WAVE_RIFF_CHUNK_SIZE"

HINT_WAVE_TRUNCATION Â¶

HINT_WAVE_TRUNCATION :: "SDL_WAVE_TRUNCATION"

HINT_WINDOWS_DISABLE_THREAD_NAMING Â¶

HINT_WINDOWS_DISABLE_THREAD_NAMING :: "SDL_WINDOWS_DISABLE_THREAD_NAMING"

HINT_WINDOWS_ENABLE_MESSAGELOOP Â¶

HINT_WINDOWS_ENABLE_MESSAGELOOP :: "SDL_WINDOWS_ENABLE_MESSAGELOOP"

HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS Â¶

HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS :: "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS"

HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL Â¶

HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL :: "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"

HINT_WINDOWS_INTRESOURCE_ICON Â¶

HINT_WINDOWS_INTRESOURCE_ICON :: "SDL_WINDOWS_INTRESOURCE_ICON"

HINT_WINDOWS_INTRESOURCE_ICON_SMALL Â¶

HINT_WINDOWS_INTRESOURCE_ICON_SMALL :: "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"

HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 Â¶

HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 :: "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"

HINT_WINDOWS_USE_D3D9EX Â¶

HINT_WINDOWS_USE_D3D9EX :: "SDL_WINDOWS_USE_D3D9EX"

HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN Â¶

HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN :: "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"

HINT_WINRT_HANDLE_BACK_BUTTON Â¶

HINT_WINRT_HANDLE_BACK_BUTTON :: "SDL_WINRT_HANDLE_BACK_BUTTON"

HINT_WINRT_PRIVACY_POLICY_LABEL Â¶

HINT_WINRT_PRIVACY_POLICY_LABEL :: "SDL_WINRT_PRIVACY_POLICY_LABEL"

HINT_WINRT_PRIVACY_POLICY_URL Â¶

HINT_WINRT_PRIVACY_POLICY_URL :: "SDL_WINRT_PRIVACY_POLICY_URL"

HINT_X11_FORCE_OVERRIDE_REDIRECT Â¶

HINT_X11_FORCE_OVERRIDE_REDIRECT :: "SDL_X11_FORCE_OVERRIDE_REDIRECT"

HINT_XINPUT_ENABLED Â¶

HINT_XINPUT_ENABLED :: "SDL_XINPUT_ENABLED"

HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING Â¶

HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING :: "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"

ICONV_E2BIG Â¶

ICONV_E2BIG: uint : ~c.size_t(1)
 

(size_t)-2

ICONV_EILSEQ Â¶

ICONV_EILSEQ: uint : ~c.size_t(2)
 

(size_t)-3

ICONV_EINVAL Â¶

ICONV_EINVAL: uint : ~c.size_t(3)
 

(size_t)-4

ICONV_ERROR Â¶

ICONV_ERROR: uint : ~c.size_t(0)
 

The SDL implementation of iconv() returns these error codes

IGNORE Â¶

IGNORE :: 0

INIT_AUDIO Â¶

INIT_AUDIO: bit_set[InitFlag; u32] : InitFlags{.AUDIO}

INIT_EVENTS Â¶

INIT_EVENTS: bit_set[InitFlag; u32] : InitFlags{.EVENTS}

INIT_EVERYTHING Â¶

INIT_EVERYTHING: bit_set[InitFlag; u32] : InitFlags{.TIMER, .AUDIO, .VIDEO, .EVENTS, .JOYSTICK, .HAPTIC, .GAMECONTROLLER, .SENSOR}

INIT_GAMECONTROLLER Â¶

INIT_GAMECONTROLLER: bit_set[InitFlag; u32] : InitFlags{.GAMECONTROLLER}
 

*< INIT_GAMECONTROLLER implies INIT_JOYSTICK

INIT_HAPTIC Â¶

INIT_HAPTIC: bit_set[InitFlag; u32] : InitFlags{.HAPTIC}

INIT_JOYSTICK Â¶

INIT_JOYSTICK: bit_set[InitFlag; u32] : InitFlags{.JOYSTICK}
 

*< INIT_JOYSTICK implies INIT_EVENTS

INIT_NOPARACHUTE Â¶

INIT_NOPARACHUTE: bit_set[InitFlag; u32] : InitFlags{.NOPARACHUTE}
 

*< compatibility; this flag is ignored.

INIT_SENSOR Â¶

INIT_SENSOR: bit_set[InitFlag; u32] : InitFlags{.SENSOR}

INIT_TIMER Â¶

INIT_TIMER: bit_set[InitFlag; u32] : InitFlags{.TIMER}

INIT_VIDEO Â¶

INIT_VIDEO: bit_set[InitFlag; u32] : InitFlags{.VIDEO}
 

*< INIT_VIDEO implies INIT_EVENTS

INVALID_SHAPE_ARGUMENT Â¶

INVALID_SHAPE_ARGUMENT :: -2

IPHONE_MAX_GFORCE Â¶

IPHONE_MAX_GFORCE :: 5.0

JOYSTICK_AXIS_MAX Â¶

JOYSTICK_AXIS_MAX :: +32767

JOYSTICK_AXIS_MIN Â¶

JOYSTICK_AXIS_MIN :: -32768

KMOD_ALT Â¶

KMOD_ALT :: Keymod{.LALT, .RALT}

KMOD_CAPS Â¶

KMOD_CAPS :: Keymod{.CAPS}

KMOD_CTRL Â¶

KMOD_CTRL :: Keymod{.LCTRL, .RCTRL}

KMOD_GUI Â¶

KMOD_GUI :: Keymod{.LGUI, .RGUI}

KMOD_LALT Â¶

KMOD_LALT :: Keymod{.LALT}

KMOD_LCTRL Â¶

KMOD_LCTRL :: Keymod{.LCTRL}

KMOD_LGUI Â¶

KMOD_LGUI :: Keymod{.LGUI}

KMOD_LSHIFT Â¶

KMOD_LSHIFT :: Keymod{.LSHIFT}

KMOD_MODE Â¶

KMOD_MODE :: Keymod{.MODE}

KMOD_NONE Â¶

KMOD_NONE :: Keymod{}

KMOD_NUM Â¶

KMOD_NUM :: Keymod{.NUM}

KMOD_RALT Â¶

KMOD_RALT :: Keymod{.RALT}

KMOD_RCTRL Â¶

KMOD_RCTRL :: Keymod{.RCTRL}

KMOD_RESERVED Â¶

KMOD_RESERVED :: Keymod{.RESERVED}

KMOD_RGUI Â¶

KMOD_RGUI :: Keymod{.RGUI}

KMOD_RSHIFT Â¶

KMOD_RSHIFT :: Keymod{.RSHIFT}

KMOD_SHIFT Â¶

KMOD_SHIFT :: Keymod{.LSHIFT, .RSHIFT}

MAJOR_VERSION Â¶

MAJOR_VERSION :: 2

MAX_LOG_MESSAGE Â¶

MAX_LOG_MESSAGE :: 4096

MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT Â¶

MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT :: MessageBoxFlags{.BUTTONS_LEFT_TO_RIGHT}

MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT Â¶

MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT :: MessageBoxFlags{.BUTTONS_RIGHT_TO_LEFT}

MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT Â¶

MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT :: MessageBoxButtonFlags{.ESCAPEKEY_DEFAULT}

MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT Â¶

MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT :: MessageBoxButtonFlags{.RETURNKEY_DEFAULT}

MESSAGEBOX_ERROR Â¶

MESSAGEBOX_ERROR :: MessageBoxFlags{.ERROR}

MESSAGEBOX_INFORMATION Â¶

MESSAGEBOX_INFORMATION :: MessageBoxFlags{.INFORMATION}

MESSAGEBOX_WARNING Â¶

MESSAGEBOX_WARNING :: MessageBoxFlags{.WARNING}

MINOR_VERSION Â¶

MINOR_VERSION :: 0

MIX_MAXVOLUME Â¶

MIX_MAXVOLUME :: 128

MOUSE_TOUCH_ID Â¶

MOUSE_TOUCH_ID :: TouchID(-1)

MUTEX_MAXWAIT Â¶

MUTEX_MAXWAIT: u32 : ~u32(0)

MUTEX_TIMEDOUT Â¶

MUTEX_TIMEDOUT :: 1

M_PI Â¶

M_PI :: 3.14159265358979323846264338327950288

NONSHAPEABLE_WINDOW Â¶

NONSHAPEABLE_WINDOW :: -1

NUM_SCANCODES Â¶

NUM_SCANCODES :: 512

PACKEDLAYOUT_101010 Â¶

PACKEDLAYOUT_101010 :: 8

PACKEDLAYOUT_1555 Â¶

PACKEDLAYOUT_1555 :: 3

PACKEDLAYOUT_2101010 Â¶

PACKEDLAYOUT_2101010 :: 7

PACKEDLAYOUT_332 Â¶

PACKEDLAYOUT_332 :: 1

PACKEDLAYOUT_4444 Â¶

PACKEDLAYOUT_4444 :: 2

PACKEDLAYOUT_5551 Â¶

PACKEDLAYOUT_5551 :: 4

PACKEDLAYOUT_565 Â¶

PACKEDLAYOUT_565 :: 5

PACKEDLAYOUT_8888 Â¶

PACKEDLAYOUT_8888 :: 6

PACKEDLAYOUT_NONE Â¶

PACKEDLAYOUT_NONE :: 0

PACKEDORDER_ABGR Â¶

PACKEDORDER_ABGR :: 7

PACKEDORDER_ARGB Â¶

PACKEDORDER_ARGB :: 3

PACKEDORDER_BGRA Â¶

PACKEDORDER_BGRA :: 8

PACKEDORDER_BGRX Â¶

PACKEDORDER_BGRX :: 6

PACKEDORDER_NONE Â¶

PACKEDORDER_NONE :: 0

PACKEDORDER_RGBA Â¶

PACKEDORDER_RGBA :: 4

PACKEDORDER_RGBX Â¶

PACKEDORDER_RGBX :: 2

PACKEDORDER_XBGR Â¶

PACKEDORDER_XBGR :: 5

PACKEDORDER_XRGB Â¶

PACKEDORDER_XRGB :: 1

PATCHLEVEL Â¶

PATCHLEVEL :: 16

PIXELTYPE_ARRAYF16 Â¶

PIXELTYPE_ARRAYF16 :: 10

PIXELTYPE_ARRAYF3 Â¶

PIXELTYPE_ARRAYF3 :: 11

PIXELTYPE_ARRAYU16 Â¶

PIXELTYPE_ARRAYU16 :: 8

PIXELTYPE_ARRAYU32 Â¶

PIXELTYPE_ARRAYU32 :: 9

PIXELTYPE_ARRAYU8 Â¶

PIXELTYPE_ARRAYU8 :: 7

PIXELTYPE_INDEX1 Â¶

PIXELTYPE_INDEX1 :: 1

PIXELTYPE_INDEX4 Â¶

PIXELTYPE_INDEX4 :: 2

PIXELTYPE_INDEX8 Â¶

PIXELTYPE_INDEX8 :: 3

PIXELTYPE_PACKED16 Â¶

PIXELTYPE_PACKED16 :: 5

PIXELTYPE_PACKED32 Â¶

PIXELTYPE_PACKED32 :: 6

PIXELTYPE_PACKED8 Â¶

PIXELTYPE_PACKED8 :: 4

PIXELTYPE_UNKNOWN Â¶

PIXELTYPE_UNKNOWN :: 0

PREALLOC Â¶

PREALLOC :: 0x00000001
 

*< Surface uses preallocated memory

PRESSED Â¶

PRESSED :: 1

QUERY Â¶

QUERY :: -1

RELEASED Â¶

RELEASED :: 0

RENDERER_ACCELERATED Â¶

RENDERER_ACCELERATED :: RendererFlags{.ACCELERATED}

RENDERER_PRESENTVSYNC Â¶

RENDERER_PRESENTVSYNC :: RendererFlags{.PRESENTVSYNC}

RENDERER_SOFTWARE Â¶

RENDERER_SOFTWARE :: RendererFlags{.SOFTWARE}

RENDERER_TARGETTEXTURE Â¶

RENDERER_TARGETTEXTURE :: RendererFlags{.TARGETTEXTURE}

RLEACCEL Â¶

RLEACCEL :: 0x00000002
 

*< Surface is RLE encoded

RWOPS_JNIFILE Â¶

RWOPS_JNIFILE :: 3
 

*< Android asset

RWOPS_MEMORY Â¶

RWOPS_MEMORY :: 4
 

*< Memory stream

RWOPS_MEMORY_RO Â¶

RWOPS_MEMORY_RO :: 5
 

*< Read-Only memory stream

RWOPS_STDFILE Â¶

RWOPS_STDFILE :: 2
 

*< Stdio file

RWOPS_UNKNOWN Â¶

RWOPS_UNKNOWN :: 0
 

RWops Types

RWOPS_VITAFILE Â¶

RWOPS_VITAFILE :: 6
 

*< Vita file

RWOPS_WINFILE Â¶

RWOPS_WINFILE :: 1
 

*< Win32 file

SCANCODE_0 Â¶

SCANCODE_0 :: Scancode.NUM0

SCANCODE_1 Â¶

SCANCODE_1 :: Scancode.NUM1

SCANCODE_2 Â¶

SCANCODE_2 :: Scancode.NUM2

SCANCODE_3 Â¶

SCANCODE_3 :: Scancode.NUM3

SCANCODE_4 Â¶

SCANCODE_4 :: Scancode.NUM4

SCANCODE_5 Â¶

SCANCODE_5 :: Scancode.NUM5

SCANCODE_6 Â¶

SCANCODE_6 :: Scancode.NUM6

SCANCODE_7 Â¶

SCANCODE_7 :: Scancode.NUM7

SCANCODE_8 Â¶

SCANCODE_8 :: Scancode.NUM8

SCANCODE_9 Â¶

SCANCODE_9 :: Scancode.NUM9

SCANCODE_A Â¶

SCANCODE_A :: Scancode.A

SCANCODE_AC_BACK Â¶

SCANCODE_AC_BACK :: Scancode.AC_BACK

SCANCODE_AC_BOOKMARKS Â¶

SCANCODE_AC_BOOKMARKS :: Scancode.AC_BOOKMARKS

SCANCODE_AC_FORWARD Â¶

SCANCODE_AC_FORWARD :: Scancode.AC_FORWARD

SCANCODE_AC_HOME Â¶

SCANCODE_AC_HOME :: Scancode.AC_HOME

SCANCODE_AC_REFRESH Â¶

SCANCODE_AC_REFRESH :: Scancode.AC_REFRESH
SCANCODE_AC_SEARCH :: Scancode.AC_SEARCH

SCANCODE_AC_STOP Â¶

SCANCODE_AC_STOP :: Scancode.AC_STOP

SCANCODE_AGAIN Â¶

SCANCODE_AGAIN :: Scancode.AGAIN

SCANCODE_ALTERASE Â¶

SCANCODE_ALTERASE :: Scancode.ALTERASE

SCANCODE_APOSTROPHE Â¶

SCANCODE_APOSTROPHE :: Scancode.APOSTROPHE

SCANCODE_APP1 Â¶

SCANCODE_APP1 :: Scancode.APP1

SCANCODE_APP2 Â¶

SCANCODE_APP2 :: Scancode.APP2

SCANCODE_APPLICATION Â¶

SCANCODE_APPLICATION :: Scancode.APPLICATION

SCANCODE_AUDIOFASTFORWARD Â¶

SCANCODE_AUDIOFASTFORWARD :: Scancode.AUDIOFASTFORWARD

SCANCODE_AUDIOMUTE Â¶

SCANCODE_AUDIOMUTE :: Scancode.AUDIOMUTE

SCANCODE_AUDIONEXT Â¶

SCANCODE_AUDIONEXT :: Scancode.AUDIONEXT

SCANCODE_AUDIOPLAY Â¶

SCANCODE_AUDIOPLAY :: Scancode.AUDIOPLAY

SCANCODE_AUDIOPREV Â¶

SCANCODE_AUDIOPREV :: Scancode.AUDIOPREV

SCANCODE_AUDIOREWIND Â¶

SCANCODE_AUDIOREWIND :: Scancode.AUDIOREWIND

SCANCODE_AUDIOSTOP Â¶

SCANCODE_AUDIOSTOP :: Scancode.AUDIOSTOP

SCANCODE_B Â¶

SCANCODE_B :: Scancode.B

SCANCODE_BACKSLASH Â¶

SCANCODE_BACKSLASH :: Scancode.BACKSLASH

SCANCODE_BACKSPACE Â¶

SCANCODE_BACKSPACE :: Scancode.BACKSPACE

SCANCODE_BRIGHTNESSDOWN Â¶

SCANCODE_BRIGHTNESSDOWN :: Scancode.BRIGHTNESSDOWN

SCANCODE_BRIGHTNESSUP Â¶

SCANCODE_BRIGHTNESSUP :: Scancode.BRIGHTNESSUP

SCANCODE_C Â¶

SCANCODE_C :: Scancode.C

SCANCODE_CALCULATOR Â¶

SCANCODE_CALCULATOR :: Scancode.CALCULATOR

SCANCODE_CANCEL Â¶

SCANCODE_CANCEL :: Scancode.CANCEL

SCANCODE_CAPSLOCK Â¶

SCANCODE_CAPSLOCK :: Scancode.CAPSLOCK

SCANCODE_CLEAR Â¶

SCANCODE_CLEAR :: Scancode.CLEAR

SCANCODE_CLEARAGAIN Â¶

SCANCODE_CLEARAGAIN :: Scancode.CLEARAGAIN

SCANCODE_COMMA Â¶

SCANCODE_COMMA :: Scancode.COMMA

SCANCODE_COMPUTER Â¶

SCANCODE_COMPUTER :: Scancode.COMPUTER

SCANCODE_COPY Â¶

SCANCODE_COPY :: Scancode.COPY

SCANCODE_CRSEL Â¶

SCANCODE_CRSEL :: Scancode.CRSEL

SCANCODE_CURRENCYSUBUNIT Â¶

SCANCODE_CURRENCYSUBUNIT :: Scancode.CURRENCYSUBUNIT

SCANCODE_CURRENCYUNIT Â¶

SCANCODE_CURRENCYUNIT :: Scancode.CURRENCYUNIT

SCANCODE_CUT Â¶

SCANCODE_CUT :: Scancode.CUT

SCANCODE_D Â¶

SCANCODE_D :: Scancode.D

SCANCODE_DECIMALSEPARATOR Â¶

SCANCODE_DECIMALSEPARATOR :: Scancode.DECIMALSEPARATOR

SCANCODE_DELETE Â¶

SCANCODE_DELETE :: Scancode.DELETE

SCANCODE_DISPLAYSWITCH Â¶

SCANCODE_DISPLAYSWITCH :: Scancode.DISPLAYSWITCH

SCANCODE_DOWN Â¶

SCANCODE_DOWN :: Scancode.DOWN

SCANCODE_E Â¶

SCANCODE_E :: Scancode.E

SCANCODE_EJECT Â¶

SCANCODE_EJECT :: Scancode.EJECT

SCANCODE_END Â¶

SCANCODE_END :: Scancode.END

SCANCODE_EQUALS Â¶

SCANCODE_EQUALS :: Scancode.EQUALS

SCANCODE_ESCAPE Â¶

SCANCODE_ESCAPE :: Scancode.ESCAPE

SCANCODE_EXECUTE Â¶

SCANCODE_EXECUTE :: Scancode.EXECUTE

SCANCODE_EXSEL Â¶

SCANCODE_EXSEL :: Scancode.EXSEL

SCANCODE_F Â¶

SCANCODE_F :: Scancode.F

SCANCODE_F1 Â¶

SCANCODE_F1 :: Scancode.F1

SCANCODE_F10 Â¶

SCANCODE_F10 :: Scancode.F10

SCANCODE_F11 Â¶

SCANCODE_F11 :: Scancode.F11

SCANCODE_F12 Â¶

SCANCODE_F12 :: Scancode.F12

SCANCODE_F13 Â¶

SCANCODE_F13 :: Scancode.F13

SCANCODE_F14 Â¶

SCANCODE_F14 :: Scancode.F14

SCANCODE_F15 Â¶

SCANCODE_F15 :: Scancode.F15

SCANCODE_F16 Â¶

SCANCODE_F16 :: Scancode.F16

SCANCODE_F17 Â¶

SCANCODE_F17 :: Scancode.F17

SCANCODE_F18 Â¶

SCANCODE_F18 :: Scancode.F18

SCANCODE_F19 Â¶

SCANCODE_F19 :: Scancode.F19

SCANCODE_F2 Â¶

SCANCODE_F2 :: Scancode.F2

SCANCODE_F20 Â¶

SCANCODE_F20 :: Scancode.F20

SCANCODE_F21 Â¶

SCANCODE_F21 :: Scancode.F21

SCANCODE_F22 Â¶

SCANCODE_F22 :: Scancode.F22

SCANCODE_F23 Â¶

SCANCODE_F23 :: Scancode.F23

SCANCODE_F24 Â¶

SCANCODE_F24 :: Scancode.F24

SCANCODE_F3 Â¶

SCANCODE_F3 :: Scancode.F3

SCANCODE_F4 Â¶

SCANCODE_F4 :: Scancode.F4

SCANCODE_F5 Â¶

SCANCODE_F5 :: Scancode.F5

SCANCODE_F6 Â¶

SCANCODE_F6 :: Scancode.F6

SCANCODE_F7 Â¶

SCANCODE_F7 :: Scancode.F7

SCANCODE_F8 Â¶

SCANCODE_F8 :: Scancode.F8

SCANCODE_F9 Â¶

SCANCODE_F9 :: Scancode.F9

SCANCODE_FIND Â¶

SCANCODE_FIND :: Scancode.FIND

SCANCODE_G Â¶

SCANCODE_G :: Scancode.G

SCANCODE_GRAVE Â¶

SCANCODE_GRAVE :: Scancode.GRAVE

SCANCODE_H Â¶

SCANCODE_H :: Scancode.H

SCANCODE_HELP Â¶

SCANCODE_HELP :: Scancode.HELP

SCANCODE_HOME Â¶

SCANCODE_HOME :: Scancode.HOME

SCANCODE_I Â¶

SCANCODE_I :: Scancode.I

SCANCODE_INSERT Â¶

SCANCODE_INSERT :: Scancode.INSERT

SCANCODE_INTERNATIONAL1 Â¶

SCANCODE_INTERNATIONAL1 :: Scancode.INTERNATIONAL1

SCANCODE_INTERNATIONAL2 Â¶

SCANCODE_INTERNATIONAL2 :: Scancode.INTERNATIONAL2

SCANCODE_INTERNATIONAL3 Â¶

SCANCODE_INTERNATIONAL3 :: Scancode.INTERNATIONAL3

SCANCODE_INTERNATIONAL4 Â¶

SCANCODE_INTERNATIONAL4 :: Scancode.INTERNATIONAL4

SCANCODE_INTERNATIONAL5 Â¶

SCANCODE_INTERNATIONAL5 :: Scancode.INTERNATIONAL5

SCANCODE_INTERNATIONAL6 Â¶

SCANCODE_INTERNATIONAL6 :: Scancode.INTERNATIONAL6

SCANCODE_INTERNATIONAL7 Â¶

SCANCODE_INTERNATIONAL7 :: Scancode.INTERNATIONAL7

SCANCODE_INTERNATIONAL8 Â¶

SCANCODE_INTERNATIONAL8 :: Scancode.INTERNATIONAL8

SCANCODE_INTERNATIONAL9 Â¶

SCANCODE_INTERNATIONAL9 :: Scancode.INTERNATIONAL9

SCANCODE_J Â¶

SCANCODE_J :: Scancode.J

SCANCODE_K Â¶

SCANCODE_K :: Scancode.K

SCANCODE_KBDILLUMDOWN Â¶

SCANCODE_KBDILLUMDOWN :: Scancode.KBDILLUMDOWN

SCANCODE_KBDILLUMTOGGLE Â¶

SCANCODE_KBDILLUMTOGGLE :: Scancode.KBDILLUMTOGGLE

SCANCODE_KBDILLUMUP Â¶

SCANCODE_KBDILLUMUP :: Scancode.KBDILLUMUP

SCANCODE_KP_0 Â¶

SCANCODE_KP_0 :: Scancode.KP_0

SCANCODE_KP_00 Â¶

SCANCODE_KP_00 :: Scancode.KP_00

SCANCODE_KP_000 Â¶

SCANCODE_KP_000 :: Scancode.KP_000

SCANCODE_KP_1 Â¶

SCANCODE_KP_1 :: Scancode.KP_1

SCANCODE_KP_2 Â¶

SCANCODE_KP_2 :: Scancode.KP_2

SCANCODE_KP_3 Â¶

SCANCODE_KP_3 :: Scancode.KP_3

SCANCODE_KP_4 Â¶

SCANCODE_KP_4 :: Scancode.KP_4

SCANCODE_KP_5 Â¶

SCANCODE_KP_5 :: Scancode.KP_5

SCANCODE_KP_6 Â¶

SCANCODE_KP_6 :: Scancode.KP_6

SCANCODE_KP_7 Â¶

SCANCODE_KP_7 :: Scancode.KP_7

SCANCODE_KP_8 Â¶

SCANCODE_KP_8 :: Scancode.KP_8

SCANCODE_KP_9 Â¶

SCANCODE_KP_9 :: Scancode.KP_9

SCANCODE_KP_A Â¶

SCANCODE_KP_A :: Scancode.KP_A

SCANCODE_KP_AMPERSAND Â¶

SCANCODE_KP_AMPERSAND :: Scancode.KP_AMPERSAND

SCANCODE_KP_AT Â¶

SCANCODE_KP_AT :: Scancode.KP_AT

SCANCODE_KP_B Â¶

SCANCODE_KP_B :: Scancode.KP_B

SCANCODE_KP_BACKSPACE Â¶

SCANCODE_KP_BACKSPACE :: Scancode.KP_BACKSPACE

SCANCODE_KP_BINARY Â¶

SCANCODE_KP_BINARY :: Scancode.KP_BINARY

SCANCODE_KP_C Â¶

SCANCODE_KP_C :: Scancode.KP_C

SCANCODE_KP_CLEAR Â¶

SCANCODE_KP_CLEAR :: Scancode.KP_CLEAR

SCANCODE_KP_CLEARENTRY Â¶

SCANCODE_KP_CLEARENTRY :: Scancode.KP_CLEARENTRY

SCANCODE_KP_COLON Â¶

SCANCODE_KP_COLON :: Scancode.KP_COLON

SCANCODE_KP_COMMA Â¶

SCANCODE_KP_COMMA :: Scancode.KP_COMMA

SCANCODE_KP_D Â¶

SCANCODE_KP_D :: Scancode.KP_D

SCANCODE_KP_DBLAMPERSAND Â¶

SCANCODE_KP_DBLAMPERSAND :: Scancode.KP_DBLAMPERSAND

SCANCODE_KP_DBLVERTICALBAR Â¶

SCANCODE_KP_DBLVERTICALBAR :: Scancode.KP_DBLVERTICALBAR

SCANCODE_KP_DECIMAL Â¶

SCANCODE_KP_DECIMAL :: Scancode.KP_DECIMAL

SCANCODE_KP_DIVIDE Â¶

SCANCODE_KP_DIVIDE :: Scancode.KP_DIVIDE

SCANCODE_KP_E Â¶

SCANCODE_KP_E :: Scancode.KP_E

SCANCODE_KP_ENTER Â¶

SCANCODE_KP_ENTER :: Scancode.KP_ENTER

SCANCODE_KP_EQUALS Â¶

SCANCODE_KP_EQUALS :: Scancode.KP_EQUALS

SCANCODE_KP_EQUALSAS400 Â¶

SCANCODE_KP_EQUALSAS400 :: Scancode.KP_EQUALSAS400

SCANCODE_KP_EXCLAM Â¶

SCANCODE_KP_EXCLAM :: Scancode.KP_EXCLAM

SCANCODE_KP_F Â¶

SCANCODE_KP_F :: Scancode.KP_F

SCANCODE_KP_GREATER Â¶

SCANCODE_KP_GREATER :: Scancode.KP_GREATER

SCANCODE_KP_HASH Â¶

SCANCODE_KP_HASH :: Scancode.KP_HASH

SCANCODE_KP_HEXADECIMAL Â¶

SCANCODE_KP_HEXADECIMAL :: Scancode.KP_HEXADECIMAL

SCANCODE_KP_LEFTBRACE Â¶

SCANCODE_KP_LEFTBRACE :: Scancode.KP_LEFTBRACE

SCANCODE_KP_LEFTPAREN Â¶

SCANCODE_KP_LEFTPAREN :: Scancode.KP_LEFTPAREN

SCANCODE_KP_LESS Â¶

SCANCODE_KP_LESS :: Scancode.KP_LESS

SCANCODE_KP_MEMADD Â¶

SCANCODE_KP_MEMADD :: Scancode.KP_MEMADD

SCANCODE_KP_MEMCLEAR Â¶

SCANCODE_KP_MEMCLEAR :: Scancode.KP_MEMCLEAR

SCANCODE_KP_MEMDIVIDE Â¶

SCANCODE_KP_MEMDIVIDE :: Scancode.KP_MEMDIVIDE

SCANCODE_KP_MEMMULTIPLY Â¶

SCANCODE_KP_MEMMULTIPLY :: Scancode.KP_MEMMULTIPLY

SCANCODE_KP_MEMRECALL Â¶

SCANCODE_KP_MEMRECALL :: Scancode.KP_MEMRECALL

SCANCODE_KP_MEMSTORE Â¶

SCANCODE_KP_MEMSTORE :: Scancode.KP_MEMSTORE

SCANCODE_KP_MEMSUBTRACT Â¶

SCANCODE_KP_MEMSUBTRACT :: Scancode.KP_MEMSUBTRACT

SCANCODE_KP_MINUS Â¶

SCANCODE_KP_MINUS :: Scancode.KP_MINUS

SCANCODE_KP_MULTIPLY Â¶

SCANCODE_KP_MULTIPLY :: Scancode.KP_MULTIPLY

SCANCODE_KP_OCTAL Â¶

SCANCODE_KP_OCTAL :: Scancode.KP_OCTAL

SCANCODE_KP_PERCENT Â¶

SCANCODE_KP_PERCENT :: Scancode.KP_PERCENT

SCANCODE_KP_PERIOD Â¶

SCANCODE_KP_PERIOD :: Scancode.KP_PERIOD

SCANCODE_KP_PLUS Â¶

SCANCODE_KP_PLUS :: Scancode.KP_PLUS

SCANCODE_KP_PLUSMINUS Â¶

SCANCODE_KP_PLUSMINUS :: Scancode.KP_PLUSMINUS

SCANCODE_KP_POWER Â¶

SCANCODE_KP_POWER :: Scancode.KP_POWER

SCANCODE_KP_RIGHTBRACE Â¶

SCANCODE_KP_RIGHTBRACE :: Scancode.KP_RIGHTBRACE

SCANCODE_KP_RIGHTPAREN Â¶

SCANCODE_KP_RIGHTPAREN :: Scancode.KP_RIGHTPAREN

SCANCODE_KP_SPACE Â¶

SCANCODE_KP_SPACE :: Scancode.KP_SPACE

SCANCODE_KP_TAB Â¶

SCANCODE_KP_TAB :: Scancode.KP_TAB

SCANCODE_KP_VERTICALBAR Â¶

SCANCODE_KP_VERTICALBAR :: Scancode.KP_VERTICALBAR

SCANCODE_KP_XOR Â¶

SCANCODE_KP_XOR :: Scancode.KP_XOR

SCANCODE_L Â¶

SCANCODE_L :: Scancode.L

SCANCODE_LALT Â¶

SCANCODE_LALT :: Scancode.LALT

SCANCODE_LANG1 Â¶

SCANCODE_LANG1 :: Scancode.LANG1

SCANCODE_LANG2 Â¶

SCANCODE_LANG2 :: Scancode.LANG2

SCANCODE_LANG3 Â¶

SCANCODE_LANG3 :: Scancode.LANG3

SCANCODE_LANG4 Â¶

SCANCODE_LANG4 :: Scancode.LANG4

SCANCODE_LANG5 Â¶

SCANCODE_LANG5 :: Scancode.LANG5

SCANCODE_LANG6 Â¶

SCANCODE_LANG6 :: Scancode.LANG6

SCANCODE_LANG7 Â¶

SCANCODE_LANG7 :: Scancode.LANG7

SCANCODE_LANG8 Â¶

SCANCODE_LANG8 :: Scancode.LANG8

SCANCODE_LANG9 Â¶

SCANCODE_LANG9 :: Scancode.LANG9

SCANCODE_LCTRL Â¶

SCANCODE_LCTRL :: Scancode.LCTRL

SCANCODE_LEFT Â¶

SCANCODE_LEFT :: Scancode.LEFT

SCANCODE_LEFTBRACKET Â¶

SCANCODE_LEFTBRACKET :: Scancode.LEFTBRACKET

SCANCODE_LGUI Â¶

SCANCODE_LGUI :: Scancode.LGUI

SCANCODE_LSHIFT Â¶

SCANCODE_LSHIFT :: Scancode.LSHIFT

SCANCODE_M Â¶

SCANCODE_M :: Scancode.M

SCANCODE_MAIL Â¶

SCANCODE_MAIL :: Scancode.MAIL

SCANCODE_MASK Â¶

SCANCODE_MASK :: 1 << 30

SCANCODE_MEDIASELECT Â¶

SCANCODE_MEDIASELECT :: Scancode.MEDIASELECT

SCANCODE_MENU Â¶

SCANCODE_MENU :: Scancode.MENU

SCANCODE_MINUS Â¶

SCANCODE_MINUS :: Scancode.MINUS

SCANCODE_MODE Â¶

SCANCODE_MODE :: Scancode.MODE

SCANCODE_MUTE Â¶

SCANCODE_MUTE :: Scancode.MUTE

SCANCODE_N Â¶

SCANCODE_N :: Scancode.N

SCANCODE_NONUSBACKSLASH Â¶

SCANCODE_NONUSBACKSLASH :: Scancode.NONUSBACKSLASH

SCANCODE_NONUSHASH Â¶

SCANCODE_NONUSHASH :: Scancode.NONUSHASH

SCANCODE_NUMLOCKCLEAR Â¶

SCANCODE_NUMLOCKCLEAR :: Scancode.NUMLOCKCLEAR

SCANCODE_O Â¶

SCANCODE_O :: Scancode.O

SCANCODE_OPER Â¶

SCANCODE_OPER :: Scancode.OPER

SCANCODE_OUT Â¶

SCANCODE_OUT :: Scancode.OUT

SCANCODE_P Â¶

SCANCODE_P :: Scancode.P

SCANCODE_PAGEDOWN Â¶

SCANCODE_PAGEDOWN :: Scancode.PAGEDOWN

SCANCODE_PAGEUP Â¶

SCANCODE_PAGEUP :: Scancode.PAGEUP

SCANCODE_PASTE Â¶

SCANCODE_PASTE :: Scancode.PASTE

SCANCODE_PAUSE Â¶

SCANCODE_PAUSE :: Scancode.PAUSE

SCANCODE_PERIOD Â¶

SCANCODE_PERIOD :: Scancode.PERIOD

SCANCODE_POWER Â¶

SCANCODE_POWER :: Scancode.POWER

SCANCODE_PRINTSCREEN Â¶

SCANCODE_PRINTSCREEN :: Scancode.PRINTSCREEN

SCANCODE_PRIOR Â¶

SCANCODE_PRIOR :: Scancode.PRIOR

SCANCODE_Q Â¶

SCANCODE_Q :: Scancode.Q

SCANCODE_R Â¶

SCANCODE_R :: Scancode.R

SCANCODE_RALT Â¶

SCANCODE_RALT :: Scancode.RALT

SCANCODE_RCTRL Â¶

SCANCODE_RCTRL :: Scancode.RCTRL

SCANCODE_RETURN Â¶

SCANCODE_RETURN :: Scancode.RETURN

SCANCODE_RETURN2 Â¶

SCANCODE_RETURN2 :: Scancode.RETURN2

SCANCODE_RGUI Â¶

SCANCODE_RGUI :: Scancode.RGUI

SCANCODE_RIGHT Â¶

SCANCODE_RIGHT :: Scancode.RIGHT

SCANCODE_RIGHTBRACKET Â¶

SCANCODE_RIGHTBRACKET :: Scancode.RIGHTBRACKET

SCANCODE_RSHIFT Â¶

SCANCODE_RSHIFT :: Scancode.RSHIFT

SCANCODE_S Â¶

SCANCODE_S :: Scancode.S

SCANCODE_SCROLLLOCK Â¶

SCANCODE_SCROLLLOCK :: Scancode.SCROLLLOCK

SCANCODE_SELECT Â¶

SCANCODE_SELECT :: Scancode.SELECT

SCANCODE_SEMICOLON Â¶

SCANCODE_SEMICOLON :: Scancode.SEMICOLON

SCANCODE_SEPARATOR Â¶

SCANCODE_SEPARATOR :: Scancode.SEPARATOR

SCANCODE_SLASH Â¶

SCANCODE_SLASH :: Scancode.SLASH

SCANCODE_SLEEP Â¶

SCANCODE_SLEEP :: Scancode.SLEEP

SCANCODE_SPACE Â¶

SCANCODE_SPACE :: Scancode.SPACE

SCANCODE_STOP Â¶

SCANCODE_STOP :: Scancode.STOP

SCANCODE_SYSREQ Â¶

SCANCODE_SYSREQ :: Scancode.SYSREQ

SCANCODE_T Â¶

SCANCODE_T :: Scancode.T

SCANCODE_TAB Â¶

SCANCODE_TAB :: Scancode.TAB

SCANCODE_THOUSANDSSEPARATOR Â¶

SCANCODE_THOUSANDSSEPARATOR :: Scancode.THOUSANDSSEPARATOR

SCANCODE_U Â¶

SCANCODE_U :: Scancode.U

SCANCODE_UNDO Â¶

SCANCODE_UNDO :: Scancode.UNDO

SCANCODE_UNKNOWN Â¶

SCANCODE_UNKNOWN :: Scancode.UNKNOWN

SCANCODE_UP Â¶

SCANCODE_UP :: Scancode.UP

SCANCODE_V Â¶

SCANCODE_V :: Scancode.V

SCANCODE_VOLUMEDOWN Â¶

SCANCODE_VOLUMEDOWN :: Scancode.VOLUMEDOWN

SCANCODE_VOLUMEUP Â¶

SCANCODE_VOLUMEUP :: Scancode.VOLUMEUP

SCANCODE_W Â¶

SCANCODE_W :: Scancode.W

SCANCODE_WWW Â¶

SCANCODE_WWW :: Scancode.WWW

SCANCODE_X Â¶

SCANCODE_X :: Scancode.X

SCANCODE_Y Â¶

SCANCODE_Y :: Scancode.Y

SCANCODE_Z Â¶

SCANCODE_Z :: Scancode.Z

SEEK_CUR Â¶

SEEK_CUR :: 1
 

*< Seek relative to current read point

SEEK_END Â¶

SEEK_END :: 2
 

*< Seek relative to the end of data

SEEK_SET Â¶

SEEK_SET :: 0
 

*< Seek from the beginning of data

SIMD_ALIGNED Â¶

SIMD_ALIGNED :: 0x00000008
 

*< Surface uses aligned memory

STANDARD_GRAVITY Â¶

STANDARD_GRAVITY :: 9.80665

SWSURFACE Â¶

SWSURFACE :: 0
 

*< Just here for compatibility

TEXTEDITINGEVENT_TEXT_SIZE Â¶

TEXTEDITINGEVENT_TEXT_SIZE :: 32

TEXTINPUTEVENT_TEXT_SIZE Â¶

TEXTINPUTEVENT_TEXT_SIZE :: 32

TEXTUREMODULATE_ALPHA Â¶

TEXTUREMODULATE_ALPHA :: 0x00000002
 

< srcA = srcA alpha

TEXTUREMODULATE_COLOR Â¶

TEXTUREMODULATE_COLOR :: 0x00000001
 

< srcC = srcC color

TEXTUREMODULATE_NONE Â¶

TEXTUREMODULATE_NONE :: 0x00000000
 

*< No modulation

TOUCH_MOUSEID Â¶

TOUCH_MOUSEID: u32 : ~u32(0)

WINDOWPOS_CENTERED Â¶

WINDOWPOS_CENTERED :: WINDOWPOS_CENTERED_MASK | 0

WINDOWPOS_CENTERED_MASK Â¶

WINDOWPOS_CENTERED_MASK :: 0x2FFF0000

WINDOWPOS_UNDEFINED Â¶

WINDOWPOS_UNDEFINED :: WINDOWPOS_UNDEFINED_MASK | 0

WINDOWPOS_UNDEFINED_MASK Â¶

WINDOWPOS_UNDEFINED_MASK :: 0x1FFF0000

WINDOW_ALLOW_HIGHDPI Â¶

WINDOW_ALLOW_HIGHDPI :: WindowFlags{.ALLOW_HIGHDPI}

WINDOW_ALWAYS_ON_TOP Â¶

WINDOW_ALWAYS_ON_TOP :: WindowFlags{.ALWAYS_ON_TOP}

WINDOW_BORDERLESS Â¶

WINDOW_BORDERLESS :: WindowFlags{.BORDERLESS}

WINDOW_FOREIGN Â¶

WINDOW_FOREIGN :: WindowFlags{.FOREIGN}

WINDOW_FULLSCREEN Â¶

WINDOW_FULLSCREEN :: WindowFlags{.FULLSCREEN}

WINDOW_FULLSCREEN_DESKTOP Â¶

WINDOW_FULLSCREEN_DESKTOP :: WindowFlags{.FULLSCREEN, ._INTERNAL_FULLSCREEN_DESKTOP}

WINDOW_HIDDEN Â¶

WINDOW_HIDDEN :: WindowFlags{.HIDDEN}

WINDOW_INPUT_FOCUS Â¶

WINDOW_INPUT_FOCUS :: WindowFlags{.INPUT_FOCUS}

WINDOW_INPUT_GRABBED Â¶

WINDOW_INPUT_GRABBED :: WindowFlags{.INPUT_GRABBED}

WINDOW_KEYBOARD_GRABBED Â¶

WINDOW_KEYBOARD_GRABBED :: WindowFlags{.KEYBOARD_GRABBED}

WINDOW_LACKS_SHAPE Â¶

WINDOW_LACKS_SHAPE :: -3

WINDOW_MAXIMIZED Â¶

WINDOW_MAXIMIZED :: WindowFlags{.MAXIMIZED}

WINDOW_METAL Â¶

WINDOW_METAL :: WindowFlags{.METAL}

WINDOW_MINIMIZED Â¶

WINDOW_MINIMIZED :: WindowFlags{.MINIMIZED}

WINDOW_MOUSE_CAPTURE Â¶

WINDOW_MOUSE_CAPTURE :: WindowFlags{.MOUSE_CAPTURE}

WINDOW_MOUSE_FOCUS Â¶

WINDOW_MOUSE_FOCUS :: WindowFlags{.MOUSE_FOCUS}

WINDOW_MOUSE_GRABBED Â¶

WINDOW_MOUSE_GRABBED :: WindowFlags{.MOUSE_GRABBED}

WINDOW_OPENGL Â¶

WINDOW_OPENGL :: WindowFlags{.OPENGL}

WINDOW_POPUP_MENU Â¶

WINDOW_POPUP_MENU :: WindowFlags{.POPUP_MENU}

WINDOW_RESIZABLE Â¶

WINDOW_RESIZABLE :: WindowFlags{.RESIZABLE}

WINDOW_SHOWN Â¶

WINDOW_SHOWN :: WindowFlags{.SHOWN}

WINDOW_SKIP_TASKBAR Â¶

WINDOW_SKIP_TASKBAR :: WindowFlags{.SKIP_TASKBAR}

WINDOW_TOOLTIP Â¶

WINDOW_TOOLTIP :: WindowFlags{.TOOLTIP}

WINDOW_UTILITY Â¶

WINDOW_UTILITY :: WindowFlags{.UTILITY}

WINDOW_VULKAN Â¶

WINDOW_VULKAN :: WindowFlags{.VULKAN}

Variables

This section is empty.

Procedures

AUDIO_BITSIZE Â¶

AUDIO_BITSIZE :: proc "cdecl" (x: AudioFormat) -> u8 {…}

AUDIO_ISBIGENDIAN Â¶

AUDIO_ISBIGENDIAN :: proc "cdecl" (x: AudioFormat) -> bool {…}

AUDIO_ISFLOAT Â¶

AUDIO_ISFLOAT :: proc "cdecl" (x: AudioFormat) -> bool {…}

AUDIO_ISINT Â¶

AUDIO_ISINT :: proc "cdecl" (x: AudioFormat) -> bool {…}

AUDIO_ISLITTLEENDIAN Â¶

AUDIO_ISLITTLEENDIAN :: proc "cdecl" (x: AudioFormat) -> bool {…}

AUDIO_ISSIGNED Â¶

AUDIO_ISSIGNED :: proc "cdecl" (x: AudioFormat) -> bool {…}

AUDIO_ISUNSIGNED Â¶

AUDIO_ISUNSIGNED :: proc "cdecl" (x: AudioFormat) -> bool {…}

AddEventWatch Â¶

AddEventWatch :: proc "cdecl" (filter: EventFilter, userdata: rawptr) ---

AddHintCallback Â¶

AddHintCallback :: proc "cdecl" (name: cstring, callback: HintCallback, userdata: rawptr) ---

AddTimer Â¶

AddTimer :: proc "cdecl" (interval: u32, callback: TimerCallback, param: rawptr) -> TimerID ---

AllocFormat Â¶

AllocFormat :: proc "cdecl" (pixel_format: u32) -> ^PixelFormat ---

AllocPalette Â¶

AllocPalette :: proc "cdecl" (ncolors: i32) -> ^Palette ---

AllocRW Â¶

AllocRW :: proc "cdecl" () -> ^RWops ---

AndroidBackButton Â¶

AndroidBackButton :: proc "cdecl" () ---

AndroidGetActivity Â¶

AndroidGetActivity :: proc "cdecl" () -> rawptr ---

AndroidGetExternalStoragePath Â¶

AndroidGetExternalStoragePath :: proc "cdecl" () -> cstring ---

AndroidGetExternalStorageState Â¶

AndroidGetExternalStorageState :: proc "cdecl" () -> i32 ---

AndroidGetInternalStoragePath Â¶

AndroidGetInternalStoragePath :: proc "cdecl" () -> cstring ---

AndroidGetJNIEnv Â¶

AndroidGetJNIEnv :: proc "cdecl" () -> rawptr ---

AndroidRequestPermission Â¶

AndroidRequestPermission :: proc "cdecl" (permission: cstring) -> bool ---

AndroidShowToast Â¶

AndroidShowToast :: proc "cdecl" (message: cstring, duration, gravity, xoffset, yoffset: i32) -> i32 ---

AtomicAdd Â¶

AtomicAdd :: proc "cdecl" (a: ^atomic_t, v: i32) -> i32 ---

AtomicCAS Â¶

AtomicCAS :: proc "cdecl" (a: ^atomic_t, oldval, newval: i32) -> bool ---

AtomicCASPtr Â¶

AtomicCASPtr :: proc "cdecl" (a: ^rawptr, oldval, newval: rawptr) -> bool ---

AtomicGet Â¶

AtomicGet :: proc "cdecl" (a: ^atomic_t) -> i32 ---

AtomicGetPtr Â¶

AtomicGetPtr :: proc "cdecl" (a: ^rawptr) -> rawptr ---

AtomicLock Â¶

AtomicLock :: proc "cdecl" (lock: ^SpinLock) ---

AtomicSet Â¶

AtomicSet :: proc "cdecl" (a: ^atomic_t, v: i32) -> i32 ---

AtomicSetPtr Â¶

AtomicSetPtr :: proc "cdecl" (a: ^rawptr, v: rawptr) -> rawptr ---

AtomicTryLock Â¶

AtomicTryLock :: proc "cdecl" (lock: ^SpinLock) -> bool ---

AtomicUnlock Â¶

AtomicUnlock :: proc "cdecl" (lock: ^SpinLock) ---

AudioInit Â¶

AudioInit :: proc "cdecl" (driver_name: cstring) -> i32 ---

AudioQuit Â¶

AudioQuit :: proc "cdecl" () ---

AudioStreamAvailable Â¶

AudioStreamAvailable :: proc "cdecl" (stream: ^AudioStream) -> i32 ---

AudioStreamClear Â¶

AudioStreamClear :: proc "cdecl" (stream: ^AudioStream) ---

AudioStreamFlush Â¶

AudioStreamFlush :: proc "cdecl" (stream: ^AudioStream) -> i32 ---

AudioStreamGet Â¶

AudioStreamGet :: proc "cdecl" (stream: ^AudioStream, buf: rawptr, len: i32) -> i32 ---

AudioStreamPut Â¶

AudioStreamPut :: proc "cdecl" (stream: ^AudioStream, buf: rawptr, len: i32) -> i32 ---

BUTTON Â¶

BUTTON :: proc "cdecl" (X: i32) -> i32 {…}

BuildAudioCVT Â¶

BuildAudioCVT :: proc "cdecl" (
	cvt:          ^AudioCVT, 
	src_format:   AudioFormat, 
	src_channels: u8, 
	src_rate:     i32, 
	dst_format:   AudioFormat, 
	dst_channels: u8, 
	dst_rate:     i32, 
) -> i32 ---

CalculateGammaRamp Â¶

CalculateGammaRamp :: proc "cdecl" (gamma: f32, ramp: ^[256]u16) ---

CaptureMouse Â¶

CaptureMouse :: proc "cdecl" (enabled: bool) -> i32 ---

ClearError Â¶

ClearError :: proc "cdecl" () ---

ClearHints Â¶

ClearHints :: proc "cdecl" () ---

ClearQueuedAudio Â¶

ClearQueuedAudio :: proc "cdecl" (dev: AudioDeviceID) ---

CloseAudio Â¶

CloseAudio :: proc "cdecl" () ---

CloseAudioDevice Â¶

CloseAudioDevice :: proc "cdecl" (dev: AudioDeviceID) ---

ComposeCustomBlendMode Â¶

ComposeCustomBlendMode :: proc "cdecl" (
	srcColorFactor, dstColorFactor: BlendFactor, 
	colorOperation:                 BlendOperation, 
	srcAlphaFactor, dstAlphaFactor: BlendFactor, 
	alphaOperation:                 BlendOperation, 
) -> BlendMode ---

CondBroadcast Â¶

CondBroadcast :: proc "cdecl" (cv: ^cond) -> i32 ---

CondSignal Â¶

CondSignal :: proc "cdecl" (cv: ^cond) -> i32 ---

CondWait Â¶

CondWait :: proc "cdecl" (cv: ^cond, m: ^mutex) -> i32 ---

CondWaitTimeout Â¶

CondWaitTimeout :: proc "cdecl" (cv: ^cond, m: ^mutex, ms: u32) -> i32 ---

ConvertAudio Â¶

ConvertAudio :: proc "cdecl" (cvt: ^AudioCVT) -> i32 ---

ConvertPixels Â¶

ConvertPixels :: proc "cdecl" (
	width, height: i32, 
	src_format:    u32, 
	src:           rawptr, 
	src_pitch:     i32, 
	dst_format:    u32, 
	dst:           rawptr, 
	dst_pitch:     i32, 
) -> i32 ---

ConvertSurface Â¶

ConvertSurface :: proc "cdecl" (src: ^Surface, fmt: ^PixelFormat, flags: u32) -> ^Surface ---

ConvertSurfaceFormat Â¶

ConvertSurfaceFormat :: proc "cdecl" (src: ^Surface, pixel_format: u32, flags: u32) -> ^Surface ---

CreateColorCursor Â¶

CreateColorCursor :: proc "cdecl" (surface: ^Surface, hot_x, hot_y: i32) -> ^Cursor ---

CreateCond Â¶

CreateCond :: proc "cdecl" () -> ^cond ---

CreateCursor Â¶

CreateCursor :: proc "cdecl" (
	data:        [^]u8, 
	mask:        [^]u8, 
	w, h, hot_x, 
	hot_y:       i32, 
) -> ^Cursor ---

CreateMutex Â¶

CreateMutex :: proc "cdecl" () -> ^mutex ---

CreateRGBSurface Â¶

CreateRGBSurface :: proc "cdecl" (
	flags:                u32, 
	width, height, depth: i32, 
	Rmask, Gmask, Bmask, 
	Amask:                u32, 
) -> ^Surface ---

CreateRGBSurfaceFrom Â¶

CreateRGBSurfaceFrom :: proc "cdecl" (
	pixels:                      rawptr, 
	width, height, depth, pitch: i32, 
	Rmask, Gmask, Bmask, 
	Amask:                       u32, 
) -> ^Surface ---

CreateRGBSurfaceWithFormat Â¶

CreateRGBSurfaceWithFormat :: proc "cdecl" (flags: u32, width, height, depth: i32, format: u32) -> ^Surface ---

CreateRGBSurfaceWithFormatFrom Â¶

CreateRGBSurfaceWithFormatFrom :: proc "cdecl" (
	pixels:                      rawptr, 
	width, height, depth, pitch: i32, 
	format:                      u32, 
) -> ^Surface ---

CreateRenderer Â¶

CreateRenderer :: proc "cdecl" (window: ^Window, index: i32, flags: RendererFlags) -> ^Renderer ---

CreateSemaphore Â¶

CreateSemaphore :: proc "cdecl" (initial_value: u32) -> ^semaphore ---

CreateShapedWindow Â¶

CreateShapedWindow :: proc "cdecl" (
	title:      cstring, 
	x, y, w, h: u32, 
	flags:      WindowFlags, 
) -> ^Window ---

CreateSoftwareRenderer Â¶

CreateSoftwareRenderer :: proc "cdecl" (surface: ^Surface) -> ^Renderer ---

CreateSystemCursor Â¶

CreateSystemCursor :: proc "cdecl" (id: SystemCursor) -> ^Cursor ---

CreateTexture Â¶

CreateTexture :: proc "cdecl" (renderer: ^Renderer, format: u32, access: TextureAccess, w, h: i32) -> ^Texture ---

CreateTextureFromSurface Â¶

CreateTextureFromSurface :: proc "cdecl" (renderer: ^Renderer, surface: ^Surface) -> ^Texture ---

CreateThread Â¶

CreateThread :: proc "cdecl" (fn: ThreadFunction, name: cstring, data: rawptr) -> ^Thread ---

CreateThreadWithStackSize Â¶

CreateThreadWithStackSize :: proc "cdecl" (fn: ThreadFunction, name: cstring, stacksize: uint, data: rawptr) -> ^Thread ---

CreateWindow Â¶

CreateWindow :: proc "cdecl" (
	title:      cstring, 
	x, y, w, h: i32, 
	flags:      WindowFlags, 
) -> ^Window ---

CreateWindowAndRenderer Â¶

CreateWindowAndRenderer :: proc "cdecl" (width, height: i32, window_flags: WindowFlags, window: ^^Window, renderer: ^^Renderer) -> i32 ---

CreateWindowFrom Â¶

CreateWindowFrom :: proc "cdecl" (data: rawptr) -> ^Window ---

DEFINE_PIXELFORMAT Â¶

DEFINE_PIXELFORMAT :: proc "cdecl" (type: u8, order: u8, layout, bits, bytes: u8) -> u32 {…}

DEFINE_PIXELFOURCC Â¶

DEFINE_PIXELFOURCC :: FOURCC

DXGIGetOutputInfo Â¶

DXGIGetOutputInfo :: proc "cdecl" (displayIndex: i32, adapterIndex: ^i32, outputIndex: ^i32) -> bool ---

DelEventWatch Â¶

DelEventWatch :: proc "cdecl" (filter: EventFilter, userdata: rawptr) ---

DelHintCallback Â¶

DelHintCallback :: proc "cdecl" (name: cstring, callback: HintCallback, userdata: rawptr) ---

Delay Â¶

Delay :: proc "cdecl" (ms: u32) ---

DequeueAudio Â¶

DequeueAudio :: proc "cdecl" (dev: AudioDeviceID, data: rawptr, len: u32) -> u32 ---

DestroyCond Â¶

DestroyCond :: proc "cdecl" (cv: ^cond) ---

DestroyMutex Â¶

DestroyMutex :: proc "cdecl" (m: ^mutex) ---

DestroyRenderer Â¶

DestroyRenderer :: proc "cdecl" (renderer: ^Renderer) ---

DestroySemaphore Â¶

DestroySemaphore :: proc "cdecl" (s: ^semaphore) ---

DestroyTexture Â¶

DestroyTexture :: proc "cdecl" (texture: ^Texture) ---

DestroyWindow Â¶

DestroyWindow :: proc "cdecl" (window: ^Window) ---

DetachThread Â¶

DetachThread :: proc "cdecl" (thread: ^Thread) ---

Direct3D9GetAdapterIndex Â¶

Direct3D9GetAdapterIndex :: proc "cdecl" (displayIndex: i32) -> i32 ---

DisableScreenSaver Â¶

DisableScreenSaver :: proc "cdecl" () ---

DuplicateSurface Â¶

DuplicateSurface :: proc "cdecl" (surface: ^Surface) -> ^Surface ---

EnableScreenSaver Â¶

EnableScreenSaver :: proc "cdecl" () ---

EnclosePoints Â¶

EnclosePoints :: proc "cdecl" (points: [^]Point, count: i32, clip: ^Rect, result: ^Rect) -> bool ---

Error Â¶

Error :: proc "cdecl" (code: errorcode) -> i32 ---

EventState Â¶

EventState :: proc "cdecl" (type: EventType, state: i32) -> b8 ---
 

original return value is u8

FOURCC Â¶

FOURCC :: proc "cdecl" (A, B, C, D: u8) -> u32 {…}

FillRect Â¶

FillRect :: proc "cdecl" (dst: ^Surface, rect: ^Rect, color: u32) -> i32 ---

FillRects Â¶

FillRects :: proc "cdecl" (dst: ^Surface, rects: [^]Rect, count: i32, color: u32) -> i32 ---

FilterEvents Â¶

FilterEvents :: proc "cdecl" (filter: EventFilter, userdata: rawptr) ---

FlashWindow Â¶

FlashWindow :: proc "cdecl" (window: ^Window, operation: FlashOperation) -> i32 ---

FlushEvent Â¶

FlushEvent :: proc "cdecl" (type: EventType) ---

FlushEvents Â¶

FlushEvents :: proc "cdecl" (minType, maxType: EventType) ---

FreeAudioStream Â¶

FreeAudioStream :: proc "cdecl" (stream: ^AudioStream) ---

FreeCursor Â¶

FreeCursor :: proc "cdecl" (cursor: ^Cursor) ---

FreeFormat Â¶

FreeFormat :: proc "cdecl" (format: ^PixelFormat) ---

FreePalette Â¶

FreePalette :: proc "cdecl" (palette: ^Palette) ---

FreeRW Â¶

FreeRW :: proc "cdecl" (area: ^RWops) ---

FreeSurface Â¶

FreeSurface :: proc "cdecl" (surface: ^Surface) ---

FreeWAV Â¶

FreeWAV :: proc "cdecl" (audio_buf: [^]u8) ---

GL_BindTexture Â¶

GL_BindTexture :: proc "cdecl" (texture: ^Texture, texw, texh: ^f32) -> i32 ---

GL_CreateContext Â¶

GL_CreateContext :: proc "cdecl" (window: ^Window) -> GLContext ---

GL_DeleteContext Â¶

GL_DeleteContext :: proc "cdecl" (ctx: GLContext) ---

GL_ExtensionSupported Â¶

GL_ExtensionSupported :: proc "cdecl" (extension: cstring) -> bool ---

GL_GetAttribute Â¶

GL_GetAttribute :: proc "cdecl" (attr: GLattr, value: ^i32) -> i32 ---

GL_GetCurrentContext Â¶

GL_GetCurrentContext :: proc "cdecl" () -> GLContext ---

GL_GetCurrentWindow Â¶

GL_GetCurrentWindow :: proc "cdecl" () -> ^Window ---

GL_GetDrawableSize Â¶

GL_GetDrawableSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

GL_GetProcAddress Â¶

GL_GetProcAddress :: proc "cdecl" (procedure: cstring) -> rawptr ---

GL_GetSwapInterval Â¶

GL_GetSwapInterval :: proc "cdecl" () -> i32 ---

GL_LoadLibrary Â¶

GL_LoadLibrary :: proc "cdecl" (path: cstring) -> i32 ---

GL_MakeCurrent Â¶

GL_MakeCurrent :: proc "cdecl" (window: ^Window, ctx: GLContext) -> i32 ---

GL_ResetAttributes Â¶

GL_ResetAttributes :: proc "cdecl" () ---

GL_SetAttribute Â¶

GL_SetAttribute :: proc "cdecl" (attr: GLattr, value: i32) -> i32 ---

GL_SetSwapInterval Â¶

GL_SetSwapInterval :: proc "cdecl" (interval: i32) -> i32 ---

GL_SwapWindow Â¶

GL_SwapWindow :: proc "cdecl" (window: ^Window) ---

GL_UnbindTexture Â¶

GL_UnbindTexture :: proc "cdecl" (texture: ^Texture) -> i32 ---

GL_UnloadLibrary Â¶

GL_UnloadLibrary :: proc "cdecl" () ---

GameControllerAddMapping Â¶

GameControllerAddMapping :: proc "cdecl" (mappingString: cstring) -> i32 ---

GameControllerAddMappingsFromFile Â¶

GameControllerAddMappingsFromFile :: proc "cdecl" (file: cstring) -> i32 {…}

GameControllerAddMappingsFromRW Â¶

GameControllerAddMappingsFromRW :: proc "cdecl" (rw: ^RWops, freerw: bool) -> i32 ---

GameControllerClose Â¶

GameControllerClose :: proc "cdecl" (gamecontroller: ^GameController) ---

GameControllerEventState Â¶

GameControllerEventState :: proc "cdecl" (state: i32) -> i32 ---

GameControllerFromInstanceID Â¶

GameControllerFromInstanceID :: proc "cdecl" (joyid: JoystickID) -> ^GameController ---

GameControllerFromPlayerIndex Â¶

GameControllerFromPlayerIndex :: proc "cdecl" (player_index: i32) -> ^GameController ---

GameControllerGetAttached Â¶

GameControllerGetAttached :: proc "cdecl" (gamecontroller: ^GameController) -> bool ---

GameControllerGetAxis Â¶

GameControllerGetAxis :: proc "cdecl" (gamecontroller: ^GameController, axis: GameControllerAxis) -> i16 ---

GameControllerGetAxisFromString Â¶

GameControllerGetAxisFromString :: proc "cdecl" (str: cstring) -> GameControllerAxis ---

GameControllerGetBindForAxis Â¶

GameControllerGetBindForAxis :: proc "cdecl" (gamecontroller: ^GameController, axis: GameControllerAxis) -> GameControllerButtonBind ---

GameControllerGetBindForButton Â¶

GameControllerGetBindForButton :: proc "cdecl" (gamecontroller: ^GameController, button: GameControllerButton) -> GameControllerButtonBind ---

GameControllerGetButton Â¶

GameControllerGetButton :: proc "cdecl" (gamecontroller: ^GameController, button: GameControllerButton) -> u8 ---

GameControllerGetButtonFromString Â¶

GameControllerGetButtonFromString :: proc "cdecl" (str: cstring) -> GameControllerButton ---

GameControllerGetJoystick Â¶

GameControllerGetJoystick :: proc "cdecl" (gamecontroller: ^GameController) -> ^Joystick ---

GameControllerGetNumTouchpadFingers Â¶

GameControllerGetNumTouchpadFingers :: proc "cdecl" (gamecontroller: ^GameController, touchpad: i32) -> i32 ---

GameControllerGetNumTouchpads Â¶

GameControllerGetNumTouchpads :: proc "cdecl" (gamecontroller: ^GameController) -> i32 ---

GameControllerGetPlayerIndex Â¶

GameControllerGetPlayerIndex :: proc "cdecl" (gamecontroller: ^GameController) -> i32 ---

GameControllerGetProduct Â¶

GameControllerGetProduct :: proc "cdecl" (gamecontroller: ^GameController) -> u16 ---

GameControllerGetProductVersion Â¶

GameControllerGetProductVersion :: proc "cdecl" (gamecontroller: ^GameController) -> u16 ---

GameControllerGetSensorData Â¶

GameControllerGetSensorData :: proc "cdecl" (gamecontroller: ^GameController, type: SensorType, data: [^]f32, num_values: i32) -> i32 ---

GameControllerGetSensorDataRate Â¶

GameControllerGetSensorDataRate :: proc "cdecl" (gamecontroller: ^GameController, type: SensorType) -> f32 ---

GameControllerGetSerial Â¶

GameControllerGetSerial :: proc "cdecl" (gamecontroller: ^GameController) -> cstring ---

GameControllerGetStringForAxis Â¶

GameControllerGetStringForAxis :: proc "cdecl" (axis: GameControllerAxis) -> cstring ---

GameControllerGetStringForButton Â¶

GameControllerGetStringForButton :: proc "cdecl" (button: GameControllerButton) -> cstring ---

GameControllerGetTouchpadFinger Â¶

GameControllerGetTouchpadFinger :: proc "cdecl" (
	gamecontroller: ^GameController, 
	touchpad:       i32, 
	finger:         i32, 
	state:          ^u8, 
	x, y:           ^f32, 
	pressure:       ^f32, 
) -> i32 ---

GameControllerGetType Â¶

GameControllerGetType :: proc "cdecl" (gamecontroller: ^GameController) -> GameControllerType ---

GameControllerGetVendor Â¶

GameControllerGetVendor :: proc "cdecl" (gamecontroller: ^GameController) -> u16 ---

GameControllerHasAxis Â¶

GameControllerHasAxis :: proc "cdecl" (gamecontroller: ^GameController, axis: GameControllerAxis) -> bool ---

GameControllerHasButton Â¶

GameControllerHasButton :: proc "cdecl" (gamecontroller: ^GameController, button: GameControllerButton) -> bool ---

GameControllerHasLED Â¶

GameControllerHasLED :: proc "cdecl" (gamecontroller: ^GameController) -> bool ---

GameControllerHasSensor Â¶

GameControllerHasSensor :: proc "cdecl" (gamecontroller: ^GameController, type: SensorType) -> bool ---

GameControllerIsSensorEnabled Â¶

GameControllerIsSensorEnabled :: proc "cdecl" (gamecontroller: ^GameController, type: SensorType) -> bool ---

GameControllerMapping Â¶

GameControllerMapping :: proc "cdecl" (gamecontroller: ^GameController) -> cstring ---

GameControllerMappingForDeviceIndex Â¶

GameControllerMappingForDeviceIndex :: proc "cdecl" (joystick_index: i32) -> cstring ---

GameControllerMappingForGUID Â¶

GameControllerMappingForGUID :: proc "cdecl" (guid: JoystickGUID) -> cstring ---

GameControllerMappingForIndex Â¶

GameControllerMappingForIndex :: proc "cdecl" (mapping_index: i32) -> cstring ---

GameControllerName Â¶

GameControllerName :: proc "cdecl" (gamecontroller: ^GameController) -> cstring ---

GameControllerNameForIndex Â¶

GameControllerNameForIndex :: proc "cdecl" (joystick_index: i32) -> cstring ---

GameControllerNumMappings Â¶

GameControllerNumMappings :: proc "cdecl" () -> i32 ---

GameControllerOpen Â¶

GameControllerOpen :: proc "cdecl" (joystick_index: i32) -> ^GameController ---

GameControllerRumble Â¶

GameControllerRumble :: proc "cdecl" (gamecontroller: ^GameController, low_frequency_rumble, high_frequency_rumble: u16, duration_ms: u32) -> i32 ---

GameControllerRumbleTriggers Â¶

GameControllerRumbleTriggers :: proc "cdecl" (gamecontroller: ^GameController, left_rumble, right_rumble: u16, duration_ms: u32) -> i32 ---

GameControllerSendEffect Â¶

GameControllerSendEffect :: proc "cdecl" (gamecontroller: ^GameController, data: rawptr, size: i32) -> i32 ---

GameControllerSetLED Â¶

GameControllerSetLED :: proc "cdecl" (gamecontroller: ^GameController, red, green, blue: u8) -> i32 ---

GameControllerSetPlayerIndex Â¶

GameControllerSetPlayerIndex :: proc "cdecl" (gamecontroller: ^GameController, player_index: i32) ---

GameControllerSetSensorEnabled Â¶

GameControllerSetSensorEnabled :: proc "cdecl" (gamecontroller: ^GameController, type: SensorType, enabled: bool) -> i32 ---

GameControllerTypeForIndex Â¶

GameControllerTypeForIndex :: proc "cdecl" (joystick_index: i32) -> GameControllerType ---

GameControllerUpdate Â¶

GameControllerUpdate :: proc "cdecl" () ---

GetAndroidSDKVersion Â¶

GetAndroidSDKVersion :: proc "cdecl" () -> i32 ---

GetAudioDeviceName Â¶

GetAudioDeviceName :: proc "cdecl" (index: i32, iscapture: bool) -> cstring ---

GetAudioDeviceSpec Â¶

GetAudioDeviceSpec :: proc "cdecl" (index: i32, iscapture: bool, spec: ^AudioSpec) -> i32 ---

GetAudioDeviceStatus Â¶

GetAudioDeviceStatus :: proc "cdecl" (dev: AudioDeviceID) -> AudioStatus ---
 

Audio State

GetAudioDriver Â¶

GetAudioDriver :: proc "cdecl" (index: i32) -> cstring ---

GetAudioStatus Â¶

GetAudioStatus :: proc "cdecl" () -> AudioStatus ---

GetBasePath Â¶

GetBasePath :: proc "cdecl" () -> cstring ---

GetCPUCacheLineSize Â¶

GetCPUCacheLineSize :: proc "cdecl" () -> i32 ---

GetCPUCount Â¶

GetCPUCount :: proc "cdecl" () -> i32 ---

GetClipRect Â¶

GetClipRect :: proc "cdecl" (surface: ^Surface, rect: ^Rect) ---

GetClipboardText Â¶

GetClipboardText :: proc "cdecl" () -> cstring ---

GetClosestDisplayMode Â¶

GetClosestDisplayMode :: proc "cdecl" (displayIndex: i32, mode, closest: ^DisplayMode) -> ^DisplayMode ---

GetColorKey Â¶

GetColorKey :: proc "cdecl" (surface: ^Surface, key: ^u32) -> i32 ---

GetCurrentAudioDriver Â¶

GetCurrentAudioDriver :: proc "cdecl" () -> cstring ---

GetCurrentDisplayMode Â¶

GetCurrentDisplayMode :: proc "cdecl" (displayIndex: i32, mode: ^DisplayMode) -> i32 ---

GetCurrentVideoDriver Â¶

GetCurrentVideoDriver :: proc "cdecl" () -> cstring ---

GetCursor Â¶

GetCursor :: proc "cdecl" () -> ^Cursor ---

GetDefaultCursor Â¶

GetDefaultCursor :: proc "cdecl" () -> ^Cursor ---

GetDesktopDisplayMode Â¶

GetDesktopDisplayMode :: proc "cdecl" (displayIndex: i32, mode: ^DisplayMode) -> i32 ---

GetDisplayBounds Â¶

GetDisplayBounds :: proc "cdecl" (displayIndex: i32, rect: ^Rect) -> i32 ---

GetDisplayDPI Â¶

GetDisplayDPI :: proc "cdecl" (displayIndex: i32, ddpi, hdpi, vdpi: ^f32) -> i32 ---

GetDisplayMode Â¶

GetDisplayMode :: proc "cdecl" (displayIndex: i32, modeIndex: i32, mode: ^DisplayMode) -> i32 ---

GetDisplayName Â¶

GetDisplayName :: proc "cdecl" (displayIndex: i32) -> cstring ---

GetDisplayOrientation Â¶

GetDisplayOrientation :: proc "cdecl" (displayIndex: i32) -> DisplayOrientation ---

GetDisplayUsableBounds Â¶

GetDisplayUsableBounds :: proc "cdecl" (displayIndex: i32, rect: ^Rect) -> i32 ---

GetError Â¶

GetError :: proc "cdecl" () -> cstring ---

GetErrorMsg Â¶

GetErrorMsg :: proc "cdecl" (errstr: [^]u8, maxlen: i32) -> cstring ---

GetErrorMsgString Â¶

GetErrorMsgString :: proc "cdecl" (buf: []u8) -> string {…}

GetErrorString Â¶

GetErrorString :: proc "cdecl" () -> string {…}

GetEventFilter Â¶

GetEventFilter :: proc "cdecl" (filter: ^EventFilter, userdata: ^rawptr) -> bool ---

GetEventState Â¶

GetEventState :: proc "cdecl" (type: EventType) -> b8 {…}

GetGlobalMouseState Â¶

GetGlobalMouseState :: proc "cdecl" (x, y: ^i32) -> u32 ---

GetGrabbedWindow Â¶

GetGrabbedWindow :: proc "cdecl" () -> ^Window ---

GetHint Â¶

GetHint :: proc "cdecl" (name: cstring) -> cstring ---

GetHintBoolean Â¶

GetHintBoolean :: proc "cdecl" (name: cstring, default_value: bool) -> bool ---

GetKeyFromName Â¶

GetKeyFromName :: proc "cdecl" (name: cstring) -> Keycode ---

GetKeyFromScancode Â¶

GetKeyFromScancode :: proc "cdecl" (scancode: Scancode) -> Keycode ---

GetKeyName Â¶

GetKeyName :: proc "cdecl" (key: Keycode) -> cstring ---

GetKeyboardFocus Â¶

GetKeyboardFocus :: proc "cdecl" () -> ^Window ---

GetKeyboardState Â¶

GetKeyboardState :: proc "cdecl" (numkeys: ^i32) -> [^]u8 ---

GetKeyboardStateAsSlice Â¶

GetKeyboardStateAsSlice :: proc "cdecl" () -> []u8 {…}

GetMemoryFunctions Â¶

GetMemoryFunctions :: proc "cdecl" (malloc_func: ^malloc_func, calloc_func: ^calloc_func, realloc_func: ^realloc_func, free_func: ^free_func) ---

GetModState Â¶

GetModState :: proc "cdecl" () -> Keymod {…}

GetMouseFocus Â¶

GetMouseFocus :: proc "cdecl" () -> ^Window ---

GetMouseState Â¶

GetMouseState :: proc "cdecl" (x, y: ^i32) -> u32 ---

GetNumAllocations Â¶

GetNumAllocations :: proc "cdecl" () -> i32 ---

GetNumAudioDevices Â¶

GetNumAudioDevices :: proc "cdecl" (iscapture: bool) -> i32 ---

GetNumAudioDrivers Â¶

GetNumAudioDrivers :: proc "cdecl" () -> i32 ---

GetNumDisplayModes Â¶

GetNumDisplayModes :: proc "cdecl" (displayIndex: i32) -> i32 ---

GetNumRenderDrivers Â¶

GetNumRenderDrivers :: proc "cdecl" () -> i32 ---

GetNumTouchDevices Â¶

GetNumTouchDevices :: proc "cdecl" () -> i32 ---

GetNumTouchFingers Â¶

GetNumTouchFingers :: proc "cdecl" (touchID: TouchID) -> i32 ---

GetNumVideoDisplays Â¶

GetNumVideoDisplays :: proc "cdecl" () -> i32 ---

GetNumVideoDrivers Â¶

GetNumVideoDrivers :: proc "cdecl" () -> i32 ---

GetPerformanceCounter Â¶

GetPerformanceCounter :: proc "cdecl" () -> u64 ---

GetPerformanceFrequency Â¶

GetPerformanceFrequency :: proc "cdecl" () -> u64 ---

GetPixelFormatName Â¶

GetPixelFormatName :: proc "cdecl" (format: u32) -> cstring ---

GetPlatform Â¶

GetPlatform :: proc "cdecl" () -> cstring ---

GetPowerInfo Â¶

GetPowerInfo :: proc "cdecl" (secs: ^i32, pct: ^i32) -> PowerState ---

GetPrefPath Â¶

GetPrefPath :: proc "cdecl" (org, app: cstring) -> cstring ---

GetPreferredLocales Â¶

GetPreferredLocales :: proc "cdecl" () -> [^]Locale ---

GetQueuedAudioSize Â¶

GetQueuedAudioSize :: proc "cdecl" (dev: AudioDeviceID) -> u32 ---

GetRGB Â¶

GetRGB :: proc "cdecl" (pixel: u32, format: ^PixelFormat, r, g, b: ^u8) ---

GetRGBA Â¶

GetRGBA :: proc "cdecl" (
	pixel:   u32, 
	format:  ^PixelFormat, 
	r, g, b, 
	a:       ^u8, 
) ---

GetRelativeMouseMode Â¶

GetRelativeMouseMode :: proc "cdecl" () -> bool ---

GetRelativeMouseState Â¶

GetRelativeMouseState :: proc "cdecl" (x, y: ^i32) -> u32 ---

GetRenderDrawBlendMode Â¶

GetRenderDrawBlendMode :: proc "cdecl" (renderer: ^Renderer, blendMode: ^BlendMode) -> i32 ---

GetRenderDrawColor Â¶

GetRenderDrawColor :: proc "cdecl" (renderer: ^Renderer, r, g, b, a: ^u8) -> i32 ---

GetRenderDriverInfo Â¶

GetRenderDriverInfo :: proc "cdecl" (index: i32, info: ^RendererInfo) -> i32 ---

GetRenderTarget Â¶

GetRenderTarget :: proc "cdecl" (renderer: ^Renderer) -> ^Texture ---

GetRenderer Â¶

GetRenderer :: proc "cdecl" (window: ^Window) -> ^Renderer ---

GetRendererInfo Â¶

GetRendererInfo :: proc "cdecl" (renderer: ^Renderer, info: ^RendererInfo) -> i32 ---

GetRendererOutputSize Â¶

GetRendererOutputSize :: proc "cdecl" (renderer: ^Renderer, w, h: ^i32) -> i32 ---

GetRevision Â¶

GetRevision :: proc "cdecl" () -> cstring ---

GetScancodeFromKey Â¶

GetScancodeFromKey :: proc "cdecl" (key: Keycode) -> Scancode ---

GetScancodeFromName Â¶

GetScancodeFromName :: proc "cdecl" (name: cstring) -> Scancode ---

GetScancodeName Â¶

GetScancodeName :: proc "cdecl" (scancode: Scancode) -> cstring ---

GetShapedWindowMode Â¶

GetShapedWindowMode :: proc "cdecl" (window: ^Window, shape_mode: ^WindowShapeMode) -> i32 ---

GetSurfaceAlphaMod Â¶

GetSurfaceAlphaMod :: proc "cdecl" (surface: ^Surface, alpha: ^u8) -> i32 ---

GetSurfaceBlendMode Â¶

GetSurfaceBlendMode :: proc "cdecl" (surface: ^Surface, blendMode: ^BlendMode) -> i32 ---

GetSurfaceColorMod Â¶

GetSurfaceColorMod :: proc "cdecl" (surface: ^Surface, r, g, b: ^u8) -> i32 ---

GetSystemRAM Â¶

GetSystemRAM :: proc "cdecl" () -> i32 ---

GetTextureAlphaMod Â¶

GetTextureAlphaMod :: proc "cdecl" (texture: ^Texture, alpha: ^u8) -> i32 ---

GetTextureBlendMode Â¶

GetTextureBlendMode :: proc "cdecl" (texture: ^Texture, blendMode: ^BlendMode) -> i32 ---

GetTextureColorMod Â¶

GetTextureColorMod :: proc "cdecl" (texture: ^Texture, r, g, b: ^u8) -> i32 ---

GetTextureScaleMode Â¶

GetTextureScaleMode :: proc "cdecl" (texture: ^Texture, scaleMode: ^ScaleMode) -> i32 ---

GetThreadID Â¶

GetThreadID :: proc "cdecl" (thread: ^Thread) -> threadID ---

GetThreadName Â¶

GetThreadName :: proc "cdecl" (thread: ^Thread) -> cstring ---

GetTicks Â¶

GetTicks :: proc "cdecl" () -> u32 ---

GetTouchDevice Â¶

GetTouchDevice :: proc "cdecl" (index: i32) -> TouchID ---

GetTouchDeviceType Â¶

GetTouchDeviceType :: proc "cdecl" (touchID: TouchID) -> TouchDeviceType ---

GetTouchFinger Â¶

GetTouchFinger :: proc "cdecl" (touchID: TouchID, index: i32) -> ^Finger ---

GetVersion Â¶

GetVersion :: proc "cdecl" (ver: ^version) ---

GetVideoDriver Â¶

GetVideoDriver :: proc "cdecl" (index: i32) -> cstring ---

GetWindowBordersSize Â¶

GetWindowBordersSize :: proc "cdecl" (window: ^Window, top, left, bottom, right: ^i32) -> i32 ---

GetWindowBrightness Â¶

GetWindowBrightness :: proc "cdecl" (window: ^Window) -> f32 ---

GetWindowData Â¶

GetWindowData :: proc "cdecl" (window: ^Window, name: cstring) -> rawptr ---

GetWindowDisplayIndex Â¶

GetWindowDisplayIndex :: proc "cdecl" (window: ^Window) -> i32 ---

GetWindowDisplayMode Â¶

GetWindowDisplayMode :: proc "cdecl" (window: ^Window, mode: ^DisplayMode) -> i32 ---

GetWindowFlags Â¶

GetWindowFlags :: proc "cdecl" (window: ^Window) -> u32 ---

GetWindowFromID Â¶

GetWindowFromID :: proc "cdecl" (id: u32) -> ^Window ---

GetWindowGammaRamp Â¶

GetWindowGammaRamp :: proc "cdecl" (window: ^Window, red, green, blue: ^u16) -> i32 ---

GetWindowGrab Â¶

GetWindowGrab :: proc "cdecl" (window: ^Window) -> bool ---

GetWindowID Â¶

GetWindowID :: proc "cdecl" (window: ^Window) -> u32 ---

GetWindowKeyboardGrab Â¶

GetWindowKeyboardGrab :: proc "cdecl" (window: ^Window) -> bool ---

GetWindowMaximumSize Â¶

GetWindowMaximumSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

GetWindowMinimumSize Â¶

GetWindowMinimumSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

GetWindowMouseGrab Â¶

GetWindowMouseGrab :: proc "cdecl" (window: ^Window) -> bool ---

GetWindowOpacity Â¶

GetWindowOpacity :: proc "cdecl" (window: ^Window, out_opacity: ^f32) -> i32 ---

GetWindowPixelFormat Â¶

GetWindowPixelFormat :: proc "cdecl" (window: ^Window) -> u32 ---

GetWindowPosition Â¶

GetWindowPosition :: proc "cdecl" (window: ^Window, x, y: ^i32) ---

GetWindowSize Â¶

GetWindowSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

GetWindowSurface Â¶

GetWindowSurface :: proc "cdecl" (window: ^Window) -> ^Surface ---

GetWindowTitle Â¶

GetWindowTitle :: proc "cdecl" (window: ^Window) -> cstring ---

GetWindowWMInfo Â¶

GetWindowWMInfo :: proc "cdecl" (window: ^Window, info: ^SysWMinfo) -> bool ---

GetYUVConversionMode Â¶

GetYUVConversionMode :: proc "cdecl" () -> YUV_CONVERSION_MODE ---

GetYUVConversionModeForResolution Â¶

GetYUVConversionModeForResolution :: proc "cdecl" (width, height: i32) -> YUV_CONVERSION_MODE ---

HapticClose Â¶

HapticClose :: proc "cdecl" (haptic: ^Haptic) ---

HapticDestroyEffect Â¶

HapticDestroyEffect :: proc "cdecl" (haptic: ^Haptic, effect: i32) ---

HapticEffectSupported Â¶

HapticEffectSupported :: proc "cdecl" (haptic: ^Haptic, effect: ^HapticEffect) -> i32 ---

HapticGetEffectStatus Â¶

HapticGetEffectStatus :: proc "cdecl" (haptic: ^Haptic, effect: i32) -> i32 ---

HapticIndex Â¶

HapticIndex :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticName Â¶

HapticName :: proc "cdecl" (device_index: i32) -> cstring ---

HapticNewEffect Â¶

HapticNewEffect :: proc "cdecl" (haptic: ^Haptic, effect: ^HapticEffect) -> i32 ---

HapticNumAxes Â¶

HapticNumAxes :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticNumEffects Â¶

HapticNumEffects :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticNumEffectsPlaying Â¶

HapticNumEffectsPlaying :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticOpen Â¶

HapticOpen :: proc "cdecl" (device_index: i32) -> ^Haptic ---

HapticOpenFromJoystick Â¶

HapticOpenFromJoystick :: proc "cdecl" (joystick: ^Joystick) -> ^Haptic ---

HapticOpenFromMouse Â¶

HapticOpenFromMouse :: proc "cdecl" () -> ^Haptic ---

HapticOpened Â¶

HapticOpened :: proc "cdecl" (device_index: i32) -> i32 ---

HapticPause Â¶

HapticPause :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticQuery Â¶

HapticQuery :: proc "cdecl" (haptic: ^Haptic) -> u32 ---

HapticRumbleInit Â¶

HapticRumbleInit :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticRumblePlay Â¶

HapticRumblePlay :: proc "cdecl" (haptic: ^Haptic, strength: f32, length: u32) -> i32 ---

HapticRumbleStop Â¶

HapticRumbleStop :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticRumbleSupported Â¶

HapticRumbleSupported :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticRunEffect Â¶

HapticRunEffect :: proc "cdecl" (haptic: ^Haptic, effect: i32, iterations: u32) -> i32 ---

HapticSetAutocenter Â¶

HapticSetAutocenter :: proc "cdecl" (haptic: ^Haptic, autocenter: i32) -> i32 ---

HapticSetGain Â¶

HapticSetGain :: proc "cdecl" (haptic: ^Haptic, gain: i32) -> i32 ---

HapticStopAll Â¶

HapticStopAll :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticStopEffect Â¶

HapticStopEffect :: proc "cdecl" (haptic: ^Haptic, effect: i32) -> i32 ---

HapticUnpause Â¶

HapticUnpause :: proc "cdecl" (haptic: ^Haptic) -> i32 ---

HapticUpdateEffect Â¶

HapticUpdateEffect :: proc "cdecl" (haptic: ^Haptic, effect: i32, data: ^HapticEffect) -> i32 ---

Has3DNow Â¶

Has3DNow :: proc "cdecl" () -> bool ---

HasARMSIMD Â¶

HasARMSIMD :: proc "cdecl" () -> bool ---

HasAVX Â¶

HasAVX :: proc "cdecl" () -> bool ---

HasAVX2 Â¶

HasAVX2 :: proc "cdecl" () -> bool ---

HasAVX512F Â¶

HasAVX512F :: proc "cdecl" () -> bool ---

HasAltiVec Â¶

HasAltiVec :: proc "cdecl" () -> bool ---

HasClipboardText Â¶

HasClipboardText :: proc "cdecl" () -> bool ---

HasColorKey Â¶

HasColorKey :: proc "cdecl" (surface: ^Surface) -> bool ---

HasEvent Â¶

HasEvent :: proc "cdecl" (type: EventType) -> bool ---

HasEvents Â¶

HasEvents :: proc "cdecl" (minType, maxType: EventType) -> bool ---

HasExactlyOneBitSet32 Â¶

HasExactlyOneBitSet32 :: proc "cdecl" (x: u32) -> bool {…}

HasIntersection Â¶

HasIntersection :: proc "cdecl" (A, B: ^Rect) -> bool ---

HasMMX Â¶

HasMMX :: proc "cdecl" () -> bool ---

HasNEON Â¶

HasNEON :: proc "cdecl" () -> bool ---

HasRDTSC Â¶

HasRDTSC :: proc "cdecl" () -> bool ---

HasSSE Â¶

HasSSE :: proc "cdecl" () -> bool ---

HasSSE2 Â¶

HasSSE2 :: proc "cdecl" () -> bool ---

HasSSE3 Â¶

HasSSE3 :: proc "cdecl" () -> bool ---

HasSSE41 Â¶

HasSSE41 :: proc "cdecl" () -> bool ---

HasSSE42 Â¶

HasSSE42 :: proc "cdecl" () -> bool ---

HasScreenKeyboardSupport Â¶

HasScreenKeyboardSupport :: proc "cdecl" () -> bool ---

HasSurfaceRLE Â¶

HasSurfaceRLE :: proc "cdecl" (surface: ^Surface) -> bool ---

HideWindow Â¶

HideWindow :: proc "cdecl" (window: ^Window) ---

Init Â¶

Init :: proc "cdecl" (flags: bit_set[InitFlag; u32]) -> i32 ---

InitSubSystem Â¶

InitSubSystem :: proc "cdecl" (flags: bit_set[InitFlag; u32]) -> i32 ---

IntersectRect Â¶

IntersectRect :: proc "cdecl" (A, B: ^Rect, result: ^Rect) -> bool ---

IntersectRectAndLine Â¶

IntersectRectAndLine :: proc "cdecl" (rect: ^Rect, X1, Y1, X2, Y2: ^i32) -> bool ---

InvalidParamError Â¶

InvalidParamError :: proc "cdecl" (param: cstring) -> i32 {…}

IsAndroidTV Â¶

IsAndroidTV :: proc "cdecl" () -> bool ---

IsChromebook Â¶

IsChromebook :: proc "cdecl" () -> bool ---

IsDeXMode Â¶

IsDeXMode :: proc "cdecl" () -> bool ---

IsGameController Â¶

IsGameController :: proc "cdecl" (joystick_index: i32) -> bool ---

IsScreenKeyboardShown Â¶

IsScreenKeyboardShown :: proc "cdecl" (window: ^Window) -> bool ---

IsScreenSaverEnabled Â¶

IsScreenSaverEnabled :: proc "cdecl" () -> bool ---

IsShapedWindow Â¶

IsShapedWindow :: proc "cdecl" (window: ^Window) -> bool ---

IsTablet Â¶

IsTablet :: proc "cdecl" () -> bool ---

IsTextInputActive Â¶

IsTextInputActive :: proc "cdecl" () -> bool ---

JoystickAttachVirtual Â¶

JoystickAttachVirtual :: proc "cdecl" (type: JoystickType, naxes, nbuttons, nhats: i32) -> i32 ---

JoystickClose Â¶

JoystickClose :: proc "cdecl" (joystick: ^Joystick) ---

JoystickCurrentPowerLevel Â¶

JoystickCurrentPowerLevel :: proc "cdecl" (joystick: ^Joystick) -> JoystickPowerLevel ---

JoystickDetachVirtual Â¶

JoystickDetachVirtual :: proc "cdecl" (device_index: i32) -> i32 ---

JoystickEventState Â¶

JoystickEventState :: proc "cdecl" (state: i32) -> i32 ---

JoystickFromInstanceID Â¶

JoystickFromInstanceID :: proc "cdecl" (instance_id: JoystickID) -> ^Joystick ---

JoystickFromPlayerIndex Â¶

JoystickFromPlayerIndex :: proc "cdecl" (player_index: i32) -> ^Joystick ---

JoystickGetAttached Â¶

JoystickGetAttached :: proc "cdecl" (joystick: ^Joystick) -> bool ---

JoystickGetAxis Â¶

JoystickGetAxis :: proc "cdecl" (joystick: ^Joystick, axis: i32) -> i64 ---

JoystickGetAxisInitialState Â¶

JoystickGetAxisInitialState :: proc "cdecl" (joystick: ^Joystick, axis: i32, state: ^i16) -> bool ---

JoystickGetBall Â¶

JoystickGetBall :: proc "cdecl" (joystick: ^Joystick, ball: i32, dx, dy: ^i32) -> i32 ---

JoystickGetButton Â¶

JoystickGetButton :: proc "cdecl" (joystick: ^Joystick, button: i32) -> u8 ---

JoystickGetDeviceGUID Â¶

JoystickGetDeviceGUID :: proc "cdecl" (device_index: i32) -> JoystickGUID ---

JoystickGetDeviceInstanceID Â¶

JoystickGetDeviceInstanceID :: proc "cdecl" (device_index: i32) -> JoystickID ---

JoystickGetDevicePlayerIndex Â¶

JoystickGetDevicePlayerIndex :: proc "cdecl" (device_index: i32) -> i32 ---

JoystickGetDeviceProduct Â¶

JoystickGetDeviceProduct :: proc "cdecl" (device_index: i32) -> u16 ---

JoystickGetDeviceProductVersion Â¶

JoystickGetDeviceProductVersion :: proc "cdecl" (device_index: i32) -> u16 ---

JoystickGetDeviceType Â¶

JoystickGetDeviceType :: proc "cdecl" (device_index: i32) -> JoystickType ---

JoystickGetDeviceVendor Â¶

JoystickGetDeviceVendor :: proc "cdecl" (device_index: i32) -> u16 ---

JoystickGetGUID Â¶

JoystickGetGUID :: proc "cdecl" (joystick: ^Joystick) -> JoystickGUID ---

JoystickGetGUIDFromString Â¶

JoystickGetGUIDFromString :: proc "cdecl" (pchGUID: cstring) -> JoystickGUID ---

JoystickGetGUIDString Â¶

JoystickGetGUIDString :: proc "cdecl" (guid: JoystickGUID, pszGUID: [^]u8, cbGUID: i32) ---

JoystickGetHat Â¶

JoystickGetHat :: proc "cdecl" (joystick: ^Joystick, hat: i32) -> u8 ---

JoystickGetPlayerIndex Â¶

JoystickGetPlayerIndex :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickGetProduct Â¶

JoystickGetProduct :: proc "cdecl" (joystick: ^Joystick) -> u16 ---

JoystickGetProductVersion Â¶

JoystickGetProductVersion :: proc "cdecl" (joystick: ^Joystick) -> u16 ---

JoystickGetSerial Â¶

JoystickGetSerial :: proc "cdecl" (joystick: ^Joystick) -> cstring ---

JoystickGetType Â¶

JoystickGetType :: proc "cdecl" (joystick: ^Joystick) -> JoystickType ---

JoystickGetVendor Â¶

JoystickGetVendor :: proc "cdecl" (joystick: ^Joystick) -> u16 ---

JoystickHasLED Â¶

JoystickHasLED :: proc "cdecl" (joystick: ^Joystick) -> bool ---

JoystickInstanceID Â¶

JoystickInstanceID :: proc "cdecl" (joystick: ^Joystick) -> JoystickID ---

JoystickIsHaptic Â¶

JoystickIsHaptic :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickIsVirtual Â¶

JoystickIsVirtual :: proc "cdecl" (device_index: i32) -> bool ---

JoystickName Â¶

JoystickName :: proc "cdecl" (joystick: ^Joystick) -> cstring ---

JoystickNameForIndex Â¶

JoystickNameForIndex :: proc "cdecl" (device_index: i32) -> cstring ---

JoystickNumAxes Â¶

JoystickNumAxes :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickNumBalls Â¶

JoystickNumBalls :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickNumButtons Â¶

JoystickNumButtons :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickNumHats Â¶

JoystickNumHats :: proc "cdecl" (joystick: ^Joystick) -> i32 ---

JoystickOpen Â¶

JoystickOpen :: proc "cdecl" (device_index: i32) -> ^Joystick ---

JoystickRumble Â¶

JoystickRumble :: proc "cdecl" (joystick: ^Joystick, low_frequency_rumble, high_frequency_rumble: u16, duration_ms: u32) -> i32 ---

JoystickRumbleTriggers Â¶

JoystickRumbleTriggers :: proc "cdecl" (joystick: ^Joystick, left_rumble, right_rumble: u16, duration_ms: u32) -> i32 ---

JoystickSendEffect Â¶

JoystickSendEffect :: proc "cdecl" (joystick: ^Joystick, data: rawptr, size: i32) -> i32 ---

JoystickSetLED Â¶

JoystickSetLED :: proc "cdecl" (joystick: ^Joystick, red, green, blue: u8) -> i32 ---

JoystickSetPlayerIndex Â¶

JoystickSetPlayerIndex :: proc "cdecl" (joystick: ^Joystick, player_index: i32) ---

JoystickSetVirtualAxis Â¶

JoystickSetVirtualAxis :: proc "cdecl" (joystick: ^Joystick, axis: i32, value: i16) -> i32 ---

JoystickSetVirtualButton Â¶

JoystickSetVirtualButton :: proc "cdecl" (joystick: ^Joystick, button: i32, value: u8) -> i32 ---

JoystickSetVirtualHat Â¶

JoystickSetVirtualHat :: proc "cdecl" (joystick: ^Joystick, hat: i32, value: u8) -> i32 ---

JoystickUpdate Â¶

JoystickUpdate :: proc "cdecl" () ---

LinuxSetThreadPriority Â¶

LinuxSetThreadPriority :: proc "cdecl" (threadID: i64, priority: i32) -> i32 ---

LoadBMP Â¶

LoadBMP :: proc "cdecl" (file: cstring) -> ^Surface {…}

LoadBMP_RW Â¶

LoadBMP_RW :: proc "cdecl" (src: ^RWops, freesrc: bool) -> ^Surface ---

LoadDollarTemplates Â¶

LoadDollarTemplates :: proc "cdecl" (touchId: ^TouchID, src: ^RWops) -> i32 ---

LoadFile Â¶

LoadFile :: proc "cdecl" (file: rawptr, datasize: uint) -> rawptr ---

LoadFile_RW Â¶

LoadFile_RW :: proc "cdecl" (src: ^RWops, datasize: uint, freesrc: bool) -> rawptr ---

LoadFunction Â¶

LoadFunction :: proc "cdecl" (handle: rawptr, name: cstring) -> rawptr ---

LoadObject Â¶

LoadObject :: proc "cdecl" (sofile: cstring) -> rawptr ---

LoadWAV Â¶

LoadWAV :: proc "cdecl" (file: cstring, spec: ^AudioSpec, audio_buf: ^[^]u8, audio_len: ^u32) -> ^AudioSpec {…}
 

* * Loads a WAV from a file. * Compatibility convenience function.

LoadWAV_RW Â¶

LoadWAV_RW :: proc "cdecl" (src: ^RWops, freesrc: bool, spec: ^AudioSpec, audio_buf: ^[^]u8, audio_len: ^u32) -> ^AudioSpec ---

LockAudio Â¶

LockAudio :: proc "cdecl" () ---

LockAudioDevice Â¶

LockAudioDevice :: proc "cdecl" (dev: AudioDeviceID) ---

LockJoysticks Â¶

LockJoysticks :: proc "cdecl" () ---

LockMutex Â¶

LockMutex :: proc "cdecl" (m: ^mutex) -> i32 ---

LockSensors Â¶

LockSensors :: proc "cdecl" () ---

LockSurface Â¶

LockSurface :: proc "cdecl" (surface: ^Surface) -> i32 ---

LockTexture Â¶

LockTexture :: proc "cdecl" (texture: ^Texture, rect: ^Rect, pixels: ^rawptr, pitch: ^i32) -> i32 ---

LockTextureToSurface Â¶

LockTextureToSurface :: proc "cdecl" (texture: ^Texture, rect: ^Rect, surface: ^^Surface) -> i32 ---

Log Â¶

Log :: proc "cdecl" (fmt: cstring, args: ..any) ---

LogCritical Â¶

LogCritical :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LogDebug Â¶

LogDebug :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LogError Â¶

LogError :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LogGetOutputFunction Â¶

LogGetOutputFunction :: proc "cdecl" (callback: ^LogOutputFunction, userdata: ^rawptr) ---
 

LogMessageV :: proc(category: c.int, priority: LogPriority, fmt: cstring, ap: va_list) ---

LogGetPriority Â¶

LogGetPriority :: proc "cdecl" (category: i32) -> LogPriority ---

LogInfo Â¶

LogInfo :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LogMessage Â¶

LogMessage :: proc "cdecl" (category: i32, priority: LogPriority, fmt: cstring, args: ..any) ---

LogResetPriorities Â¶

LogResetPriorities :: proc "cdecl" () ---

LogSetAllPriority Â¶

LogSetAllPriority :: proc "cdecl" (priority: LogPriority) ---

LogSetOutputFunction Â¶

LogSetOutputFunction :: proc "cdecl" (callback: LogOutputFunction, userdata: rawptr) ---

LogSetPriority Â¶

LogSetPriority :: proc "cdecl" (category: i32, priority: LogPriority) ---

LogVerbose Â¶

LogVerbose :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LogWarn Â¶

LogWarn :: proc "cdecl" (category: i32, fmt: cstring, args: ..any) ---

LowerBlit Â¶

LowerBlit :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

LowerBlitScaled Â¶

LowerBlitScaled :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

MUSTLOCK Â¶

MUSTLOCK :: proc "cdecl" (surface: ^Surface) -> bool {…}

MapRGB Â¶

MapRGB :: proc "cdecl" (format: ^PixelFormat, r, g, b: u8) -> u32 ---

MapRGBA Â¶

MapRGBA :: proc "cdecl" (format: ^PixelFormat, r, g, b, a: u8) -> u32 ---

MasksToPixelFormatEnum Â¶

MasksToPixelFormatEnum :: proc "cdecl" (bpp: i32, Rmask, Gmask, Bmask, Amask: u32) -> u32 ---

MaximizeWindow Â¶

MaximizeWindow :: proc "cdecl" (window: ^Window) ---

MemoryBarrierAcquireFunction Â¶

MemoryBarrierAcquireFunction :: proc "cdecl" () ---

MemoryBarrierReleaseFunction Â¶

MemoryBarrierReleaseFunction :: proc "cdecl" () ---

Metal_CreateView Â¶

Metal_CreateView :: proc "cdecl" (window: ^Window) -> MetalView ---

Metal_DestroyView Â¶

Metal_DestroyView :: proc "cdecl" (view: MetalView) ---

Metal_GetDrawableSize Â¶

Metal_GetDrawableSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

Metal_GetLayer Â¶

Metal_GetLayer :: proc "cdecl" (view: MetalView) -> rawptr ---

MinimizeWindow Â¶

MinimizeWindow :: proc "cdecl" (window: ^Window) ---

MixAudio Â¶

MixAudio :: proc "cdecl" (dst: [^]u8, src: [^]u8, len: u32, volume: i32) ---

MixAudioFormat Â¶

MixAudioFormat :: proc "cdecl" (dst: [^]u8, src: [^]u8, format: AudioFormat, len: u32, volume: i32) ---

MostSignificantBitIndex32 Â¶

MostSignificantBitIndex32 :: proc "cdecl" (x: u32) -> i32 {…}
 

Bits

MouseIsHaptic Â¶

MouseIsHaptic :: proc "cdecl" () -> i32 ---

NewAudioStream Â¶

NewAudioStream :: proc "cdecl" (
	src_format:   AudioFormat, 
	src_channels: u8, 
	src_rate:     i32, 
	dst_format:   AudioFormat, 
	dst_channels: u8, 
	dst_rate:     i32, 
) -> ^AudioStream ---

NumHaptics Â¶

NumHaptics :: proc "cdecl" () -> i32 ---

NumJoysticks Â¶

NumJoysticks :: proc "cdecl" () -> i32 ---

NumSensors Â¶

NumSensors :: proc "cdecl" () -> i32 ---

OnApplicationDidBecomeActive Â¶

OnApplicationDidBecomeActive :: proc "cdecl" () ---

OnApplicationDidChangeStatusBarOrientation Â¶

OnApplicationDidChangeStatusBarOrientation :: proc "cdecl" () ---
 

iPhoneOS

OnApplicationDidEnterBackground Â¶

OnApplicationDidEnterBackground :: proc "cdecl" () ---

OnApplicationDidReceiveMemoryWarning Â¶

OnApplicationDidReceiveMemoryWarning :: proc "cdecl" () ---

OnApplicationWillEnterForeground Â¶

OnApplicationWillEnterForeground :: proc "cdecl" () ---

OnApplicationWillResignActive Â¶

OnApplicationWillResignActive :: proc "cdecl" () ---

OnApplicationWillTerminate Â¶

OnApplicationWillTerminate :: proc "cdecl" () ---
 

Functions used by iOS application delegates to notify SDL about state changes

OpenAudio Â¶

OpenAudio :: proc "cdecl" (desired, obtained: ^AudioSpec) -> i32 ---

OpenAudioDevice Â¶

OpenAudioDevice :: proc "cdecl" (device: cstring, iscapture: bool, desired: ^AudioSpec, obtained: ^AudioSpec, allowed_changes: bool) -> AudioDeviceID ---

OpenURL Â¶

OpenURL :: proc "cdecl" (url: cstring) -> i32 ---

OutOfMemory Â¶

OutOfMemory :: proc "cdecl" () -> i32 {…}
 

* * \name Internal error functions * * \internal * Private error reporting function - used internally.

PauseAudio Â¶

PauseAudio :: proc "cdecl" (pause_on: bool) ---

PauseAudioDevice Â¶

PauseAudioDevice :: proc "cdecl" (dev: AudioDeviceID, pause_on: bool) ---
 

Pause audio functions

PeepEvents Â¶

PeepEvents :: proc "cdecl" (events: [^]Event, numevents: i32, action: eventaction, minType, maxType: EventType) -> i32 ---

PixelFormatEnumToMasks Â¶

PixelFormatEnumToMasks :: proc "cdecl" (
	format:              u32, 
	bpp:                 ^i32, 
	Rmask, Gmask, Bmask, 
	Amask:               ^u32, 
) -> bool ---

PointInRect Â¶

PointInRect :: proc "odin" (p: ^Point, r: ^Rect) -> bool {…}

PollEvent Â¶

PollEvent :: proc "cdecl" (event: ^Event) -> bool ---
 

original return value is c.int

PumpEvents Â¶

PumpEvents :: proc "cdecl" () ---

PushEvent Â¶

PushEvent :: proc "cdecl" (event: ^Event) -> bool ---
 

original return value is c.int

QueryTexture Â¶

QueryTexture :: proc "cdecl" (texture: ^Texture, format: ^u32, access, w, h: ^i32) -> i32 ---

QueueAudio Â¶

QueueAudio :: proc "cdecl" (dev: AudioDeviceID, data: rawptr, len: u32) -> i32 ---

Quit Â¶

Quit :: proc "cdecl" () ---

QuitRequested Â¶

QuitRequested :: proc "cdecl" () -> bool {…}

QuitSubSystem Â¶

QuitSubSystem :: proc "cdecl" (flags: bit_set[InitFlag; u32]) ---

RWFromConstMem Â¶

RWFromConstMem :: proc "cdecl" (mem: rawptr, size: i32) -> ^RWops ---

RWFromFP Â¶

RWFromFP :: proc "cdecl" (fp: rawptr, autoclose: bool) -> ^RWops ---

RWFromFile Â¶

RWFromFile :: proc "cdecl" (file: cstring, mode: cstring) -> ^RWops ---

RWFromMem Â¶

RWFromMem :: proc "cdecl" (mem: rawptr, size: i32) -> ^RWops ---

RWclose Â¶

RWclose :: proc "cdecl" (ctx: ^RWops) -> i32 ---

RWread Â¶

RWread :: proc "cdecl" (ctx: ^RWops, ptr: rawptr, size: uint, maxnum: uint) -> uint ---

RWseek Â¶

RWseek :: proc "cdecl" (ctx: ^RWops, offset: i64, whence: i32) -> i64 ---

RWsize Â¶

RWsize :: proc "cdecl" (ctx: ^RWops) -> i64 ---

RWtell Â¶

RWtell :: proc "cdecl" (ctx: ^RWops) -> i64 ---

RWwrite Â¶

RWwrite :: proc "cdecl" (ctx: ^RWops, size: uint, num: uint) -> uint ---

RaiseWindow Â¶

RaiseWindow :: proc "cdecl" (window: ^Window) ---

ReadBE16 Â¶

ReadBE16 :: proc "cdecl" (src: ^RWops) -> u16 ---

ReadBE32 Â¶

ReadBE32 :: proc "cdecl" (src: ^RWops) -> u32 ---

ReadBE64 Â¶

ReadBE64 :: proc "cdecl" (src: ^RWops) -> u64 ---

ReadLE16 Â¶

ReadLE16 :: proc "cdecl" (src: ^RWops) -> u16 ---

ReadLE32 Â¶

ReadLE32 :: proc "cdecl" (src: ^RWops) -> u32 ---

ReadLE64 Â¶

ReadLE64 :: proc "cdecl" (src: ^RWops) -> u64 ---

ReadU8 Â¶

ReadU8 :: proc "cdecl" (src: ^RWops) -> u8 ---

RecordGesture Â¶

RecordGesture :: proc "cdecl" (touchId: ^TouchID) -> i32 ---

RectEmpty Â¶

RectEmpty :: proc "odin" (r: ^Rect) -> bool {…}

RectEquals Â¶

RectEquals :: proc "odin" (a, b: ^Rect) -> bool {…}

RegisterEvents Â¶

RegisterEvents :: proc "cdecl" (numevents: i32) -> u32 ---

RemoveTimer Â¶

RemoveTimer :: proc "cdecl" (id: TimerID) -> bool ---

RenderClear Â¶

RenderClear :: proc "cdecl" (renderer: ^Renderer) -> i32 ---

RenderCopy Â¶

RenderCopy :: proc "cdecl" (renderer: ^Renderer, texture: ^Texture, srcrect: ^Rect, dstrect: ^Rect) -> i32 ---

RenderCopyEx Â¶

RenderCopyEx :: proc "cdecl" (
	renderer: ^Renderer, 
	texture:  ^Texture, 
	srcrect:  ^Rect, 
	dstrect:  ^Rect, 
	angle:    f64, 
	center:   ^Point, 
	flip:     RendererFlip, 
) -> i32 ---

RenderCopyExF Â¶

RenderCopyExF :: proc "cdecl" (
	renderer: ^Renderer, 
	texture:  ^Texture, 
	srcrect:  ^Rect, 
	dstrect:  ^FRect, 
	angle:    f64, 
	center:   ^FPoint, 
	flip:     RendererFlip, 
) -> i32 ---

RenderCopyF Â¶

RenderCopyF :: proc "cdecl" (renderer: ^Renderer, texture: ^Texture, srcrect: ^Rect, dstrect: ^FRect) -> i32 ---

RenderDrawLine Â¶

RenderDrawLine :: proc "cdecl" (renderer: ^Renderer, x1, y1, x2, y2: i32) -> i32 ---

RenderDrawLineF Â¶

RenderDrawLineF :: proc "cdecl" (renderer: ^Renderer, x1, y1, x2, y2: f32) -> i32 ---

RenderDrawLines Â¶

RenderDrawLines :: proc "cdecl" (renderer: ^Renderer, points: [^]Point, count: i32) -> i32 ---

RenderDrawLinesF Â¶

RenderDrawLinesF :: proc "cdecl" (renderer: ^Renderer, points: [^]FPoint, count: i32) -> i32 ---

RenderDrawPoint Â¶

RenderDrawPoint :: proc "cdecl" (renderer: ^Renderer, x, y: i32) -> i32 ---

RenderDrawPointF Â¶

RenderDrawPointF :: proc "cdecl" (renderer: ^Renderer, x, y: f32) -> i32 ---

RenderDrawPoints Â¶

RenderDrawPoints :: proc "cdecl" (renderer: ^Renderer, points: [^]Point, count: i32) -> i32 ---

RenderDrawPointsF Â¶

RenderDrawPointsF :: proc "cdecl" (renderer: ^Renderer, points: [^]FPoint, count: i32) -> i32 ---

RenderDrawRect Â¶

RenderDrawRect :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) -> i32 ---

RenderDrawRectF Â¶

RenderDrawRectF :: proc "cdecl" (renderer: ^Renderer, rect: ^FRect) -> i32 ---

RenderDrawRects Â¶

RenderDrawRects :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect, count: i32) -> i32 ---

RenderDrawRectsF Â¶

RenderDrawRectsF :: proc "cdecl" (renderer: ^Renderer, rects: [^]FRect, count: i32) -> i32 ---

RenderFillRect Â¶

RenderFillRect :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) -> i32 ---

RenderFillRectF Â¶

RenderFillRectF :: proc "cdecl" (renderer: ^Renderer, rect: ^FRect) -> i32 ---

RenderFillRects Â¶

RenderFillRects :: proc "cdecl" (renderer: ^Renderer, rects: [^]Rect, count: i32) -> i32 ---

RenderFillRectsF Â¶

RenderFillRectsF :: proc "cdecl" (renderer: ^Renderer, rects: [^]FRect, count: i32) -> i32 ---

RenderFlush Â¶

RenderFlush :: proc "cdecl" (renderer: ^Renderer) -> i32 ---

RenderGetClipRect Â¶

RenderGetClipRect :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) ---

RenderGetD3D11Device Â¶

RenderGetD3D11Device :: proc "cdecl" (renderer: ^Renderer) -> ^ID3D11Device ---

RenderGetD3D9Device Â¶

RenderGetD3D9Device :: proc "cdecl" (renderer: ^Renderer) -> ^IDirect3DDevice9 ---

RenderGetIntegerScale Â¶

RenderGetIntegerScale :: proc "cdecl" (renderer: ^Renderer) -> bool ---

RenderGetLogicalSize Â¶

RenderGetLogicalSize :: proc "cdecl" (renderer: ^Renderer, w, h: ^i32) ---

RenderGetMetalCommandEncoder Â¶

RenderGetMetalCommandEncoder :: proc "cdecl" (renderer: ^Renderer) -> rawptr ---

RenderGetMetalLayer Â¶

RenderGetMetalLayer :: proc "cdecl" (renderer: ^Renderer) -> rawptr ---

RenderGetScale Â¶

RenderGetScale :: proc "cdecl" (renderer: ^Renderer, scaleX, scaleY: ^f32) ---

RenderGetViewport Â¶

RenderGetViewport :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) ---

RenderIsClipEnabled Â¶

RenderIsClipEnabled :: proc "cdecl" (renderer: ^Renderer) -> bool ---

RenderPresent Â¶

RenderPresent :: proc "cdecl" (renderer: ^Renderer) ---

RenderReadPixels Â¶

RenderReadPixels :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect, format: u32, pixels: rawptr, pitch: i32) -> i32 ---

RenderSetClipRect Â¶

RenderSetClipRect :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) -> i32 ---

RenderSetIntegerScale Â¶

RenderSetIntegerScale :: proc "cdecl" (renderer: ^Renderer, enable: bool) -> i32 ---

RenderSetLogicalSize Â¶

RenderSetLogicalSize :: proc "cdecl" (renderer: ^Renderer, w, h: i32) -> i32 ---

RenderSetScale Â¶

RenderSetScale :: proc "cdecl" (renderer: ^Renderer, scaleX, scaleY: f32) -> i32 ---

RenderSetViewport Â¶

RenderSetViewport :: proc "cdecl" (renderer: ^Renderer, rect: ^Rect) -> i32 ---

RenderTargetSupported Â¶

RenderTargetSupported :: proc "cdecl" (renderer: ^PixelFormatEnum) -> bool ---

RestoreWindow Â¶

RestoreWindow :: proc "cdecl" (window: ^Window) ---

SCANCODE_TO_KEYCODE Â¶

SCANCODE_TO_KEYCODE :: proc "cdecl" (X: Scancode) -> Keycode {…}

SHAPEMODEALPHA Â¶

SHAPEMODEALPHA :: proc "cdecl" (mode: WindowShapeModeEnum) -> bool {…}

SIMDAlloc Â¶

SIMDAlloc :: proc "cdecl" (len: uint) -> rawptr ---

SIMDFree Â¶

SIMDFree :: proc "cdecl" (ptr: rawptr) ---

SIMDGetAlignment Â¶

SIMDGetAlignment :: proc "cdecl" () -> uint ---

SIMDRealloc Â¶

SIMDRealloc :: proc "cdecl" (mem: rawptr, len: uint) -> rawptr ---

SaveAllDollarTemplates Â¶

SaveAllDollarTemplates :: proc "cdecl" (dst: ^RWops) -> i32 ---

SaveBMP Â¶

SaveBMP :: proc "cdecl" (surface: ^Surface, file: cstring) -> i32 {…}

SaveBMP_RW Â¶

SaveBMP_RW :: proc "cdecl" (surface: ^Surface, dst: ^RWops, freedst: bool) -> i32 ---

SaveDollarTemplate Â¶

SaveDollarTemplate :: proc "cdecl" (gestureId: GestureID, dst: ^RWops) -> i32 ---

SemTryWait Â¶

SemTryWait :: proc "cdecl" (s: ^semaphore) -> i32 ---

SemValue Â¶

SemValue :: proc "cdecl" (s: ^semaphore) -> u32 ---

SemWait Â¶

SemWait :: proc "cdecl" (s: ^semaphore) -> i32 ---

SemWaitTimeout Â¶

SemWaitTimeout :: proc "cdecl" (s: ^semaphore, ms: u32) -> i32 ---

SensorClose Â¶

SensorClose :: proc "cdecl" (sensor: ^Sensor) ---

SensorFromInstanceID Â¶

SensorFromInstanceID :: proc "cdecl" (instance_id: SensorID) -> ^Sensor ---

SensorGetData Â¶

SensorGetData :: proc "cdecl" (sensor: ^Sensor, data: [^]f32, num_values: i32) -> i32 ---

SensorGetDeviceInstanceID Â¶

SensorGetDeviceInstanceID :: proc "cdecl" (device_index: i32) -> SensorID ---

SensorGetDeviceName Â¶

SensorGetDeviceName :: proc "cdecl" (device_index: i32) -> cstring ---

SensorGetDeviceNonPortableType Â¶

SensorGetDeviceNonPortableType :: proc "cdecl" (device_index: i32) -> i32 ---

SensorGetDeviceType Â¶

SensorGetDeviceType :: proc "cdecl" (device_index: i32) -> SensorType ---

SensorGetInstanceID Â¶

SensorGetInstanceID :: proc "cdecl" (sensor: ^Sensor) -> SensorID ---

SensorGetName Â¶

SensorGetName :: proc "cdecl" (sensor: ^Sensor) -> cstring ---

SensorGetNonPortableType Â¶

SensorGetNonPortableType :: proc "cdecl" (sensor: ^Sensor) -> i32 ---

SensorGetType Â¶

SensorGetType :: proc "cdecl" (sensor: ^Sensor) -> SensorType ---

SensorOpen Â¶

SensorOpen :: proc "cdecl" (device_index: i32) -> ^Sensor ---

SensorUpdate Â¶

SensorUpdate :: proc "cdecl" () ---

SetClipRect Â¶

SetClipRect :: proc "cdecl" (surface: ^Surface, rect: ^Rect) -> bool ---

SetClipboardText Â¶

SetClipboardText :: proc "cdecl" (text: cstring) -> i32 ---

SetColorKey Â¶

SetColorKey :: proc "cdecl" (surface: ^Surface, flag: i32, key: u32) -> i32 ---

SetCursor Â¶

SetCursor :: proc "cdecl" (cursor: ^Cursor) ---

SetError Â¶

SetError :: proc "cdecl" (fmt: cstring, args: ..any) -> i32 ---

SetEventFilter Â¶

SetEventFilter :: proc "cdecl" (filter: EventFilter, userdata: rawptr) ---

SetHint Â¶

SetHint :: proc "cdecl" (name, value: cstring) -> bool ---

SetHintWithPriority Â¶

SetHintWithPriority :: proc "cdecl" (name, value: cstring, priority: HintPriority) -> bool ---

SetMemoryFunctions Â¶

SetMemoryFunctions :: proc "cdecl" (malloc_func: malloc_func, calloc_func: calloc_func, realloc_func: realloc_func, free_func: free_func) -> i32 ---

SetModState Â¶

SetModState :: proc "cdecl" (modstate: Keymod) {…}

SetPaletteColors Â¶

SetPaletteColors :: proc "cdecl" (palette: ^Palette, colors: [^]Color, firstcolor, ncolors: i32) -> i32 ---

SetPixelFormatPalette Â¶

SetPixelFormatPalette :: proc "cdecl" (format: ^PixelFormat, palette: ^Palette) -> i32 ---

SetRelativeMouseMode Â¶

SetRelativeMouseMode :: proc "cdecl" (enabled: bool) -> i32 ---

SetRenderDrawBlendMode Â¶

SetRenderDrawBlendMode :: proc "cdecl" (renderer: ^Renderer, blendMode: BlendMode) -> i32 ---

SetRenderDrawColor Â¶

SetRenderDrawColor :: proc "cdecl" (renderer: ^Renderer, r, g, b, a: u8) -> i32 ---

SetRenderTarget Â¶

SetRenderTarget :: proc "cdecl" (renderer: ^Renderer, texture: ^Texture) -> i32 ---

SetSurfaceAlphaMod Â¶

SetSurfaceAlphaMod :: proc "cdecl" (surface: ^Surface, alpha: u8) -> i32 ---

SetSurfaceBlendMode Â¶

SetSurfaceBlendMode :: proc "cdecl" (surface: ^Surface, blendMode: BlendMode) -> i32 ---

SetSurfaceColorMod Â¶

SetSurfaceColorMod :: proc "cdecl" (surface: ^Surface, r, g, b: u8) -> i32 ---

SetSurfacePalette Â¶

SetSurfacePalette :: proc "cdecl" (surface: ^Surface, palette: ^Palette) -> i32 ---

SetSurfaceRLE Â¶

SetSurfaceRLE :: proc "cdecl" (surface: ^Surface, flag: i32) -> i32 ---

SetTextInputRect Â¶

SetTextInputRect :: proc "cdecl" (rect: ^Rect) ---

SetTextureAlphaMod Â¶

SetTextureAlphaMod :: proc "cdecl" (texture: ^Texture, alpha: u8) -> i32 ---

SetTextureBlendMode Â¶

SetTextureBlendMode :: proc "cdecl" (texture: ^Texture, blendMode: BlendMode) -> i32 ---

SetTextureColorMod Â¶

SetTextureColorMod :: proc "cdecl" (texture: ^Texture, r, g, b: u8) -> i32 ---

SetTextureScaleMode Â¶

SetTextureScaleMode :: proc "cdecl" (texture: ^Texture, scaleMode: ScaleMode) -> i32 ---

SetThreadPriority Â¶

SetThreadPriority :: proc "cdecl" (priority: ThreadPriority) -> i32 ---

SetWindowAlwaysOnTop Â¶

SetWindowAlwaysOnTop :: proc "cdecl" (window: ^Window, on_top: bool) ---

SetWindowBordered Â¶

SetWindowBordered :: proc "cdecl" (window: ^Window, bordered: bool) ---

SetWindowBrightness Â¶

SetWindowBrightness :: proc "cdecl" (window: ^Window, brightness: f32) -> i32 ---

SetWindowData Â¶

SetWindowData :: proc "cdecl" (window: ^Window, name: cstring, userdata: rawptr) -> rawptr ---

SetWindowDisplayMode Â¶

SetWindowDisplayMode :: proc "cdecl" (window: ^Window, mode: ^DisplayMode) -> i32 ---

SetWindowFullscreen Â¶

SetWindowFullscreen :: proc "cdecl" (window: ^Window, flags: WindowFlags) -> i32 ---

SetWindowGammaRamp Â¶

SetWindowGammaRamp :: proc "cdecl" (window: ^Window, red, green, blue: ^u16) -> i32 ---

SetWindowGrab Â¶

SetWindowGrab :: proc "cdecl" (window: ^Window, grabbed: bool) ---

SetWindowHitTest Â¶

SetWindowHitTest :: proc "cdecl" (window: ^Window, callback: HitTest, callback_data: rawptr) -> i32 ---

SetWindowIcon Â¶

SetWindowIcon :: proc "cdecl" (window: ^Window, icon: ^Surface) ---

SetWindowInputFocus Â¶

SetWindowInputFocus :: proc "cdecl" (window: ^Window) -> i32 ---

SetWindowKeyboardGrab Â¶

SetWindowKeyboardGrab :: proc "cdecl" (window: ^Window, grabbed: bool) ---

SetWindowMaximumSize Â¶

SetWindowMaximumSize :: proc "cdecl" (window: ^Window, max_w, max_h: i32) ---

SetWindowMinimumSize Â¶

SetWindowMinimumSize :: proc "cdecl" (window: ^Window, min_w, min_h: i32) ---

SetWindowModalFor Â¶

SetWindowModalFor :: proc "cdecl" (modal_window, parent_window: ^Window) -> i32 ---

SetWindowMouseGrab Â¶

SetWindowMouseGrab :: proc "cdecl" (window: ^Window, grabbed: bool) ---

SetWindowOpacity Â¶

SetWindowOpacity :: proc "cdecl" (window: ^Window, opacity: f32) -> i32 ---

SetWindowPosition Â¶

SetWindowPosition :: proc "cdecl" (window: ^Window, x, y: i32) ---

SetWindowResizable Â¶

SetWindowResizable :: proc "cdecl" (window: ^Window, resizable: bool) ---

SetWindowShape Â¶

SetWindowShape :: proc "cdecl" (window: ^Window, shape: ^Surface, shape_mode: ^WindowShapeMode) -> i32 ---

SetWindowSize Â¶

SetWindowSize :: proc "cdecl" (window: ^Window, w, h: i32) ---

SetWindowTitle Â¶

SetWindowTitle :: proc "cdecl" (window: ^Window, title: cstring) ---

SetWindowsMessageHook Â¶

SetWindowsMessageHook :: proc "cdecl" (callback: WindowsMessageHook, userdata: rawptr) ---

SetYUVConversionMode Â¶

SetYUVConversionMode :: proc "cdecl" (mode: YUV_CONVERSION_MODE) ---

ShowCursor Â¶

ShowCursor :: proc "cdecl" (toggle: i32) -> i32 ---

ShowMessageBox Â¶

ShowMessageBox :: proc "cdecl" (messageboxdata: ^MessageBoxData, buttonid: ^i32) -> i32 ---

ShowSimpleMessageBox Â¶

ShowSimpleMessageBox :: proc "cdecl" (flags: MessageBoxFlags, title: cstring, message: cstring, window: ^Window) -> i32 ---

ShowWindow Â¶

ShowWindow :: proc "cdecl" (window: ^Window) ---

SoftStretch Â¶

SoftStretch :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

SoftStretchLinear Â¶

SoftStretchLinear :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

StartTextInput Â¶

StartTextInput :: proc "cdecl" () ---

StopTextInput Â¶

StopTextInput :: proc "cdecl" () ---

TICKS_PASSED Â¶

TICKS_PASSED :: proc "cdecl" (A, B: u32) -> bool {…}

TLSCleanup Â¶

TLSCleanup :: proc "cdecl" () ---

TLSCreate Â¶

TLSCreate :: proc "cdecl" () -> TLSID ---

TLSGet Â¶

TLSGet :: proc "cdecl" (id: TLSID) -> rawptr ---

TLSSet Â¶

TLSSet :: proc "cdecl" (id: TLSID, value: rawptr, destructor: proc "cdecl" (_: rawptr)) -> i32 ---

ThreadID Â¶

ThreadID :: proc "cdecl" () -> threadID ---

TryLockMutex Â¶

TryLockMutex :: proc "cdecl" (m: ^mutex) -> i32 ---

UnionRect Â¶

UnionRect :: proc "cdecl" (A, B: ^Rect, result: ^Rect) ---

UnloadObject Â¶

UnloadObject :: proc "cdecl" (handle: rawptr) ---

UnlockAudio Â¶

UnlockAudio :: proc "cdecl" () ---

UnlockAudioDevice Â¶

UnlockAudioDevice :: proc "cdecl" (dev: AudioDeviceID) ---
 

Audio lock functions

UnlockJoysticks Â¶

UnlockJoysticks :: proc "cdecl" () ---

UnlockMutex Â¶

UnlockMutex :: proc "cdecl" (m: ^mutex) -> i32 ---

UnlockSensors Â¶

UnlockSensors :: proc "cdecl" () ---

UnlockSurface Â¶

UnlockSurface :: proc "cdecl" (surface: ^Surface) ---

UnlockTexture Â¶

UnlockTexture :: proc "cdecl" (texture: ^Texture) ---

Unsupported Â¶

Unsupported :: proc "cdecl" () -> i32 {…}

UpdateNVTexture Â¶

UpdateNVTexture :: proc "cdecl" (
	texture: ^Texture, 
	rect:    ^Rect, 
	Yplane:  ^u8, 
	Ypitch:  i32, 
	UVplane: ^u8, 
	UVpitch: i32, 
) -> i32 ---

UpdateTexture Â¶

UpdateTexture :: proc "cdecl" (texture: ^Texture, rect: ^Rect, pixels: rawptr, pitch: i32) -> i32 ---

UpdateWindowSurface Â¶

UpdateWindowSurface :: proc "cdecl" (window: ^Window) -> i32 ---

UpdateWindowSurfaceRects Â¶

UpdateWindowSurfaceRects :: proc "cdecl" (window: ^Window, rects: [^]Rect, numrects: i32) -> i32 ---

UpdateYUVTexture Â¶

UpdateYUVTexture :: proc "cdecl" (
	texture: ^Texture, 
	rect:    ^Rect, 
	Yplane:  ^u8, 
	Ypitch:  i32, 
	Uplane:  ^u8, 
	Upitch:  i32, 
	Vplane:  ^u8, 
	Vpitch:  i32, 
) -> i32 ---

UpperBlit Â¶

UpperBlit :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

UpperBlitScaled Â¶

UpperBlitScaled :: proc "cdecl" (src: ^Surface, srcrect: ^Rect, dst: ^Surface, dstrect: ^Rect) -> i32 ---

VideoInit Â¶

VideoInit :: proc "cdecl" (driver_name: cstring) -> i32 ---

VideoQuit Â¶

VideoQuit :: proc "cdecl" () ---

Vulkan_CreateSurface Â¶

Vulkan_CreateSurface :: proc "cdecl" (window: ^Window, instance: vulkan.Instance, surface: ^vulkan.SurfaceKHR) -> bool ---

Vulkan_GetDrawableSize Â¶

Vulkan_GetDrawableSize :: proc "cdecl" (window: ^Window, w, h: ^i32) ---

Vulkan_GetInstanceExtensions Â¶

Vulkan_GetInstanceExtensions :: proc "cdecl" (window: ^Window, pCount: ^u32, pNames: [^]cstring) -> bool ---

Vulkan_GetVkGetInstanceProcAddr Â¶

Vulkan_GetVkGetInstanceProcAddr :: proc "cdecl" () -> rawptr ---

Vulkan_LoadLibrary Â¶

Vulkan_LoadLibrary :: proc "cdecl" (path: cstring) -> i32 ---

Vulkan_UnloadLibrary Â¶

Vulkan_UnloadLibrary :: proc "cdecl" () ---

WINDOWPOS_CENTERED_DISPLAY Â¶

WINDOWPOS_CENTERED_DISPLAY :: proc "cdecl" (X: i32) -> i32 {…}

WINDOWPOS_ISCENTERED Â¶

WINDOWPOS_ISCENTERED :: proc "cdecl" (X: i32) -> bool {…}

WINDOWPOS_ISUNDEFINED Â¶

WINDOWPOS_ISUNDEFINED :: proc "cdecl" (X: i32) -> bool {…}

WINDOWPOS_UNDEFINED_DISPLAY Â¶

WINDOWPOS_UNDEFINED_DISPLAY :: proc "cdecl" (X: i32) -> i32 {…}

WaitEvent Â¶

WaitEvent :: proc "cdecl" (event: ^Event) -> bool ---
 

original return value is c.int

WaitEventTimeout Â¶

WaitEventTimeout :: proc "cdecl" (event: ^Event, timeout: i32) -> bool ---
 

original return value is c.int

WaitThread Â¶

WaitThread :: proc "cdecl" (thread: ^Thread, status: ^i32) ---

WarpMouseGlobal Â¶

WarpMouseGlobal :: proc "cdecl" (x, y: i32) -> i32 ---

WarpMouseInWindow Â¶

WarpMouseInWindow :: proc "cdecl" (window: ^Window, x, y: i32) ---

WasInit Â¶

WasInit :: proc "cdecl" (flags: bit_set[InitFlag; u32]) -> bit_set[InitFlag; u32] ---

WinRTGetDeviceFamily Â¶

WinRTGetDeviceFamily :: proc "cdecl" () -> WinRT_DeviceFamily ---

WinRTGetFSPathUNICODE Â¶

WinRTGetFSPathUNICODE :: proc "cdecl" (pathType: WinRT_Path) -> ^u16 ---

WinRTGetFSPathUTF8 Â¶

WinRTGetFSPathUTF8 :: proc "cdecl" (pathType: WinRT_Path) -> cstring ---

WriteBE16 Â¶

WriteBE16 :: proc "cdecl" (dst: ^RWops, value: ^u16) -> uint ---

WriteBE32 Â¶

WriteBE32 :: proc "cdecl" (dst: ^RWops, value: ^u32) -> uint ---

WriteBE64 Â¶

WriteBE64 :: proc "cdecl" (dst: ^RWops, value: ^u64) -> uint ---

WriteLE16 Â¶

WriteLE16 :: proc "cdecl" (dst: ^RWops, value: ^u16) -> uint ---

WriteLE32 Â¶

WriteLE32 :: proc "cdecl" (dst: ^RWops, value: ^u32) -> uint ---

WriteLE64 Â¶

WriteLE64 :: proc "cdecl" (dst: ^RWops, value: ^u64) -> uint ---

WriteU8 Â¶

WriteU8 :: proc "cdecl" (dst: ^RWops, value: ^u8) -> uint ---

acos Â¶

acos :: proc "cdecl" (x: f64) -> f64 ---

acosf Â¶

acosf :: proc "cdecl" (x: f32) -> f32 ---

asin Â¶

asin :: proc "cdecl" (x: f64) -> f64 ---

asinf Â¶

asinf :: proc "cdecl" (x: f32) -> f32 ---

atan Â¶

atan :: proc "cdecl" (x: f64) -> f64 ---

atan2 Â¶

atan2 :: proc "cdecl" (x, y: f64) -> f64 ---

atan2f Â¶

atan2f :: proc "cdecl" (x, y: f32) -> f32 ---

atanf Â¶

atanf :: proc "cdecl" (x: f32) -> f32 ---

calloc Â¶

calloc :: proc "cdecl" (nmemb, size: uint) -> rawptr ---

ceil Â¶

ceil :: proc "cdecl" (x: f64) -> f64 ---

ceilf Â¶

ceilf :: proc "cdecl" (x: f32) -> f32 ---

copysign Â¶

copysign :: proc "cdecl" (x, y: f64) -> f64 ---

copysignf Â¶

copysignf :: proc "cdecl" (x, y: f32) -> f32 ---

cos Â¶

cos :: proc "cdecl" (x: f64) -> f64 ---

cosf Â¶

cosf :: proc "cdecl" (x: f32) -> f32 ---

crc32 Â¶

crc32 :: proc "cdecl" (crc: u32, data: rawptr, len: uint) -> u32 ---

exp Â¶

exp :: proc "cdecl" (x: f64) -> f64 ---

expf Â¶

expf :: proc "cdecl" (x: f32) -> f32 ---

fabs Â¶

fabs :: proc "cdecl" (x: f64) -> f64 ---

fabsf Â¶

fabsf :: proc "cdecl" (x: f32) -> f32 ---

floor Â¶

floor :: proc "cdecl" (x: f64) -> f64 ---

floorf Â¶

floorf :: proc "cdecl" (x: f32) -> f32 ---

fmod Â¶

fmod :: proc "cdecl" (x, y: f64) -> f64 ---

fmodf Â¶

fmodf :: proc "cdecl" (x, y: f32) -> f32 ---

free Â¶

free :: proc "cdecl" (mem: rawptr) ---

getenv Â¶

getenv :: proc "cdecl" (name: cstring) -> cstring ---

gl_set_proc_address Â¶

gl_set_proc_address :: proc "odin" (p: rawptr, name: cstring) {…}
 

Used by vendor:OpenGL

iPhoneSetAnimationCallback Â¶

iPhoneSetAnimationCallback :: proc "cdecl" (window: ^Window, interval: i32, callback: proc "cdecl" (_: rawptr), callbackParam: rawptr) -> i32 ---

iPhoneSetEventPump Â¶

iPhoneSetEventPump :: proc "cdecl" (enabled: bool) ---

iconv Â¶

iconv :: proc "cdecl" (cd: iconv_t, inbuf: ^cstring, inbytesleft: ^uint, outbuf: ^[^]u8, outbytesleft: ^uint) -> uint ---

iconv_close Â¶

iconv_close :: proc "cdecl" (cd: iconv_t) -> i32 ---

iconv_open Â¶

iconv_open :: proc "cdecl" (tocode, fromcode: cstring) -> iconv_t ---

iconv_string Â¶

iconv_string :: proc "cdecl" (tocode, fromcode, inbuf: cstring, inbytesleft: uint) -> [^]u8 ---

iconv_utf8_locale Â¶

iconv_utf8_locale :: proc "cdecl" (s: string) -> cstring {…}

iconv_utf8_ucs2 Â¶

iconv_utf8_ucs2 :: proc "cdecl" (s: string) -> [^]u16 {…}

iconv_utf8_ucs4 Â¶

iconv_utf8_ucs4 :: proc "cdecl" (s: string) -> [^]rune {…}

isalnum Â¶

isalnum :: proc "cdecl" (x: rune) -> bool ---

isalpha Â¶

isalpha :: proc "cdecl" (x: rune) -> bool ---

isblank Â¶

isblank :: proc "cdecl" (x: rune) -> bool ---

iscntrl Â¶

iscntrl :: proc "cdecl" (x: rune) -> bool ---

isdigit Â¶

isdigit :: proc "cdecl" (x: rune) -> bool ---

isgraph Â¶

isgraph :: proc "cdecl" (x: rune) -> bool ---

islower Â¶

islower :: proc "cdecl" (x: rune) -> bool ---

isprint Â¶

isprint :: proc "cdecl" (x: rune) -> bool ---

ispunct Â¶

ispunct :: proc "cdecl" (x: rune) -> bool ---

isspace Â¶

isspace :: proc "cdecl" (x: rune) -> bool ---

isupper Â¶

isupper :: proc "cdecl" (x: rune) -> bool ---

isxdigit Â¶

isxdigit :: proc "cdecl" (x: rune) -> bool ---

log Â¶

log :: proc "cdecl" (x: f64) -> f64 ---

log10 Â¶

log10 :: proc "cdecl" (x: f64) -> f64 ---

log10f Â¶

log10f :: proc "cdecl" (x: f32) -> f32 ---

logf Â¶

logf :: proc "cdecl" (x: f32) -> f32 ---

lround Â¶

lround :: proc "cdecl" (x: f64) -> i32 ---

lroundf Â¶

lroundf :: proc "cdecl" (x: f32) -> i32 ---

malloc Â¶

malloc :: proc "cdecl" (size: uint) -> rawptr ---

pow Â¶

pow :: proc "cdecl" (x, y: f64) -> f64 ---

powf Â¶

powf :: proc "cdecl" (x, y: f32) -> f32 ---

realloc Â¶

realloc :: proc "cdecl" (mem: rawptr, size: uint) -> rawptr ---

round Â¶

round :: proc "cdecl" (x: f64) -> f64 ---

roundf Â¶

roundf :: proc "cdecl" (x: f32) -> f32 ---

scalbn Â¶

scalbn :: proc "cdecl" (x: f64, n: i32) -> f64 ---

scalbnf Â¶

scalbnf :: proc "cdecl" (x: f32, n: i32) -> f32 ---

setenv Â¶

setenv :: proc "cdecl" (name, value: cstring, overwrite: i32) -> i32 ---

sin Â¶

sin :: proc "cdecl" (x: f64) -> f64 ---

sinf Â¶

sinf :: proc "cdecl" (x: f32) -> f32 ---

sqrt Â¶

sqrt :: proc "cdecl" (x: f64) -> f64 ---

sqrtf Â¶

sqrtf :: proc "cdecl" (x: f32) -> f32 ---

stack_alloc Â¶

stack_alloc :: proc "cdecl" ($T: typeid, #any_int count: int) -> ^typeid {…}

stack_free Â¶

stack_free :: proc "cdecl" (ptr: rawptr) {…}

stack_make Â¶

stack_make :: proc "cdecl" ($T: typeid/[]T, #any_int count: int) -> T {…}

tan Â¶

tan :: proc "cdecl" (x: f64) -> f64 ---

tanf Â¶

tanf :: proc "cdecl" (x: f32) -> f32 ---

tolower Â¶

tolower :: proc "cdecl" (x: rune) -> bool ---

toupper Â¶

toupper :: proc "cdecl" (x: rune) -> bool ---

trunc Â¶

trunc :: proc "cdecl" (x: f64) -> f64 ---

truncf Â¶

truncf :: proc "cdecl" (x: f32) -> f32 ---

Procedure Groups

This section is empty.

Source Files

Generation Information

Generated with odin version dev-2023-03 (vendor "odin") Windows_amd64 @ 2023-03-29 21:09:05.635307700 +0000 UTC