nim-sdl2/docs/sdl2/sdl2.html
Joey Yakimowich-Payne 13bb7848ad Add docs
2020-04-26 15:20:37 -06:00

26102 lines
1.7 MiB

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- This file is generated by Nim. -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Favicon -->
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
<!-- Google fonts -->
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
<!-- CSS -->
<title>sdl2/sdl2</title>
<link rel="stylesheet" type="text/css" href="../nimdoc.out.css">
<script type="text/javascript" src="dochack.js"></script>
<script type="text/javascript">
function main() {
var pragmaDots = document.getElementsByClassName("pragmadots");
for (var i = 0; i < pragmaDots.length; i++) {
pragmaDots[i].onclick = function(event) {
// Hide tease
event.target.parentNode.style.display = "none";
// Show actual
event.target.parentNode.nextElementSibling.style.display = "inline";
}
}
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
} else {
document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.setAttribute('data-theme', "dark");
toggleSwitch.checked = true;
} else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) {
document.documentElement.setAttribute('data-theme', "light");
toggleSwitch.checked = false;
} else {
const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
}
}
</script>
</head>
<body onload="main()">
<div class="document" id="documentId">
<div class="container">
<h1 class="title">sdl2/sdl2</h1>
<div class="row">
<div class="three columns">
<div class="theme-switch-wrapper">
<label class="theme-switch" for="checkbox">
<input type="checkbox" id="checkbox" />
<div class="slider round"></div>
</label>
&nbsp;&nbsp;&nbsp; <em>Dark Mode</em>
</div>
<div id="global-links">
<ul class="simple">
</ul>
</div>
<div id="searchInputDiv">
Search: <input type="text" id="searchInput"
onkeyup="search()" />
</div>
<div>
Group by:
<select onchange="groupBy(this.value)">
<option value="section">Section</option>
<option value="type">Type</option>
</select>
</div>
<ul class="simple simple-toc" id="toc-list">
<li>
<a class="reference reference-toplevel" href="#7" id="57">Types</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#AssertState"
title="AssertState = distinct cint"><wbr />Assert<wbr />State<span class="attachedType"></span></a></li>
<li><a class="reference" href="#errorcode"
title="errorcode = distinct cint"><wbr />errorcode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ThreadPriority"
title="ThreadPriority = distinct cint"><wbr />Thread<wbr />Priority<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioStatus"
title="AudioStatus = distinct cint"><wbr />Audio<wbr />Status<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PixelType"
title="PixelType = distinct cint"><wbr />Pixel<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BitmapOrder"
title="BitmapOrder = distinct cint"><wbr />Bitmap<wbr />Order<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PackedOrder"
title="PackedOrder = distinct cint"><wbr />Packed<wbr />Order<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ArrayOrder"
title="ArrayOrder = distinct cint"><wbr />Array<wbr />Order<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PackedLayout"
title="PackedLayout = distinct cint"><wbr />Packed<wbr />Layout<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PixelFormatEnum"
title="PixelFormatEnum = distinct cint"><wbr />Pixel<wbr />Format<wbr />Enum<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlendMode"
title="BlendMode = distinct cint"><wbr />Blend<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlendOperation"
title="BlendOperation = distinct cint"><wbr />Blend<wbr />Operation<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlendFactor"
title="BlendFactor = distinct cint"><wbr />Blend<wbr />Factor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#YUV_CONVERSION_MODE"
title="YUV_CONVERSION_MODE = distinct cint"><wbr />YUV_<wbr />CONVERSION_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WindowFlags"
title="WindowFlags = distinct cint"><wbr />Window<wbr />Flags<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WindowEventID"
title="WindowEventID = distinct cint"><wbr />Window<wbr />Event<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DisplayEventID"
title="DisplayEventID = distinct cint"><wbr />Display<wbr />Event<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DisplayOrientation"
title="DisplayOrientation = distinct cint"><wbr />Display<wbr />Orientation<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLattr"
title="GLattr = distinct cint"><wbr />GLattr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLprofile"
title="GLprofile = distinct cint"><wbr />GLprofile<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLcontextFlag"
title="GLcontextFlag = distinct cint"><wbr />GLcontext<wbr />Flag<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLcontextReleaseFlag"
title="GLcontextReleaseFlag = distinct cint"><wbr />GLcontext<wbr />Release<wbr />Flag<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLContextResetNotificationEnum"
title="GLContextResetNotificationEnum = distinct cint"><wbr />GLContext<wbr />Reset<wbr />Notification<wbr />Enum<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HitTestResult"
title="HitTestResult = distinct cint"><wbr />Hit<wbr />Test<wbr />Result<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Scancode"
title="Scancode = distinct cint"><wbr />Scancode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KeyCodeEnum"
title="KeyCodeEnum = distinct cint"><wbr />Key<wbr />Code<wbr />Enum<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Keymod"
title="Keymod = distinct cint"><wbr />Keymod<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SystemCursor"
title="SystemCursor = distinct cint"><wbr />System<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MouseWheelDirection"
title="MouseWheelDirection = distinct cint"><wbr />Mouse<wbr />Wheel<wbr />Direction<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoystickType"
title="JoystickType = distinct cint"><wbr />Joystick<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoystickPowerLevel"
title="JoystickPowerLevel = distinct cint"><wbr />Joystick<wbr />Power<wbr />Level<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameControllerType"
title="GameControllerType = distinct cint"><wbr />Game<wbr />Controller<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameControllerAxis"
title="GameControllerAxis = distinct cint"><wbr />Game<wbr />Controller<wbr />Axis<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameControllerButton"
title="GameControllerButton = distinct cint"><wbr />Game<wbr />Controller<wbr />Button<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TouchDeviceType"
title="TouchDeviceType = distinct cint"><wbr />Touch<wbr />Device<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EventType"
title="EventType = distinct cint"><wbr />Event<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#eventaction"
title="eventaction = distinct cint"><wbr />eventaction<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HintPriority"
title="HintPriority = distinct cint"><wbr />Hint<wbr />Priority<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LogCategory"
title="LogCategory = distinct cint"><wbr />Log<wbr />Category<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LogPriority"
title="LogPriority = distinct cint"><wbr />Log<wbr />Priority<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxFlags"
title="MessageBoxFlags = distinct cint"><wbr />Message<wbr />Box<wbr />Flags<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxButtonFlags"
title="MessageBoxButtonFlags = distinct cint"><wbr />Message<wbr />Box<wbr />Button<wbr />Flags<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxColorType"
title="MessageBoxColorType = distinct cint"><wbr />Message<wbr />Box<wbr />Color<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PowerState"
title="PowerState = distinct cint"><wbr />Power<wbr />State<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RendererFlags"
title="RendererFlags = distinct cint"><wbr />Renderer<wbr />Flags<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ScaleMode"
title="ScaleMode = distinct cint"><wbr />Scale<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TextureAccess"
title="TextureAccess = distinct cint"><wbr />Texture<wbr />Access<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TextureModulate"
title="TextureModulate = distinct cint"><wbr />Texture<wbr />Modulate<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RendererFlip"
title="RendererFlip = distinct cint"><wbr />Renderer<wbr />Flip<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SensorType"
title="SensorType = distinct cint"><wbr />Sensor<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WindowShapeMode"
title="WindowShapeMode = distinct cint"><wbr />Window<wbr />Shape<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWops"
title="RWops {.incompleteStruct.} = object"><wbr />RWops<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlitMap"
title="BlitMap {.incompleteStruct.} = object"><wbr />Blit<wbr />Map<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameControllerBindType"
title="GameControllerBindType = enum
CONTROLLER_BINDTYPE_NONE = 0, CONTROLLER_BINDTYPE_BUTTON,
CONTROLLER_BINDTYPE_AXIS, CONTROLLER_BINDTYPE_HAT"><wbr />Game<wbr />Controller<wbr />Bind<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Bool"
title="Bool = bool"><wbr />Bool<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameControllerButtonBind"
title="GameControllerButtonBind = object
case bindType*: GameControllerBindType
of CONTROLLER_BINDTYPE_BUTTON:
button*: cint
of CONTROLLER_BINDTYPE_AXIS:
axis*: cint
of CONTROLLER_BINDTYPE_HAT:
hat*: ButtonBindHat
of CONTROLLER_BINDTYPE_NONE:
nil"><wbr />Game<wbr />Controller<wbr />Button<wbr />Bind<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ButtonBindHat"
title="ButtonBindHat = object
hat*: int
hatMask*: int"><wbr />Button<wbr />Bind<wbr />Hat<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Sint8"
title="Sint8 = int8"><wbr />Sint8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Uint8"
title="Uint8 = uint8"><wbr />Uint8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Sint16"
title="Sint16 = int16"><wbr />Sint16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Uint16"
title="Uint16 = uint16"><wbr />Uint16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Sint32"
title="Sint32 = int32"><wbr />Sint32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Uint32"
title="Uint32 = uint32"><wbr />Uint32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Sint64"
title="Sint64 = int64"><wbr />Sint64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Uint64"
title="Uint64 = uint64"><wbr />Uint64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#malloc_func"
title="malloc_func = proc (size: uint): pointer {.cdecl.}"><wbr />malloc_<wbr />func<span class="attachedType"></span></a></li>
<li><a class="reference" href="#calloc_func"
title="calloc_func = proc (nmemb: uint; size: uint): pointer {.cdecl.}"><wbr />calloc_<wbr />func<span class="attachedType"></span></a></li>
<li><a class="reference" href="#realloc_func"
title="realloc_func = proc (mem: pointer; size: uint): pointer {.cdecl.}"><wbr />realloc_<wbr />func<span class="attachedType"></span></a></li>
<li><a class="reference" href="#free_func"
title="free_func = proc (mem: pointer) {.cdecl.}"><wbr />free_<wbr />func<span class="attachedType"></span></a></li>
<li><a class="reference" href="#iconv_t"
title="iconv_t {.incompleteStruct.} = object"><wbr />iconv_<wbr />t<span class="attachedType"></span></a></li>
<li><a class="reference" href="#main_func"
title="main_func = proc (argc: cint; argv: UncheckedArray[cstring]): cint {.cdecl.}"><wbr />main_<wbr />func<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AssertData"
title="AssertData {.bycopy.} = object
alwaysIgnore*: cint
triggerCount*: cuint
condition*: cstring
filename*: cstring
linenum*: cint
function*: cstring
next*: ptr AssertData"><wbr />Assert<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AssertionHandler"
title="AssertionHandler = proc (data: ptr AssertData; userdata: pointer): AssertState {.cdecl.}"><wbr />Assertion<wbr />Handler<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SpinLock"
title="SpinLock = cint"><wbr />Spin<wbr />Lock<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomic_t"
title="atomic_t {.bycopy.} = object
value*: cint"><wbr />atomic_<wbr />t<span class="attachedType"></span></a></li>
<li><a class="reference" href="#mutex"
title="mutex {.incompleteStruct.} = object"><wbr />mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#semaphore"
title="semaphore {.incompleteStruct.} = object"><wbr />semaphore<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sem"
title="sem = semaphore"><wbr />sem<span class="attachedType"></span></a></li>
<li><a class="reference" href="#cond"
title="cond {.incompleteStruct.} = object"><wbr />cond<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Thread"
title="Thread {.incompleteStruct.} = object"><wbr />Thread<span class="attachedType"></span></a></li>
<li><a class="reference" href="#threadID"
title="threadID = culong"><wbr />thread<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TLSID"
title="TLSID = cuint"><wbr />TLSID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ThreadFunction"
title="ThreadFunction = proc (data: pointer): cint {.cdecl.}"><wbr />Thread<wbr />Function<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioFormat"
title="AudioFormat = Uint16"><wbr />Audio<wbr />Format<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioCallback"
title="AudioCallback = proc (userdata: pointer; stream: ptr Uint8; len: cint) {.cdecl.}"><wbr />Audio<wbr />Callback<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioSpec"
title="AudioSpec {.bycopy.} = object
freq*: cint ## ::
## &lt; DSP frequency -- samples per second
format*: AudioFormat ## ::
## &lt; Audio data format
channels*: Uint8 ## ::
## &lt; Number of channels: 1 mono, 2 stereo
silence*: Uint8 ## ::
## &lt; Audio buffer silence value (calculated)
samples*: Uint16 ## ::
## &lt; Audio buffer size in sample FRAMES (total samples divided by channel count)
padding*: Uint16 ## ::
## &lt; Necessary for some compile environments
size*: Uint32 ## ::
## &lt; Audio buffer size in bytes (calculated)
callback*: AudioCallback ## ::
## &lt; Callback that feeds the audio device (NULL to use SDL_QueueAudio()).
userdata*: pointer ## ::
## &lt; Userdata passed to callback (ignored for NULL callbacks)."><wbr />Audio<wbr />Spec<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioCVT"
title="AudioCVT {.bycopy.} = object
needed*: cint ## ::
## &lt; Set to 1 if conversion possible
srcFormat*: AudioFormat ## ::
## &lt; Source audio format
dstFormat*: AudioFormat ## ::
## &lt; Target audio format
rateIncr*: cdouble ## ::
## &lt; Rate conversion increment
buf*: ptr Uint8 ## ::
## &lt; Buffer to hold entire audio data
len*: cint ## ::
## &lt; Length of original audio buffer
lenCvt*: cint ## ::
## &lt; Length of converted audio buffer
lenMult*: cint ## ::
## &lt; buffer must be lenlen_mult big
lenRatio*: cdouble ## ::
## &lt; Given len, final size is lenlen_ratio
filters*: array[9 + typeof(9)(1), AudioFilter] ## ::
## &lt; NULL-terminated list of filter functions
filterIndex*: cint ## ::
## &lt; Current audio conversion function"><wbr />Audio<wbr />CVT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioFilter"
title="AudioFilter = proc (cvt: ptr AudioCVT; format: AudioFormat) {.cdecl.}"><wbr />Audio<wbr />Filter<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioDeviceID"
title="AudioDeviceID = Uint32"><wbr />Audio<wbr />Device<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioStream"
title="AudioStream {.incompleteStruct.} = object"><wbr />Audio<wbr />Stream<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Color"
title="Color {.bycopy.} = object
r*: Uint8
g*: Uint8
b*: Uint8
a*: Uint8"><wbr />Color<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Palette"
title="Palette {.bycopy.} = object
ncolors*: cint
colors*: ptr Color
Version*: Uint32
refcount*: cint"><wbr />Palette<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PixelFormat"
title="PixelFormat {.bycopy.} = object
format*: Uint32
palette*: ptr Palette
BitsPerPixel*: Uint8
BytesPerPixel*: Uint8
padding*: array[2, Uint8]
Rmask*: Uint32
Gmask*: Uint32
Bmask*: Uint32
Amask*: Uint32
Rloss*: Uint8
Gloss*: Uint8
Bloss*: Uint8
Aloss*: Uint8
Rshift*: Uint8
Gshift*: Uint8
Bshift*: Uint8
Ashift*: Uint8
refcount*: cint
next*: ptr PixelFormat"><wbr />Pixel<wbr />Format<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Point"
title="Point {.bycopy.} = object
x*: cint
y*: cint"><wbr />Point<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FPoint"
title="FPoint {.bycopy.} = object
x*: cfloat
y*: cfloat"><wbr />FPoint<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Rect"
title="Rect {.bycopy.} = object
x*: cint
y*: cint
w*: cint
h*: cint"><wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FRect"
title="FRect {.bycopy.} = object
x*: cfloat
y*: cfloat
w*: cfloat
h*: cfloat"><wbr />FRect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Surface"
title="Surface {.bycopy.} = object
flags*: Uint32 ## ::
## &lt; Read-only
format*: ptr PixelFormat ## ::
## &lt; Read-only
w*: cint ## ::
## &lt; Read-only
h*: cint ## ::
## &lt; Read-only
pitch*: cint ## ::
## &lt; Read-only
pixels*: pointer ## ::
## &lt; Read-write
userdata*: pointer ## ::
## &lt; Read-write
locked*: cint ## ::
## &lt; Read-only
lockData*: pointer ## ::
## &lt; Read-only
clipRect*: Rect ## ::
## &lt; Read-only
map*: ptr BlitMap ## ::
## &lt; Private
refcount*: cint ## ::
## &lt; Read-mostly"><wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#blit"
title="blit = proc (src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint {.
cdecl.}"><wbr />blit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DisplayMode"
title="DisplayMode {.bycopy.} = object
format*: Uint32 ## ::
## &lt; pixel format
w*: cint ## ::
## &lt; width, in screen coordinates
h*: cint ## ::
## &lt; height, in screen coordinates
refreshRate*: cint ## ::
## &lt; refresh rate (or zero for unspecified)
driverdata*: pointer ## ::
## &lt; driver-specific data, initialize to 0"><wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Window"
title="Window {.incompleteStruct.} = object"><wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GLContext"
title="GLContext = pointer"><wbr />GLContext<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HitTest"
title="HitTest = proc (win: ptr Window; area: ptr Point; data: pointer): HitTestResult {.cdecl.}"><wbr />Hit<wbr />Test<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Keycode"
title="Keycode = Sint32"><wbr />Keycode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Keysym"
title="Keysym {.bycopy.} = object
scancode*: Scancode ## ::
## &lt; SDL physical key code - see ::SDL_Scancode for details
sym*: Keycode ## ::
## &lt; SDL virtual key code - see ::SDL_Keycode for details
`mod`*: Uint16 ## ::
## &lt; current key modifiers
unused*: Uint32"><wbr />Keysym<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Cursor"
title="Cursor {.incompleteStruct.} = object"><wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Joystick"
title="Joystick {.incompleteStruct.} = object"><wbr />Joystick<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoystickGUID"
title="JoystickGUID {.bycopy.} = object
data*: array[16, Uint8]"><wbr />Joystick<wbr />GUID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoystickID"
title="JoystickID = Sint32"><wbr />Joystick<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GameController"
title="GameController {.incompleteStruct.} = object"><wbr />Game<wbr />Controller<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TouchID"
title="TouchID = Sint64"><wbr />Touch<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FingerID"
title="FingerID = Sint64"><wbr />Finger<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Finger"
title="Finger {.bycopy.} = object
id*: FingerID
x*: cfloat
y*: cfloat
pressure*: cfloat"><wbr />Finger<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GestureID"
title="GestureID = Sint64"><wbr />Gesture<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CommonEvent"
title="CommonEvent {.bycopy.} = object
kind*: Uint32
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()"><wbr />Common<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DisplayEvent"
title="DisplayEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_DISPLAYEVENT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
display*: Uint32 ## ::
## &lt; The associated display index
event*: Uint8 ## ::
## &lt; ::SDL_DisplayEventID
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8
data1*: Sint32 ## ::
## &lt; event dependent data"><wbr />Display<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WindowEvent"
title="WindowEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_WINDOWEVENT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The associated window
event*: Uint8 ## ::
## &lt; ::SDL_WindowEventID
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8
data1*: Sint32 ## ::
## &lt; event dependent data
data2*: Sint32 ## ::
## &lt; event dependent data"><wbr />Window<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KeyboardEvent"
title="KeyboardEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_KEYDOWN or ::SDL_KEYUP
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with keyboard focus, if any
state*: Uint8 ## ::
## &lt; ::SDL_PRESSED or ::SDL_RELEASED
repeat*: Uint8 ## ::
## &lt; Non-zero if this is a key repeat
padding2*: Uint8
padding3*: Uint8
keysym*: Keysym ## ::
## &lt; The key that was pressed or released"><wbr />Keyboard<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TextEditingEvent"
title="TextEditingEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_TEXTEDITING
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with keyboard focus, if any
text*: array[(32), cchar] ## ::
## &lt; The editing text
start*: Sint32 ## ::
## &lt; The start cursor of selected editing text
length*: Sint32 ## ::
## &lt; The length of selected editing text"><wbr />Text<wbr />Editing<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TextInputEvent"
title="TextInputEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_TEXTINPUT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with keyboard focus, if any
text*: array[(32), cchar] ## ::
## &lt; The input text"><wbr />Text<wbr />Input<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MouseMotionEvent"
title="MouseMotionEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_MOUSEMOTION
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with mouse focus, if any
which*: Uint32 ## ::
## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID
state*: Uint32 ## ::
## &lt; The current button state
x*: Sint32 ## ::
## &lt; X coordinate, relative to window
y*: Sint32 ## ::
## &lt; Y coordinate, relative to window
xrel*: Sint32 ## ::
## &lt; The relative motion in the X direction
yrel*: Sint32 ## ::
## &lt; The relative motion in the Y direction"><wbr />Mouse<wbr />Motion<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MouseButtonEvent"
title="MouseButtonEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with mouse focus, if any
which*: Uint32 ## ::
## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID
button*: Uint8 ## ::
## &lt; The mouse button index
state*: Uint8 ## ::
## &lt; ::SDL_PRESSED or ::SDL_RELEASED
clicks*: Uint8 ## ::
## &lt; 1 for single-click, 2 for double-click, etc.
padding1*: Uint8
x*: Sint32 ## ::
## &lt; X coordinate, relative to window
y*: Sint32 ## ::
## &lt; Y coordinate, relative to window"><wbr />Mouse<wbr />Button<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MouseWheelEvent"
title="MouseWheelEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_MOUSEWHEEL
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The window with mouse focus, if any
which*: Uint32 ## ::
## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID
x*: Sint32 ## ::
## &lt; The amount scrolled horizontally, positive to the right and negative to the left
y*: Sint32 ## ::
## &lt; The amount scrolled vertically, positive away from the user and negative toward the user
direction*: Uint32 ## ::
## &lt; Set to one of the SDL_MOUSEWHEEL_ defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back"><wbr />Mouse<wbr />Wheel<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoyAxisEvent"
title="JoyAxisEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_JOYAXISMOTION
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
axis*: Uint8 ## ::
## &lt; The joystick axis index
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8
value*: Sint16 ## ::
## &lt; The axis value (range: -32768 to 32767)
padding4*: Uint16"><wbr />Joy<wbr />Axis<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoyBallEvent"
title="JoyBallEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_JOYBALLMOTION
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
ball*: Uint8 ## ::
## &lt; The joystick trackball index
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8
xrel*: Sint16 ## ::
## &lt; The relative motion in the X direction
yrel*: Sint16 ## ::
## &lt; The relative motion in the Y direction"><wbr />Joy<wbr />Ball<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoyHatEvent"
title="JoyHatEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_JOYHATMOTION
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
hat*: Uint8 ## ::
## &lt; The joystick hat index
value*: Uint8 ## ::
## &lt; 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.
padding1*: Uint8
padding2*: Uint8"><wbr />Joy<wbr />Hat<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoyButtonEvent"
title="JoyButtonEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
button*: Uint8 ## ::
## &lt; The joystick button index
state*: Uint8 ## ::
## &lt; ::SDL_PRESSED or ::SDL_RELEASED
padding1*: Uint8
padding2*: Uint8"><wbr />Joy<wbr />Button<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JoyDeviceEvent"
title="JoyDeviceEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: Sint32 ## ::
## &lt; The joystick device index for the ADDED event, instance id for the REMOVED event"><wbr />Joy<wbr />Device<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ControllerAxisEvent"
title="ControllerAxisEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_CONTROLLERAXISMOTION
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
axis*: Uint8 ## ::
## &lt; The controller axis (SDL_GameControllerAxis)
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8
value*: Sint16 ## ::
## &lt; The axis value (range: -32768 to 32767)
padding4*: Uint16"><wbr />Controller<wbr />Axis<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ControllerButtonEvent"
title="ControllerButtonEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: JoystickID ## ::
## &lt; The joystick instance id
button*: Uint8 ## ::
## &lt; The controller button (SDL_GameControllerButton)
state*: Uint8 ## ::
## &lt; ::SDL_PRESSED or ::SDL_RELEASED
padding1*: Uint8
padding2*: Uint8"><wbr />Controller<wbr />Button<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ControllerDeviceEvent"
title="ControllerDeviceEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: Sint32 ## ::
## &lt; The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event"><wbr />Controller<wbr />Device<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AudioDeviceEvent"
title="AudioDeviceEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: Uint32 ## ::
## &lt; The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event
iscapture*: Uint8 ## ::
## &lt; zero if an output device, non-zero if a capture device.
padding1*: Uint8
padding2*: Uint8
padding3*: Uint8"><wbr />Audio<wbr />Device<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TouchFingerEvent"
title="TouchFingerEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
touchId*: TouchID ## ::
## &lt; The touch device id
fingerId*: FingerID
x*: cfloat ## ::
## &lt; Normalized in the range 0...1
y*: cfloat ## ::
## &lt; Normalized in the range 0...1
dx*: cfloat ## ::
## &lt; Normalized in the range -1...1
dy*: cfloat ## ::
## &lt; Normalized in the range -1...1
pressure*: cfloat ## ::
## &lt; Normalized in the range 0...1
windowID*: Uint32 ## ::
## &lt; The window underneath the finger, if any"><wbr />Touch<wbr />Finger<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MultiGestureEvent"
title="MultiGestureEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_MULTIGESTURE
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
touchId*: TouchID ## ::
## &lt; The touch device id
dTheta*: cfloat
dDist*: cfloat
x*: cfloat
y*: cfloat
numFingers*: Uint16
padding*: Uint16"><wbr />Multi<wbr />Gesture<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DollarGestureEvent"
title="DollarGestureEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
touchId*: TouchID ## ::
## &lt; The touch device id
gestureId*: GestureID
numFingers*: Uint32
error*: cfloat
x*: cfloat ## ::
## &lt; Normalized center of gesture
y*: cfloat ## ::
## &lt; Normalized center of gesture"><wbr />Dollar<wbr />Gesture<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DropEvent"
title="DropEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_DROPBEGIN or ::SDL_DROPFILE or ::SDL_DROPTEXT or ::SDL_DROPCOMPLETE
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
file*: cstring ## ::
## &lt; The file name, which should be freed with SDL_free(), is NULL on begin/complete
windowID*: Uint32 ## ::
## &lt; The window that was dropped on, if any"><wbr />Drop<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SensorEvent"
title="SensorEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_SENSORUPDATE
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
which*: Sint32 ## ::
## &lt; The instance ID of the sensor
data*: array[6, cfloat] ## ::
## &lt; Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData()"><wbr />Sensor<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#QuitEvent"
title="QuitEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_QUIT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()"><wbr />Quit<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#OSEvent"
title="OSEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_QUIT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()"><wbr />OSEvent<span class="attachedType"></span></a></li>
<li><a class="reference" href="#UserEvent"
title="UserEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_USEREVENT through ::SDL_LASTEVENT-1
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
windowID*: Uint32 ## ::
## &lt; The associated window if any
code*: Sint32 ## ::
## &lt; User defined event code
data1*: pointer ## ::
## &lt; User defined data pointer
data2*: pointer ## ::
## &lt; User defined data pointer"><wbr />User<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SysWMmsg"
title="SysWMmsg {.incompleteStruct.} = object"><wbr />Sys<wbr />WMmsg<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SysWMEvent"
title="SysWMEvent {.bycopy.} = object
kind*: Uint32 ## ::
## &lt; ::SDL_SYSWMEVENT
timestamp*: Uint32 ## ::
## &lt; In milliseconds, populated using SDL_GetTicks()
msg*: ptr SysWMmsg ## ::
## &lt; driver dependent data, defined in SDL_syswm.h"><wbr />Sys<wbr />WMEvent<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Event"
title="Event {.union, bycopy.} = object
kind*: Uint32 ## ::
## &lt; Event type, shared with all events
common*: CommonEvent ## ::
## &lt; Common event data
display*: DisplayEvent ## ::
## &lt; Display event data
window*: WindowEvent ## ::
## &lt; Window event data
key*: KeyboardEvent ## ::
## &lt; Keyboard event data
edit*: TextEditingEvent ## ::
## &lt; Text editing event data
text*: TextInputEvent ## ::
## &lt; Text input event data
motion*: MouseMotionEvent ## ::
## &lt; Mouse motion event data
button*: MouseButtonEvent ## ::
## &lt; Mouse button event data
wheel*: MouseWheelEvent ## ::
## &lt; Mouse wheel event data
jaxis*: JoyAxisEvent ## ::
## &lt; Joystick axis event data
jball*: JoyBallEvent ## ::
## &lt; Joystick ball event data
jhat*: JoyHatEvent ## ::
## &lt; Joystick hat event data
jbutton*: JoyButtonEvent ## ::
## &lt; Joystick button event data
jdevice*: JoyDeviceEvent ## ::
## &lt; Joystick device change event data
caxis*: ControllerAxisEvent ## ::
## &lt; Game Controller axis event data
cbutton*: ControllerButtonEvent ## ::
## &lt; Game Controller button event data
cdevice*: ControllerDeviceEvent ## ::
## &lt; Game Controller device event data
adevice*: AudioDeviceEvent ## ::
## &lt; Audio device event data
sensor*: SensorEvent ## ::
## &lt; Sensor event data
quit*: QuitEvent ## ::
## &lt; Quit request event data
user*: UserEvent ## ::
## &lt; Custom event data
syswm*: SysWMEvent ## ::
## &lt; System dependent window event data
tfinger*: TouchFingerEvent ## ::
## &lt; Touch finger event data
mgesture*: MultiGestureEvent ## ::
## &lt; Gesture event data
dgesture*: DollarGestureEvent ## ::
## &lt; Gesture event data
drop*: DropEvent ## ::
## &lt; Drag and drop event data
padding*: array[56, Uint8]"><wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EventFilter"
title="EventFilter = proc (userdata: pointer; event: ptr Event): cint {.cdecl.}"><wbr />Event<wbr />Filter<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PHaptic"
title="PHaptic {.incompleteStruct.} = object"><wbr />PHaptic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Haptic"
title="Haptic = PHaptic"><wbr />Haptic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticDirection"
title="HapticDirection {.bycopy.} = object
kind*: Uint8 ## ::
## &lt; The type of encoding.
dir*: array[3, Sint32] ## ::
## &lt; The encoded direction."><wbr />Haptic<wbr />Direction<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticConstant"
title="HapticConstant {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_CONSTANT
direction*: HapticDirection ## ::
## &lt; Direction of the effect.
length*: Uint32 ## ::
## &lt; Duration of the effect.
delay*: Uint16 ## ::
## &lt; Delay before starting the effect.
button*: Uint16 ## ::
## &lt; Button that triggers the effect.
interval*: Uint16 ## ::
## &lt; How soon it can be triggered again after button.
level*: Sint16 ## ::
## &lt; Strength of the constant effect.
attackLength*: Uint16 ## ::
## &lt; Duration of the attack.
attackLevel*: Uint16 ## ::
## &lt; Level at the start of the attack.
fadeLength*: Uint16 ## ::
## &lt; Duration of the fade.
fadeLevel*: Uint16 ## ::
## &lt; Level at the end of the fade."><wbr />Haptic<wbr />Constant<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticPeriodic"
title="HapticPeriodic {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,
## ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or
## ::SDL_HAPTIC_SAWTOOTHDOWN
direction*: HapticDirection ## ::
## &lt; Direction of the effect.
length*: Uint32 ## ::
## &lt; Duration of the effect.
delay*: Uint16 ## ::
## &lt; Delay before starting the effect.
button*: Uint16 ## ::
## &lt; Button that triggers the effect.
interval*: Uint16 ## ::
## &lt; How soon it can be triggered again after button.
period*: Uint16 ## ::
## &lt; Period of the wave.
magnitude*: Sint16 ## ::
## &lt; Peak value; if negative, equivalent to 180 degrees extra phase shift.
offset*: Sint16 ## ::
## &lt; Mean value of the wave.
phase*: Uint16 ## ::
## &lt; Positive phase shift given by hundredth of a degree.
attackLength*: Uint16 ## ::
## &lt; Duration of the attack.
attackLevel*: Uint16 ## ::
## &lt; Level at the start of the attack.
fadeLength*: Uint16 ## ::
## &lt; Duration of the fade.
fadeLevel*: Uint16 ## ::
## &lt; Level at the end of the fade."><wbr />Haptic<wbr />Periodic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticCondition"
title="HapticCondition {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,
## ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION
direction*: HapticDirection ## ::
## &lt; Direction of the effect - Not used ATM.
length*: Uint32 ## ::
## &lt; Duration of the effect.
delay*: Uint16 ## ::
## &lt; Delay before starting the effect.
button*: Uint16 ## ::
## &lt; Button that triggers the effect.
interval*: Uint16 ## ::
## &lt; How soon it can be triggered again after button.
rightSat*: array[3, Uint16] ## ::
## &lt; Level when joystick is to the positive side; max 0xFFFF.
leftSat*: array[3, Uint16] ## ::
## &lt; Level when joystick is to the negative side; max 0xFFFF.
rightCoeff*: array[3, Sint16] ## ::
## &lt; How fast to increase the force towards the positive side.
leftCoeff*: array[3, Sint16] ## ::
## &lt; How fast to increase the force towards the negative side.
deadband*: array[3, Uint16] ## ::
## &lt; Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered.
center*: array[3, Sint16] ## ::
## &lt; Position of the dead zone."><wbr />Haptic<wbr />Condition<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticRamp"
title="HapticRamp {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_RAMP
direction*: HapticDirection ## ::
## &lt; Direction of the effect.
length*: Uint32 ## ::
## &lt; Duration of the effect.
delay*: Uint16 ## ::
## &lt; Delay before starting the effect.
button*: Uint16 ## ::
## &lt; Button that triggers the effect.
interval*: Uint16 ## ::
## &lt; How soon it can be triggered again after button.
start*: Sint16 ## ::
## &lt; Beginning strength level.
`end`*: Sint16 ## ::
## &lt; Ending strength level.
attackLength*: Uint16 ## ::
## &lt; Duration of the attack.
attackLevel*: Uint16 ## ::
## &lt; Level at the start of the attack.
fadeLength*: Uint16 ## ::
## &lt; Duration of the fade.
fadeLevel*: Uint16 ## ::
## &lt; Level at the end of the fade."><wbr />Haptic<wbr />Ramp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticLeftRight"
title="HapticLeftRight {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_LEFTRIGHT
length*: Uint32 ## ::
## &lt; Duration of the effect in milliseconds.
largeMagnitude*: Uint16 ## ::
## &lt; Control of the large controller motor.
smallMagnitude*: Uint16 ## ::
## &lt; Control of the small controller motor."><wbr />Haptic<wbr />Left<wbr />Right<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticCustom"
title="HapticCustom {.bycopy.} = object
kind*: Uint16 ## ::
## &lt; ::SDL_HAPTIC_CUSTOM
direction*: HapticDirection ## ::
## &lt; Direction of the effect.
length*: Uint32 ## ::
## &lt; Duration of the effect.
delay*: Uint16 ## ::
## &lt; Delay before starting the effect.
button*: Uint16 ## ::
## &lt; Button that triggers the effect.
interval*: Uint16 ## ::
## &lt; How soon it can be triggered again after button.
channels*: Uint8 ## ::
## &lt; Axes to use, minimum of one.
period*: Uint16 ## ::
## &lt; Sample periods.
samples*: Uint16 ## ::
## &lt; Amount of samples.
data*: ptr Uint16 ## ::
## &lt; Should contain channelssamples items.
attackLength*: Uint16 ## ::
## &lt; Duration of the attack.
attackLevel*: Uint16 ## ::
## &lt; Level at the start of the attack.
fadeLength*: Uint16 ## ::
## &lt; Duration of the fade.
fadeLevel*: Uint16 ## ::
## &lt; Level at the end of the fade."><wbr />Haptic<wbr />Custom<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HapticEffect"
title="HapticEffect {.union, bycopy.} = object
kind*: Uint16 ## ::
## &lt; Effect type.
constant*: HapticConstant ## ::
## &lt; Constant effect.
periodic*: HapticPeriodic ## ::
## &lt; Periodic effect.
condition*: HapticCondition ## ::
## &lt; Condition effect.
ramp*: HapticRamp ## ::
## &lt; Ramp effect.
leftright*: HapticLeftRight ## ::
## &lt; Left/Right effect.
custom*: HapticCustom ## ::
## &lt; Custom effect."><wbr />Haptic<wbr />Effect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HintCallback"
title="HintCallback = proc (userdata: pointer; name: cstring; oldValue: cstring;
newValue: cstring) {.cdecl.}"><wbr />Hint<wbr />Callback<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LogOutputFunction"
title="LogOutputFunction = proc (userdata: pointer; category: cint; priority: LogPriority;
message: cstring) {.cdecl.}"><wbr />Log<wbr />Output<wbr />Function<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxButtonData"
title="MessageBoxButtonData {.bycopy.} = object
flags*: Uint32 ## ::
## &lt; ::SDL_MessageBoxButtonFlags
buttonid*: cint ## ::
## &lt; User defined button id (value returned via SDL_ShowMessageBox)
text*: cstring ## ::
## &lt; The UTF-8 button text"><wbr />Message<wbr />Box<wbr />Button<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxColor"
title="MessageBoxColor {.bycopy.} = object
r*: Uint8
g*: Uint8
b*: Uint8"><wbr />Message<wbr />Box<wbr />Color<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxColorScheme"
title="MessageBoxColorScheme {.bycopy.} = object
colors*: array[MESSAGEBOX_COLOR_MAX, MessageBoxColor]"><wbr />Message<wbr />Box<wbr />Color<wbr />Scheme<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MessageBoxData"
title="MessageBoxData {.bycopy.} = object
flags*: Uint32 ## ::
## &lt; ::SDL_MessageBoxFlags
window*: ptr Window ## ::
## &lt; Parent window, can be NULL
title*: cstring ## ::
## &lt; UTF-8 title
message*: cstring ## ::
## &lt; UTF-8 message text
numbuttons*: cint
buttons*: ptr MessageBoxButtonData
colorScheme*: ptr MessageBoxColorScheme ## ::
## &lt; ::SDL_MessageBoxColorScheme, can be NULL to use system settings"><wbr />Message<wbr />Box<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MetalView"
title="MetalView = pointer"><wbr />Metal<wbr />View<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RendererInfo"
title="RendererInfo {.bycopy.} = object
name*: cstring ## ::
## &lt; The name of the renderer
flags*: Uint32 ## ::
## &lt; Supported ::SDL_RendererFlags
numTextureFormats*: Uint32 ## ::
## &lt; The number of available texture formats
textureFormats*: array[16, Uint32] ## ::
## &lt; The available texture formats
maxTextureWidth*: cint ## ::
## &lt; The maximum texture width
maxTextureHeight*: cint ## ::
## &lt; The maximum texture height"><wbr />Renderer<wbr />Info<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Renderer"
title="Renderer {.incompleteStruct.} = object"><wbr />Renderer<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Texture"
title="Texture {.incompleteStruct.} = object"><wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Sensor"
title="Sensor {.incompleteStruct.} = object"><wbr />Sensor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SensorID"
title="SensorID = Sint32"><wbr />Sensor<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WindowShapeParams"
title="WindowShapeParams {.union, bycopy.} = object
binarizationCutoff*: Uint8
colorKey*: Color"><wbr />Window<wbr />Shape<wbr />Params<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TimerCallback"
title="TimerCallback = proc (interval: Uint32; param: pointer): Uint32 {.cdecl.}"><wbr />Timer<wbr />Callback<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TimerID"
title="TimerID = cint"><wbr />Timer<wbr />ID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Version"
title="Version {.bycopy.} = object
major*: Uint8 ## ::
## &lt; major version
minor*: Uint8 ## ::
## &lt; minor version
patch*: Uint8 ## ::
## &lt; update version"><wbr />Version<span class="attachedType"></span></a></li>
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#10" id="60">Consts</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#SDLCacheDir"
title="SDLCacheDir = &quot;/Users/joey/Projects/nim-sdl2/src/build&quot;"><wbr />SDLCache<wbr />Dir<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLStd"
title="SDLStd = false"><wbr />SDLStd<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLGit"
title="SDLGit = false"><wbr />SDLGit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLDL"
title="SDLDL = true"><wbr />SDLDL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLStatic"
title="SDLStatic = true"><wbr />SDLStatic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLSetVer"
title="SDLSetVer = &quot;&quot;"><wbr />SDLSet<wbr />Ver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLLPath"
title="SDLLPath = &quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2.a&quot;"><wbr />SDLLPath<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLPath"
title="SDLPath = &quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/include/SDL.h&quot;"><wbr />SDLPath<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_UINT8"
title="MIN_UINT8 = 0&apos;u8"><wbr />MIN_<wbr />UINT8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_UINT64"
title="MIN_UINT64 = 0&apos;u64"><wbr />MIN_<wbr />UINT64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_SINT16"
title="MAX_SINT16 = 32767&apos;i16"><wbr />MAX_<wbr />SINT16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_SINT32"
title="MAX_SINT32 = 2147483647&apos;i32"><wbr />MAX_<wbr />SINT32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#Colour"
title="Colour = &quot;&quot;"><wbr />Colour<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MOUSE_TOUCHID"
title="MOUSE_TOUCHID = -1&apos;i64"><wbr />MOUSE_<wbr />TOUCHID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_CENTERED_MASK"
title="WINDOWPOS_CENTERED_MASK = 805240832&apos;u"><wbr />WINDOWPOS_<wbr />CENTERED_<wbr />MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_UINT8"
title="MAX_UINT8 = 255&apos;u8"><wbr />MAX_<wbr />UINT8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlitScaled"
title="BlitScaled = &quot;&quot;"><wbr />Blit<wbr />Scaled<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_SINT8"
title="MIN_SINT8 = -128&apos;i8"><wbr />MIN_<wbr />SINT8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_UINT16"
title="MIN_UINT16 = 0&apos;u16"><wbr />MIN_<wbr />UINT16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_UINT32"
title="MIN_UINT32 = 0&apos;u32"><wbr />MIN_<wbr />UINT32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TOUCH_MOUSEID"
title="TOUCH_MOUSEID = 4294967295"><wbr />TOUCH_<wbr />MOUSEID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BlitSurface"
title="BlitSurface = &quot;&quot;"><wbr />Blit<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_UNDEFINED_MASK"
title="WINDOWPOS_UNDEFINED_MASK = 536805376&apos;u"><wbr />WINDOWPOS_<wbr />UNDEFINED_<wbr />MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_SINT32"
title="MIN_SINT32 = -2147483648&apos;i32"><wbr />MIN_<wbr />SINT32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MUTEX_MAXWAIT"
title="MUTEX_MAXWAIT = 4294967295"><wbr />MUTEX_<wbr />MAXWAIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_SINT8"
title="MAX_SINT8 = 127&apos;i8"><wbr />MAX_<wbr />SINT8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_UINT16"
title="MAX_UINT16 = 65535&apos;u16"><wbr />MAX_<wbr />UINT16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_UINT32"
title="MAX_UINT32 = 4294967295&apos;u32"><wbr />MAX_<wbr />UINT32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIN_SINT16"
title="MIN_SINT16 = -32768&apos;i16"><wbr />MIN_<wbr />SINT16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_UINT64"
title="MAX_UINT64 = 18446744073709551615&apos;u64"><wbr />MAX_<wbr />UINT64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_SINT64"
title="MAX_SINT64 = 9223372036854775807&apos;i64"><wbr />MAX_<wbr />SINT64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MACOSX"
title="MACOSX = 1"><wbr />MACOSX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SIZEOF_VOIDP"
title="SIZEOF_VOIDP = 8"><wbr />SIZEOF_<wbr />VOIDP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_GCC_ATOMICS"
title="HAVE_GCC_ATOMICS = 1"><wbr />HAVE_<wbr />GCC_<wbr />ATOMICS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LIBC"
title="HAVE_LIBC = 1"><wbr />HAVE_<wbr />LIBC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#STDC_HEADERS"
title="STDC_HEADERS = 1"><wbr />STDC_<wbr />HEADERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ALLOCA_H"
title="HAVE_ALLOCA_H = 1"><wbr />HAVE_<wbr />ALLOCA_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_CTYPE_H"
title="HAVE_CTYPE_H = 1"><wbr />HAVE_<wbr />CTYPE_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FLOAT_H"
title="HAVE_FLOAT_H = 1"><wbr />HAVE_<wbr />FLOAT_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ICONV_H"
title="HAVE_ICONV_H = 1"><wbr />HAVE_<wbr />ICONV_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_INTTYPES_H"
title="HAVE_INTTYPES_H = 1"><wbr />HAVE_<wbr />INTTYPES_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LIMITS_H"
title="HAVE_LIMITS_H = 1"><wbr />HAVE_<wbr />LIMITS_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MATH_H"
title="HAVE_MATH_H = 1"><wbr />HAVE_<wbr />MATH_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MEMORY_H"
title="HAVE_MEMORY_H = 1"><wbr />HAVE_<wbr />MEMORY_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SIGNAL_H"
title="HAVE_SIGNAL_H = 1"><wbr />HAVE_<wbr />SIGNAL_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STDARG_H"
title="HAVE_STDARG_H = 1"><wbr />HAVE_<wbr />STDARG_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STDINT_H"
title="HAVE_STDINT_H = 1"><wbr />HAVE_<wbr />STDINT_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STDIO_H"
title="HAVE_STDIO_H = 1"><wbr />HAVE_<wbr />STDIO_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STDLIB_H"
title="HAVE_STDLIB_H = 1"><wbr />HAVE_<wbr />STDLIB_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRINGS_H"
title="HAVE_STRINGS_H = 1"><wbr />HAVE_<wbr />STRINGS_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRING_H"
title="HAVE_STRING_H = 1"><wbr />HAVE_<wbr />STRING_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SYS_TYPES_H"
title="HAVE_SYS_TYPES_H = 1"><wbr />HAVE_<wbr />SYS_<wbr />TYPES_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCHAR_H"
title="HAVE_WCHAR_H = 1"><wbr />HAVE_<wbr />WCHAR_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LIBUNWIND_H"
title="HAVE_LIBUNWIND_H = 1"><wbr />HAVE_<wbr />LIBUNWIND_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MALLOC"
title="HAVE_MALLOC = 1"><wbr />HAVE_<wbr />MALLOC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_CALLOC"
title="HAVE_CALLOC = 1"><wbr />HAVE_<wbr />CALLOC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_REALLOC"
title="HAVE_REALLOC = 1"><wbr />HAVE_<wbr />REALLOC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FREE"
title="HAVE_FREE = 1"><wbr />HAVE_<wbr />FREE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ALLOCA"
title="HAVE_ALLOCA = 1"><wbr />HAVE_<wbr />ALLOCA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_GETENV"
title="HAVE_GETENV = 1"><wbr />HAVE_<wbr />GETENV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SETENV"
title="HAVE_SETENV = 1"><wbr />HAVE_<wbr />SETENV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_PUTENV"
title="HAVE_PUTENV = 1"><wbr />HAVE_<wbr />PUTENV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_UNSETENV"
title="HAVE_UNSETENV = 1"><wbr />HAVE_<wbr />UNSETENV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_QSORT"
title="HAVE_QSORT = 1"><wbr />HAVE_<wbr />QSORT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ABS"
title="HAVE_ABS = 1"><wbr />HAVE_<wbr />ABS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_BCOPY"
title="HAVE_BCOPY = 1"><wbr />HAVE_<wbr />BCOPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MEMSET"
title="HAVE_MEMSET = 1"><wbr />HAVE_<wbr />MEMSET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MEMCPY"
title="HAVE_MEMCPY = 1"><wbr />HAVE_<wbr />MEMCPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MEMMOVE"
title="HAVE_MEMMOVE = 1"><wbr />HAVE_<wbr />MEMMOVE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MEMCMP"
title="HAVE_MEMCMP = 1"><wbr />HAVE_<wbr />MEMCMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSLEN"
title="HAVE_WCSLEN = 1"><wbr />HAVE_<wbr />WCSLEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSLCPY"
title="HAVE_WCSLCPY = 1"><wbr />HAVE_<wbr />WCSLCPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSLCAT"
title="HAVE_WCSLCAT = 1"><wbr />HAVE_<wbr />WCSLCAT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSDUP"
title="HAVE_WCSDUP = 1"><wbr />HAVE_<wbr />WCSDUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSSTR"
title="HAVE_WCSSTR = 1"><wbr />HAVE_<wbr />WCSSTR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSCMP"
title="HAVE_WCSCMP = 1"><wbr />HAVE_<wbr />WCSCMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_WCSNCMP"
title="HAVE_WCSNCMP = 1"><wbr />HAVE_<wbr />WCSNCMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRLEN"
title="HAVE_STRLEN = 1"><wbr />HAVE_<wbr />STRLEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRLCPY"
title="HAVE_STRLCPY = 1"><wbr />HAVE_<wbr />STRLCPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRLCAT"
title="HAVE_STRLCAT = 1"><wbr />HAVE_<wbr />STRLCAT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRCHR"
title="HAVE_STRCHR = 1"><wbr />HAVE_<wbr />STRCHR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRRCHR"
title="HAVE_STRRCHR = 1"><wbr />HAVE_<wbr />STRRCHR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRSTR"
title="HAVE_STRSTR = 1"><wbr />HAVE_<wbr />STRSTR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOK_R"
title="HAVE_STRTOK_R = 1"><wbr />HAVE_<wbr />STRTOK_<wbr />R<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOL"
title="HAVE_STRTOL = 1"><wbr />HAVE_<wbr />STRTOL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOUL"
title="HAVE_STRTOUL = 1"><wbr />HAVE_<wbr />STRTOUL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOLL"
title="HAVE_STRTOLL = 1"><wbr />HAVE_<wbr />STRTOLL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOULL"
title="HAVE_STRTOULL = 1"><wbr />HAVE_<wbr />STRTOULL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRTOD"
title="HAVE_STRTOD = 1"><wbr />HAVE_<wbr />STRTOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATOI"
title="HAVE_ATOI = 1"><wbr />HAVE_<wbr />ATOI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATOF"
title="HAVE_ATOF = 1"><wbr />HAVE_<wbr />ATOF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRCMP"
title="HAVE_STRCMP = 1"><wbr />HAVE_<wbr />STRCMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRNCMP"
title="HAVE_STRNCMP = 1"><wbr />HAVE_<wbr />STRNCMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRCASECMP"
title="HAVE_STRCASECMP = 1"><wbr />HAVE_<wbr />STRCASECMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_STRNCASECMP"
title="HAVE_STRNCASECMP = 1"><wbr />HAVE_<wbr />STRNCASECMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_VSSCANF"
title="HAVE_VSSCANF = 1"><wbr />HAVE_<wbr />VSSCANF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_VSNPRINTF"
title="HAVE_VSNPRINTF = 1"><wbr />HAVE_<wbr />VSNPRINTF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ACOS"
title="HAVE_ACOS = 1"><wbr />HAVE_<wbr />ACOS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ACOSF"
title="HAVE_ACOSF = 1"><wbr />HAVE_<wbr />ACOSF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ASIN"
title="HAVE_ASIN = 1"><wbr />HAVE_<wbr />ASIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ASINF"
title="HAVE_ASINF = 1"><wbr />HAVE_<wbr />ASINF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATAN"
title="HAVE_ATAN = 1"><wbr />HAVE_<wbr />ATAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATANF"
title="HAVE_ATANF = 1"><wbr />HAVE_<wbr />ATANF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATAN2"
title="HAVE_ATAN2 = 1"><wbr />HAVE_<wbr />ATAN2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ATAN2F"
title="HAVE_ATAN2F = 1"><wbr />HAVE_<wbr />ATAN2F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_CEIL"
title="HAVE_CEIL = 1"><wbr />HAVE_<wbr />CEIL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_CEILF"
title="HAVE_CEILF = 1"><wbr />HAVE_<wbr />CEILF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_COPYSIGN"
title="HAVE_COPYSIGN = 1"><wbr />HAVE_<wbr />COPYSIGN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_COPYSIGNF"
title="HAVE_COPYSIGNF = 1"><wbr />HAVE_<wbr />COPYSIGNF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_COS"
title="HAVE_COS = 1"><wbr />HAVE_<wbr />COS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_COSF"
title="HAVE_COSF = 1"><wbr />HAVE_<wbr />COSF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_EXP"
title="HAVE_EXP = 1"><wbr />HAVE_<wbr />EXP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_EXPF"
title="HAVE_EXPF = 1"><wbr />HAVE_<wbr />EXPF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FABS"
title="HAVE_FABS = 1"><wbr />HAVE_<wbr />FABS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FABSF"
title="HAVE_FABSF = 1"><wbr />HAVE_<wbr />FABSF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FLOOR"
title="HAVE_FLOOR = 1"><wbr />HAVE_<wbr />FLOOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FLOORF"
title="HAVE_FLOORF = 1"><wbr />HAVE_<wbr />FLOORF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FMOD"
title="HAVE_FMOD = 1"><wbr />HAVE_<wbr />FMOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FMODF"
title="HAVE_FMODF = 1"><wbr />HAVE_<wbr />FMODF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LOG"
title="HAVE_LOG = 1"><wbr />HAVE_<wbr />LOG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LOGF"
title="HAVE_LOGF = 1"><wbr />HAVE_<wbr />LOGF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LOG10"
title="HAVE_LOG10 = 1"><wbr />HAVE_<wbr />LOG10<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_LOG10F"
title="HAVE_LOG10F = 1"><wbr />HAVE_<wbr />LOG10F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_POW"
title="HAVE_POW = 1"><wbr />HAVE_<wbr />POW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_POWF"
title="HAVE_POWF = 1"><wbr />HAVE_<wbr />POWF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SCALBN"
title="HAVE_SCALBN = 1"><wbr />HAVE_<wbr />SCALBN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SCALBNF"
title="HAVE_SCALBNF = 1"><wbr />HAVE_<wbr />SCALBNF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SIN"
title="HAVE_SIN = 1"><wbr />HAVE_<wbr />SIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SINF"
title="HAVE_SINF = 1"><wbr />HAVE_<wbr />SINF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SQRT"
title="HAVE_SQRT = 1"><wbr />HAVE_<wbr />SQRT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SQRTF"
title="HAVE_SQRTF = 1"><wbr />HAVE_<wbr />SQRTF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_TAN"
title="HAVE_TAN = 1"><wbr />HAVE_<wbr />TAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_TANF"
title="HAVE_TANF = 1"><wbr />HAVE_<wbr />TANF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_FSEEKO"
title="HAVE_FSEEKO = 1"><wbr />HAVE_<wbr />FSEEKO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SIGACTION"
title="HAVE_SIGACTION = 1"><wbr />HAVE_<wbr />SIGACTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SA_SIGACTION"
title="HAVE_SA_SIGACTION = 1"><wbr />HAVE_<wbr />SA_<wbr />SIGACTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SETJMP"
title="HAVE_SETJMP = 1"><wbr />HAVE_<wbr />SETJMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_NANOSLEEP"
title="HAVE_NANOSLEEP = 1"><wbr />HAVE_<wbr />NANOSLEEP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SYSCONF"
title="HAVE_SYSCONF = 1"><wbr />HAVE_<wbr />SYSCONF<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_SYSCTLBYNAME"
title="HAVE_SYSCTLBYNAME = 1"><wbr />HAVE_<wbr />SYSCTLBYNAME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_MPROTECT"
title="HAVE_MPROTECT = 1"><wbr />HAVE_<wbr />MPROTECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_ICONV"
title="HAVE_ICONV = 1"><wbr />HAVE_<wbr />ICONV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_PTHREAD_SETNAME_NP"
title="HAVE_PTHREAD_SETNAME_NP = 1"><wbr />HAVE_<wbr />PTHREAD_<wbr />SETNAME_<wbr />NP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_POLL"
title="HAVE_POLL = 1"><wbr />HAVE_<wbr />POLL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_EXIT"
title="HAVE_EXIT = 1"><wbr />HAVE_<wbr />EXIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAVE_IMMINTRIN_H"
title="HAVE_IMMINTRIN_H = 1"><wbr />HAVE_<wbr />IMMINTRIN_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_DRIVER_COREAUDIO"
title="AUDIO_DRIVER_COREAUDIO = 1"><wbr />AUDIO_<wbr />DRIVER_<wbr />COREAUDIO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_DRIVER_DISK"
title="AUDIO_DRIVER_DISK = 1"><wbr />AUDIO_<wbr />DRIVER_<wbr />DISK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_DRIVER_DUMMY"
title="AUDIO_DRIVER_DUMMY = 1"><wbr />AUDIO_<wbr />DRIVER_<wbr />DUMMY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_IOKIT"
title="JOYSTICK_IOKIT = 1"><wbr />JOYSTICK_<wbr />IOKIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_IOKIT"
title="HAPTIC_TYPE_IOKIT = 1"><wbr />HAPTIC_<wbr />TYPE_<wbr />IOKIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SENSOR_DUMMY"
title="SENSOR_DUMMY = 1"><wbr />SENSOR_<wbr />DUMMY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOADSO_DLOPEN"
title="LOADSO_DLOPEN = 1"><wbr />LOADSO_<wbr />DLOPEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PTHREAD"
title="THREAD_PTHREAD = 1"><wbr />THREAD_<wbr />PTHREAD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PTHREAD_RECURSIVE_MUTEX"
title="THREAD_PTHREAD_RECURSIVE_MUTEX = 1"><wbr />THREAD_<wbr />PTHREAD_<wbr />RECURSIVE_<wbr />MUTEX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TIMER_UNIX"
title="TIMER_UNIX = 1"><wbr />TIMER_<wbr />UNIX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_DRIVER_COCOA"
title="VIDEO_DRIVER_COCOA = 1"><wbr />VIDEO_<wbr />DRIVER_<wbr />COCOA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_DRIVER_DUMMY"
title="VIDEO_DRIVER_DUMMY = 1"><wbr />VIDEO_<wbr />DRIVER_<wbr />DUMMY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_RENDER_OGL"
title="VIDEO_RENDER_OGL = 1"><wbr />VIDEO_<wbr />RENDER_<wbr />OGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_RENDER_OGL_ES2"
title="VIDEO_RENDER_OGL_ES2 = 1"><wbr />VIDEO_<wbr />RENDER_<wbr />OGL_<wbr />ES2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_RENDER_METAL"
title="VIDEO_RENDER_METAL = 1"><wbr />VIDEO_<wbr />RENDER_<wbr />METAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_OPENGL"
title="VIDEO_OPENGL = 1"><wbr />VIDEO_<wbr />OPENGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_OPENGL_ES2"
title="VIDEO_OPENGL_ES2 = 1"><wbr />VIDEO_<wbr />OPENGL_<wbr />ES2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_OPENGL_CGL"
title="VIDEO_OPENGL_CGL = 1"><wbr />VIDEO_<wbr />OPENGL_<wbr />CGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_OPENGL_EGL"
title="VIDEO_OPENGL_EGL = 1"><wbr />VIDEO_<wbr />OPENGL_<wbr />EGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_VULKAN"
title="VIDEO_VULKAN = 1"><wbr />VIDEO_<wbr />VULKAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#VIDEO_METAL"
title="VIDEO_METAL = 1"><wbr />VIDEO_<wbr />METAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWER_MACOSX"
title="POWER_MACOSX = 1"><wbr />POWER_<wbr />MACOSX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FILESYSTEM_COCOA"
title="FILESYSTEM_COCOA = 1"><wbr />FILESYSTEM_<wbr />COCOA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSEMBLY_ROUTINES"
title="ASSEMBLY_ROUTINES = 1"><wbr />ASSEMBLY_<wbr />ROUTINES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PRIs64"
title="PRIs64 = &quot;lld&quot;"><wbr />PRIs64<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ICONV_ERROR"
title="ICONV_ERROR = -1"><wbr />ICONV_<wbr />ERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ICONV_E2BIG"
title="ICONV_E2BIG = -2"><wbr />ICONV_<wbr />E2BIG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ICONV_EILSEQ"
title="ICONV_EILSEQ = -3"><wbr />ICONV_<wbr />EILSEQ<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ICONV_EINVAL"
title="ICONV_EINVAL = -4"><wbr />ICONV_<wbr />EINVAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERT_LEVEL"
title="ASSERT_LEVEL = 2"><wbr />ASSERT_<wbr />LEVEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#NULL_WHILE_LOOP_CONDITION"
title="NULL_WHILE_LOOP_CONDITION = 0"><wbr />NULL_<wbr />WHILE_<wbr />LOOP_<wbr />CONDITION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERTION_RETRY"
title="ASSERTION_RETRY = 0&apos;i32"><wbr />ASSERTION_<wbr />RETRY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERTION_BREAK"
title="ASSERTION_BREAK = 1"><wbr />ASSERTION_<wbr />BREAK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERTION_ABORT"
title="ASSERTION_ABORT = 2"><wbr />ASSERTION_<wbr />ABORT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERTION_IGNORE"
title="ASSERTION_IGNORE = 3"><wbr />ASSERTION_<wbr />IGNORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ASSERTION_ALWAYS_IGNORE"
title="ASSERTION_ALWAYS_IGNORE = 4"><wbr />ASSERTION_<wbr />ALWAYS_<wbr />IGNORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ENOMEM"
title="ENOMEM = 0&apos;i32"><wbr />ENOMEM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EFREAD"
title="EFREAD = 1"><wbr />EFREAD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EFWRITE"
title="EFWRITE = 2"><wbr />EFWRITE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EFSEEK"
title="EFSEEK = 3"><wbr />EFSEEK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#UNSUPPORTED"
title="UNSUPPORTED = 4"><wbr />UNSUPPORTED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LASTERROR"
title="LASTERROR = 5"><wbr />LASTERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LIL_ENDIAN"
title="LIL_ENDIAN = 1234"><wbr />LIL_<wbr />ENDIAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BIG_ENDIAN"
title="BIG_ENDIAN = 4321"><wbr />BIG_<wbr />ENDIAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BYTEORDER"
title="BYTEORDER = 1234"><wbr />BYTEORDER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MUTEX_TIMEDOUT"
title="MUTEX_TIMEDOUT = 1"><wbr />MUTEX_<wbr />TIMEDOUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PRIORITY_LOW"
title="THREAD_PRIORITY_LOW = 0&apos;i32"><wbr />THREAD_<wbr />PRIORITY_<wbr />LOW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PRIORITY_NORMAL"
title="THREAD_PRIORITY_NORMAL = 1"><wbr />THREAD_<wbr />PRIORITY_<wbr />NORMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PRIORITY_HIGH"
title="THREAD_PRIORITY_HIGH = 2"><wbr />THREAD_<wbr />PRIORITY_<wbr />HIGH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#THREAD_PRIORITY_TIME_CRITICAL"
title="THREAD_PRIORITY_TIME_CRITICAL = 3"><wbr />THREAD_<wbr />PRIORITY_<wbr />TIME_<wbr />CRITICAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_UNKNOWN"
title="RWOPS_UNKNOWN = 0&apos;u"><wbr />RWOPS_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_WINFILE"
title="RWOPS_WINFILE = 1&apos;u"><wbr />RWOPS_<wbr />WINFILE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_STDFILE"
title="RWOPS_STDFILE = 2&apos;u"><wbr />RWOPS_<wbr />STDFILE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_JNIFILE"
title="RWOPS_JNIFILE = 3&apos;u"><wbr />RWOPS_<wbr />JNIFILE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_MEMORY"
title="RWOPS_MEMORY = 4&apos;u"><wbr />RWOPS_<wbr />MEMORY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RWOPS_MEMORY_RO"
title="RWOPS_MEMORY_RO = 5&apos;u"><wbr />RWOPS_<wbr />MEMORY_<wbr />RO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RW_SEEK_SET"
title="RW_SEEK_SET = 0"><wbr />RW_<wbr />SEEK_<wbr />SET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RW_SEEK_CUR"
title="RW_SEEK_CUR = 1"><wbr />RW_<wbr />SEEK_<wbr />CUR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RW_SEEK_END"
title="RW_SEEK_END = 2"><wbr />RW_<wbr />SEEK_<wbr />END<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_MASK_BITSIZE"
title="AUDIO_MASK_BITSIZE = 0x000000FF"><wbr />AUDIO_<wbr />MASK_<wbr />BITSIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_MASK_DATATYPE"
title="AUDIO_MASK_DATATYPE = 256"><wbr />AUDIO_<wbr />MASK_<wbr />DATATYPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_MASK_ENDIAN"
title="AUDIO_MASK_ENDIAN = 4096"><wbr />AUDIO_<wbr />MASK_<wbr />ENDIAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_MASK_SIGNED"
title="AUDIO_MASK_SIGNED = 32768"><wbr />AUDIO_<wbr />MASK_<wbr />SIGNED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_U8"
title="AUDIO_U8 = 0x00000008"><wbr />AUDIO_<wbr />U8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S8"
title="AUDIO_S8 = 0x00008008"><wbr />AUDIO_<wbr />S8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_U16LSB"
title="AUDIO_U16LSB = 0x00000010"><wbr />AUDIO_<wbr />U16LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S16LSB"
title="AUDIO_S16LSB = 0x00008010"><wbr />AUDIO_<wbr />S16LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_U16MSB"
title="AUDIO_U16MSB = 0x00001010"><wbr />AUDIO_<wbr />U16MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S16MSB"
title="AUDIO_S16MSB = 0x00009010"><wbr />AUDIO_<wbr />S16MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_U16"
title="AUDIO_U16 = 0x00000010"><wbr />AUDIO_<wbr />U16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S16"
title="AUDIO_S16 = 0x00008010"><wbr />AUDIO_<wbr />S16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S32LSB"
title="AUDIO_S32LSB = 0x00008020"><wbr />AUDIO_<wbr />S32LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S32MSB"
title="AUDIO_S32MSB = 0x00009020"><wbr />AUDIO_<wbr />S32MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S32"
title="AUDIO_S32 = 0x00008020"><wbr />AUDIO_<wbr />S32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_F32LSB"
title="AUDIO_F32LSB = 0x00008120"><wbr />AUDIO_<wbr />F32LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_F32MSB"
title="AUDIO_F32MSB = 0x00009120"><wbr />AUDIO_<wbr />F32MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_F32"
title="AUDIO_F32 = 0x00008120"><wbr />AUDIO_<wbr />F32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_U16SYS"
title="AUDIO_U16SYS = 0x00000010"><wbr />AUDIO_<wbr />U16SYS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S16SYS"
title="AUDIO_S16SYS = 0x00008010"><wbr />AUDIO_<wbr />S16SYS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_S32SYS"
title="AUDIO_S32SYS = 0x00008020"><wbr />AUDIO_<wbr />S32SYS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_F32SYS"
title="AUDIO_F32SYS = 0x00008120"><wbr />AUDIO_<wbr />F32SYS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_ALLOW_FREQUENCY_CHANGE"
title="AUDIO_ALLOW_FREQUENCY_CHANGE = 0x00000001"><wbr />AUDIO_<wbr />ALLOW_<wbr />FREQUENCY_<wbr />CHANGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_ALLOW_FORMAT_CHANGE"
title="AUDIO_ALLOW_FORMAT_CHANGE = 0x00000002"><wbr />AUDIO_<wbr />ALLOW_<wbr />FORMAT_<wbr />CHANGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_ALLOW_CHANNELS_CHANGE"
title="AUDIO_ALLOW_CHANNELS_CHANGE = 0x00000004"><wbr />AUDIO_<wbr />ALLOW_<wbr />CHANNELS_<wbr />CHANGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_ALLOW_SAMPLES_CHANGE"
title="AUDIO_ALLOW_SAMPLES_CHANGE = 0x00000008"><wbr />AUDIO_<wbr />ALLOW_<wbr />SAMPLES_<wbr />CHANGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_ALLOW_ANY_CHANGE"
title="AUDIO_ALLOW_ANY_CHANGE = 15"><wbr />AUDIO_<wbr />ALLOW_<wbr />ANY_<wbr />CHANGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIOCVT_MAX_FILTERS"
title="AUDIOCVT_MAX_FILTERS = 9"><wbr />AUDIOCVT_<wbr />MAX_<wbr />FILTERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_STOPPED"
title="AUDIO_STOPPED = 0&apos;i32"><wbr />AUDIO_<wbr />STOPPED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_PLAYING"
title="AUDIO_PLAYING = 1"><wbr />AUDIO_<wbr />PLAYING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#AUDIO_PAUSED"
title="AUDIO_PAUSED = 2"><wbr />AUDIO_<wbr />PAUSED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MIX_MAXVOLUME"
title="MIX_MAXVOLUME = 128"><wbr />MIX_<wbr />MAXVOLUME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CACHELINE_SIZE"
title="CACHELINE_SIZE = 128"><wbr />CACHELINE_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ALPHA_OPAQUE"
title="ALPHA_OPAQUE = 255"><wbr />ALPHA_<wbr />OPAQUE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ALPHA_TRANSPARENT"
title="ALPHA_TRANSPARENT = 0"><wbr />ALPHA_<wbr />TRANSPARENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_UNKNOWN"
title="PIXELTYPE_UNKNOWN = 0&apos;i32"><wbr />PIXELTYPE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_INDEX1"
title="PIXELTYPE_INDEX1 = 1"><wbr />PIXELTYPE_<wbr />INDEX1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_INDEX4"
title="PIXELTYPE_INDEX4 = 2"><wbr />PIXELTYPE_<wbr />INDEX4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_INDEX8"
title="PIXELTYPE_INDEX8 = 3"><wbr />PIXELTYPE_<wbr />INDEX8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_PACKED8"
title="PIXELTYPE_PACKED8 = 4"><wbr />PIXELTYPE_<wbr />PACKED8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_PACKED16"
title="PIXELTYPE_PACKED16 = 5"><wbr />PIXELTYPE_<wbr />PACKED16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_PACKED32"
title="PIXELTYPE_PACKED32 = 6"><wbr />PIXELTYPE_<wbr />PACKED32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_ARRAYU8"
title="PIXELTYPE_ARRAYU8 = 7"><wbr />PIXELTYPE_<wbr />ARRAYU8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_ARRAYU16"
title="PIXELTYPE_ARRAYU16 = 8"><wbr />PIXELTYPE_<wbr />ARRAYU16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_ARRAYU32"
title="PIXELTYPE_ARRAYU32 = 9"><wbr />PIXELTYPE_<wbr />ARRAYU32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_ARRAYF16"
title="PIXELTYPE_ARRAYF16 = 10"><wbr />PIXELTYPE_<wbr />ARRAYF16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELTYPE_ARRAYF32"
title="PIXELTYPE_ARRAYF32 = 11"><wbr />PIXELTYPE_<wbr />ARRAYF32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BITMAPORDER_NONE"
title="BITMAPORDER_NONE = 0&apos;i32"><wbr />BITMAPORDER_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BITMAPORDER_4321"
title="BITMAPORDER_4321 = 1"><wbr />BITMAPORDER_<wbr />4321<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BITMAPORDER_1234"
title="BITMAPORDER_1234 = 2"><wbr />BITMAPORDER_<wbr />1234<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_NONE"
title="PACKEDORDER_NONE = 0&apos;i32"><wbr />PACKEDORDER_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_XRGB"
title="PACKEDORDER_XRGB = 1"><wbr />PACKEDORDER_<wbr />XRGB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_RGBX"
title="PACKEDORDER_RGBX = 2"><wbr />PACKEDORDER_<wbr />RGBX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_ARGB"
title="PACKEDORDER_ARGB = 3"><wbr />PACKEDORDER_<wbr />ARGB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_RGBA"
title="PACKEDORDER_RGBA = 4"><wbr />PACKEDORDER_<wbr />RGBA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_XBGR"
title="PACKEDORDER_XBGR = 5"><wbr />PACKEDORDER_<wbr />XBGR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_BGRX"
title="PACKEDORDER_BGRX = 6"><wbr />PACKEDORDER_<wbr />BGRX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_ABGR"
title="PACKEDORDER_ABGR = 7"><wbr />PACKEDORDER_<wbr />ABGR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDORDER_BGRA"
title="PACKEDORDER_BGRA = 8"><wbr />PACKEDORDER_<wbr />BGRA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_NONE"
title="ARRAYORDER_NONE = 0&apos;i32"><wbr />ARRAYORDER_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_RGB"
title="ARRAYORDER_RGB = 1"><wbr />ARRAYORDER_<wbr />RGB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_RGBA"
title="ARRAYORDER_RGBA = 2"><wbr />ARRAYORDER_<wbr />RGBA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_ARGB"
title="ARRAYORDER_ARGB = 3"><wbr />ARRAYORDER_<wbr />ARGB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_BGR"
title="ARRAYORDER_BGR = 4"><wbr />ARRAYORDER_<wbr />BGR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_BGRA"
title="ARRAYORDER_BGRA = 5"><wbr />ARRAYORDER_<wbr />BGRA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ARRAYORDER_ABGR"
title="ARRAYORDER_ABGR = 6"><wbr />ARRAYORDER_<wbr />ABGR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_NONE"
title="PACKEDLAYOUT_NONE = 0&apos;i32"><wbr />PACKEDLAYOUT_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_332"
title="PACKEDLAYOUT_332 = 1"><wbr />PACKEDLAYOUT_<wbr />332<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_4444"
title="PACKEDLAYOUT_4444 = 2"><wbr />PACKEDLAYOUT_<wbr />4444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_1555"
title="PACKEDLAYOUT_1555 = 3"><wbr />PACKEDLAYOUT_<wbr />1555<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_5551"
title="PACKEDLAYOUT_5551 = 4"><wbr />PACKEDLAYOUT_<wbr />5551<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_565"
title="PACKEDLAYOUT_565 = 5"><wbr />PACKEDLAYOUT_<wbr />565<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_8888"
title="PACKEDLAYOUT_8888 = 6"><wbr />PACKEDLAYOUT_<wbr />8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_2101010"
title="PACKEDLAYOUT_2101010 = 7"><wbr />PACKEDLAYOUT_<wbr />2101010<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PACKEDLAYOUT_1010102"
title="PACKEDLAYOUT_1010102 = 8"><wbr />PACKEDLAYOUT_<wbr />1010102<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_UNKNOWN"
title="PIXELFORMAT_UNKNOWN = 0&apos;i32"><wbr />PIXELFORMAT_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_INDEX1LSB"
title="PIXELFORMAT_INDEX1LSB = 286261504&apos;i32"><wbr />PIXELFORMAT_<wbr />INDEX1LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_INDEX1MSB"
title="PIXELFORMAT_INDEX1MSB = 287310080&apos;i32"><wbr />PIXELFORMAT_<wbr />INDEX1MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_INDEX4LSB"
title="PIXELFORMAT_INDEX4LSB = 303039488&apos;i32"><wbr />PIXELFORMAT_<wbr />INDEX4LSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_INDEX4MSB"
title="PIXELFORMAT_INDEX4MSB = 304088064&apos;i32"><wbr />PIXELFORMAT_<wbr />INDEX4MSB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_INDEX8"
title="PIXELFORMAT_INDEX8 = 318769153&apos;i32"><wbr />PIXELFORMAT_<wbr />INDEX8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB332"
title="PIXELFORMAT_RGB332 = 336660481&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB332<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB444"
title="PIXELFORMAT_RGB444 = 353504258&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGR444"
title="PIXELFORMAT_BGR444 = 357698562&apos;i32"><wbr />PIXELFORMAT_<wbr />BGR444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB555"
title="PIXELFORMAT_RGB555 = 353570562&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB555<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGR555"
title="PIXELFORMAT_BGR555 = 357764866&apos;i32"><wbr />PIXELFORMAT_<wbr />BGR555<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ARGB4444"
title="PIXELFORMAT_ARGB4444 = 355602434&apos;i32"><wbr />PIXELFORMAT_<wbr />ARGB4444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGBA4444"
title="PIXELFORMAT_RGBA4444 = 356651010&apos;i32"><wbr />PIXELFORMAT_<wbr />RGBA4444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ABGR4444"
title="PIXELFORMAT_ABGR4444 = 359796738&apos;i32"><wbr />PIXELFORMAT_<wbr />ABGR4444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGRA4444"
title="PIXELFORMAT_BGRA4444 = 360845314&apos;i32"><wbr />PIXELFORMAT_<wbr />BGRA4444<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ARGB1555"
title="PIXELFORMAT_ARGB1555 = 355667970&apos;i32"><wbr />PIXELFORMAT_<wbr />ARGB1555<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGBA5551"
title="PIXELFORMAT_RGBA5551 = 356782082&apos;i32"><wbr />PIXELFORMAT_<wbr />RGBA5551<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ABGR1555"
title="PIXELFORMAT_ABGR1555 = 359862274&apos;i32"><wbr />PIXELFORMAT_<wbr />ABGR1555<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGRA5551"
title="PIXELFORMAT_BGRA5551 = 360976386&apos;i32"><wbr />PIXELFORMAT_<wbr />BGRA5551<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB565"
title="PIXELFORMAT_RGB565 = 353701890&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB565<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGR565"
title="PIXELFORMAT_BGR565 = 357896194&apos;i32"><wbr />PIXELFORMAT_<wbr />BGR565<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB24"
title="PIXELFORMAT_RGB24 = 386930691&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB24<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGR24"
title="PIXELFORMAT_BGR24 = 390076419&apos;i32"><wbr />PIXELFORMAT_<wbr />BGR24<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGB888"
title="PIXELFORMAT_RGB888 = 370546692&apos;i32"><wbr />PIXELFORMAT_<wbr />RGB888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGBX8888"
title="PIXELFORMAT_RGBX8888 = 371595268&apos;i32"><wbr />PIXELFORMAT_<wbr />RGBX8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGR888"
title="PIXELFORMAT_BGR888 = 374740996&apos;i32"><wbr />PIXELFORMAT_<wbr />BGR888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGRX8888"
title="PIXELFORMAT_BGRX8888 = 375789572&apos;i32"><wbr />PIXELFORMAT_<wbr />BGRX8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ARGB8888"
title="PIXELFORMAT_ARGB8888 = 372645892&apos;i32"><wbr />PIXELFORMAT_<wbr />ARGB8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGBA8888"
title="PIXELFORMAT_RGBA8888 = 373694468&apos;i32"><wbr />PIXELFORMAT_<wbr />RGBA8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ABGR8888"
title="PIXELFORMAT_ABGR8888 = 376840196&apos;i32"><wbr />PIXELFORMAT_<wbr />ABGR8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGRA8888"
title="PIXELFORMAT_BGRA8888 = 377888772&apos;i32"><wbr />PIXELFORMAT_<wbr />BGRA8888<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ARGB2101010"
title="PIXELFORMAT_ARGB2101010 = 372711428&apos;i32"><wbr />PIXELFORMAT_<wbr />ARGB2101010<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_RGBA32"
title="PIXELFORMAT_RGBA32 = 376840196&apos;i32"><wbr />PIXELFORMAT_<wbr />RGBA32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ARGB32"
title="PIXELFORMAT_ARGB32 = 377888772&apos;i32"><wbr />PIXELFORMAT_<wbr />ARGB32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_BGRA32"
title="PIXELFORMAT_BGRA32 = 372645892&apos;i32"><wbr />PIXELFORMAT_<wbr />BGRA32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_ABGR32"
title="PIXELFORMAT_ABGR32 = 373694468&apos;i32"><wbr />PIXELFORMAT_<wbr />ABGR32<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_YV12"
title="PIXELFORMAT_YV12 = 373694469"><wbr />PIXELFORMAT_<wbr />YV12<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_IYUV"
title="PIXELFORMAT_IYUV = 373694470"><wbr />PIXELFORMAT_<wbr />IYUV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_YUY2"
title="PIXELFORMAT_YUY2 = 373694471"><wbr />PIXELFORMAT_<wbr />YUY2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_UYVY"
title="PIXELFORMAT_UYVY = 373694472"><wbr />PIXELFORMAT_<wbr />UYVY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_YVYU"
title="PIXELFORMAT_YVYU = 373694473"><wbr />PIXELFORMAT_<wbr />YVYU<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_NV12"
title="PIXELFORMAT_NV12 = 373694474"><wbr />PIXELFORMAT_<wbr />NV12<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_NV21"
title="PIXELFORMAT_NV21 = 373694475"><wbr />PIXELFORMAT_<wbr />NV21<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PIXELFORMAT_EXTERNAL_OES"
title="PIXELFORMAT_EXTERNAL_OES = 373694476"><wbr />PIXELFORMAT_<wbr />EXTERNAL_<wbr />OES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_NONE"
title="BLENDMODE_NONE = 0&apos;i32"><wbr />BLENDMODE_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_BLEND"
title="BLENDMODE_BLEND = 1&apos;i32"><wbr />BLENDMODE_<wbr />BLEND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_ADD"
title="BLENDMODE_ADD = 2&apos;i32"><wbr />BLENDMODE_<wbr />ADD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_MOD"
title="BLENDMODE_MOD = 4&apos;i32"><wbr />BLENDMODE_<wbr />MOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_MUL"
title="BLENDMODE_MUL = 8&apos;i32"><wbr />BLENDMODE_<wbr />MUL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDMODE_INVALID"
title="BLENDMODE_INVALID = 2147483647&apos;i32"><wbr />BLENDMODE_<wbr />INVALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDOPERATION_ADD"
title="BLENDOPERATION_ADD = 1&apos;i32"><wbr />BLENDOPERATION_<wbr />ADD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDOPERATION_SUBTRACT"
title="BLENDOPERATION_SUBTRACT = 2&apos;i32"><wbr />BLENDOPERATION_<wbr />SUBTRACT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDOPERATION_REV_SUBTRACT"
title="BLENDOPERATION_REV_SUBTRACT = 3&apos;i32"><wbr />BLENDOPERATION_<wbr />REV_<wbr />SUBTRACT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDOPERATION_MINIMUM"
title="BLENDOPERATION_MINIMUM = 4&apos;i32"><wbr />BLENDOPERATION_<wbr />MINIMUM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDOPERATION_MAXIMUM"
title="BLENDOPERATION_MAXIMUM = 5&apos;i32"><wbr />BLENDOPERATION_<wbr />MAXIMUM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ZERO"
title="BLENDFACTOR_ZERO = 1&apos;i32"><wbr />BLENDFACTOR_<wbr />ZERO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ONE"
title="BLENDFACTOR_ONE = 2&apos;i32"><wbr />BLENDFACTOR_<wbr />ONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_SRC_COLOR"
title="BLENDFACTOR_SRC_COLOR = 3&apos;i32"><wbr />BLENDFACTOR_<wbr />SRC_<wbr />COLOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ONE_MINUS_SRC_COLOR"
title="BLENDFACTOR_ONE_MINUS_SRC_COLOR = 4&apos;i32"><wbr />BLENDFACTOR_<wbr />ONE_<wbr />MINUS_<wbr />SRC_<wbr />COLOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_SRC_ALPHA"
title="BLENDFACTOR_SRC_ALPHA = 5&apos;i32"><wbr />BLENDFACTOR_<wbr />SRC_<wbr />ALPHA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ONE_MINUS_SRC_ALPHA"
title="BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 6&apos;i32"><wbr />BLENDFACTOR_<wbr />ONE_<wbr />MINUS_<wbr />SRC_<wbr />ALPHA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_DST_COLOR"
title="BLENDFACTOR_DST_COLOR = 7&apos;i32"><wbr />BLENDFACTOR_<wbr />DST_<wbr />COLOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ONE_MINUS_DST_COLOR"
title="BLENDFACTOR_ONE_MINUS_DST_COLOR = 8&apos;i32"><wbr />BLENDFACTOR_<wbr />ONE_<wbr />MINUS_<wbr />DST_<wbr />COLOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_DST_ALPHA"
title="BLENDFACTOR_DST_ALPHA = 9&apos;i32"><wbr />BLENDFACTOR_<wbr />DST_<wbr />ALPHA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BLENDFACTOR_ONE_MINUS_DST_ALPHA"
title="BLENDFACTOR_ONE_MINUS_DST_ALPHA = 10&apos;i32"><wbr />BLENDFACTOR_<wbr />ONE_<wbr />MINUS_<wbr />DST_<wbr />ALPHA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SWSURFACE"
title="SWSURFACE = 0"><wbr />SWSURFACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PREALLOC"
title="PREALLOC = 0x00000001"><wbr />PREALLOC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RLEACCEL"
title="RLEACCEL = 0x00000002"><wbr />RLEACCEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DONTFREE"
title="DONTFREE = 0x00000004"><wbr />DONTFREE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SIMD_ALIGNED"
title="SIMD_ALIGNED = 0x00000008"><wbr />SIMD_<wbr />ALIGNED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#YUV_CONVERSION_JPEG"
title="YUV_CONVERSION_JPEG = 0&apos;i32"><wbr />YUV_<wbr />CONVERSION_<wbr />JPEG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#YUV_CONVERSION_BT601"
title="YUV_CONVERSION_BT601 = 1"><wbr />YUV_<wbr />CONVERSION_<wbr />BT601<span class="attachedType"></span></a></li>
<li><a class="reference" href="#YUV_CONVERSION_BT709"
title="YUV_CONVERSION_BT709 = 2"><wbr />YUV_<wbr />CONVERSION_<wbr />BT709<span class="attachedType"></span></a></li>
<li><a class="reference" href="#YUV_CONVERSION_AUTOMATIC"
title="YUV_CONVERSION_AUTOMATIC = 3"><wbr />YUV_<wbr />CONVERSION_<wbr />AUTOMATIC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_FULLSCREEN"
title="WINDOW_FULLSCREEN = 1&apos;i32"><wbr />WINDOW_<wbr />FULLSCREEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_OPENGL"
title="WINDOW_OPENGL = 2&apos;i32"><wbr />WINDOW_<wbr />OPENGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_SHOWN"
title="WINDOW_SHOWN = 4&apos;i32"><wbr />WINDOW_<wbr />SHOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_HIDDEN"
title="WINDOW_HIDDEN = 8&apos;i32"><wbr />WINDOW_<wbr />HIDDEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_BORDERLESS"
title="WINDOW_BORDERLESS = 16&apos;i32"><wbr />WINDOW_<wbr />BORDERLESS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_RESIZABLE"
title="WINDOW_RESIZABLE = 32&apos;i32"><wbr />WINDOW_<wbr />RESIZABLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_MINIMIZED"
title="WINDOW_MINIMIZED = 64&apos;i32"><wbr />WINDOW_<wbr />MINIMIZED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_MAXIMIZED"
title="WINDOW_MAXIMIZED = 128&apos;i32"><wbr />WINDOW_<wbr />MAXIMIZED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_INPUT_GRABBED"
title="WINDOW_INPUT_GRABBED = 256&apos;i32"><wbr />WINDOW_<wbr />INPUT_<wbr />GRABBED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_INPUT_FOCUS"
title="WINDOW_INPUT_FOCUS = 512&apos;i32"><wbr />WINDOW_<wbr />INPUT_<wbr />FOCUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_MOUSE_FOCUS"
title="WINDOW_MOUSE_FOCUS = 1024&apos;i32"><wbr />WINDOW_<wbr />MOUSE_<wbr />FOCUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_FULLSCREEN_DESKTOP"
title="WINDOW_FULLSCREEN_DESKTOP = 4097&apos;i32"><wbr />WINDOW_<wbr />FULLSCREEN_<wbr />DESKTOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_FOREIGN"
title="WINDOW_FOREIGN = 2048&apos;i32"><wbr />WINDOW_<wbr />FOREIGN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_ALLOW_HIGHDPI"
title="WINDOW_ALLOW_HIGHDPI = 8192&apos;i32"><wbr />WINDOW_<wbr />ALLOW_<wbr />HIGHDPI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_MOUSE_CAPTURE"
title="WINDOW_MOUSE_CAPTURE = 16384&apos;i32"><wbr />WINDOW_<wbr />MOUSE_<wbr />CAPTURE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_ALWAYS_ON_TOP"
title="WINDOW_ALWAYS_ON_TOP = 32768&apos;i32"><wbr />WINDOW_<wbr />ALWAYS_<wbr />ON_<wbr />TOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_SKIP_TASKBAR"
title="WINDOW_SKIP_TASKBAR = 65536&apos;i32"><wbr />WINDOW_<wbr />SKIP_<wbr />TASKBAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_UTILITY"
title="WINDOW_UTILITY = 131072&apos;i32"><wbr />WINDOW_<wbr />UTILITY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_TOOLTIP"
title="WINDOW_TOOLTIP = 262144&apos;i32"><wbr />WINDOW_<wbr />TOOLTIP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_POPUP_MENU"
title="WINDOW_POPUP_MENU = 524288&apos;i32"><wbr />WINDOW_<wbr />POPUP_<wbr />MENU<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_VULKAN"
title="WINDOW_VULKAN = 268435456&apos;i32"><wbr />WINDOW_<wbr />VULKAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_NONE"
title="WINDOWEVENT_NONE = 0&apos;i32"><wbr />WINDOWEVENT_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_SHOWN"
title="WINDOWEVENT_SHOWN = 1"><wbr />WINDOWEVENT_<wbr />SHOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_HIDDEN"
title="WINDOWEVENT_HIDDEN = 2"><wbr />WINDOWEVENT_<wbr />HIDDEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_EXPOSED"
title="WINDOWEVENT_EXPOSED = 3"><wbr />WINDOWEVENT_<wbr />EXPOSED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_MOVED"
title="WINDOWEVENT_MOVED = 4"><wbr />WINDOWEVENT_<wbr />MOVED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_RESIZED"
title="WINDOWEVENT_RESIZED = 5"><wbr />WINDOWEVENT_<wbr />RESIZED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_SIZE_CHANGED"
title="WINDOWEVENT_SIZE_CHANGED = 6"><wbr />WINDOWEVENT_<wbr />SIZE_<wbr />CHANGED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_MINIMIZED"
title="WINDOWEVENT_MINIMIZED = 7"><wbr />WINDOWEVENT_<wbr />MINIMIZED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_MAXIMIZED"
title="WINDOWEVENT_MAXIMIZED = 8"><wbr />WINDOWEVENT_<wbr />MAXIMIZED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_RESTORED"
title="WINDOWEVENT_RESTORED = 9"><wbr />WINDOWEVENT_<wbr />RESTORED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_ENTER"
title="WINDOWEVENT_ENTER = 10"><wbr />WINDOWEVENT_<wbr />ENTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_LEAVE"
title="WINDOWEVENT_LEAVE = 11"><wbr />WINDOWEVENT_<wbr />LEAVE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_FOCUS_GAINED"
title="WINDOWEVENT_FOCUS_GAINED = 12"><wbr />WINDOWEVENT_<wbr />FOCUS_<wbr />GAINED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_FOCUS_LOST"
title="WINDOWEVENT_FOCUS_LOST = 13"><wbr />WINDOWEVENT_<wbr />FOCUS_<wbr />LOST<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_CLOSE"
title="WINDOWEVENT_CLOSE = 14"><wbr />WINDOWEVENT_<wbr />CLOSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_TAKE_FOCUS"
title="WINDOWEVENT_TAKE_FOCUS = 15"><wbr />WINDOWEVENT_<wbr />TAKE_<wbr />FOCUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWEVENT_HIT_TEST"
title="WINDOWEVENT_HIT_TEST = 16"><wbr />WINDOWEVENT_<wbr />HIT_<wbr />TEST<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DISPLAYEVENT_NONE"
title="DISPLAYEVENT_NONE = 0&apos;i32"><wbr />DISPLAYEVENT_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DISPLAYEVENT_ORIENTATION"
title="DISPLAYEVENT_ORIENTATION = 1"><wbr />DISPLAYEVENT_<wbr />ORIENTATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ORIENTATION_UNKNOWN"
title="ORIENTATION_UNKNOWN = 0&apos;i32"><wbr />ORIENTATION_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ORIENTATION_LANDSCAPE"
title="ORIENTATION_LANDSCAPE = 1"><wbr />ORIENTATION_<wbr />LANDSCAPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ORIENTATION_LANDSCAPE_FLIPPED"
title="ORIENTATION_LANDSCAPE_FLIPPED = 2"><wbr />ORIENTATION_<wbr />LANDSCAPE_<wbr />FLIPPED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ORIENTATION_PORTRAIT"
title="ORIENTATION_PORTRAIT = 3"><wbr />ORIENTATION_<wbr />PORTRAIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ORIENTATION_PORTRAIT_FLIPPED"
title="ORIENTATION_PORTRAIT_FLIPPED = 4"><wbr />ORIENTATION_<wbr />PORTRAIT_<wbr />FLIPPED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_RED_SIZE"
title="GL_RED_SIZE = 0&apos;i32"><wbr />GL_<wbr />RED_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_GREEN_SIZE"
title="GL_GREEN_SIZE = 1"><wbr />GL_<wbr />GREEN_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_BLUE_SIZE"
title="GL_BLUE_SIZE = 2"><wbr />GL_<wbr />BLUE_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ALPHA_SIZE"
title="GL_ALPHA_SIZE = 3"><wbr />GL_<wbr />ALPHA_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_BUFFER_SIZE"
title="GL_BUFFER_SIZE = 4"><wbr />GL_<wbr />BUFFER_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_DOUBLEBUFFER"
title="GL_DOUBLEBUFFER = 5"><wbr />GL_<wbr />DOUBLEBUFFER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_DEPTH_SIZE"
title="GL_DEPTH_SIZE = 6"><wbr />GL_<wbr />DEPTH_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_STENCIL_SIZE"
title="GL_STENCIL_SIZE = 7"><wbr />GL_<wbr />STENCIL_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ACCUM_RED_SIZE"
title="GL_ACCUM_RED_SIZE = 8"><wbr />GL_<wbr />ACCUM_<wbr />RED_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ACCUM_GREEN_SIZE"
title="GL_ACCUM_GREEN_SIZE = 9"><wbr />GL_<wbr />ACCUM_<wbr />GREEN_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ACCUM_BLUE_SIZE"
title="GL_ACCUM_BLUE_SIZE = 10"><wbr />GL_<wbr />ACCUM_<wbr />BLUE_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ACCUM_ALPHA_SIZE"
title="GL_ACCUM_ALPHA_SIZE = 11"><wbr />GL_<wbr />ACCUM_<wbr />ALPHA_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_STEREO"
title="GL_STEREO = 12"><wbr />GL_<wbr />STEREO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_MULTISAMPLEBUFFERS"
title="GL_MULTISAMPLEBUFFERS = 13"><wbr />GL_<wbr />MULTISAMPLEBUFFERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_MULTISAMPLESAMPLES"
title="GL_MULTISAMPLESAMPLES = 14"><wbr />GL_<wbr />MULTISAMPLESAMPLES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_ACCELERATED_VISUAL"
title="GL_ACCELERATED_VISUAL = 15"><wbr />GL_<wbr />ACCELERATED_<wbr />VISUAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_RETAINED_BACKING"
title="GL_RETAINED_BACKING = 16"><wbr />GL_<wbr />RETAINED_<wbr />BACKING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_MAJOR_VERSION"
title="GL_CONTEXT_MAJOR_VERSION = 17"><wbr />GL_<wbr />CONTEXT_<wbr />MAJOR_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_MINOR_VERSION"
title="GL_CONTEXT_MINOR_VERSION = 18"><wbr />GL_<wbr />CONTEXT_<wbr />MINOR_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_EGL"
title="GL_CONTEXT_EGL = 19"><wbr />GL_<wbr />CONTEXT_<wbr />EGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_FLAGS"
title="GL_CONTEXT_FLAGS = 20"><wbr />GL_<wbr />CONTEXT_<wbr />FLAGS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_PROFILE_MASK"
title="GL_CONTEXT_PROFILE_MASK = 21"><wbr />GL_<wbr />CONTEXT_<wbr />PROFILE_<wbr />MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_SHARE_WITH_CURRENT_CONTEXT"
title="GL_SHARE_WITH_CURRENT_CONTEXT = 22"><wbr />GL_<wbr />SHARE_<wbr />WITH_<wbr />CURRENT_<wbr />CONTEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_FRAMEBUFFER_SRGB_CAPABLE"
title="GL_FRAMEBUFFER_SRGB_CAPABLE = 23"><wbr />GL_<wbr />FRAMEBUFFER_<wbr />SRGB_<wbr />CAPABLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RELEASE_BEHAVIOR"
title="GL_CONTEXT_RELEASE_BEHAVIOR = 24"><wbr />GL_<wbr />CONTEXT_<wbr />RELEASE_<wbr />BEHAVIOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RESET_NOTIFICATION"
title="GL_CONTEXT_RESET_NOTIFICATION = 25"><wbr />GL_<wbr />CONTEXT_<wbr />RESET_<wbr />NOTIFICATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_NO_ERROR"
title="GL_CONTEXT_NO_ERROR = 26"><wbr />GL_<wbr />CONTEXT_<wbr />NO_<wbr />ERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_PROFILE_CORE"
title="GL_CONTEXT_PROFILE_CORE = 1&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />PROFILE_<wbr />CORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_PROFILE_COMPATIBILITY"
title="GL_CONTEXT_PROFILE_COMPATIBILITY = 2&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />PROFILE_<wbr />COMPATIBILITY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_PROFILE_ES"
title="GL_CONTEXT_PROFILE_ES = 4&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />PROFILE_<wbr />ES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_DEBUG_FLAG"
title="GL_CONTEXT_DEBUG_FLAG = 1&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />DEBUG_<wbr />FLAG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_FORWARD_COMPATIBLE_FLAG"
title="GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = 2&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />FORWARD_<wbr />COMPATIBLE_<wbr />FLAG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_ROBUST_ACCESS_FLAG"
title="GL_CONTEXT_ROBUST_ACCESS_FLAG = 4&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />ROBUST_<wbr />ACCESS_<wbr />FLAG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RESET_ISOLATION_FLAG"
title="GL_CONTEXT_RESET_ISOLATION_FLAG = 8&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />RESET_<wbr />ISOLATION_<wbr />FLAG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RELEASE_BEHAVIOR_NONE"
title="GL_CONTEXT_RELEASE_BEHAVIOR_NONE = 0&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />RELEASE_<wbr />BEHAVIOR_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"
title="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 1&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />RELEASE_<wbr />BEHAVIOR_<wbr />FLUSH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RESET_NO_NOTIFICATION"
title="GL_CONTEXT_RESET_NO_NOTIFICATION = 0&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />RESET_<wbr />NO_<wbr />NOTIFICATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GL_CONTEXT_RESET_LOSE_CONTEXT"
title="GL_CONTEXT_RESET_LOSE_CONTEXT = 1&apos;i32"><wbr />GL_<wbr />CONTEXT_<wbr />RESET_<wbr />LOSE_<wbr />CONTEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_NORMAL"
title="HITTEST_NORMAL = 0&apos;i32"><wbr />HITTEST_<wbr />NORMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_DRAGGABLE"
title="HITTEST_DRAGGABLE = 1"><wbr />HITTEST_<wbr />DRAGGABLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_TOPLEFT"
title="HITTEST_RESIZE_TOPLEFT = 2"><wbr />HITTEST_<wbr />RESIZE_<wbr />TOPLEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_TOP"
title="HITTEST_RESIZE_TOP = 3"><wbr />HITTEST_<wbr />RESIZE_<wbr />TOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_TOPRIGHT"
title="HITTEST_RESIZE_TOPRIGHT = 4"><wbr />HITTEST_<wbr />RESIZE_<wbr />TOPRIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_RIGHT"
title="HITTEST_RESIZE_RIGHT = 5"><wbr />HITTEST_<wbr />RESIZE_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_BOTTOMRIGHT"
title="HITTEST_RESIZE_BOTTOMRIGHT = 6"><wbr />HITTEST_<wbr />RESIZE_<wbr />BOTTOMRIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_BOTTOM"
title="HITTEST_RESIZE_BOTTOM = 7"><wbr />HITTEST_<wbr />RESIZE_<wbr />BOTTOM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_BOTTOMLEFT"
title="HITTEST_RESIZE_BOTTOMLEFT = 8"><wbr />HITTEST_<wbr />RESIZE_<wbr />BOTTOMLEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HITTEST_RESIZE_LEFT"
title="HITTEST_RESIZE_LEFT = 9"><wbr />HITTEST_<wbr />RESIZE_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_UNKNOWN"
title="SCANCODE_UNKNOWN = 0&apos;i32"><wbr />SCANCODE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_A"
title="SCANCODE_A = 4&apos;i32"><wbr />SCANCODE_<wbr />A<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_B"
title="SCANCODE_B = 5&apos;i32"><wbr />SCANCODE_<wbr />B<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_C"
title="SCANCODE_C = 6&apos;i32"><wbr />SCANCODE_<wbr />C<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_D"
title="SCANCODE_D = 7&apos;i32"><wbr />SCANCODE_<wbr />D<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_E"
title="SCANCODE_E = 8&apos;i32"><wbr />SCANCODE_<wbr />E<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F"
title="SCANCODE_F = 9&apos;i32"><wbr />SCANCODE_<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_G"
title="SCANCODE_G = 10&apos;i32"><wbr />SCANCODE_<wbr />G<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_H"
title="SCANCODE_H = 11&apos;i32"><wbr />SCANCODE_<wbr />H<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_I"
title="SCANCODE_I = 12&apos;i32"><wbr />SCANCODE_<wbr />I<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_J"
title="SCANCODE_J = 13&apos;i32"><wbr />SCANCODE_<wbr />J<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_K"
title="SCANCODE_K = 14&apos;i32"><wbr />SCANCODE_<wbr />K<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_L"
title="SCANCODE_L = 15&apos;i32"><wbr />SCANCODE_<wbr />L<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_M"
title="SCANCODE_M = 16&apos;i32"><wbr />SCANCODE_<wbr />M<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_N"
title="SCANCODE_N = 17&apos;i32"><wbr />SCANCODE_<wbr />N<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_O"
title="SCANCODE_O = 18&apos;i32"><wbr />SCANCODE_<wbr />O<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_P"
title="SCANCODE_P = 19&apos;i32"><wbr />SCANCODE_<wbr />P<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_Q"
title="SCANCODE_Q = 20&apos;i32"><wbr />SCANCODE_<wbr />Q<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_R"
title="SCANCODE_R = 21&apos;i32"><wbr />SCANCODE_<wbr />R<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_S"
title="SCANCODE_S = 22&apos;i32"><wbr />SCANCODE_<wbr />S<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_T"
title="SCANCODE_T = 23&apos;i32"><wbr />SCANCODE_<wbr />T<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_U"
title="SCANCODE_U = 24&apos;i32"><wbr />SCANCODE_<wbr />U<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_V"
title="SCANCODE_V = 25&apos;i32"><wbr />SCANCODE_<wbr />V<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_W"
title="SCANCODE_W = 26&apos;i32"><wbr />SCANCODE_<wbr />W<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_X"
title="SCANCODE_X = 27&apos;i32"><wbr />SCANCODE_<wbr />X<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_Y"
title="SCANCODE_Y = 28&apos;i32"><wbr />SCANCODE_<wbr />Y<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_Z"
title="SCANCODE_Z = 29&apos;i32"><wbr />SCANCODE_<wbr />Z<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_1"
title="SCANCODE_1 = 30&apos;i32"><wbr />SCANCODE_<wbr />1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_2"
title="SCANCODE_2 = 31&apos;i32"><wbr />SCANCODE_<wbr />2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_3"
title="SCANCODE_3 = 32&apos;i32"><wbr />SCANCODE_<wbr />3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_4"
title="SCANCODE_4 = 33&apos;i32"><wbr />SCANCODE_<wbr />4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_5"
title="SCANCODE_5 = 34&apos;i32"><wbr />SCANCODE_<wbr />5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_6"
title="SCANCODE_6 = 35&apos;i32"><wbr />SCANCODE_<wbr />6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_7"
title="SCANCODE_7 = 36&apos;i32"><wbr />SCANCODE_<wbr />7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_8"
title="SCANCODE_8 = 37&apos;i32"><wbr />SCANCODE_<wbr />8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_9"
title="SCANCODE_9 = 38&apos;i32"><wbr />SCANCODE_<wbr />9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_0"
title="SCANCODE_0 = 39&apos;i32"><wbr />SCANCODE_<wbr />0<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RETURN"
title="SCANCODE_RETURN = 40&apos;i32"><wbr />SCANCODE_<wbr />RETURN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_ESCAPE"
title="SCANCODE_ESCAPE = 41&apos;i32"><wbr />SCANCODE_<wbr />ESCAPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_BACKSPACE"
title="SCANCODE_BACKSPACE = 42&apos;i32"><wbr />SCANCODE_<wbr />BACKSPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_TAB"
title="SCANCODE_TAB = 43&apos;i32"><wbr />SCANCODE_<wbr />TAB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SPACE"
title="SCANCODE_SPACE = 44&apos;i32"><wbr />SCANCODE_<wbr />SPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MINUS"
title="SCANCODE_MINUS = 45&apos;i32"><wbr />SCANCODE_<wbr />MINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_EQUALS"
title="SCANCODE_EQUALS = 46&apos;i32"><wbr />SCANCODE_<wbr />EQUALS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LEFTBRACKET"
title="SCANCODE_LEFTBRACKET = 47&apos;i32"><wbr />SCANCODE_<wbr />LEFTBRACKET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RIGHTBRACKET"
title="SCANCODE_RIGHTBRACKET = 48&apos;i32"><wbr />SCANCODE_<wbr />RIGHTBRACKET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_BACKSLASH"
title="SCANCODE_BACKSLASH = 49&apos;i32"><wbr />SCANCODE_<wbr />BACKSLASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_NONUSHASH"
title="SCANCODE_NONUSHASH = 50&apos;i32"><wbr />SCANCODE_<wbr />NONUSHASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SEMICOLON"
title="SCANCODE_SEMICOLON = 51&apos;i32"><wbr />SCANCODE_<wbr />SEMICOLON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_APOSTROPHE"
title="SCANCODE_APOSTROPHE = 52&apos;i32"><wbr />SCANCODE_<wbr />APOSTROPHE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_GRAVE"
title="SCANCODE_GRAVE = 53&apos;i32"><wbr />SCANCODE_<wbr />GRAVE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_COMMA"
title="SCANCODE_COMMA = 54&apos;i32"><wbr />SCANCODE_<wbr />COMMA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PERIOD"
title="SCANCODE_PERIOD = 55&apos;i32"><wbr />SCANCODE_<wbr />PERIOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SLASH"
title="SCANCODE_SLASH = 56&apos;i32"><wbr />SCANCODE_<wbr />SLASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CAPSLOCK"
title="SCANCODE_CAPSLOCK = 57&apos;i32"><wbr />SCANCODE_<wbr />CAPSLOCK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F1"
title="SCANCODE_F1 = 58&apos;i32"><wbr />SCANCODE_<wbr />F1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F2"
title="SCANCODE_F2 = 59&apos;i32"><wbr />SCANCODE_<wbr />F2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F3"
title="SCANCODE_F3 = 60&apos;i32"><wbr />SCANCODE_<wbr />F3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F4"
title="SCANCODE_F4 = 61&apos;i32"><wbr />SCANCODE_<wbr />F4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F5"
title="SCANCODE_F5 = 62&apos;i32"><wbr />SCANCODE_<wbr />F5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F6"
title="SCANCODE_F6 = 63&apos;i32"><wbr />SCANCODE_<wbr />F6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F7"
title="SCANCODE_F7 = 64&apos;i32"><wbr />SCANCODE_<wbr />F7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F8"
title="SCANCODE_F8 = 65&apos;i32"><wbr />SCANCODE_<wbr />F8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F9"
title="SCANCODE_F9 = 66&apos;i32"><wbr />SCANCODE_<wbr />F9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F10"
title="SCANCODE_F10 = 67&apos;i32"><wbr />SCANCODE_<wbr />F10<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F11"
title="SCANCODE_F11 = 68&apos;i32"><wbr />SCANCODE_<wbr />F11<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F12"
title="SCANCODE_F12 = 69&apos;i32"><wbr />SCANCODE_<wbr />F12<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PRINTSCREEN"
title="SCANCODE_PRINTSCREEN = 70&apos;i32"><wbr />SCANCODE_<wbr />PRINTSCREEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SCROLLLOCK"
title="SCANCODE_SCROLLLOCK = 71&apos;i32"><wbr />SCANCODE_<wbr />SCROLLLOCK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PAUSE"
title="SCANCODE_PAUSE = 72&apos;i32"><wbr />SCANCODE_<wbr />PAUSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INSERT"
title="SCANCODE_INSERT = 73&apos;i32"><wbr />SCANCODE_<wbr />INSERT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_HOME"
title="SCANCODE_HOME = 74&apos;i32"><wbr />SCANCODE_<wbr />HOME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PAGEUP"
title="SCANCODE_PAGEUP = 75&apos;i32"><wbr />SCANCODE_<wbr />PAGEUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_DELETE"
title="SCANCODE_DELETE = 76&apos;i32"><wbr />SCANCODE_<wbr />DELETE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_END"
title="SCANCODE_END = 77&apos;i32"><wbr />SCANCODE_<wbr />END<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PAGEDOWN"
title="SCANCODE_PAGEDOWN = 78&apos;i32"><wbr />SCANCODE_<wbr />PAGEDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RIGHT"
title="SCANCODE_RIGHT = 79&apos;i32"><wbr />SCANCODE_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LEFT"
title="SCANCODE_LEFT = 80&apos;i32"><wbr />SCANCODE_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_DOWN"
title="SCANCODE_DOWN = 81&apos;i32"><wbr />SCANCODE_<wbr />DOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_UP"
title="SCANCODE_UP = 82&apos;i32"><wbr />SCANCODE_<wbr />UP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_NUMLOCKCLEAR"
title="SCANCODE_NUMLOCKCLEAR = 83&apos;i32"><wbr />SCANCODE_<wbr />NUMLOCKCLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_DIVIDE"
title="SCANCODE_KP_DIVIDE = 84&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />DIVIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MULTIPLY"
title="SCANCODE_KP_MULTIPLY = 85&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MULTIPLY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MINUS"
title="SCANCODE_KP_MINUS = 86&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_PLUS"
title="SCANCODE_KP_PLUS = 87&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />PLUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_ENTER"
title="SCANCODE_KP_ENTER = 88&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />ENTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_1"
title="SCANCODE_KP_1 = 89&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_2"
title="SCANCODE_KP_2 = 90&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_3"
title="SCANCODE_KP_3 = 91&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_4"
title="SCANCODE_KP_4 = 92&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_5"
title="SCANCODE_KP_5 = 93&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_6"
title="SCANCODE_KP_6 = 94&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_7"
title="SCANCODE_KP_7 = 95&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_8"
title="SCANCODE_KP_8 = 96&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_9"
title="SCANCODE_KP_9 = 97&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_0"
title="SCANCODE_KP_0 = 98&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />0<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_PERIOD"
title="SCANCODE_KP_PERIOD = 99&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />PERIOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_NONUSBACKSLASH"
title="SCANCODE_NONUSBACKSLASH = 100&apos;i32"><wbr />SCANCODE_<wbr />NONUSBACKSLASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_APPLICATION"
title="SCANCODE_APPLICATION = 101&apos;i32"><wbr />SCANCODE_<wbr />APPLICATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_POWER"
title="SCANCODE_POWER = 102&apos;i32"><wbr />SCANCODE_<wbr />POWER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_EQUALS"
title="SCANCODE_KP_EQUALS = 103&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />EQUALS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F13"
title="SCANCODE_F13 = 104&apos;i32"><wbr />SCANCODE_<wbr />F13<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F14"
title="SCANCODE_F14 = 105&apos;i32"><wbr />SCANCODE_<wbr />F14<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F15"
title="SCANCODE_F15 = 106&apos;i32"><wbr />SCANCODE_<wbr />F15<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F16"
title="SCANCODE_F16 = 107&apos;i32"><wbr />SCANCODE_<wbr />F16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F17"
title="SCANCODE_F17 = 108&apos;i32"><wbr />SCANCODE_<wbr />F17<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F18"
title="SCANCODE_F18 = 109&apos;i32"><wbr />SCANCODE_<wbr />F18<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F19"
title="SCANCODE_F19 = 110&apos;i32"><wbr />SCANCODE_<wbr />F19<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F20"
title="SCANCODE_F20 = 111&apos;i32"><wbr />SCANCODE_<wbr />F20<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F21"
title="SCANCODE_F21 = 112&apos;i32"><wbr />SCANCODE_<wbr />F21<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F22"
title="SCANCODE_F22 = 113&apos;i32"><wbr />SCANCODE_<wbr />F22<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F23"
title="SCANCODE_F23 = 114&apos;i32"><wbr />SCANCODE_<wbr />F23<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_F24"
title="SCANCODE_F24 = 115&apos;i32"><wbr />SCANCODE_<wbr />F24<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_EXECUTE"
title="SCANCODE_EXECUTE = 116&apos;i32"><wbr />SCANCODE_<wbr />EXECUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_HELP"
title="SCANCODE_HELP = 117&apos;i32"><wbr />SCANCODE_<wbr />HELP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MENU"
title="SCANCODE_MENU = 118&apos;i32"><wbr />SCANCODE_<wbr />MENU<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SELECT"
title="SCANCODE_SELECT = 119&apos;i32"><wbr />SCANCODE_<wbr />SELECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_STOP"
title="SCANCODE_STOP = 120&apos;i32"><wbr />SCANCODE_<wbr />STOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AGAIN"
title="SCANCODE_AGAIN = 121&apos;i32"><wbr />SCANCODE_<wbr />AGAIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_UNDO"
title="SCANCODE_UNDO = 122&apos;i32"><wbr />SCANCODE_<wbr />UNDO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CUT"
title="SCANCODE_CUT = 123&apos;i32"><wbr />SCANCODE_<wbr />CUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_COPY"
title="SCANCODE_COPY = 124&apos;i32"><wbr />SCANCODE_<wbr />COPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PASTE"
title="SCANCODE_PASTE = 125&apos;i32"><wbr />SCANCODE_<wbr />PASTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_FIND"
title="SCANCODE_FIND = 126&apos;i32"><wbr />SCANCODE_<wbr />FIND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MUTE"
title="SCANCODE_MUTE = 127&apos;i32"><wbr />SCANCODE_<wbr />MUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_VOLUMEUP"
title="SCANCODE_VOLUMEUP = 128&apos;i32"><wbr />SCANCODE_<wbr />VOLUMEUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_VOLUMEDOWN"
title="SCANCODE_VOLUMEDOWN = 129&apos;i32"><wbr />SCANCODE_<wbr />VOLUMEDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_COMMA"
title="SCANCODE_KP_COMMA = 133&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />COMMA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_EQUALSAS400"
title="SCANCODE_KP_EQUALSAS400 = 134&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />EQUALSAS400<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL1"
title="SCANCODE_INTERNATIONAL1 = 135&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL2"
title="SCANCODE_INTERNATIONAL2 = 136&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL3"
title="SCANCODE_INTERNATIONAL3 = 137&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL4"
title="SCANCODE_INTERNATIONAL4 = 138&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL5"
title="SCANCODE_INTERNATIONAL5 = 139&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL6"
title="SCANCODE_INTERNATIONAL6 = 140&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL7"
title="SCANCODE_INTERNATIONAL7 = 141&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL8"
title="SCANCODE_INTERNATIONAL8 = 142&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_INTERNATIONAL9"
title="SCANCODE_INTERNATIONAL9 = 143&apos;i32"><wbr />SCANCODE_<wbr />INTERNATIONAL9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG1"
title="SCANCODE_LANG1 = 144&apos;i32"><wbr />SCANCODE_<wbr />LANG1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG2"
title="SCANCODE_LANG2 = 145&apos;i32"><wbr />SCANCODE_<wbr />LANG2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG3"
title="SCANCODE_LANG3 = 146&apos;i32"><wbr />SCANCODE_<wbr />LANG3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG4"
title="SCANCODE_LANG4 = 147&apos;i32"><wbr />SCANCODE_<wbr />LANG4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG5"
title="SCANCODE_LANG5 = 148&apos;i32"><wbr />SCANCODE_<wbr />LANG5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG6"
title="SCANCODE_LANG6 = 149&apos;i32"><wbr />SCANCODE_<wbr />LANG6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG7"
title="SCANCODE_LANG7 = 150&apos;i32"><wbr />SCANCODE_<wbr />LANG7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG8"
title="SCANCODE_LANG8 = 151&apos;i32"><wbr />SCANCODE_<wbr />LANG8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LANG9"
title="SCANCODE_LANG9 = 152&apos;i32"><wbr />SCANCODE_<wbr />LANG9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_ALTERASE"
title="SCANCODE_ALTERASE = 153&apos;i32"><wbr />SCANCODE_<wbr />ALTERASE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SYSREQ"
title="SCANCODE_SYSREQ = 154&apos;i32"><wbr />SCANCODE_<wbr />SYSREQ<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CANCEL"
title="SCANCODE_CANCEL = 155&apos;i32"><wbr />SCANCODE_<wbr />CANCEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CLEAR"
title="SCANCODE_CLEAR = 156&apos;i32"><wbr />SCANCODE_<wbr />CLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_PRIOR"
title="SCANCODE_PRIOR = 157&apos;i32"><wbr />SCANCODE_<wbr />PRIOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RETURN2"
title="SCANCODE_RETURN2 = 158&apos;i32"><wbr />SCANCODE_<wbr />RETURN2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SEPARATOR"
title="SCANCODE_SEPARATOR = 159&apos;i32"><wbr />SCANCODE_<wbr />SEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_OUT"
title="SCANCODE_OUT = 160&apos;i32"><wbr />SCANCODE_<wbr />OUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_OPER"
title="SCANCODE_OPER = 161&apos;i32"><wbr />SCANCODE_<wbr />OPER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CLEARAGAIN"
title="SCANCODE_CLEARAGAIN = 162&apos;i32"><wbr />SCANCODE_<wbr />CLEARAGAIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CRSEL"
title="SCANCODE_CRSEL = 163&apos;i32"><wbr />SCANCODE_<wbr />CRSEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_EXSEL"
title="SCANCODE_EXSEL = 164&apos;i32"><wbr />SCANCODE_<wbr />EXSEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_00"
title="SCANCODE_KP_00 = 176&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />00<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_000"
title="SCANCODE_KP_000 = 177&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />000<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_THOUSANDSSEPARATOR"
title="SCANCODE_THOUSANDSSEPARATOR = 178&apos;i32"><wbr />SCANCODE_<wbr />THOUSANDSSEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_DECIMALSEPARATOR"
title="SCANCODE_DECIMALSEPARATOR = 179&apos;i32"><wbr />SCANCODE_<wbr />DECIMALSEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CURRENCYUNIT"
title="SCANCODE_CURRENCYUNIT = 180&apos;i32"><wbr />SCANCODE_<wbr />CURRENCYUNIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CURRENCYSUBUNIT"
title="SCANCODE_CURRENCYSUBUNIT = 181&apos;i32"><wbr />SCANCODE_<wbr />CURRENCYSUBUNIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_LEFTPAREN"
title="SCANCODE_KP_LEFTPAREN = 182&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />LEFTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_RIGHTPAREN"
title="SCANCODE_KP_RIGHTPAREN = 183&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />RIGHTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_LEFTBRACE"
title="SCANCODE_KP_LEFTBRACE = 184&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />LEFTBRACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_RIGHTBRACE"
title="SCANCODE_KP_RIGHTBRACE = 185&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />RIGHTBRACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_TAB"
title="SCANCODE_KP_TAB = 186&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />TAB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_BACKSPACE"
title="SCANCODE_KP_BACKSPACE = 187&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />BACKSPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_A"
title="SCANCODE_KP_A = 188&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />A<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_B"
title="SCANCODE_KP_B = 189&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />B<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_C"
title="SCANCODE_KP_C = 190&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />C<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_D"
title="SCANCODE_KP_D = 191&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />D<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_E"
title="SCANCODE_KP_E = 192&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />E<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_F"
title="SCANCODE_KP_F = 193&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_XOR"
title="SCANCODE_KP_XOR = 194&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />XOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_POWER"
title="SCANCODE_KP_POWER = 195&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />POWER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_PERCENT"
title="SCANCODE_KP_PERCENT = 196&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />PERCENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_LESS"
title="SCANCODE_KP_LESS = 197&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />LESS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_GREATER"
title="SCANCODE_KP_GREATER = 198&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />GREATER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_AMPERSAND"
title="SCANCODE_KP_AMPERSAND = 199&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />AMPERSAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_DBLAMPERSAND"
title="SCANCODE_KP_DBLAMPERSAND = 200&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />DBLAMPERSAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_VERTICALBAR"
title="SCANCODE_KP_VERTICALBAR = 201&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />VERTICALBAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_DBLVERTICALBAR"
title="SCANCODE_KP_DBLVERTICALBAR = 202&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />DBLVERTICALBAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_COLON"
title="SCANCODE_KP_COLON = 203&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />COLON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_HASH"
title="SCANCODE_KP_HASH = 204&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />HASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_SPACE"
title="SCANCODE_KP_SPACE = 205&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />SPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_AT"
title="SCANCODE_KP_AT = 206&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />AT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_EXCLAM"
title="SCANCODE_KP_EXCLAM = 207&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />EXCLAM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMSTORE"
title="SCANCODE_KP_MEMSTORE = 208&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMSTORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMRECALL"
title="SCANCODE_KP_MEMRECALL = 209&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMRECALL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMCLEAR"
title="SCANCODE_KP_MEMCLEAR = 210&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMCLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMADD"
title="SCANCODE_KP_MEMADD = 211&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMADD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMSUBTRACT"
title="SCANCODE_KP_MEMSUBTRACT = 212&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMSUBTRACT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMMULTIPLY"
title="SCANCODE_KP_MEMMULTIPLY = 213&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMMULTIPLY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_MEMDIVIDE"
title="SCANCODE_KP_MEMDIVIDE = 214&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />MEMDIVIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_PLUSMINUS"
title="SCANCODE_KP_PLUSMINUS = 215&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />PLUSMINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_CLEAR"
title="SCANCODE_KP_CLEAR = 216&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />CLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_CLEARENTRY"
title="SCANCODE_KP_CLEARENTRY = 217&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />CLEARENTRY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_BINARY"
title="SCANCODE_KP_BINARY = 218&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />BINARY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_OCTAL"
title="SCANCODE_KP_OCTAL = 219&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />OCTAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_DECIMAL"
title="SCANCODE_KP_DECIMAL = 220&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />DECIMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KP_HEXADECIMAL"
title="SCANCODE_KP_HEXADECIMAL = 221&apos;i32"><wbr />SCANCODE_<wbr />KP_<wbr />HEXADECIMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LCTRL"
title="SCANCODE_LCTRL = 224&apos;i32"><wbr />SCANCODE_<wbr />LCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LSHIFT"
title="SCANCODE_LSHIFT = 225&apos;i32"><wbr />SCANCODE_<wbr />LSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LALT"
title="SCANCODE_LALT = 226&apos;i32"><wbr />SCANCODE_<wbr />LALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_LGUI"
title="SCANCODE_LGUI = 227&apos;i32"><wbr />SCANCODE_<wbr />LGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RCTRL"
title="SCANCODE_RCTRL = 228&apos;i32"><wbr />SCANCODE_<wbr />RCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RSHIFT"
title="SCANCODE_RSHIFT = 229&apos;i32"><wbr />SCANCODE_<wbr />RSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RALT"
title="SCANCODE_RALT = 230&apos;i32"><wbr />SCANCODE_<wbr />RALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_RGUI"
title="SCANCODE_RGUI = 231&apos;i32"><wbr />SCANCODE_<wbr />RGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MODE"
title="SCANCODE_MODE = 257&apos;i32"><wbr />SCANCODE_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIONEXT"
title="SCANCODE_AUDIONEXT = 258&apos;i32"><wbr />SCANCODE_<wbr />AUDIONEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOPREV"
title="SCANCODE_AUDIOPREV = 259&apos;i32"><wbr />SCANCODE_<wbr />AUDIOPREV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOSTOP"
title="SCANCODE_AUDIOSTOP = 260&apos;i32"><wbr />SCANCODE_<wbr />AUDIOSTOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOPLAY"
title="SCANCODE_AUDIOPLAY = 261&apos;i32"><wbr />SCANCODE_<wbr />AUDIOPLAY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOMUTE"
title="SCANCODE_AUDIOMUTE = 262&apos;i32"><wbr />SCANCODE_<wbr />AUDIOMUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MEDIASELECT"
title="SCANCODE_MEDIASELECT = 263&apos;i32"><wbr />SCANCODE_<wbr />MEDIASELECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_WWW"
title="SCANCODE_WWW = 264&apos;i32"><wbr />SCANCODE_<wbr />WWW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MAIL"
title="SCANCODE_MAIL = 265&apos;i32"><wbr />SCANCODE_<wbr />MAIL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_CALCULATOR"
title="SCANCODE_CALCULATOR = 266&apos;i32"><wbr />SCANCODE_<wbr />CALCULATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_COMPUTER"
title="SCANCODE_COMPUTER = 267&apos;i32"><wbr />SCANCODE_<wbr />COMPUTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_SEARCH"
title="SCANCODE_AC_SEARCH = 268&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />SEARCH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_HOME"
title="SCANCODE_AC_HOME = 269&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />HOME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_BACK"
title="SCANCODE_AC_BACK = 270&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />BACK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_FORWARD"
title="SCANCODE_AC_FORWARD = 271&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />FORWARD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_STOP"
title="SCANCODE_AC_STOP = 272&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />STOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_REFRESH"
title="SCANCODE_AC_REFRESH = 273&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />REFRESH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AC_BOOKMARKS"
title="SCANCODE_AC_BOOKMARKS = 274&apos;i32"><wbr />SCANCODE_<wbr />AC_<wbr />BOOKMARKS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_BRIGHTNESSDOWN"
title="SCANCODE_BRIGHTNESSDOWN = 275&apos;i32"><wbr />SCANCODE_<wbr />BRIGHTNESSDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_BRIGHTNESSUP"
title="SCANCODE_BRIGHTNESSUP = 276&apos;i32"><wbr />SCANCODE_<wbr />BRIGHTNESSUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_DISPLAYSWITCH"
title="SCANCODE_DISPLAYSWITCH = 277&apos;i32"><wbr />SCANCODE_<wbr />DISPLAYSWITCH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KBDILLUMTOGGLE"
title="SCANCODE_KBDILLUMTOGGLE = 278&apos;i32"><wbr />SCANCODE_<wbr />KBDILLUMTOGGLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KBDILLUMDOWN"
title="SCANCODE_KBDILLUMDOWN = 279&apos;i32"><wbr />SCANCODE_<wbr />KBDILLUMDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_KBDILLUMUP"
title="SCANCODE_KBDILLUMUP = 280&apos;i32"><wbr />SCANCODE_<wbr />KBDILLUMUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_EJECT"
title="SCANCODE_EJECT = 281&apos;i32"><wbr />SCANCODE_<wbr />EJECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_SLEEP"
title="SCANCODE_SLEEP = 282&apos;i32"><wbr />SCANCODE_<wbr />SLEEP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_APP1"
title="SCANCODE_APP1 = 283&apos;i32"><wbr />SCANCODE_<wbr />APP1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_APP2"
title="SCANCODE_APP2 = 284&apos;i32"><wbr />SCANCODE_<wbr />APP2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOREWIND"
title="SCANCODE_AUDIOREWIND = 285&apos;i32"><wbr />SCANCODE_<wbr />AUDIOREWIND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_AUDIOFASTFORWARD"
title="SCANCODE_AUDIOFASTFORWARD = 286&apos;i32"><wbr />SCANCODE_<wbr />AUDIOFASTFORWARD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#NUM_SCANCODES"
title="NUM_SCANCODES = 512&apos;i32"><wbr />NUM_<wbr />SCANCODES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SCANCODE_MASK"
title="KEYCODE_SCANCODE_MASK = 1073741824"><wbr />KEYCODE_<wbr />SCANCODE_<wbr />MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_UNKNOWN"
title="KEYCODE_UNKNOWN = 0&apos;i32"><wbr />KEYCODE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RETURN"
title="KEYCODE_RETURN = 13&apos;i32"><wbr />KEYCODE_<wbr />RETURN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_ESCAPE"
title="KEYCODE_ESCAPE = 27&apos;i32"><wbr />KEYCODE_<wbr />ESCAPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_BACKSPACE"
title="KEYCODE_BACKSPACE = 8&apos;i32"><wbr />KEYCODE_<wbr />BACKSPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_TAB"
title="KEYCODE_TAB = 9&apos;i32"><wbr />KEYCODE_<wbr />TAB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SPACE"
title="KEYCODE_SPACE = 32&apos;i32"><wbr />KEYCODE_<wbr />SPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_EXCLAIM"
title="KEYCODE_EXCLAIM = 33&apos;i32"><wbr />KEYCODE_<wbr />EXCLAIM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_QUOTEDBL"
title="KEYCODE_QUOTEDBL = 34&apos;i32"><wbr />KEYCODE_<wbr />QUOTEDBL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_HASH"
title="KEYCODE_HASH = 35&apos;i32"><wbr />KEYCODE_<wbr />HASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PERCENT"
title="KEYCODE_PERCENT = 37&apos;i32"><wbr />KEYCODE_<wbr />PERCENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_DOLLAR"
title="KEYCODE_DOLLAR = 36&apos;i32"><wbr />KEYCODE_<wbr />DOLLAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AMPERSAND"
title="KEYCODE_AMPERSAND = 38&apos;i32"><wbr />KEYCODE_<wbr />AMPERSAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_QUOTE"
title="KEYCODE_QUOTE = 39&apos;i32"><wbr />KEYCODE_<wbr />QUOTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LEFTPAREN"
title="KEYCODE_LEFTPAREN = 40&apos;i32"><wbr />KEYCODE_<wbr />LEFTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RIGHTPAREN"
title="KEYCODE_RIGHTPAREN = 41&apos;i32"><wbr />KEYCODE_<wbr />RIGHTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_ASTERISK"
title="KEYCODE_ASTERISK = 42&apos;i32"><wbr />KEYCODE_<wbr />ASTERISK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PLUS"
title="KEYCODE_PLUS = 43&apos;i32"><wbr />KEYCODE_<wbr />PLUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_COMMA"
title="KEYCODE_COMMA = 44&apos;i32"><wbr />KEYCODE_<wbr />COMMA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MINUS"
title="KEYCODE_MINUS = 45&apos;i32"><wbr />KEYCODE_<wbr />MINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PERIOD"
title="KEYCODE_PERIOD = 46&apos;i32"><wbr />KEYCODE_<wbr />PERIOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SLASH"
title="KEYCODE_SLASH = 47&apos;i32"><wbr />KEYCODE_<wbr />SLASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_0"
title="KEYCODE_0 = 48&apos;i32"><wbr />KEYCODE_<wbr />0<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_1"
title="KEYCODE_1 = 49&apos;i32"><wbr />KEYCODE_<wbr />1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_2"
title="KEYCODE_2 = 50&apos;i32"><wbr />KEYCODE_<wbr />2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_3"
title="KEYCODE_3 = 51&apos;i32"><wbr />KEYCODE_<wbr />3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_4"
title="KEYCODE_4 = 52&apos;i32"><wbr />KEYCODE_<wbr />4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_5"
title="KEYCODE_5 = 53&apos;i32"><wbr />KEYCODE_<wbr />5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_6"
title="KEYCODE_6 = 54&apos;i32"><wbr />KEYCODE_<wbr />6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_7"
title="KEYCODE_7 = 55&apos;i32"><wbr />KEYCODE_<wbr />7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_8"
title="KEYCODE_8 = 56&apos;i32"><wbr />KEYCODE_<wbr />8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_9"
title="KEYCODE_9 = 57&apos;i32"><wbr />KEYCODE_<wbr />9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_COLON"
title="KEYCODE_COLON = 58&apos;i32"><wbr />KEYCODE_<wbr />COLON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SEMICOLON"
title="KEYCODE_SEMICOLON = 59&apos;i32"><wbr />KEYCODE_<wbr />SEMICOLON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LESS"
title="KEYCODE_LESS = 60&apos;i32"><wbr />KEYCODE_<wbr />LESS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_EQUALS"
title="KEYCODE_EQUALS = 61&apos;i32"><wbr />KEYCODE_<wbr />EQUALS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_GREATER"
title="KEYCODE_GREATER = 62&apos;i32"><wbr />KEYCODE_<wbr />GREATER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_QUESTION"
title="KEYCODE_QUESTION = 63&apos;i32"><wbr />KEYCODE_<wbr />QUESTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AT"
title="KEYCODE_AT = 64&apos;i32"><wbr />KEYCODE_<wbr />AT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LEFTBRACKET"
title="KEYCODE_LEFTBRACKET = 91&apos;i32"><wbr />KEYCODE_<wbr />LEFTBRACKET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_BACKSLASH"
title="KEYCODE_BACKSLASH = 92&apos;i32"><wbr />KEYCODE_<wbr />BACKSLASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RIGHTBRACKET"
title="KEYCODE_RIGHTBRACKET = 93&apos;i32"><wbr />KEYCODE_<wbr />RIGHTBRACKET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CARET"
title="KEYCODE_CARET = 94&apos;i32"><wbr />KEYCODE_<wbr />CARET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_UNDERSCORE"
title="KEYCODE_UNDERSCORE = 95&apos;i32"><wbr />KEYCODE_<wbr />UNDERSCORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_BACKQUOTE"
title="KEYCODE_BACKQUOTE = 96&apos;i32"><wbr />KEYCODE_<wbr />BACKQUOTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_a"
title="KEYCODE_a = 97&apos;i32"><wbr />KEYCODE_<wbr />a<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_b"
title="KEYCODE_b = 98&apos;i32"><wbr />KEYCODE_<wbr />b<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_c"
title="KEYCODE_c = 99&apos;i32"><wbr />KEYCODE_<wbr />c<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_d"
title="KEYCODE_d = 100&apos;i32"><wbr />KEYCODE_<wbr />d<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_e"
title="KEYCODE_e = 101&apos;i32"><wbr />KEYCODE_<wbr />e<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_f"
title="KEYCODE_f = 102&apos;i32"><wbr />KEYCODE_<wbr />f<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_g"
title="KEYCODE_g = 103&apos;i32"><wbr />KEYCODE_<wbr />g<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_h"
title="KEYCODE_h = 104&apos;i32"><wbr />KEYCODE_<wbr />h<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_i"
title="KEYCODE_i = 105&apos;i32"><wbr />KEYCODE_<wbr />i<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_j"
title="KEYCODE_j = 106&apos;i32"><wbr />KEYCODE_<wbr />j<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_k"
title="KEYCODE_k = 107&apos;i32"><wbr />KEYCODE_<wbr />k<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_l"
title="KEYCODE_l = 108&apos;i32"><wbr />KEYCODE_<wbr />l<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_m"
title="KEYCODE_m = 109&apos;i32"><wbr />KEYCODE_<wbr />m<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_n"
title="KEYCODE_n = 110&apos;i32"><wbr />KEYCODE_<wbr />n<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_o"
title="KEYCODE_o = 111&apos;i32"><wbr />KEYCODE_<wbr />o<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_p"
title="KEYCODE_p = 112&apos;i32"><wbr />KEYCODE_<wbr />p<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_q"
title="KEYCODE_q = 113&apos;i32"><wbr />KEYCODE_<wbr />q<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_r"
title="KEYCODE_r = 114&apos;i32"><wbr />KEYCODE_<wbr />r<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_s"
title="KEYCODE_s = 115&apos;i32"><wbr />KEYCODE_<wbr />s<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_t"
title="KEYCODE_t = 116&apos;i32"><wbr />KEYCODE_<wbr />t<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_u"
title="KEYCODE_u = 117&apos;i32"><wbr />KEYCODE_<wbr />u<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_v"
title="KEYCODE_v = 118&apos;i32"><wbr />KEYCODE_<wbr />v<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_w"
title="KEYCODE_w = 119&apos;i32"><wbr />KEYCODE_<wbr />w<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_x"
title="KEYCODE_x = 120&apos;i32"><wbr />KEYCODE_<wbr />x<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_y"
title="KEYCODE_y = 121&apos;i32"><wbr />KEYCODE_<wbr />y<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_z"
title="KEYCODE_z = 122&apos;i32"><wbr />KEYCODE_<wbr />z<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CAPSLOCK"
title="KEYCODE_CAPSLOCK = 1073741881&apos;i32"><wbr />KEYCODE_<wbr />CAPSLOCK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F1"
title="KEYCODE_F1 = 1073741882&apos;i32"><wbr />KEYCODE_<wbr />F1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F2"
title="KEYCODE_F2 = 1073741883&apos;i32"><wbr />KEYCODE_<wbr />F2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F3"
title="KEYCODE_F3 = 1073741884&apos;i32"><wbr />KEYCODE_<wbr />F3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F4"
title="KEYCODE_F4 = 1073741885&apos;i32"><wbr />KEYCODE_<wbr />F4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F5"
title="KEYCODE_F5 = 1073741886&apos;i32"><wbr />KEYCODE_<wbr />F5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F6"
title="KEYCODE_F6 = 1073741887&apos;i32"><wbr />KEYCODE_<wbr />F6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F7"
title="KEYCODE_F7 = 1073741888&apos;i32"><wbr />KEYCODE_<wbr />F7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F8"
title="KEYCODE_F8 = 1073741889&apos;i32"><wbr />KEYCODE_<wbr />F8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F9"
title="KEYCODE_F9 = 1073741890&apos;i32"><wbr />KEYCODE_<wbr />F9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F10"
title="KEYCODE_F10 = 1073741891&apos;i32"><wbr />KEYCODE_<wbr />F10<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F11"
title="KEYCODE_F11 = 1073741892&apos;i32"><wbr />KEYCODE_<wbr />F11<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F12"
title="KEYCODE_F12 = 1073741893&apos;i32"><wbr />KEYCODE_<wbr />F12<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PRINTSCREEN"
title="KEYCODE_PRINTSCREEN = 1073741894&apos;i32"><wbr />KEYCODE_<wbr />PRINTSCREEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SCROLLLOCK"
title="KEYCODE_SCROLLLOCK = 1073741895&apos;i32"><wbr />KEYCODE_<wbr />SCROLLLOCK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PAUSE"
title="KEYCODE_PAUSE = 1073741896&apos;i32"><wbr />KEYCODE_<wbr />PAUSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_INSERT"
title="KEYCODE_INSERT = 1073741897&apos;i32"><wbr />KEYCODE_<wbr />INSERT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_HOME"
title="KEYCODE_HOME = 1073741898&apos;i32"><wbr />KEYCODE_<wbr />HOME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PAGEUP"
title="KEYCODE_PAGEUP = 1073741899&apos;i32"><wbr />KEYCODE_<wbr />PAGEUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_DELETE"
title="KEYCODE_DELETE = 127&apos;i32"><wbr />KEYCODE_<wbr />DELETE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_END"
title="KEYCODE_END = 1073741901&apos;i32"><wbr />KEYCODE_<wbr />END<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PAGEDOWN"
title="KEYCODE_PAGEDOWN = 1073741902&apos;i32"><wbr />KEYCODE_<wbr />PAGEDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RIGHT"
title="KEYCODE_RIGHT = 1073741903&apos;i32"><wbr />KEYCODE_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LEFT"
title="KEYCODE_LEFT = 1073741904&apos;i32"><wbr />KEYCODE_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_DOWN"
title="KEYCODE_DOWN = 1073741905&apos;i32"><wbr />KEYCODE_<wbr />DOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_UP"
title="KEYCODE_UP = 1073741906&apos;i32"><wbr />KEYCODE_<wbr />UP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_NUMLOCKCLEAR"
title="KEYCODE_NUMLOCKCLEAR = 1073741907&apos;i32"><wbr />KEYCODE_<wbr />NUMLOCKCLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_DIVIDE"
title="KEYCODE_KP_DIVIDE = 1073741908&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />DIVIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MULTIPLY"
title="KEYCODE_KP_MULTIPLY = 1073741909&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MULTIPLY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MINUS"
title="KEYCODE_KP_MINUS = 1073741910&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_PLUS"
title="KEYCODE_KP_PLUS = 1073741911&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />PLUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_ENTER"
title="KEYCODE_KP_ENTER = 1073741912&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />ENTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_1"
title="KEYCODE_KP_1 = 1073741913&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_2"
title="KEYCODE_KP_2 = 1073741914&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_3"
title="KEYCODE_KP_3 = 1073741915&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_4"
title="KEYCODE_KP_4 = 1073741916&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_5"
title="KEYCODE_KP_5 = 1073741917&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_6"
title="KEYCODE_KP_6 = 1073741918&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_7"
title="KEYCODE_KP_7 = 1073741919&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_8"
title="KEYCODE_KP_8 = 1073741920&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_9"
title="KEYCODE_KP_9 = 1073741921&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_0"
title="KEYCODE_KP_0 = 1073741922&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />0<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_PERIOD"
title="KEYCODE_KP_PERIOD = 1073741923&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />PERIOD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_APPLICATION"
title="KEYCODE_APPLICATION = 1073741925&apos;i32"><wbr />KEYCODE_<wbr />APPLICATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_POWER"
title="KEYCODE_POWER = 1073741926&apos;i32"><wbr />KEYCODE_<wbr />POWER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_EQUALS"
title="KEYCODE_KP_EQUALS = 1073741927&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />EQUALS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F13"
title="KEYCODE_F13 = 1073741928&apos;i32"><wbr />KEYCODE_<wbr />F13<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F14"
title="KEYCODE_F14 = 1073741929&apos;i32"><wbr />KEYCODE_<wbr />F14<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F15"
title="KEYCODE_F15 = 1073741930&apos;i32"><wbr />KEYCODE_<wbr />F15<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F16"
title="KEYCODE_F16 = 1073741931&apos;i32"><wbr />KEYCODE_<wbr />F16<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F17"
title="KEYCODE_F17 = 1073741932&apos;i32"><wbr />KEYCODE_<wbr />F17<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F18"
title="KEYCODE_F18 = 1073741933&apos;i32"><wbr />KEYCODE_<wbr />F18<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F19"
title="KEYCODE_F19 = 1073741934&apos;i32"><wbr />KEYCODE_<wbr />F19<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F20"
title="KEYCODE_F20 = 1073741935&apos;i32"><wbr />KEYCODE_<wbr />F20<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F21"
title="KEYCODE_F21 = 1073741936&apos;i32"><wbr />KEYCODE_<wbr />F21<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F22"
title="KEYCODE_F22 = 1073741937&apos;i32"><wbr />KEYCODE_<wbr />F22<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F23"
title="KEYCODE_F23 = 1073741938&apos;i32"><wbr />KEYCODE_<wbr />F23<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_F24"
title="KEYCODE_F24 = 1073741939&apos;i32"><wbr />KEYCODE_<wbr />F24<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_EXECUTE"
title="KEYCODE_EXECUTE = 1073741940&apos;i32"><wbr />KEYCODE_<wbr />EXECUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_HELP"
title="KEYCODE_HELP = 1073741941&apos;i32"><wbr />KEYCODE_<wbr />HELP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MENU"
title="KEYCODE_MENU = 1073741942&apos;i32"><wbr />KEYCODE_<wbr />MENU<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SELECT"
title="KEYCODE_SELECT = 1073741943&apos;i32"><wbr />KEYCODE_<wbr />SELECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_STOP"
title="KEYCODE_STOP = 1073741944&apos;i32"><wbr />KEYCODE_<wbr />STOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AGAIN"
title="KEYCODE_AGAIN = 1073741945&apos;i32"><wbr />KEYCODE_<wbr />AGAIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_UNDO"
title="KEYCODE_UNDO = 1073741946&apos;i32"><wbr />KEYCODE_<wbr />UNDO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CUT"
title="KEYCODE_CUT = 1073741947&apos;i32"><wbr />KEYCODE_<wbr />CUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_COPY"
title="KEYCODE_COPY = 1073741948&apos;i32"><wbr />KEYCODE_<wbr />COPY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PASTE"
title="KEYCODE_PASTE = 1073741949&apos;i32"><wbr />KEYCODE_<wbr />PASTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_FIND"
title="KEYCODE_FIND = 1073741950&apos;i32"><wbr />KEYCODE_<wbr />FIND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MUTE"
title="KEYCODE_MUTE = 1073741951&apos;i32"><wbr />KEYCODE_<wbr />MUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_VOLUMEUP"
title="KEYCODE_VOLUMEUP = 1073741952&apos;i32"><wbr />KEYCODE_<wbr />VOLUMEUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_VOLUMEDOWN"
title="KEYCODE_VOLUMEDOWN = 1073741953&apos;i32"><wbr />KEYCODE_<wbr />VOLUMEDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_COMMA"
title="KEYCODE_KP_COMMA = 1073741957&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />COMMA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_EQUALSAS400"
title="KEYCODE_KP_EQUALSAS400 = 1073741958&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />EQUALSAS400<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_ALTERASE"
title="KEYCODE_ALTERASE = 1073741977&apos;i32"><wbr />KEYCODE_<wbr />ALTERASE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SYSREQ"
title="KEYCODE_SYSREQ = 1073741978&apos;i32"><wbr />KEYCODE_<wbr />SYSREQ<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CANCEL"
title="KEYCODE_CANCEL = 1073741979&apos;i32"><wbr />KEYCODE_<wbr />CANCEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CLEAR"
title="KEYCODE_CLEAR = 1073741980&apos;i32"><wbr />KEYCODE_<wbr />CLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_PRIOR"
title="KEYCODE_PRIOR = 1073741981&apos;i32"><wbr />KEYCODE_<wbr />PRIOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RETURN2"
title="KEYCODE_RETURN2 = 1073741982&apos;i32"><wbr />KEYCODE_<wbr />RETURN2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SEPARATOR"
title="KEYCODE_SEPARATOR = 1073741983&apos;i32"><wbr />KEYCODE_<wbr />SEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_OUT"
title="KEYCODE_OUT = 1073741984&apos;i32"><wbr />KEYCODE_<wbr />OUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_OPER"
title="KEYCODE_OPER = 1073741985&apos;i32"><wbr />KEYCODE_<wbr />OPER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CLEARAGAIN"
title="KEYCODE_CLEARAGAIN = 1073741986&apos;i32"><wbr />KEYCODE_<wbr />CLEARAGAIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CRSEL"
title="KEYCODE_CRSEL = 1073741987&apos;i32"><wbr />KEYCODE_<wbr />CRSEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_EXSEL"
title="KEYCODE_EXSEL = 1073741988&apos;i32"><wbr />KEYCODE_<wbr />EXSEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_00"
title="KEYCODE_KP_00 = 1073742000&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />00<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_000"
title="KEYCODE_KP_000 = 1073742001&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />000<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_THOUSANDSSEPARATOR"
title="KEYCODE_THOUSANDSSEPARATOR = 1073742002&apos;i32"><wbr />KEYCODE_<wbr />THOUSANDSSEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_DECIMALSEPARATOR"
title="KEYCODE_DECIMALSEPARATOR = 1073742003&apos;i32"><wbr />KEYCODE_<wbr />DECIMALSEPARATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CURRENCYUNIT"
title="KEYCODE_CURRENCYUNIT = 1073742004&apos;i32"><wbr />KEYCODE_<wbr />CURRENCYUNIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CURRENCYSUBUNIT"
title="KEYCODE_CURRENCYSUBUNIT = 1073742005&apos;i32"><wbr />KEYCODE_<wbr />CURRENCYSUBUNIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_LEFTPAREN"
title="KEYCODE_KP_LEFTPAREN = 1073742006&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />LEFTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_RIGHTPAREN"
title="KEYCODE_KP_RIGHTPAREN = 1073742007&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />RIGHTPAREN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_LEFTBRACE"
title="KEYCODE_KP_LEFTBRACE = 1073742008&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />LEFTBRACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_RIGHTBRACE"
title="KEYCODE_KP_RIGHTBRACE = 1073742009&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />RIGHTBRACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_TAB"
title="KEYCODE_KP_TAB = 1073742010&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />TAB<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_BACKSPACE"
title="KEYCODE_KP_BACKSPACE = 1073742011&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />BACKSPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_A"
title="KEYCODE_KP_A = 1073742012&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />A<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_B"
title="KEYCODE_KP_B = 1073742013&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />B<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_C"
title="KEYCODE_KP_C = 1073742014&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />C<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_D"
title="KEYCODE_KP_D = 1073742015&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />D<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_E"
title="KEYCODE_KP_E = 1073742016&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />E<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_F"
title="KEYCODE_KP_F = 1073742017&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_XOR"
title="KEYCODE_KP_XOR = 1073742018&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />XOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_POWER"
title="KEYCODE_KP_POWER = 1073742019&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />POWER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_PERCENT"
title="KEYCODE_KP_PERCENT = 1073742020&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />PERCENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_LESS"
title="KEYCODE_KP_LESS = 1073742021&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />LESS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_GREATER"
title="KEYCODE_KP_GREATER = 1073742022&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />GREATER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_AMPERSAND"
title="KEYCODE_KP_AMPERSAND = 1073742023&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />AMPERSAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_DBLAMPERSAND"
title="KEYCODE_KP_DBLAMPERSAND = 1073742024&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />DBLAMPERSAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_VERTICALBAR"
title="KEYCODE_KP_VERTICALBAR = 1073742025&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />VERTICALBAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_DBLVERTICALBAR"
title="KEYCODE_KP_DBLVERTICALBAR = 1073742026&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />DBLVERTICALBAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_COLON"
title="KEYCODE_KP_COLON = 1073742027&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />COLON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_HASH"
title="KEYCODE_KP_HASH = 1073742028&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />HASH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_SPACE"
title="KEYCODE_KP_SPACE = 1073742029&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />SPACE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_AT"
title="KEYCODE_KP_AT = 1073742030&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />AT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_EXCLAM"
title="KEYCODE_KP_EXCLAM = 1073742031&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />EXCLAM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMSTORE"
title="KEYCODE_KP_MEMSTORE = 1073742032&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMSTORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMRECALL"
title="KEYCODE_KP_MEMRECALL = 1073742033&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMRECALL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMCLEAR"
title="KEYCODE_KP_MEMCLEAR = 1073742034&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMCLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMADD"
title="KEYCODE_KP_MEMADD = 1073742035&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMADD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMSUBTRACT"
title="KEYCODE_KP_MEMSUBTRACT = 1073742036&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMSUBTRACT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMMULTIPLY"
title="KEYCODE_KP_MEMMULTIPLY = 1073742037&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMMULTIPLY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_MEMDIVIDE"
title="KEYCODE_KP_MEMDIVIDE = 1073742038&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />MEMDIVIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_PLUSMINUS"
title="KEYCODE_KP_PLUSMINUS = 1073742039&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />PLUSMINUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_CLEAR"
title="KEYCODE_KP_CLEAR = 1073742040&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />CLEAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_CLEARENTRY"
title="KEYCODE_KP_CLEARENTRY = 1073742041&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />CLEARENTRY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_BINARY"
title="KEYCODE_KP_BINARY = 1073742042&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />BINARY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_OCTAL"
title="KEYCODE_KP_OCTAL = 1073742043&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />OCTAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_DECIMAL"
title="KEYCODE_KP_DECIMAL = 1073742044&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />DECIMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KP_HEXADECIMAL"
title="KEYCODE_KP_HEXADECIMAL = 1073742045&apos;i32"><wbr />KEYCODE_<wbr />KP_<wbr />HEXADECIMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LCTRL"
title="KEYCODE_LCTRL = 1073742048&apos;i32"><wbr />KEYCODE_<wbr />LCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LSHIFT"
title="KEYCODE_LSHIFT = 1073742049&apos;i32"><wbr />KEYCODE_<wbr />LSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LALT"
title="KEYCODE_LALT = 1073742050&apos;i32"><wbr />KEYCODE_<wbr />LALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_LGUI"
title="KEYCODE_LGUI = 1073742051&apos;i32"><wbr />KEYCODE_<wbr />LGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RCTRL"
title="KEYCODE_RCTRL = 1073742052&apos;i32"><wbr />KEYCODE_<wbr />RCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RSHIFT"
title="KEYCODE_RSHIFT = 1073742053&apos;i32"><wbr />KEYCODE_<wbr />RSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RALT"
title="KEYCODE_RALT = 1073742054&apos;i32"><wbr />KEYCODE_<wbr />RALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_RGUI"
title="KEYCODE_RGUI = 1073742055&apos;i32"><wbr />KEYCODE_<wbr />RGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MODE"
title="KEYCODE_MODE = 1073742081&apos;i32"><wbr />KEYCODE_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIONEXT"
title="KEYCODE_AUDIONEXT = 1073742082&apos;i32"><wbr />KEYCODE_<wbr />AUDIONEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOPREV"
title="KEYCODE_AUDIOPREV = 1073742083&apos;i32"><wbr />KEYCODE_<wbr />AUDIOPREV<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOSTOP"
title="KEYCODE_AUDIOSTOP = 1073742084&apos;i32"><wbr />KEYCODE_<wbr />AUDIOSTOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOPLAY"
title="KEYCODE_AUDIOPLAY = 1073742085&apos;i32"><wbr />KEYCODE_<wbr />AUDIOPLAY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOMUTE"
title="KEYCODE_AUDIOMUTE = 1073742086&apos;i32"><wbr />KEYCODE_<wbr />AUDIOMUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MEDIASELECT"
title="KEYCODE_MEDIASELECT = 1073742087&apos;i32"><wbr />KEYCODE_<wbr />MEDIASELECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_WWW"
title="KEYCODE_WWW = 1073742088&apos;i32"><wbr />KEYCODE_<wbr />WWW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_MAIL"
title="KEYCODE_MAIL = 1073742089&apos;i32"><wbr />KEYCODE_<wbr />MAIL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_CALCULATOR"
title="KEYCODE_CALCULATOR = 1073742090&apos;i32"><wbr />KEYCODE_<wbr />CALCULATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_COMPUTER"
title="KEYCODE_COMPUTER = 1073742091&apos;i32"><wbr />KEYCODE_<wbr />COMPUTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_SEARCH"
title="KEYCODE_AC_SEARCH = 1073742092&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />SEARCH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_HOME"
title="KEYCODE_AC_HOME = 1073742093&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />HOME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_BACK"
title="KEYCODE_AC_BACK = 1073742094&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />BACK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_FORWARD"
title="KEYCODE_AC_FORWARD = 1073742095&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />FORWARD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_STOP"
title="KEYCODE_AC_STOP = 1073742096&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />STOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_REFRESH"
title="KEYCODE_AC_REFRESH = 1073742097&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />REFRESH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AC_BOOKMARKS"
title="KEYCODE_AC_BOOKMARKS = 1073742098&apos;i32"><wbr />KEYCODE_<wbr />AC_<wbr />BOOKMARKS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_BRIGHTNESSDOWN"
title="KEYCODE_BRIGHTNESSDOWN = 1073742099&apos;i32"><wbr />KEYCODE_<wbr />BRIGHTNESSDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_BRIGHTNESSUP"
title="KEYCODE_BRIGHTNESSUP = 1073742100&apos;i32"><wbr />KEYCODE_<wbr />BRIGHTNESSUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_DISPLAYSWITCH"
title="KEYCODE_DISPLAYSWITCH = 1073742101&apos;i32"><wbr />KEYCODE_<wbr />DISPLAYSWITCH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KBDILLUMTOGGLE"
title="KEYCODE_KBDILLUMTOGGLE = 1073742102&apos;i32"><wbr />KEYCODE_<wbr />KBDILLUMTOGGLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KBDILLUMDOWN"
title="KEYCODE_KBDILLUMDOWN = 1073742103&apos;i32"><wbr />KEYCODE_<wbr />KBDILLUMDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_KBDILLUMUP"
title="KEYCODE_KBDILLUMUP = 1073742104&apos;i32"><wbr />KEYCODE_<wbr />KBDILLUMUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_EJECT"
title="KEYCODE_EJECT = 1073742105&apos;i32"><wbr />KEYCODE_<wbr />EJECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_SLEEP"
title="KEYCODE_SLEEP = 1073742106&apos;i32"><wbr />KEYCODE_<wbr />SLEEP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_APP1"
title="KEYCODE_APP1 = 1073742107&apos;i32"><wbr />KEYCODE_<wbr />APP1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_APP2"
title="KEYCODE_APP2 = 1073742108&apos;i32"><wbr />KEYCODE_<wbr />APP2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOREWIND"
title="KEYCODE_AUDIOREWIND = 1073742109&apos;i32"><wbr />KEYCODE_<wbr />AUDIOREWIND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KEYCODE_AUDIOFASTFORWARD"
title="KEYCODE_AUDIOFASTFORWARD = 1073742110&apos;i32"><wbr />KEYCODE_<wbr />AUDIOFASTFORWARD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_NONE"
title="KMOD_NONE = 0&apos;i32"><wbr />KMOD_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_LSHIFT"
title="KMOD_LSHIFT = 1&apos;i32"><wbr />KMOD_<wbr />LSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_RSHIFT"
title="KMOD_RSHIFT = 2&apos;i32"><wbr />KMOD_<wbr />RSHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_LCTRL"
title="KMOD_LCTRL = 64&apos;i32"><wbr />KMOD_<wbr />LCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_RCTRL"
title="KMOD_RCTRL = 128&apos;i32"><wbr />KMOD_<wbr />RCTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_LALT"
title="KMOD_LALT = 256&apos;i32"><wbr />KMOD_<wbr />LALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_RALT"
title="KMOD_RALT = 512&apos;i32"><wbr />KMOD_<wbr />RALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_LGUI"
title="KMOD_LGUI = 1024&apos;i32"><wbr />KMOD_<wbr />LGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_RGUI"
title="KMOD_RGUI = 2048&apos;i32"><wbr />KMOD_<wbr />RGUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_NUM"
title="KMOD_NUM = 4096&apos;i32"><wbr />KMOD_<wbr />NUM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_CAPS"
title="KMOD_CAPS = 8192&apos;i32"><wbr />KMOD_<wbr />CAPS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_MODE"
title="KMOD_MODE = 16384&apos;i32"><wbr />KMOD_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_RESERVED"
title="KMOD_RESERVED = 32768&apos;i32"><wbr />KMOD_<wbr />RESERVED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_CTRL"
title="KMOD_CTRL = 192&apos;i32"><wbr />KMOD_<wbr />CTRL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_SHIFT"
title="KMOD_SHIFT = 3&apos;i32"><wbr />KMOD_<wbr />SHIFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_ALT"
title="KMOD_ALT = 768&apos;i32"><wbr />KMOD_<wbr />ALT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#KMOD_GUI"
title="KMOD_GUI = 3072&apos;i32"><wbr />KMOD_<wbr />GUI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_ARROW"
title="SYSTEM_CURSOR_ARROW = 0&apos;i32"><wbr />SYSTEM_<wbr />CURSOR_<wbr />ARROW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_IBEAM"
title="SYSTEM_CURSOR_IBEAM = 1"><wbr />SYSTEM_<wbr />CURSOR_<wbr />IBEAM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_WAIT"
title="SYSTEM_CURSOR_WAIT = 2"><wbr />SYSTEM_<wbr />CURSOR_<wbr />WAIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_CROSSHAIR"
title="SYSTEM_CURSOR_CROSSHAIR = 3"><wbr />SYSTEM_<wbr />CURSOR_<wbr />CROSSHAIR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_WAITARROW"
title="SYSTEM_CURSOR_WAITARROW = 4"><wbr />SYSTEM_<wbr />CURSOR_<wbr />WAITARROW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_SIZENWSE"
title="SYSTEM_CURSOR_SIZENWSE = 5"><wbr />SYSTEM_<wbr />CURSOR_<wbr />SIZENWSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_SIZENESW"
title="SYSTEM_CURSOR_SIZENESW = 6"><wbr />SYSTEM_<wbr />CURSOR_<wbr />SIZENESW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_SIZEWE"
title="SYSTEM_CURSOR_SIZEWE = 7"><wbr />SYSTEM_<wbr />CURSOR_<wbr />SIZEWE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_SIZENS"
title="SYSTEM_CURSOR_SIZENS = 8"><wbr />SYSTEM_<wbr />CURSOR_<wbr />SIZENS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_SIZEALL"
title="SYSTEM_CURSOR_SIZEALL = 9"><wbr />SYSTEM_<wbr />CURSOR_<wbr />SIZEALL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_NO"
title="SYSTEM_CURSOR_NO = 10"><wbr />SYSTEM_<wbr />CURSOR_<wbr />NO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SYSTEM_CURSOR_HAND"
title="SYSTEM_CURSOR_HAND = 11"><wbr />SYSTEM_<wbr />CURSOR_<wbr />HAND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#NUM_SYSTEM_CURSORS"
title="NUM_SYSTEM_CURSORS = 12"><wbr />NUM_<wbr />SYSTEM_<wbr />CURSORS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MOUSEWHEEL_NORMAL"
title="MOUSEWHEEL_NORMAL = 0&apos;i32"><wbr />MOUSEWHEEL_<wbr />NORMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MOUSEWHEEL_FLIPPED"
title="MOUSEWHEEL_FLIPPED = 1"><wbr />MOUSEWHEEL_<wbr />FLIPPED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_LEFT"
title="BUTTON_LEFT = 1"><wbr />BUTTON_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_MIDDLE"
title="BUTTON_MIDDLE = 2"><wbr />BUTTON_<wbr />MIDDLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_RIGHT"
title="BUTTON_RIGHT = 3"><wbr />BUTTON_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_X1"
title="BUTTON_X1 = 4"><wbr />BUTTON_<wbr />X1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_X2"
title="BUTTON_X2 = 5"><wbr />BUTTON_<wbr />X2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_UNKNOWN"
title="JOYSTICK_TYPE_UNKNOWN = 0&apos;i32"><wbr />JOYSTICK_<wbr />TYPE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_GAMECONTROLLER"
title="JOYSTICK_TYPE_GAMECONTROLLER = 1"><wbr />JOYSTICK_<wbr />TYPE_<wbr />GAMECONTROLLER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_WHEEL"
title="JOYSTICK_TYPE_WHEEL = 2"><wbr />JOYSTICK_<wbr />TYPE_<wbr />WHEEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_ARCADE_STICK"
title="JOYSTICK_TYPE_ARCADE_STICK = 3"><wbr />JOYSTICK_<wbr />TYPE_<wbr />ARCADE_<wbr />STICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_FLIGHT_STICK"
title="JOYSTICK_TYPE_FLIGHT_STICK = 4"><wbr />JOYSTICK_<wbr />TYPE_<wbr />FLIGHT_<wbr />STICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_DANCE_PAD"
title="JOYSTICK_TYPE_DANCE_PAD = 5"><wbr />JOYSTICK_<wbr />TYPE_<wbr />DANCE_<wbr />PAD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_GUITAR"
title="JOYSTICK_TYPE_GUITAR = 6"><wbr />JOYSTICK_<wbr />TYPE_<wbr />GUITAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_DRUM_KIT"
title="JOYSTICK_TYPE_DRUM_KIT = 7"><wbr />JOYSTICK_<wbr />TYPE_<wbr />DRUM_<wbr />KIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_ARCADE_PAD"
title="JOYSTICK_TYPE_ARCADE_PAD = 8"><wbr />JOYSTICK_<wbr />TYPE_<wbr />ARCADE_<wbr />PAD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_TYPE_THROTTLE"
title="JOYSTICK_TYPE_THROTTLE = 9"><wbr />JOYSTICK_<wbr />TYPE_<wbr />THROTTLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_UNKNOWN"
title="JOYSTICK_POWER_UNKNOWN = -1&apos;i32"><wbr />JOYSTICK_<wbr />POWER_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_EMPTY"
title="JOYSTICK_POWER_EMPTY = 0"><wbr />JOYSTICK_<wbr />POWER_<wbr />EMPTY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_LOW"
title="JOYSTICK_POWER_LOW = 1"><wbr />JOYSTICK_<wbr />POWER_<wbr />LOW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_MEDIUM"
title="JOYSTICK_POWER_MEDIUM = 2"><wbr />JOYSTICK_<wbr />POWER_<wbr />MEDIUM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_FULL"
title="JOYSTICK_POWER_FULL = 3"><wbr />JOYSTICK_<wbr />POWER_<wbr />FULL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_WIRED"
title="JOYSTICK_POWER_WIRED = 4"><wbr />JOYSTICK_<wbr />POWER_<wbr />WIRED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_POWER_MAX"
title="JOYSTICK_POWER_MAX = 5"><wbr />JOYSTICK_<wbr />POWER_<wbr />MAX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_AXIS_MAX"
title="JOYSTICK_AXIS_MAX = 32767"><wbr />JOYSTICK_<wbr />AXIS_<wbr />MAX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#JOYSTICK_AXIS_MIN"
title="JOYSTICK_AXIS_MIN = -32768"><wbr />JOYSTICK_<wbr />AXIS_<wbr />MIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_CENTERED"
title="HAT_CENTERED = 0x00000000"><wbr />HAT_<wbr />CENTERED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_UP"
title="HAT_UP = 0x00000001"><wbr />HAT_<wbr />UP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_RIGHT"
title="HAT_RIGHT = 0x00000002"><wbr />HAT_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_DOWN"
title="HAT_DOWN = 0x00000004"><wbr />HAT_<wbr />DOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_LEFT"
title="HAT_LEFT = 0x00000008"><wbr />HAT_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_RIGHTUP"
title="HAT_RIGHTUP = 3"><wbr />HAT_<wbr />RIGHTUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_RIGHTDOWN"
title="HAT_RIGHTDOWN = 6"><wbr />HAT_<wbr />RIGHTDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_LEFTUP"
title="HAT_LEFTUP = 9"><wbr />HAT_<wbr />LEFTUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAT_LEFTDOWN"
title="HAT_LEFTDOWN = 12"><wbr />HAT_<wbr />LEFTDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_UNKNOWN"
title="CONTROLLER_TYPE_UNKNOWN = 0&apos;i32"><wbr />CONTROLLER_<wbr />TYPE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_XBOX360"
title="CONTROLLER_TYPE_XBOX360 = 1"><wbr />CONTROLLER_<wbr />TYPE_<wbr />XBOX360<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_XBOXONE"
title="CONTROLLER_TYPE_XBOXONE = 2"><wbr />CONTROLLER_<wbr />TYPE_<wbr />XBOXONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_PS3"
title="CONTROLLER_TYPE_PS3 = 3"><wbr />CONTROLLER_<wbr />TYPE_<wbr />PS3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_PS4"
title="CONTROLLER_TYPE_PS4 = 4"><wbr />CONTROLLER_<wbr />TYPE_<wbr />PS4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_TYPE_NINTENDO_SWITCH_PRO"
title="CONTROLLER_TYPE_NINTENDO_SWITCH_PRO = 5"><wbr />CONTROLLER_<wbr />TYPE_<wbr />NINTENDO_<wbr />SWITCH_<wbr />PRO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_INVALID"
title="CONTROLLER_AXIS_INVALID = -1&apos;i32"><wbr />CONTROLLER_<wbr />AXIS_<wbr />INVALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_LEFTX"
title="CONTROLLER_AXIS_LEFTX = 0"><wbr />CONTROLLER_<wbr />AXIS_<wbr />LEFTX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_LEFTY"
title="CONTROLLER_AXIS_LEFTY = 1"><wbr />CONTROLLER_<wbr />AXIS_<wbr />LEFTY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_RIGHTX"
title="CONTROLLER_AXIS_RIGHTX = 2"><wbr />CONTROLLER_<wbr />AXIS_<wbr />RIGHTX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_RIGHTY"
title="CONTROLLER_AXIS_RIGHTY = 3"><wbr />CONTROLLER_<wbr />AXIS_<wbr />RIGHTY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_TRIGGERLEFT"
title="CONTROLLER_AXIS_TRIGGERLEFT = 4"><wbr />CONTROLLER_<wbr />AXIS_<wbr />TRIGGERLEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_TRIGGERRIGHT"
title="CONTROLLER_AXIS_TRIGGERRIGHT = 5"><wbr />CONTROLLER_<wbr />AXIS_<wbr />TRIGGERRIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_AXIS_MAX"
title="CONTROLLER_AXIS_MAX = 6"><wbr />CONTROLLER_<wbr />AXIS_<wbr />MAX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_INVALID"
title="CONTROLLER_BUTTON_INVALID = -1&apos;i32"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />INVALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_A"
title="CONTROLLER_BUTTON_A = 0"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />A<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_B"
title="CONTROLLER_BUTTON_B = 1"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />B<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_X"
title="CONTROLLER_BUTTON_X = 2"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />X<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_Y"
title="CONTROLLER_BUTTON_Y = 3"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />Y<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_BACK"
title="CONTROLLER_BUTTON_BACK = 4"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />BACK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_GUIDE"
title="CONTROLLER_BUTTON_GUIDE = 5"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />GUIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_START"
title="CONTROLLER_BUTTON_START = 6"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />START<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_LEFTSTICK"
title="CONTROLLER_BUTTON_LEFTSTICK = 7"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />LEFTSTICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_RIGHTSTICK"
title="CONTROLLER_BUTTON_RIGHTSTICK = 8"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />RIGHTSTICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_LEFTSHOULDER"
title="CONTROLLER_BUTTON_LEFTSHOULDER = 9"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />LEFTSHOULDER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_RIGHTSHOULDER"
title="CONTROLLER_BUTTON_RIGHTSHOULDER = 10"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />RIGHTSHOULDER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_DPAD_UP"
title="CONTROLLER_BUTTON_DPAD_UP = 11"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />DPAD_<wbr />UP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_DPAD_DOWN"
title="CONTROLLER_BUTTON_DPAD_DOWN = 12"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />DPAD_<wbr />DOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_DPAD_LEFT"
title="CONTROLLER_BUTTON_DPAD_LEFT = 13"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />DPAD_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_DPAD_RIGHT"
title="CONTROLLER_BUTTON_DPAD_RIGHT = 14"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />DPAD_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#CONTROLLER_BUTTON_MAX"
title="CONTROLLER_BUTTON_MAX = 15"><wbr />CONTROLLER_<wbr />BUTTON_<wbr />MAX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TOUCH_DEVICE_INVALID"
title="TOUCH_DEVICE_INVALID = -1&apos;i32"><wbr />TOUCH_<wbr />DEVICE_<wbr />INVALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TOUCH_DEVICE_DIRECT"
title="TOUCH_DEVICE_DIRECT = 0"><wbr />TOUCH_<wbr />DEVICE_<wbr />DIRECT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TOUCH_DEVICE_INDIRECT_ABSOLUTE"
title="TOUCH_DEVICE_INDIRECT_ABSOLUTE = 1"><wbr />TOUCH_<wbr />DEVICE_<wbr />INDIRECT_<wbr />ABSOLUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TOUCH_DEVICE_INDIRECT_RELATIVE"
title="TOUCH_DEVICE_INDIRECT_RELATIVE = 2"><wbr />TOUCH_<wbr />DEVICE_<wbr />INDIRECT_<wbr />RELATIVE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RELEASED"
title="RELEASED = 0"><wbr />RELEASED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PRESSED"
title="PRESSED = 1"><wbr />PRESSED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_FIRSTEVENT"
title="EVENT_FIRSTEVENT = 0&apos;i32"><wbr />EVENT_<wbr />FIRSTEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_QUIT"
title="EVENT_QUIT = 256&apos;i32"><wbr />EVENT_<wbr />QUIT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_TERMINATING"
title="EVENT_APP_TERMINATING = 257"><wbr />EVENT_<wbr />APP_<wbr />TERMINATING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_LOWMEMORY"
title="EVENT_APP_LOWMEMORY = 258"><wbr />EVENT_<wbr />APP_<wbr />LOWMEMORY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_WILLENTERBACKGROUND"
title="EVENT_APP_WILLENTERBACKGROUND = 259"><wbr />EVENT_<wbr />APP_<wbr />WILLENTERBACKGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_DIDENTERBACKGROUND"
title="EVENT_APP_DIDENTERBACKGROUND = 260"><wbr />EVENT_<wbr />APP_<wbr />DIDENTERBACKGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_WILLENTERFOREGROUND"
title="EVENT_APP_WILLENTERFOREGROUND = 261"><wbr />EVENT_<wbr />APP_<wbr />WILLENTERFOREGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_APP_DIDENTERFOREGROUND"
title="EVENT_APP_DIDENTERFOREGROUND = 262"><wbr />EVENT_<wbr />APP_<wbr />DIDENTERFOREGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DISPLAYEVENT"
title="EVENT_DISPLAYEVENT = 336&apos;i32"><wbr />EVENT_<wbr />DISPLAYEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_WINDOWEVENT"
title="EVENT_WINDOWEVENT = 512&apos;i32"><wbr />EVENT_<wbr />WINDOWEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_SYSWMEVENT"
title="EVENT_SYSWMEVENT = 513"><wbr />EVENT_<wbr />SYSWMEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_KEYDOWN"
title="EVENT_KEYDOWN = 768&apos;i32"><wbr />EVENT_<wbr />KEYDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_KEYUP"
title="EVENT_KEYUP = 769"><wbr />EVENT_<wbr />KEYUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_TEXTEDITING"
title="EVENT_TEXTEDITING = 770"><wbr />EVENT_<wbr />TEXTEDITING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_TEXTINPUT"
title="EVENT_TEXTINPUT = 771"><wbr />EVENT_<wbr />TEXTINPUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_KEYMAPCHANGED"
title="EVENT_KEYMAPCHANGED = 772"><wbr />EVENT_<wbr />KEYMAPCHANGED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_MOUSEMOTION"
title="EVENT_MOUSEMOTION = 1024&apos;i32"><wbr />EVENT_<wbr />MOUSEMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_MOUSEBUTTONDOWN"
title="EVENT_MOUSEBUTTONDOWN = 1025"><wbr />EVENT_<wbr />MOUSEBUTTONDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_MOUSEBUTTONUP"
title="EVENT_MOUSEBUTTONUP = 1026"><wbr />EVENT_<wbr />MOUSEBUTTONUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_MOUSEWHEEL"
title="EVENT_MOUSEWHEEL = 1027"><wbr />EVENT_<wbr />MOUSEWHEEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYAXISMOTION"
title="EVENT_JOYAXISMOTION = 1536&apos;i32"><wbr />EVENT_<wbr />JOYAXISMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYBALLMOTION"
title="EVENT_JOYBALLMOTION = 1537"><wbr />EVENT_<wbr />JOYBALLMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYHATMOTION"
title="EVENT_JOYHATMOTION = 1538"><wbr />EVENT_<wbr />JOYHATMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYBUTTONDOWN"
title="EVENT_JOYBUTTONDOWN = 1539"><wbr />EVENT_<wbr />JOYBUTTONDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYBUTTONUP"
title="EVENT_JOYBUTTONUP = 1540"><wbr />EVENT_<wbr />JOYBUTTONUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYDEVICEADDED"
title="EVENT_JOYDEVICEADDED = 1541"><wbr />EVENT_<wbr />JOYDEVICEADDED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_JOYDEVICEREMOVED"
title="EVENT_JOYDEVICEREMOVED = 1542"><wbr />EVENT_<wbr />JOYDEVICEREMOVED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERAXISMOTION"
title="EVENT_CONTROLLERAXISMOTION = 1616&apos;i32"><wbr />EVENT_<wbr />CONTROLLERAXISMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERBUTTONDOWN"
title="EVENT_CONTROLLERBUTTONDOWN = 1617"><wbr />EVENT_<wbr />CONTROLLERBUTTONDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERBUTTONUP"
title="EVENT_CONTROLLERBUTTONUP = 1618"><wbr />EVENT_<wbr />CONTROLLERBUTTONUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERDEVICEADDED"
title="EVENT_CONTROLLERDEVICEADDED = 1619"><wbr />EVENT_<wbr />CONTROLLERDEVICEADDED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERDEVICEREMOVED"
title="EVENT_CONTROLLERDEVICEREMOVED = 1620"><wbr />EVENT_<wbr />CONTROLLERDEVICEREMOVED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CONTROLLERDEVICEREMAPPED"
title="EVENT_CONTROLLERDEVICEREMAPPED = 1621"><wbr />EVENT_<wbr />CONTROLLERDEVICEREMAPPED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_FINGERDOWN"
title="EVENT_FINGERDOWN = 1792&apos;i32"><wbr />EVENT_<wbr />FINGERDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_FINGERUP"
title="EVENT_FINGERUP = 1793"><wbr />EVENT_<wbr />FINGERUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_FINGERMOTION"
title="EVENT_FINGERMOTION = 1794"><wbr />EVENT_<wbr />FINGERMOTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DOLLARGESTURE"
title="EVENT_DOLLARGESTURE = 2048&apos;i32"><wbr />EVENT_<wbr />DOLLARGESTURE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DOLLARRECORD"
title="EVENT_DOLLARRECORD = 2049"><wbr />EVENT_<wbr />DOLLARRECORD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_MULTIGESTURE"
title="EVENT_MULTIGESTURE = 2050"><wbr />EVENT_<wbr />MULTIGESTURE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_CLIPBOARDUPDATE"
title="EVENT_CLIPBOARDUPDATE = 2304&apos;i32"><wbr />EVENT_<wbr />CLIPBOARDUPDATE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DROPFILE"
title="EVENT_DROPFILE = 4096&apos;i32"><wbr />EVENT_<wbr />DROPFILE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DROPTEXT"
title="EVENT_DROPTEXT = 4097"><wbr />EVENT_<wbr />DROPTEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DROPBEGIN"
title="EVENT_DROPBEGIN = 4098"><wbr />EVENT_<wbr />DROPBEGIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_DROPCOMPLETE"
title="EVENT_DROPCOMPLETE = 4099"><wbr />EVENT_<wbr />DROPCOMPLETE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_AUDIODEVICEADDED"
title="EVENT_AUDIODEVICEADDED = 4352&apos;i32"><wbr />EVENT_<wbr />AUDIODEVICEADDED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_AUDIODEVICEREMOVED"
title="EVENT_AUDIODEVICEREMOVED = 4353"><wbr />EVENT_<wbr />AUDIODEVICEREMOVED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_SENSORUPDATE"
title="EVENT_SENSORUPDATE = 4608&apos;i32"><wbr />EVENT_<wbr />SENSORUPDATE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_RENDER_TARGETS_RESET"
title="EVENT_RENDER_TARGETS_RESET = 8192&apos;i32"><wbr />EVENT_<wbr />RENDER_<wbr />TARGETS_<wbr />RESET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_RENDER_DEVICE_RESET"
title="EVENT_RENDER_DEVICE_RESET = 8193"><wbr />EVENT_<wbr />RENDER_<wbr />DEVICE_<wbr />RESET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_USEREVENT"
title="EVENT_USEREVENT = 32768&apos;i32"><wbr />EVENT_<wbr />USEREVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#EVENT_LASTEVENT"
title="EVENT_LASTEVENT = 65535&apos;i32"><wbr />EVENT_<wbr />LASTEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTEDITINGEVENT_TEXT_SIZE"
title="TEXTEDITINGEVENT_TEXT_SIZE = 32"><wbr />TEXTEDITINGEVENT_<wbr />TEXT_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTINPUTEVENT_TEXT_SIZE"
title="TEXTINPUTEVENT_TEXT_SIZE = 32"><wbr />TEXTINPUTEVENT_<wbr />TEXT_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ADDEVENT"
title="ADDEVENT = 0&apos;i32"><wbr />ADDEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PEEKEVENT"
title="PEEKEVENT = 1"><wbr />PEEKEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#GETEVENT"
title="GETEVENT = 2"><wbr />GETEVENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#QUERY"
title="QUERY = -1"><wbr />QUERY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#IGNORE"
title="IGNORE = 0"><wbr />IGNORE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#DISABLE"
title="DISABLE = 0"><wbr />DISABLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ENABLE"
title="ENABLE = 1"><wbr />ENABLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_CONSTANT"
title="HAPTIC_TYPE_CONSTANT = 1&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />CONSTANT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_SINE"
title="HAPTIC_TYPE_SINE = 2&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />SINE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_LEFTRIGHT"
title="HAPTIC_TYPE_LEFTRIGHT = 4&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />LEFTRIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_TRIANGLE"
title="HAPTIC_TYPE_TRIANGLE = 8&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />TRIANGLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_SAWTOOTHUP"
title="HAPTIC_TYPE_SAWTOOTHUP = 16&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />SAWTOOTHUP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_SAWTOOTHDOWN"
title="HAPTIC_TYPE_SAWTOOTHDOWN = 32&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />SAWTOOTHDOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_RAMP"
title="HAPTIC_TYPE_RAMP = 64&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />RAMP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_SPRING"
title="HAPTIC_TYPE_SPRING = 128&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />SPRING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_DAMPER"
title="HAPTIC_TYPE_DAMPER = 256&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />DAMPER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_INERTIA"
title="HAPTIC_TYPE_INERTIA = 512&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />INERTIA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_FRICTION"
title="HAPTIC_TYPE_FRICTION = 1024&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />FRICTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_CUSTOM"
title="HAPTIC_TYPE_CUSTOM = 2048&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />CUSTOM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_GAIN"
title="HAPTIC_TYPE_GAIN = 4096&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />GAIN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_AUTOCENTER"
title="HAPTIC_TYPE_AUTOCENTER = 8192&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />AUTOCENTER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_STATUS"
title="HAPTIC_TYPE_STATUS = 16384&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />STATUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_PAUSE"
title="HAPTIC_TYPE_PAUSE = 32768&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />PAUSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_POLAR"
title="HAPTIC_TYPE_POLAR = 0"><wbr />HAPTIC_<wbr />TYPE_<wbr />POLAR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_CARTESIAN"
title="HAPTIC_TYPE_CARTESIAN = 1"><wbr />HAPTIC_<wbr />TYPE_<wbr />CARTESIAN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_SPHERICAL"
title="HAPTIC_TYPE_SPHERICAL = 2"><wbr />HAPTIC_<wbr />TYPE_<wbr />SPHERICAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HAPTIC_TYPE_INFINITY"
title="HAPTIC_TYPE_INFINITY = 4294967295&apos;u"><wbr />HAPTIC_<wbr />TYPE_<wbr />INFINITY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_FRAMEBUFFER_ACCELERATION"
title="HINT_FRAMEBUFFER_ACCELERATION = &quot;SDL_FRAMEBUFFER_ACCELERATION&quot;"><wbr />HINT_<wbr />FRAMEBUFFER_<wbr />ACCELERATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_DRIVER"
title="HINT_RENDER_DRIVER = &quot;SDL_RENDER_DRIVER&quot;"><wbr />HINT_<wbr />RENDER_<wbr />DRIVER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_OPENGL_SHADERS"
title="HINT_RENDER_OPENGL_SHADERS = &quot;SDL_RENDER_OPENGL_SHADERS&quot;"><wbr />HINT_<wbr />RENDER_<wbr />OPENGL_<wbr />SHADERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_DIRECT3D_THREADSAFE"
title="HINT_RENDER_DIRECT3D_THREADSAFE = &quot;SDL_RENDER_DIRECT3D_THREADSAFE&quot;"><wbr />HINT_<wbr />RENDER_<wbr />DIRECT3D_<wbr />THREADSAFE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_DIRECT3D11_DEBUG"
title="HINT_RENDER_DIRECT3D11_DEBUG = &quot;SDL_RENDER_DIRECT3D11_DEBUG&quot;"><wbr />HINT_<wbr />RENDER_<wbr />DIRECT3D11_<wbr />DEBUG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_LOGICAL_SIZE_MODE"
title="HINT_RENDER_LOGICAL_SIZE_MODE = &quot;SDL_RENDER_LOGICAL_SIZE_MODE&quot;"><wbr />HINT_<wbr />RENDER_<wbr />LOGICAL_<wbr />SIZE_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_SCALE_QUALITY"
title="HINT_RENDER_SCALE_QUALITY = &quot;SDL_RENDER_SCALE_QUALITY&quot;"><wbr />HINT_<wbr />RENDER_<wbr />SCALE_<wbr />QUALITY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_VSYNC"
title="HINT_RENDER_VSYNC = &quot;SDL_RENDER_VSYNC&quot;"><wbr />HINT_<wbr />RENDER_<wbr />VSYNC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_ALLOW_SCREENSAVER"
title="HINT_VIDEO_ALLOW_SCREENSAVER = &quot;SDL_VIDEO_ALLOW_SCREENSAVER&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />ALLOW_<wbr />SCREENSAVER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_EXTERNAL_CONTEXT"
title="HINT_VIDEO_EXTERNAL_CONTEXT = &quot;SDL_VIDEO_EXTERNAL_CONTEXT&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />EXTERNAL_<wbr />CONTEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_XVIDMODE"
title="HINT_VIDEO_X11_XVIDMODE = &quot;SDL_VIDEO_X11_XVIDMODE&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />XVIDMODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_XINERAMA"
title="HINT_VIDEO_X11_XINERAMA = &quot;SDL_VIDEO_X11_XINERAMA&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />XINERAMA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_XRANDR"
title="HINT_VIDEO_X11_XRANDR = &quot;SDL_VIDEO_X11_XRANDR&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />XRANDR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_WINDOW_VISUALID"
title="HINT_VIDEO_X11_WINDOW_VISUALID = &quot;SDL_VIDEO_X11_WINDOW_VISUALID&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />WINDOW_<wbr />VISUALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_NET_WM_PING"
title="HINT_VIDEO_X11_NET_WM_PING = &quot;SDL_VIDEO_X11_NET_WM_PING&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />NET_<wbr />WM_<wbr />PING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
title="HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR = &quot;SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />NET_<wbr />WM_<wbr />BYPASS_<wbr />COMPOSITOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_X11_FORCE_EGL"
title="HINT_VIDEO_X11_FORCE_EGL = &quot;SDL_VIDEO_X11_FORCE_EGL&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />X11_<wbr />FORCE_<wbr />EGL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
title="HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN = &quot;SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN&quot;"><wbr />HINT_<wbr />WINDOW_<wbr />FRAME_<wbr />USABLE_<wbr />WHILE_<wbr />CURSOR_<wbr />HIDDEN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOWS_INTRESOURCE_ICON"
title="HINT_WINDOWS_INTRESOURCE_ICON = &quot;SDL_WINDOWS_INTRESOURCE_ICON&quot;"><wbr />HINT_<wbr />WINDOWS_<wbr />INTRESOURCE_<wbr />ICON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOWS_INTRESOURCE_ICON_SMALL"
title="HINT_WINDOWS_INTRESOURCE_ICON_SMALL = &quot;SDL_WINDOWS_INTRESOURCE_ICON_SMALL&quot;"><wbr />HINT_<wbr />WINDOWS_<wbr />INTRESOURCE_<wbr />ICON_<wbr />SMALL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOWS_ENABLE_MESSAGELOOP"
title="HINT_WINDOWS_ENABLE_MESSAGELOOP = &quot;SDL_WINDOWS_ENABLE_MESSAGELOOP&quot;"><wbr />HINT_<wbr />WINDOWS_<wbr />ENABLE_<wbr />MESSAGELOOP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GRAB_KEYBOARD"
title="HINT_GRAB_KEYBOARD = &quot;SDL_GRAB_KEYBOARD&quot;"><wbr />HINT_<wbr />GRAB_<wbr />KEYBOARD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_DOUBLE_CLICK_TIME"
title="HINT_MOUSE_DOUBLE_CLICK_TIME = &quot;SDL_MOUSE_DOUBLE_CLICK_TIME&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />DOUBLE_<wbr />CLICK_<wbr />TIME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_DOUBLE_CLICK_RADIUS"
title="HINT_MOUSE_DOUBLE_CLICK_RADIUS = &quot;SDL_MOUSE_DOUBLE_CLICK_RADIUS&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />DOUBLE_<wbr />CLICK_<wbr />RADIUS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_NORMAL_SPEED_SCALE"
title="HINT_MOUSE_NORMAL_SPEED_SCALE = &quot;SDL_MOUSE_NORMAL_SPEED_SCALE&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />NORMAL_<wbr />SPEED_<wbr />SCALE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_RELATIVE_SPEED_SCALE"
title="HINT_MOUSE_RELATIVE_SPEED_SCALE = &quot;SDL_MOUSE_RELATIVE_SPEED_SCALE&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />RELATIVE_<wbr />SPEED_<wbr />SCALE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_RELATIVE_MODE_WARP"
title="HINT_MOUSE_RELATIVE_MODE_WARP = &quot;SDL_MOUSE_RELATIVE_MODE_WARP&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />RELATIVE_<wbr />MODE_<wbr />WARP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_FOCUS_CLICKTHROUGH"
title="HINT_MOUSE_FOCUS_CLICKTHROUGH = &quot;SDL_MOUSE_FOCUS_CLICKTHROUGH&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />FOCUS_<wbr />CLICKTHROUGH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_TOUCH_MOUSE_EVENTS"
title="HINT_TOUCH_MOUSE_EVENTS = &quot;SDL_TOUCH_MOUSE_EVENTS&quot;"><wbr />HINT_<wbr />TOUCH_<wbr />MOUSE_<wbr />EVENTS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MOUSE_TOUCH_EVENTS"
title="HINT_MOUSE_TOUCH_EVENTS = &quot;SDL_MOUSE_TOUCH_EVENTS&quot;"><wbr />HINT_<wbr />MOUSE_<wbr />TOUCH_<wbr />EVENTS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
title="HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = &quot;SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />MINIMIZE_<wbr />ON_<wbr />FOCUS_<wbr />LOSS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_IDLE_TIMER_DISABLED"
title="HINT_IDLE_TIMER_DISABLED = &quot;SDL_IOS_IDLE_TIMER_DISABLED&quot;"><wbr />HINT_<wbr />IDLE_<wbr />TIMER_<wbr />DISABLED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ORIENTATIONS"
title="HINT_ORIENTATIONS = &quot;SDL_IOS_ORIENTATIONS&quot;"><wbr />HINT_<wbr />ORIENTATIONS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_APPLE_TV_CONTROLLER_UI_EVENTS"
title="HINT_APPLE_TV_CONTROLLER_UI_EVENTS = &quot;SDL_APPLE_TV_CONTROLLER_UI_EVENTS&quot;"><wbr />HINT_<wbr />APPLE_<wbr />TV_<wbr />CONTROLLER_<wbr />UI_<wbr />EVENTS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_APPLE_TV_REMOTE_ALLOW_ROTATION"
title="HINT_APPLE_TV_REMOTE_ALLOW_ROTATION = &quot;SDL_APPLE_TV_REMOTE_ALLOW_ROTATION&quot;"><wbr />HINT_<wbr />APPLE_<wbr />TV_<wbr />REMOTE_<wbr />ALLOW_<wbr />ROTATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_IOS_HIDE_HOME_INDICATOR"
title="HINT_IOS_HIDE_HOME_INDICATOR = &quot;SDL_IOS_HIDE_HOME_INDICATOR&quot;"><wbr />HINT_<wbr />IOS_<wbr />HIDE_<wbr />HOME_<wbr />INDICATOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ACCELEROMETER_AS_JOYSTICK"
title="HINT_ACCELEROMETER_AS_JOYSTICK = &quot;SDL_ACCELEROMETER_AS_JOYSTICK&quot;"><wbr />HINT_<wbr />ACCELEROMETER_<wbr />AS_<wbr />JOYSTICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_TV_REMOTE_AS_JOYSTICK"
title="HINT_TV_REMOTE_AS_JOYSTICK = &quot;SDL_TV_REMOTE_AS_JOYSTICK&quot;"><wbr />HINT_<wbr />TV_<wbr />REMOTE_<wbr />AS_<wbr />JOYSTICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_XINPUT_ENABLED"
title="HINT_XINPUT_ENABLED = &quot;SDL_XINPUT_ENABLED&quot;"><wbr />HINT_<wbr />XINPUT_<wbr />ENABLED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING"
title="HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING = &quot;SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING&quot;"><wbr />HINT_<wbr />XINPUT_<wbr />USE_<wbr />OLD_<wbr />JOYSTICK_<wbr />MAPPING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLERTYPE"
title="HINT_GAMECONTROLLERTYPE = &quot;SDL_GAMECONTROLLERTYPE&quot;"><wbr />HINT_<wbr />GAMECONTROLLERTYPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLERCONFIG"
title="HINT_GAMECONTROLLERCONFIG = &quot;SDL_GAMECONTROLLERCONFIG&quot;"><wbr />HINT_<wbr />GAMECONTROLLERCONFIG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLERCONFIG_FILE"
title="HINT_GAMECONTROLLERCONFIG_FILE = &quot;SDL_GAMECONTROLLERCONFIG_FILE&quot;"><wbr />HINT_<wbr />GAMECONTROLLERCONFIG_<wbr />FILE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLER_IGNORE_DEVICES"
title="HINT_GAMECONTROLLER_IGNORE_DEVICES = &quot;SDL_GAMECONTROLLER_IGNORE_DEVICES&quot;"><wbr />HINT_<wbr />GAMECONTROLLER_<wbr />IGNORE_<wbr />DEVICES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
title="HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT = &quot;SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT&quot;"><wbr />HINT_<wbr />GAMECONTROLLER_<wbr />IGNORE_<wbr />DEVICES_<wbr />EXCEPT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_GAMECONTROLLER_USE_BUTTON_LABELS"
title="HINT_GAMECONTROLLER_USE_BUTTON_LABELS = &quot;SDL_GAMECONTROLLER_USE_BUTTON_LABELS&quot;"><wbr />HINT_<wbr />GAMECONTROLLER_<wbr />USE_<wbr />BUTTON_<wbr />LABELS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
title="HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = &quot;SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />ALLOW_<wbr />BACKGROUND_<wbr />EVENTS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI"
title="HINT_JOYSTICK_HIDAPI = &quot;SDL_JOYSTICK_HIDAPI&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_PS4"
title="HINT_JOYSTICK_HIDAPI_PS4 = &quot;SDL_JOYSTICK_HIDAPI_PS4&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />PS4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_PS4_RUMBLE"
title="HINT_JOYSTICK_HIDAPI_PS4_RUMBLE = &quot;SDL_JOYSTICK_HIDAPI_PS4_RUMBLE&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />PS4_<wbr />RUMBLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_STEAM"
title="HINT_JOYSTICK_HIDAPI_STEAM = &quot;SDL_JOYSTICK_HIDAPI_STEAM&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />STEAM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_SWITCH"
title="HINT_JOYSTICK_HIDAPI_SWITCH = &quot;SDL_JOYSTICK_HIDAPI_SWITCH&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />SWITCH<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_XBOX"
title="HINT_JOYSTICK_HIDAPI_XBOX = &quot;SDL_JOYSTICK_HIDAPI_XBOX&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />XBOX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_JOYSTICK_HIDAPI_GAMECUBE"
title="HINT_JOYSTICK_HIDAPI_GAMECUBE = &quot;SDL_JOYSTICK_HIDAPI_GAMECUBE&quot;"><wbr />HINT_<wbr />JOYSTICK_<wbr />HIDAPI_<wbr />GAMECUBE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ENABLE_STEAM_CONTROLLERS"
title="HINT_ENABLE_STEAM_CONTROLLERS = &quot;SDL_ENABLE_STEAM_CONTROLLERS&quot;"><wbr />HINT_<wbr />ENABLE_<wbr />STEAM_<wbr />CONTROLLERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ALLOW_TOPMOST"
title="HINT_ALLOW_TOPMOST = &quot;SDL_ALLOW_TOPMOST&quot;"><wbr />HINT_<wbr />ALLOW_<wbr />TOPMOST<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_TIMER_RESOLUTION"
title="HINT_TIMER_RESOLUTION = &quot;SDL_TIMER_RESOLUTION&quot;"><wbr />HINT_<wbr />TIMER_<wbr />RESOLUTION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_QTWAYLAND_CONTENT_ORIENTATION"
title="HINT_QTWAYLAND_CONTENT_ORIENTATION = &quot;SDL_QTWAYLAND_CONTENT_ORIENTATION&quot;"><wbr />HINT_<wbr />QTWAYLAND_<wbr />CONTENT_<wbr />ORIENTATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_QTWAYLAND_WINDOW_FLAGS"
title="HINT_QTWAYLAND_WINDOW_FLAGS = &quot;SDL_QTWAYLAND_WINDOW_FLAGS&quot;"><wbr />HINT_<wbr />QTWAYLAND_<wbr />WINDOW_<wbr />FLAGS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_THREAD_STACK_SIZE"
title="HINT_THREAD_STACK_SIZE = &quot;SDL_THREAD_STACK_SIZE&quot;"><wbr />HINT_<wbr />THREAD_<wbr />STACK_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_HIGHDPI_DISABLED"
title="HINT_VIDEO_HIGHDPI_DISABLED = &quot;SDL_VIDEO_HIGHDPI_DISABLED&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />HIGHDPI_<wbr />DISABLED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
title="HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = &quot;SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK&quot;"><wbr />HINT_<wbr />MAC_<wbr />CTRL_<wbr />CLICK_<wbr />EMULATE_<wbr />RIGHT_<wbr />CLICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_WIN_D3DCOMPILER"
title="HINT_VIDEO_WIN_D3DCOMPILER = &quot;SDL_VIDEO_WIN_D3DCOMPILER&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />WIN_<wbr />D3DCOMPILER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"
title="HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT = &quot;SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />WINDOW_<wbr />SHARE_<wbr />PIXEL_<wbr />FORMAT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINRT_PRIVACY_POLICY_URL"
title="HINT_WINRT_PRIVACY_POLICY_URL = &quot;SDL_WINRT_PRIVACY_POLICY_URL&quot;"><wbr />HINT_<wbr />WINRT_<wbr />PRIVACY_<wbr />POLICY_<wbr />URL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINRT_PRIVACY_POLICY_LABEL"
title="HINT_WINRT_PRIVACY_POLICY_LABEL = &quot;SDL_WINRT_PRIVACY_POLICY_LABEL&quot;"><wbr />HINT_<wbr />WINRT_<wbr />PRIVACY_<wbr />POLICY_<wbr />LABEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINRT_HANDLE_BACK_BUTTON"
title="HINT_WINRT_HANDLE_BACK_BUTTON = &quot;SDL_WINRT_HANDLE_BACK_BUTTON&quot;"><wbr />HINT_<wbr />WINRT_<wbr />HANDLE_<wbr />BACK_<wbr />BUTTON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_MAC_FULLSCREEN_SPACES"
title="HINT_VIDEO_MAC_FULLSCREEN_SPACES = &quot;SDL_VIDEO_MAC_FULLSCREEN_SPACES&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />MAC_<wbr />FULLSCREEN_<wbr />SPACES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_MAC_BACKGROUND_APP"
title="HINT_MAC_BACKGROUND_APP = &quot;SDL_MAC_BACKGROUND_APP&quot;"><wbr />HINT_<wbr />MAC_<wbr />BACKGROUND_<wbr />APP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"
title="HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION = &quot;SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION&quot;"><wbr />HINT_<wbr />ANDROID_<wbr />APK_<wbr />EXPANSION_<wbr />MAIN_<wbr />FILE_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"
title="HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION = &quot;SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION&quot;"><wbr />HINT_<wbr />ANDROID_<wbr />APK_<wbr />EXPANSION_<wbr />PATCH_<wbr />FILE_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_IME_INTERNAL_EDITING"
title="HINT_IME_INTERNAL_EDITING = &quot;SDL_IME_INTERNAL_EDITING&quot;"><wbr />HINT_<wbr />IME_<wbr />INTERNAL_<wbr />EDITING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ANDROID_TRAP_BACK_BUTTON"
title="HINT_ANDROID_TRAP_BACK_BUTTON = &quot;SDL_ANDROID_TRAP_BACK_BUTTON&quot;"><wbr />HINT_<wbr />ANDROID_<wbr />TRAP_<wbr />BACK_<wbr />BUTTON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_ANDROID_BLOCK_ON_PAUSE"
title="HINT_ANDROID_BLOCK_ON_PAUSE = &quot;SDL_ANDROID_BLOCK_ON_PAUSE&quot;"><wbr />HINT_<wbr />ANDROID_<wbr />BLOCK_<wbr />ON_<wbr />PAUSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RETURN_KEY_HIDES_IME"
title="HINT_RETURN_KEY_HIDES_IME = &quot;SDL_RETURN_KEY_HIDES_IME&quot;"><wbr />HINT_<wbr />RETURN_<wbr />KEY_<wbr />HIDES_<wbr />IME<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_EMSCRIPTEN_KEYBOARD_ELEMENT"
title="HINT_EMSCRIPTEN_KEYBOARD_ELEMENT = &quot;SDL_EMSCRIPTEN_KEYBOARD_ELEMENT&quot;"><wbr />HINT_<wbr />EMSCRIPTEN_<wbr />KEYBOARD_<wbr />ELEMENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_NO_SIGNAL_HANDLERS"
title="HINT_NO_SIGNAL_HANDLERS = &quot;SDL_NO_SIGNAL_HANDLERS&quot;"><wbr />HINT_<wbr />NO_<wbr />SIGNAL_<wbr />HANDLERS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOWS_NO_CLOSE_ON_ALT_F4"
title="HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 = &quot;SDL_WINDOWS_NO_CLOSE_ON_ALT_F4&quot;"><wbr />HINT_<wbr />WINDOWS_<wbr />NO_<wbr />CLOSE_<wbr />ON_<wbr />ALT_<wbr />F4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_BMP_SAVE_LEGACY_FORMAT"
title="HINT_BMP_SAVE_LEGACY_FORMAT = &quot;SDL_BMP_SAVE_LEGACY_FORMAT&quot;"><wbr />HINT_<wbr />BMP_<wbr />SAVE_<wbr />LEGACY_<wbr />FORMAT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WINDOWS_DISABLE_THREAD_NAMING"
title="HINT_WINDOWS_DISABLE_THREAD_NAMING = &quot;SDL_WINDOWS_DISABLE_THREAD_NAMING&quot;"><wbr />HINT_<wbr />WINDOWS_<wbr />DISABLE_<wbr />THREAD_<wbr />NAMING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RPI_VIDEO_LAYER"
title="HINT_RPI_VIDEO_LAYER = &quot;SDL_RPI_VIDEO_LAYER&quot;"><wbr />HINT_<wbr />RPI_<wbr />VIDEO_<wbr />LAYER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_VIDEO_DOUBLE_BUFFER"
title="HINT_VIDEO_DOUBLE_BUFFER = &quot;SDL_VIDEO_DOUBLE_BUFFER&quot;"><wbr />HINT_<wbr />VIDEO_<wbr />DOUBLE_<wbr />BUFFER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_OPENGL_ES_DRIVER"
title="HINT_OPENGL_ES_DRIVER = &quot;SDL_OPENGL_ES_DRIVER&quot;"><wbr />HINT_<wbr />OPENGL_<wbr />ES_<wbr />DRIVER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_AUDIO_RESAMPLING_MODE"
title="HINT_AUDIO_RESAMPLING_MODE = &quot;SDL_AUDIO_RESAMPLING_MODE&quot;"><wbr />HINT_<wbr />AUDIO_<wbr />RESAMPLING_<wbr />MODE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_AUDIO_CATEGORY"
title="HINT_AUDIO_CATEGORY = &quot;SDL_AUDIO_CATEGORY&quot;"><wbr />HINT_<wbr />AUDIO_<wbr />CATEGORY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_RENDER_BATCHING"
title="HINT_RENDER_BATCHING = &quot;SDL_RENDER_BATCHING&quot;"><wbr />HINT_<wbr />RENDER_<wbr />BATCHING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_EVENT_LOGGING"
title="HINT_EVENT_LOGGING = &quot;SDL_EVENT_LOGGING&quot;"><wbr />HINT_<wbr />EVENT_<wbr />LOGGING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WAVE_RIFF_CHUNK_SIZE"
title="HINT_WAVE_RIFF_CHUNK_SIZE = &quot;SDL_WAVE_RIFF_CHUNK_SIZE&quot;"><wbr />HINT_<wbr />WAVE_<wbr />RIFF_<wbr />CHUNK_<wbr />SIZE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WAVE_TRUNCATION"
title="HINT_WAVE_TRUNCATION = &quot;SDL_WAVE_TRUNCATION&quot;"><wbr />HINT_<wbr />WAVE_<wbr />TRUNCATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_WAVE_FACT_CHUNK"
title="HINT_WAVE_FACT_CHUNK = &quot;SDL_WAVE_FACT_CHUNK&quot;"><wbr />HINT_<wbr />WAVE_<wbr />FACT_<wbr />CHUNK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_DISPLAY_USABLE_BOUNDS"
title="HINT_DISPLAY_USABLE_BOUNDS = &quot;SDL_DISPLAY_USABLE_BOUNDS&quot;"><wbr />HINT_<wbr />DISPLAY_<wbr />USABLE_<wbr />BOUNDS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_DEFAULT"
title="HINT_DEFAULT = 0&apos;i32"><wbr />HINT_<wbr />DEFAULT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_NORMAL"
title="HINT_NORMAL = 1"><wbr />HINT_<wbr />NORMAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#HINT_OVERRIDE"
title="HINT_OVERRIDE = 2"><wbr />HINT_<wbr />OVERRIDE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAX_LOG_MESSAGE"
title="MAX_LOG_MESSAGE = 4096"><wbr />MAX_<wbr />LOG_<wbr />MESSAGE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_APPLICATION"
title="LOG_CATEGORY_APPLICATION = 0&apos;i32"><wbr />LOG_<wbr />CATEGORY_<wbr />APPLICATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_ERROR"
title="LOG_CATEGORY_ERROR = 1"><wbr />LOG_<wbr />CATEGORY_<wbr />ERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_ASSERT"
title="LOG_CATEGORY_ASSERT = 2"><wbr />LOG_<wbr />CATEGORY_<wbr />ASSERT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_SYSTEM"
title="LOG_CATEGORY_SYSTEM = 3"><wbr />LOG_<wbr />CATEGORY_<wbr />SYSTEM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_AUDIO"
title="LOG_CATEGORY_AUDIO = 4"><wbr />LOG_<wbr />CATEGORY_<wbr />AUDIO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_VIDEO"
title="LOG_CATEGORY_VIDEO = 5"><wbr />LOG_<wbr />CATEGORY_<wbr />VIDEO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RENDER"
title="LOG_CATEGORY_RENDER = 6"><wbr />LOG_<wbr />CATEGORY_<wbr />RENDER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_INPUT"
title="LOG_CATEGORY_INPUT = 7"><wbr />LOG_<wbr />CATEGORY_<wbr />INPUT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_TEST"
title="LOG_CATEGORY_TEST = 8"><wbr />LOG_<wbr />CATEGORY_<wbr />TEST<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED1"
title="LOG_CATEGORY_RESERVED1 = 9"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED1<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED2"
title="LOG_CATEGORY_RESERVED2 = 10"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED3"
title="LOG_CATEGORY_RESERVED3 = 11"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED4"
title="LOG_CATEGORY_RESERVED4 = 12"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED4<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED5"
title="LOG_CATEGORY_RESERVED5 = 13"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED5<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED6"
title="LOG_CATEGORY_RESERVED6 = 14"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED6<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED7"
title="LOG_CATEGORY_RESERVED7 = 15"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED7<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED8"
title="LOG_CATEGORY_RESERVED8 = 16"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED8<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED9"
title="LOG_CATEGORY_RESERVED9 = 17"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED9<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_RESERVED10"
title="LOG_CATEGORY_RESERVED10 = 18"><wbr />LOG_<wbr />CATEGORY_<wbr />RESERVED10<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_CATEGORY_CUSTOM"
title="LOG_CATEGORY_CUSTOM = 19"><wbr />LOG_<wbr />CATEGORY_<wbr />CUSTOM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_VERBOSE"
title="LOG_PRIORITY_VERBOSE = 1&apos;i32"><wbr />LOG_<wbr />PRIORITY_<wbr />VERBOSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_DEBUG"
title="LOG_PRIORITY_DEBUG = 2"><wbr />LOG_<wbr />PRIORITY_<wbr />DEBUG<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_INFO"
title="LOG_PRIORITY_INFO = 3"><wbr />LOG_<wbr />PRIORITY_<wbr />INFO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_WARN"
title="LOG_PRIORITY_WARN = 4"><wbr />LOG_<wbr />PRIORITY_<wbr />WARN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_ERROR"
title="LOG_PRIORITY_ERROR = 5"><wbr />LOG_<wbr />PRIORITY_<wbr />ERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#LOG_PRIORITY_CRITICAL"
title="LOG_PRIORITY_CRITICAL = 6"><wbr />LOG_<wbr />PRIORITY_<wbr />CRITICAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#NUM_LOG_PRIORITIES"
title="NUM_LOG_PRIORITIES = 7"><wbr />NUM_<wbr />LOG_<wbr />PRIORITIES<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_ERROR"
title="MESSAGEBOX_ERROR = 16&apos;i32"><wbr />MESSAGEBOX_<wbr />ERROR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_WARNING"
title="MESSAGEBOX_WARNING = 32&apos;i32"><wbr />MESSAGEBOX_<wbr />WARNING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_INFORMATION"
title="MESSAGEBOX_INFORMATION = 64&apos;i32"><wbr />MESSAGEBOX_<wbr />INFORMATION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT"
title="MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT = 128&apos;i32"><wbr />MESSAGEBOX_<wbr />BUTTONS_<wbr />LEFT_<wbr />TO_<wbr />RIGHT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT"
title="MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT = 256&apos;i32"><wbr />MESSAGEBOX_<wbr />BUTTONS_<wbr />RIGHT_<wbr />TO_<wbr />LEFT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT"
title="MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = 1&apos;i32"><wbr />MESSAGEBOX_<wbr />BUTTON_<wbr />RETURNKEY_<wbr />DEFAULT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT"
title="MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = 2&apos;i32"><wbr />MESSAGEBOX_<wbr />BUTTON_<wbr />ESCAPEKEY_<wbr />DEFAULT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_BACKGROUND"
title="MESSAGEBOX_COLOR_BACKGROUND = 0&apos;i32"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />BACKGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_TEXT"
title="MESSAGEBOX_COLOR_TEXT = 1"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />TEXT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_BUTTON_BORDER"
title="MESSAGEBOX_COLOR_BUTTON_BORDER = 2"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />BUTTON_<wbr />BORDER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_BUTTON_BACKGROUND"
title="MESSAGEBOX_COLOR_BUTTON_BACKGROUND = 3"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />BUTTON_<wbr />BACKGROUND<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_BUTTON_SELECTED"
title="MESSAGEBOX_COLOR_BUTTON_SELECTED = 4"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />BUTTON_<wbr />SELECTED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MESSAGEBOX_COLOR_MAX"
title="MESSAGEBOX_COLOR_MAX = 5"><wbr />MESSAGEBOX_<wbr />COLOR_<wbr />MAX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWERSTATE_UNKNOWN"
title="POWERSTATE_UNKNOWN = 0&apos;i32"><wbr />POWERSTATE_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWERSTATE_ON_BATTERY"
title="POWERSTATE_ON_BATTERY = 1"><wbr />POWERSTATE_<wbr />ON_<wbr />BATTERY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWERSTATE_NO_BATTERY"
title="POWERSTATE_NO_BATTERY = 2"><wbr />POWERSTATE_<wbr />NO_<wbr />BATTERY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWERSTATE_CHARGING"
title="POWERSTATE_CHARGING = 3"><wbr />POWERSTATE_<wbr />CHARGING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#POWERSTATE_CHARGED"
title="POWERSTATE_CHARGED = 4"><wbr />POWERSTATE_<wbr />CHARGED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RENDERER_SOFTWARE"
title="RENDERER_SOFTWARE = 1&apos;i32"><wbr />RENDERER_<wbr />SOFTWARE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RENDERER_ACCELERATED"
title="RENDERER_ACCELERATED = 2&apos;i32"><wbr />RENDERER_<wbr />ACCELERATED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RENDERER_PRESENTVSYNC"
title="RENDERER_PRESENTVSYNC = 4&apos;i32"><wbr />RENDERER_<wbr />PRESENTVSYNC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#RENDERER_TARGETTEXTURE"
title="RENDERER_TARGETTEXTURE = 8&apos;i32"><wbr />RENDERER_<wbr />TARGETTEXTURE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ScaleModeNearest"
title="ScaleModeNearest = 0&apos;i32"><wbr />Scale<wbr />Mode<wbr />Nearest<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ScaleModeLinear"
title="ScaleModeLinear = 1"><wbr />Scale<wbr />Mode<wbr />Linear<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ScaleModeBest"
title="ScaleModeBest = 2"><wbr />Scale<wbr />Mode<wbr />Best<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREACCESS_STATIC"
title="TEXTUREACCESS_STATIC = 0&apos;i32"><wbr />TEXTUREACCESS_<wbr />STATIC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREACCESS_STREAMING"
title="TEXTUREACCESS_STREAMING = 1"><wbr />TEXTUREACCESS_<wbr />STREAMING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREACCESS_TARGET"
title="TEXTUREACCESS_TARGET = 2"><wbr />TEXTUREACCESS_<wbr />TARGET<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREMODULATE_NONE"
title="TEXTUREMODULATE_NONE = 0&apos;i32"><wbr />TEXTUREMODULATE_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREMODULATE_COLOR"
title="TEXTUREMODULATE_COLOR = 1&apos;i32"><wbr />TEXTUREMODULATE_<wbr />COLOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#TEXTUREMODULATE_ALPHA"
title="TEXTUREMODULATE_ALPHA = 2&apos;i32"><wbr />TEXTUREMODULATE_<wbr />ALPHA<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FLIP_NONE"
title="FLIP_NONE = 0&apos;i32"><wbr />FLIP_<wbr />NONE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FLIP_HORIZONTAL"
title="FLIP_HORIZONTAL = 1&apos;i32"><wbr />FLIP_<wbr />HORIZONTAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#FLIP_VERTICAL"
title="FLIP_VERTICAL = 2&apos;i32"><wbr />FLIP_<wbr />VERTICAL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SENSOR_INVALID"
title="SENSOR_INVALID = -1&apos;i32"><wbr />SENSOR_<wbr />INVALID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SENSOR_UNKNOWN"
title="SENSOR_UNKNOWN = 0"><wbr />SENSOR_<wbr />UNKNOWN<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SENSOR_ACCEL"
title="SENSOR_ACCEL = 1"><wbr />SENSOR_<wbr />ACCEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SENSOR_GYRO"
title="SENSOR_GYRO = 2"><wbr />SENSOR_<wbr />GYRO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#STANDARD_GRAVITY"
title="STANDARD_GRAVITY = 9.806649999999999&apos;f64"><wbr />STANDARD_<wbr />GRAVITY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#NONSHAPEABLE_WINDOW"
title="NONSHAPEABLE_WINDOW = -1"><wbr />NONSHAPEABLE_<wbr />WINDOW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INVALID_SHAPE_ARGUMENT"
title="INVALID_SHAPE_ARGUMENT = -2"><wbr />INVALID_<wbr />SHAPE_<wbr />ARGUMENT<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOW_LACKS_SHAPE"
title="WINDOW_LACKS_SHAPE = -3"><wbr />WINDOW_<wbr />LACKS_<wbr />SHAPE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ShapeModeDefault"
title="ShapeModeDefault = 0&apos;i32"><wbr />Shape<wbr />Mode<wbr />Default<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ShapeModeBinarizeAlpha"
title="ShapeModeBinarizeAlpha = 1"><wbr />Shape<wbr />Mode<wbr />Binarize<wbr />Alpha<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ShapeModeReverseBinarizeAlpha"
title="ShapeModeReverseBinarizeAlpha = 2"><wbr />Shape<wbr />Mode<wbr />Reverse<wbr />Binarize<wbr />Alpha<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ShapeModeColorKey"
title="ShapeModeColorKey = 3"><wbr />Shape<wbr />Mode<wbr />Color<wbr />Key<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MAJOR_VERSION"
title="MAJOR_VERSION = 2"><wbr />MAJOR_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#MINOR_VERSION"
title="MINOR_VERSION = 0"><wbr />MINOR_<wbr />VERSION<span class="attachedType"></span></a></li>
<li><a class="reference" href="#PATCHLEVEL"
title="PATCHLEVEL = 12"><wbr />PATCHLEVEL<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_TIMER"
title="INIT_TIMER = 0x00000001&apos;u"><wbr />INIT_<wbr />TIMER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_AUDIO"
title="INIT_AUDIO = 0x00000010&apos;u"><wbr />INIT_<wbr />AUDIO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_VIDEO"
title="INIT_VIDEO = 0x00000020&apos;u"><wbr />INIT_<wbr />VIDEO<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_JOYSTICK"
title="INIT_JOYSTICK = 0x00000200&apos;u"><wbr />INIT_<wbr />JOYSTICK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_HAPTIC"
title="INIT_HAPTIC = 0x00001000&apos;u"><wbr />INIT_<wbr />HAPTIC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_GAMECONTROLLER"
title="INIT_GAMECONTROLLER = 0x00002000&apos;u"><wbr />INIT_<wbr />GAMECONTROLLER<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_EVENTS"
title="INIT_EVENTS = 0x00004000&apos;u"><wbr />INIT_<wbr />EVENTS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_SENSOR"
title="INIT_SENSOR = 0x00008000&apos;u"><wbr />INIT_<wbr />SENSOR<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_NOPARACHUTE"
title="INIT_NOPARACHUTE = 0x00100000&apos;u"><wbr />INIT_<wbr />NOPARACHUTE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#INIT_EVERYTHING"
title="INIT_EVERYTHING = 62001&apos;u"><wbr />INIT_<wbr />EVERYTHING<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLDyLibPath"
title="SDLDyLibPath = &quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2-2.0.dylib&quot;"><wbr />SDLDy<wbr />Lib<wbr />Path<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLMainLib"
title="SDLMainLib = &quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2main.a&quot;"><wbr />SDLMain<wbr />Lib<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SDLStaticLib"
title="SDLStaticLib = &quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2.a&quot;"><wbr />SDLStatic<wbr />Lib<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_UNDEFINED"
title="WINDOWPOS_UNDEFINED = 536805376&apos;u"><wbr />WINDOWPOS_<wbr />UNDEFINED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_CENTERED"
title="WINDOWPOS_CENTERED = 805240832&apos;u"><wbr />WINDOWPOS_<wbr />CENTERED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#SCANCODE_MASK"
title="SCANCODE_MASK = 1073741824"><wbr />SCANCODE_<wbr />MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_LMASK"
title="BUTTON_LMASK = 1"><wbr />BUTTON_<wbr />LMASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_MMASK"
title="BUTTON_MMASK = 2"><wbr />BUTTON_<wbr />MMASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_RMASK"
title="BUTTON_RMASK = 4"><wbr />BUTTON_<wbr />RMASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_X1MASK"
title="BUTTON_X1MASK = 8"><wbr />BUTTON_<wbr />X1MASK<span class="attachedType"></span></a></li>
<li><a class="reference" href="#BUTTON_X2MASK"
title="BUTTON_X2MASK = 16"><wbr />BUTTON_<wbr />X2MASK<span class="attachedType"></span></a></li>
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#12" id="62">Procs</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#getPlatform"
title="getPlatform(): cstring"><wbr />get<wbr />Platform<span class="attachedType"></span></a></li>
<li><a class="reference" href="#malloc%2Cuint"
title="malloc(size: uint): pointer"><wbr />malloc<span class="attachedType"></span></a></li>
<li><a class="reference" href="#calloc%2Cuint%2Cuint"
title="calloc(nmemb: uint; size: uint): pointer"><wbr />calloc<span class="attachedType"></span></a></li>
<li><a class="reference" href="#realloc%2Cpointer%2Cuint"
title="realloc(mem: pointer; size: uint): pointer"><wbr />realloc<span class="attachedType"></span></a></li>
<li><a class="reference" href="#free%2Cpointer"
title="free(mem: pointer)"><wbr />free<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getMemoryFunctions%2Cptr.malloc_func%2Cptr.calloc_func%2Cptr.realloc_func%2Cptr.free_func"
title="getMemoryFunctions(mallocFunc: ptr malloc_func; callocFunc: ptr calloc_func;
reallocFunc: ptr realloc_func; freeFunc: ptr free_func)"><wbr />get<wbr />Memory<wbr />Functions<span class="attachedType">malloc_func</span></a></li>
<li><a class="reference" href="#setMemoryFunctions%2Cmalloc_func%2Ccalloc_func%2Crealloc_func%2Cfree_func"
title="setMemoryFunctions(mallocFunc: malloc_func; callocFunc: calloc_func;
reallocFunc: realloc_func; freeFunc: free_func): cint"><wbr />set<wbr />Memory<wbr />Functions<span class="attachedType">malloc_func</span></a></li>
<li><a class="reference" href="#getNumAllocations"
title="getNumAllocations(): cint"><wbr />get<wbr />Num<wbr />Allocations<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getenv%2Ccstring"
title="getenv(name: cstring): cstring"><wbr />getenv<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setenv%2Ccstring%2Ccstring%2Ccint"
title="setenv(name: cstring; value: cstring; overwrite: cint): cint"><wbr />setenv<span class="attachedType"></span></a></li>
<li><a class="reference" href="#qsort%2Cpointer%2Cuint%2Cuint%2Cproc%28pointer%2Cpointer%29"
title="qsort(base: pointer; nmemb: uint; size: uint;
compare: proc (a1: pointer; a2: pointer): cint {.cdecl.})"><wbr />qsort<span class="attachedType"></span></a></li>
<li><a class="reference" href="#abs%2Ccint"
title="abs(x: cint): cint"><wbr />abs<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isdigit%2Ccint"
title="isdigit(x: cint): cint"><wbr />isdigit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isspace%2Ccint"
title="isspace(x: cint): cint"><wbr />isspace<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isupper%2Ccint"
title="isupper(x: cint): cint"><wbr />isupper<span class="attachedType"></span></a></li>
<li><a class="reference" href="#islower%2Ccint"
title="islower(x: cint): cint"><wbr />islower<span class="attachedType"></span></a></li>
<li><a class="reference" href="#toupper%2Ccint"
title="toupper(x: cint): cint"><wbr />toupper<span class="attachedType"></span></a></li>
<li><a class="reference" href="#tolower%2Ccint"
title="tolower(x: cint): cint"><wbr />tolower<span class="attachedType"></span></a></li>
<li><a class="reference" href="#memset%2Cpointer%2Ccint%2Cuint"
title="memset(dst: pointer; c: cint; len: uint): pointer"><wbr />memset<span class="attachedType"></span></a></li>
<li><a class="reference" href="#memcpy%2Cpointer%2Cpointer%2Cuint"
title="memcpy(dst: pointer; src: pointer; len: uint): pointer"><wbr />memcpy<span class="attachedType"></span></a></li>
<li><a class="reference" href="#memmove%2Cpointer%2Cpointer%2Cuint"
title="memmove(dst: pointer; src: pointer; len: uint): pointer"><wbr />memmove<span class="attachedType"></span></a></li>
<li><a class="reference" href="#memcmp%2Cpointer%2Cpointer%2Cuint"
title="memcmp(s1: pointer; s2: pointer; len: uint): cint"><wbr />memcmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcslen%2Cptr.wchar_t"
title="wcslen(wstr: ptr wchar_t): uint"><wbr />wcslen<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcslcpy%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"
title="wcslcpy(dst: ptr wchar_t; src: ptr wchar_t; maxlen: uint): uint"><wbr />wcslcpy<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcslcat%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"
title="wcslcat(dst: ptr wchar_t; src: ptr wchar_t; maxlen: uint): uint"><wbr />wcslcat<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcsdup%2Cptr.wchar_t"
title="wcsdup(wstr: ptr wchar_t): ptr wchar_t"><wbr />wcsdup<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcsstr%2Cptr.wchar_t%2Cptr.wchar_t"
title="wcsstr(haystack: ptr wchar_t; needle: ptr wchar_t): ptr wchar_t"><wbr />wcsstr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcscmp%2Cptr.wchar_t%2Cptr.wchar_t"
title="wcscmp(str1: ptr wchar_t; str2: ptr wchar_t): cint"><wbr />wcscmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#wcsncmp%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"
title="wcsncmp(str1: ptr wchar_t; str2: ptr wchar_t; maxlen: uint): cint"><wbr />wcsncmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strlen%2Ccstring"
title="strlen(str: cstring): uint"><wbr />strlen<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strlcpy%2Ccstring%2Ccstring%2Cuint"
title="strlcpy(dst: cstring; src: cstring; maxlen: uint): uint"><wbr />strlcpy<span class="attachedType"></span></a></li>
<li><a class="reference" href="#utf8strlcpy%2Ccstring%2Ccstring%2Cuint"
title="utf8strlcpy(dst: cstring; src: cstring; dstBytes: uint): uint"><wbr />utf8strlcpy<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strlcat%2Ccstring%2Ccstring%2Cuint"
title="strlcat(dst: cstring; src: cstring; maxlen: uint): uint"><wbr />strlcat<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strdup%2Ccstring"
title="strdup(str: cstring): cstring"><wbr />strdup<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strrev%2Ccstring"
title="strrev(str: cstring): cstring"><wbr />strrev<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strupr%2Ccstring"
title="strupr(str: cstring): cstring"><wbr />strupr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strlwr%2Ccstring"
title="strlwr(str: cstring): cstring"><wbr />strlwr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strchr%2Ccstring%2Ccint"
title="strchr(str: cstring; c: cint): cstring"><wbr />strchr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strrchr%2Ccstring%2Ccint"
title="strrchr(str: cstring; c: cint): cstring"><wbr />strrchr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strstr%2Ccstring%2Ccstring"
title="strstr(haystack: cstring; needle: cstring): cstring"><wbr />strstr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strtokr%2Ccstring%2Ccstring%2Cptr.cstring"
title="strtokr(s1: cstring; s2: cstring; saveptr: ptr cstring): cstring"><wbr />strtokr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#utf8strlen%2Ccstring"
title="utf8strlen(str: cstring): uint"><wbr />utf8strlen<span class="attachedType"></span></a></li>
<li><a class="reference" href="#itoa%2Ccint%2Ccstring%2Ccint"
title="itoa(value: cint; str: cstring; radix: cint): cstring"><wbr />itoa<span class="attachedType"></span></a></li>
<li><a class="reference" href="#uitoa%2Ccuint%2Ccstring%2Ccint"
title="uitoa(value: cuint; str: cstring; radix: cint): cstring"><wbr />uitoa<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ltoa%2Cclong%2Ccstring%2Ccint"
title="ltoa(value: clong; str: cstring; radix: cint): cstring"><wbr />ltoa<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ultoa%2Cculong%2Ccstring%2Ccint"
title="ultoa(value: culong; str: cstring; radix: cint): cstring"><wbr />ultoa<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lltoa%2CSint64%2Ccstring%2Ccint"
title="lltoa(value: Sint64; str: cstring; radix: cint): cstring"><wbr />lltoa<span class="attachedType">Sint64</span></a></li>
<li><a class="reference" href="#ulltoa%2CUint64%2Ccstring%2Ccint"
title="ulltoa(value: Uint64; str: cstring; radix: cint): cstring"><wbr />ulltoa<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#atoi%2Ccstring"
title="atoi(str: cstring): cint"><wbr />atoi<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atof%2Ccstring"
title="atof(str: cstring): cdouble"><wbr />atof<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strtol%2Ccstring%2Cptr.cstring%2Ccint"
title="strtol(str: cstring; endp: ptr cstring; base: cint): clong"><wbr />strtol<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strtoul%2Ccstring%2Cptr.cstring%2Ccint"
title="strtoul(str: cstring; endp: ptr cstring; base: cint): culong"><wbr />strtoul<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strtoll%2Ccstring%2Cptr.cstring%2Ccint"
title="strtoll(str: cstring; endp: ptr cstring; base: cint): Sint64"><wbr />strtoll<span class="attachedType">Sint64</span></a></li>
<li><a class="reference" href="#strtoull%2Ccstring%2Cptr.cstring%2Ccint"
title="strtoull(str: cstring; endp: ptr cstring; base: cint): Uint64"><wbr />strtoull<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#strtod%2Ccstring%2Cptr.cstring"
title="strtod(str: cstring; endp: ptr cstring): cdouble"><wbr />strtod<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strcmp%2Ccstring%2Ccstring"
title="strcmp(str1: cstring; str2: cstring): cint"><wbr />strcmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strncmp%2Ccstring%2Ccstring%2Cuint"
title="strncmp(str1: cstring; str2: cstring; maxlen: uint): cint"><wbr />strncmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strcasecmp%2Ccstring%2Ccstring"
title="strcasecmp(str1: cstring; str2: cstring): cint"><wbr />strcasecmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#strncasecmp%2Ccstring%2Ccstring%2Cuint"
title="strncasecmp(str1: cstring; str2: cstring; len: uint): cint"><wbr />strncasecmp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sscanf%2Ccstring%2Ccstring"
title="sscanf(text: cstring; fmt: cstring): cint"><wbr />sscanf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#vsscanf%2Ccstring%2Ccstring%2Cva_list"
title="vsscanf(text: cstring; fmt: cstring; ap: va_list): cint"><wbr />vsscanf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#snprintf%2Ccstring%2Cuint%2Ccstring"
title="snprintf(text: cstring; maxlen: uint; fmt: cstring): cint"><wbr />snprintf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#vsnprintf%2Ccstring%2Cuint%2Ccstring%2Cva_list"
title="vsnprintf(text: cstring; maxlen: uint; fmt: cstring; ap: va_list): cint"><wbr />vsnprintf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#acos%2Ccdouble"
title="acos(x: cdouble): cdouble"><wbr />acos<span class="attachedType"></span></a></li>
<li><a class="reference" href="#acosf%2Ccfloat"
title="acosf(x: cfloat): cfloat"><wbr />acosf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#asin%2Ccdouble"
title="asin(x: cdouble): cdouble"><wbr />asin<span class="attachedType"></span></a></li>
<li><a class="reference" href="#asinf%2Ccfloat"
title="asinf(x: cfloat): cfloat"><wbr />asinf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atan%2Ccdouble"
title="atan(x: cdouble): cdouble"><wbr />atan<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atanf%2Ccfloat"
title="atanf(x: cfloat): cfloat"><wbr />atanf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atan2%2Ccdouble%2Ccdouble"
title="atan2(x: cdouble; y: cdouble): cdouble"><wbr />atan2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atan2f%2Ccfloat%2Ccfloat"
title="atan2f(x: cfloat; y: cfloat): cfloat"><wbr />atan2f<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ceil%2Ccdouble"
title="ceil(x: cdouble): cdouble"><wbr />ceil<span class="attachedType"></span></a></li>
<li><a class="reference" href="#ceilf%2Ccfloat"
title="ceilf(x: cfloat): cfloat"><wbr />ceilf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#copysign%2Ccdouble%2Ccdouble"
title="copysign(x: cdouble; y: cdouble): cdouble"><wbr />copysign<span class="attachedType"></span></a></li>
<li><a class="reference" href="#copysignf%2Ccfloat%2Ccfloat"
title="copysignf(x: cfloat; y: cfloat): cfloat"><wbr />copysignf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#cos%2Ccdouble"
title="cos(x: cdouble): cdouble"><wbr />cos<span class="attachedType"></span></a></li>
<li><a class="reference" href="#cosf%2Ccfloat"
title="cosf(x: cfloat): cfloat"><wbr />cosf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#exp%2Ccdouble"
title="exp(x: cdouble): cdouble"><wbr />exp<span class="attachedType"></span></a></li>
<li><a class="reference" href="#expf%2Ccfloat"
title="expf(x: cfloat): cfloat"><wbr />expf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#fabs%2Ccdouble"
title="fabs(x: cdouble): cdouble"><wbr />fabs<span class="attachedType"></span></a></li>
<li><a class="reference" href="#fabsf%2Ccfloat"
title="fabsf(x: cfloat): cfloat"><wbr />fabsf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#floor%2Ccdouble"
title="floor(x: cdouble): cdouble"><wbr />floor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#floorf%2Ccfloat"
title="floorf(x: cfloat): cfloat"><wbr />floorf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#fmod%2Ccdouble%2Ccdouble"
title="fmod(x: cdouble; y: cdouble): cdouble"><wbr />fmod<span class="attachedType"></span></a></li>
<li><a class="reference" href="#fmodf%2Ccfloat%2Ccfloat"
title="fmodf(x: cfloat; y: cfloat): cfloat"><wbr />fmodf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#log%2Ccdouble"
title="log(x: cdouble): cdouble"><wbr />log<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logf%2Ccfloat"
title="logf(x: cfloat): cfloat"><wbr />logf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#log10%2Ccdouble"
title="log10(x: cdouble): cdouble"><wbr />log10<span class="attachedType"></span></a></li>
<li><a class="reference" href="#log10f%2Ccfloat"
title="log10f(x: cfloat): cfloat"><wbr />log10f<span class="attachedType"></span></a></li>
<li><a class="reference" href="#pow%2Ccdouble%2Ccdouble"
title="pow(x: cdouble; y: cdouble): cdouble"><wbr />pow<span class="attachedType"></span></a></li>
<li><a class="reference" href="#powf%2Ccfloat%2Ccfloat"
title="powf(x: cfloat; y: cfloat): cfloat"><wbr />powf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#scalbn%2Ccdouble%2Ccint"
title="scalbn(x: cdouble; n: cint): cdouble"><wbr />scalbn<span class="attachedType"></span></a></li>
<li><a class="reference" href="#scalbnf%2Ccfloat%2Ccint"
title="scalbnf(x: cfloat; n: cint): cfloat"><wbr />scalbnf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sin%2Ccdouble"
title="sin(x: cdouble): cdouble"><wbr />sin<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sinf%2Ccfloat"
title="sinf(x: cfloat): cfloat"><wbr />sinf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sqrt%2Ccdouble"
title="sqrt(x: cdouble): cdouble"><wbr />sqrt<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sqrtf%2Ccfloat"
title="sqrtf(x: cfloat): cfloat"><wbr />sqrtf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#tan%2Ccdouble"
title="tan(x: cdouble): cdouble"><wbr />tan<span class="attachedType"></span></a></li>
<li><a class="reference" href="#tanf%2Ccfloat"
title="tanf(x: cfloat): cfloat"><wbr />tanf<span class="attachedType"></span></a></li>
<li><a class="reference" href="#iconv_open%2Ccstring%2Ccstring"
title="iconv_open(tocode: cstring; fromcode: cstring): iconv_t"><wbr />iconv_<wbr />open<span class="attachedType"></span></a></li>
<li><a class="reference" href="#iconv_close%2Ciconv_t"
title="iconv_close(cd: iconv_t): cint"><wbr />iconv_<wbr />close<span class="attachedType"></span></a></li>
<li><a class="reference" href="#iconv%2Ciconv_t%2Cptr.cstring%2Cptr.uint%2Cptr.cstring%2Cptr.uint"
title="iconv(cd: iconv_t; inbuf: ptr cstring; inbytesleft: ptr uint; outbuf: ptr cstring;
outbytesleft: ptr uint): uint"><wbr />iconv<span class="attachedType"></span></a></li>
<li><a class="reference" href="#iconv_string%2Ccstring%2Ccstring%2Ccstring%2Cuint"
title="iconv_string(tocode: cstring; fromcode: cstring; inbuf: cstring; inbytesleft: uint): cstring"><wbr />iconv_<wbr />string<span class="attachedType"></span></a></li>
<li><a class="reference" href="#main%2Ccint%2CUncheckedArray%5Bcstring%5D"
title="main(argc: cint; argv: UncheckedArray[cstring]): cint"><wbr />main<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setMainReady"
title="setMainReady()"><wbr />set<wbr />Main<wbr />Ready<span class="attachedType"></span></a></li>
<li><a class="reference" href="#reportAssertion%2Cptr.AssertData%2Ccstring%2Ccstring%2Ccint"
title="reportAssertion(a1: ptr AssertData; a2: cstring; a3: cstring; a4: cint): AssertState"><wbr />report<wbr />Assertion<span class="attachedType">AssertState</span></a></li>
<li><a class="reference" href="#setAssertionHandler%2CAssertionHandler%2Cpointer"
title="setAssertionHandler(handler: AssertionHandler; userdata: pointer)"><wbr />set<wbr />Assertion<wbr />Handler<span class="attachedType">AssertionHandler</span></a></li>
<li><a class="reference" href="#getDefaultAssertionHandler"
title="getDefaultAssertionHandler(): AssertionHandler"><wbr />get<wbr />Default<wbr />Assertion<wbr />Handler<span class="attachedType">AssertionHandler</span></a></li>
<li><a class="reference" href="#getAssertionHandler%2Cptr.pointer"
title="getAssertionHandler(puserdata: ptr pointer): AssertionHandler"><wbr />get<wbr />Assertion<wbr />Handler<span class="attachedType">AssertionHandler</span></a></li>
<li><a class="reference" href="#getAssertionReport"
title="getAssertionReport(): ptr AssertData"><wbr />get<wbr />Assertion<wbr />Report<span class="attachedType"></span></a></li>
<li><a class="reference" href="#resetAssertionReport"
title="resetAssertionReport()"><wbr />reset<wbr />Assertion<wbr />Report<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicTryLock%2Cptr.SpinLock"
title="atomicTryLock(lock: ptr SpinLock): bool"><wbr />atomic<wbr />Try<wbr />Lock<span class="attachedType">SpinLock</span></a></li>
<li><a class="reference" href="#atomicLock%2Cptr.SpinLock"
title="atomicLock(lock: ptr SpinLock)"><wbr />atomic<wbr />Lock<span class="attachedType">SpinLock</span></a></li>
<li><a class="reference" href="#atomicUnlock%2Cptr.SpinLock"
title="atomicUnlock(lock: ptr SpinLock)"><wbr />atomic<wbr />Unlock<span class="attachedType">SpinLock</span></a></li>
<li><a class="reference" href="#memoryBarrierReleaseFunction"
title="memoryBarrierReleaseFunction()"><wbr />memory<wbr />Barrier<wbr />Release<wbr />Function<span class="attachedType"></span></a></li>
<li><a class="reference" href="#memoryBarrierAcquireFunction"
title="memoryBarrierAcquireFunction()"><wbr />memory<wbr />Barrier<wbr />Acquire<wbr />Function<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicCAS%2Cptr.atomic_t%2Ccint%2Ccint"
title="atomicCAS(a: ptr atomic_t; oldval: cint; newval: cint): bool"><wbr />atomic<wbr />CAS<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicSet%2Cptr.atomic_t%2Ccint"
title="atomicSet(a: ptr atomic_t; v: cint): cint"><wbr />atomic<wbr />Set<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicGet%2Cptr.atomic_t"
title="atomicGet(a: ptr atomic_t): cint"><wbr />atomic<wbr />Get<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicAdd%2Cptr.atomic_t%2Ccint"
title="atomicAdd(a: ptr atomic_t; v: cint): cint"><wbr />atomic<wbr />Add<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicCASPtr%2Cptr.pointer%2Cpointer%2Cpointer"
title="atomicCASPtr(a: ptr pointer; oldval: pointer; newval: pointer): bool"><wbr />atomic<wbr />CASPtr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicSetPtr%2Cptr.pointer%2Cpointer"
title="atomicSetPtr(a: ptr pointer; v: pointer): pointer"><wbr />atomic<wbr />Set<wbr />Ptr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#atomicGetPtr%2Cptr.pointer"
title="atomicGetPtr(a: ptr pointer): pointer"><wbr />atomic<wbr />Get<wbr />Ptr<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setError%2Ccstring"
title="setError(fmt: cstring): cint"><wbr />set<wbr />Error<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getError"
title="getError(): cstring"><wbr />get<wbr />Error<span class="attachedType"></span></a></li>
<li><a class="reference" href="#clearError"
title="clearError()"><wbr />clear<wbr />Error<span class="attachedType"></span></a></li>
<li><a class="reference" href="#error%2Cerrorcode"
title="error(code: errorcode): cint"><wbr />error<span class="attachedType">errorcode</span></a></li>
<li><a class="reference" href="#createMutex"
title="createMutex(): ptr mutex"><wbr />create<wbr />Mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lockMutex%2Cptr.mutex"
title="lockMutex(mutex: ptr mutex): cint"><wbr />lock<wbr />Mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#tryLockMutex%2Cptr.mutex"
title="tryLockMutex(mutex: ptr mutex): cint"><wbr />try<wbr />Lock<wbr />Mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unlockMutex%2Cptr.mutex"
title="unlockMutex(mutex: ptr mutex): cint"><wbr />unlock<wbr />Mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#destroyMutex%2Cptr.mutex"
title="destroyMutex(mutex: ptr mutex)"><wbr />destroy<wbr />Mutex<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createSemaphore%2CUint32"
title="createSemaphore(initialValue: Uint32): ptr sem"><wbr />create<wbr />Semaphore<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#destroySemaphore%2Cptr.semaphore"
title="destroySemaphore(sem: ptr sem)"><wbr />destroy<wbr />Semaphore<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#semWait%2Cptr.semaphore"
title="semWait(sem: ptr sem): cint"><wbr />sem<wbr />Wait<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#semTryWait%2Cptr.semaphore"
title="semTryWait(sem: ptr sem): cint"><wbr />sem<wbr />Try<wbr />Wait<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#semWaitTimeout%2Cptr.semaphore%2CUint32"
title="semWaitTimeout(sem: ptr sem; ms: Uint32): cint"><wbr />sem<wbr />Wait<wbr />Timeout<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#semPost%2Cptr.semaphore"
title="semPost(sem: ptr sem): cint"><wbr />sem<wbr />Post<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#semValue%2Cptr.semaphore"
title="semValue(sem: ptr sem): Uint32"><wbr />sem<wbr />Value<span class="attachedType">sem</span></a></li>
<li><a class="reference" href="#createCond"
title="createCond(): ptr cond"><wbr />create<wbr />Cond<span class="attachedType"></span></a></li>
<li><a class="reference" href="#destroyCond%2Cptr.cond"
title="destroyCond(cond: ptr cond)"><wbr />destroy<wbr />Cond<span class="attachedType"></span></a></li>
<li><a class="reference" href="#condSignal%2Cptr.cond"
title="condSignal(cond: ptr cond): cint"><wbr />cond<wbr />Signal<span class="attachedType"></span></a></li>
<li><a class="reference" href="#condBroadcast%2Cptr.cond"
title="condBroadcast(cond: ptr cond): cint"><wbr />cond<wbr />Broadcast<span class="attachedType"></span></a></li>
<li><a class="reference" href="#condWait%2Cptr.cond%2Cptr.mutex"
title="condWait(cond: ptr cond; mutex: ptr mutex): cint"><wbr />cond<wbr />Wait<span class="attachedType"></span></a></li>
<li><a class="reference" href="#condWaitTimeout%2Cptr.cond%2Cptr.mutex%2CUint32"
title="condWaitTimeout(cond: ptr cond; mutex: ptr mutex; ms: Uint32): cint"><wbr />cond<wbr />Wait<wbr />Timeout<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createThread%2CThreadFunction%2Ccstring%2Cpointer"
title="createThread(fn: ThreadFunction; name: cstring; data: pointer): ptr Thread"><wbr />create<wbr />Thread<span class="attachedType">ThreadFunction</span></a></li>
<li><a class="reference" href="#createThreadWithStackSize%2CThreadFunction%2Ccstring%2Cuint%2Cpointer"
title="createThreadWithStackSize(fn: ThreadFunction; name: cstring; stacksize: uint;
data: pointer): ptr Thread"><wbr />create<wbr />Thread<wbr />With<wbr />Stack<wbr />Size<span class="attachedType">ThreadFunction</span></a></li>
<li><a class="reference" href="#getThreadName%2Cptr.Thread"
title="getThreadName(thread: ptr Thread): cstring"><wbr />get<wbr />Thread<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getThreadID%2Cptr.Thread"
title="getThreadID(thread: ptr Thread): threadID"><wbr />get<wbr />Thread<wbr />ID<span class="attachedType">threadID</span></a></li>
<li><a class="reference" href="#setThreadPriority%2CThreadPriority"
title="setThreadPriority(priority: ThreadPriority): cint"><wbr />set<wbr />Thread<wbr />Priority<span class="attachedType">ThreadPriority</span></a></li>
<li><a class="reference" href="#waitThread%2Cptr.Thread%2Cptr.cint"
title="waitThread(thread: ptr Thread; status: ptr cint)"><wbr />wait<wbr />Thread<span class="attachedType"></span></a></li>
<li><a class="reference" href="#detachThread%2Cptr.Thread"
title="detachThread(thread: ptr Thread)"><wbr />detach<wbr />Thread<span class="attachedType"></span></a></li>
<li><a class="reference" href="#tLSCreate"
title="tLSCreate(): TLSID"><wbr />t<wbr />LSCreate<span class="attachedType">TLSID</span></a></li>
<li><a class="reference" href="#tLSGet%2CTLSID"
title="tLSGet(id: TLSID): pointer"><wbr />t<wbr />LSGet<span class="attachedType">TLSID</span></a></li>
<li><a class="reference" href="#tLSSet%2CTLSID%2Cpointer%2Cproc%28pointer%29"
title="tLSSet(id: TLSID; value: pointer; destructor: proc (a1: pointer) {.cdecl.}): cint"><wbr />t<wbr />LSSet<span class="attachedType">TLSID</span></a></li>
<li><a class="reference" href="#rWFromFile%2Ccstring%2Ccstring"
title="rWFromFile(file: cstring; mode: cstring): ptr RWops"><wbr />r<wbr />WFrom<wbr />File<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWFromFP%2CFile%2Cbool"
title="rWFromFP(fp: File; autoclose: bool): ptr RWops"><wbr />r<wbr />WFrom<wbr />FP<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWFromMem%2Cpointer%2Ccint"
title="rWFromMem(mem: pointer; size: cint): ptr RWops"><wbr />r<wbr />WFrom<wbr />Mem<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWFromConstMem%2Cpointer%2Ccint"
title="rWFromConstMem(mem: pointer; size: cint): ptr RWops"><wbr />r<wbr />WFrom<wbr />Const<wbr />Mem<span class="attachedType"></span></a></li>
<li><a class="reference" href="#allocRW"
title="allocRW(): ptr RWops"><wbr />alloc<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#freeRW%2Cptr.RWops"
title="freeRW(area: ptr RWops)"><wbr />free<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWsize%2Cptr.RWops"
title="rWsize(context: ptr RWops): Sint64"><wbr />r<wbr />Wsize<span class="attachedType">Sint64</span></a></li>
<li><a class="reference" href="#rWseek%2Cptr.RWops%2CSint64%2Ccint"
title="rWseek(context: ptr RWops; offset: Sint64; whence: cint): Sint64"><wbr />r<wbr />Wseek<span class="attachedType">Sint64</span></a></li>
<li><a class="reference" href="#rWtell%2Cptr.RWops"
title="rWtell(context: ptr RWops): Sint64"><wbr />r<wbr />Wtell<span class="attachedType">Sint64</span></a></li>
<li><a class="reference" href="#rWread%2Cptr.RWops%2Cpointer%2Cuint%2Cuint"
title="rWread(context: ptr RWops; `ptr`: pointer; size: uint; maxnum: uint): uint"><wbr />r<wbr />Wread<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWwrite%2Cptr.RWops%2Cpointer%2Cuint%2Cuint"
title="rWwrite(context: ptr RWops; `ptr`: pointer; size: uint; num: uint): uint"><wbr />r<wbr />Wwrite<span class="attachedType"></span></a></li>
<li><a class="reference" href="#rWclose%2Cptr.RWops"
title="rWclose(context: ptr RWops): cint"><wbr />r<wbr />Wclose<span class="attachedType"></span></a></li>
<li><a class="reference" href="#loadFile_RW%2Cptr.RWops%2Cptr.uint%2Ccint"
title="loadFile_RW(src: ptr RWops; datasize: ptr uint; freesrc: cint): pointer"><wbr />load<wbr />File_<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#loadFile%2Ccstring%2Cptr.uint"
title="loadFile(file: cstring; datasize: ptr uint): pointer"><wbr />load<wbr />File<span class="attachedType"></span></a></li>
<li><a class="reference" href="#readU8%2Cptr.RWops"
title="readU8(src: ptr RWops): Uint8"><wbr />read<wbr />U8<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#readLE16%2Cptr.RWops"
title="readLE16(src: ptr RWops): Uint16"><wbr />read<wbr />LE16<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#readBE16%2Cptr.RWops"
title="readBE16(src: ptr RWops): Uint16"><wbr />read<wbr />BE16<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#readLE32%2Cptr.RWops"
title="readLE32(src: ptr RWops): Uint32"><wbr />read<wbr />LE32<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#readBE32%2Cptr.RWops"
title="readBE32(src: ptr RWops): Uint32"><wbr />read<wbr />BE32<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#readLE64%2Cptr.RWops"
title="readLE64(src: ptr RWops): Uint64"><wbr />read<wbr />LE64<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#readBE64%2Cptr.RWops"
title="readBE64(src: ptr RWops): Uint64"><wbr />read<wbr />BE64<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#writeU8%2Cptr.RWops%2CUint8"
title="writeU8(dst: ptr RWops; value: Uint8): uint"><wbr />write<wbr />U8<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#writeLE16%2Cptr.RWops%2CUint16"
title="writeLE16(dst: ptr RWops; value: Uint16): uint"><wbr />write<wbr />LE16<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#writeBE16%2Cptr.RWops%2CUint16"
title="writeBE16(dst: ptr RWops; value: Uint16): uint"><wbr />write<wbr />BE16<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#writeLE32%2Cptr.RWops%2CUint32"
title="writeLE32(dst: ptr RWops; value: Uint32): uint"><wbr />write<wbr />LE32<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#writeBE32%2Cptr.RWops%2CUint32"
title="writeBE32(dst: ptr RWops; value: Uint32): uint"><wbr />write<wbr />BE32<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#writeLE64%2Cptr.RWops%2CUint64"
title="writeLE64(dst: ptr RWops; value: Uint64): uint"><wbr />write<wbr />LE64<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#writeBE64%2Cptr.RWops%2CUint64"
title="writeBE64(dst: ptr RWops; value: Uint64): uint"><wbr />write<wbr />BE64<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#getNumAudioDrivers"
title="getNumAudioDrivers(): cint"><wbr />get<wbr />Num<wbr />Audio<wbr />Drivers<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getAudioDriver%2Ccint"
title="getAudioDriver(index: cint): cstring"><wbr />get<wbr />Audio<wbr />Driver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioInit%2Ccstring"
title="audioInit(driverName: cstring): cint"><wbr />audio<wbr />Init<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioQuit"
title="audioQuit()"><wbr />audio<wbr />Quit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCurrentAudioDriver"
title="getCurrentAudioDriver(): cstring"><wbr />get<wbr />Current<wbr />Audio<wbr />Driver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#openAudio%2Cptr.AudioSpec%2Cptr.AudioSpec"
title="openAudio(desired: ptr AudioSpec; obtained: ptr AudioSpec): cint"><wbr />open<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getNumAudioDevices%2Ccint"
title="getNumAudioDevices(iscapture: cint): cint"><wbr />get<wbr />Num<wbr />Audio<wbr />Devices<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getAudioDeviceName%2Ccint%2Ccint"
title="getAudioDeviceName(index: cint; iscapture: cint): cstring"><wbr />get<wbr />Audio<wbr />Device<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#openAudioDevice%2Ccstring%2Ccint%2Cptr.AudioSpec%2Cptr.AudioSpec%2Ccint"
title="openAudioDevice(device: cstring; iscapture: cint; desired: ptr AudioSpec;
obtained: ptr AudioSpec; allowedChanges: cint): AudioDeviceID"><wbr />open<wbr />Audio<wbr />Device<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#getAudioStatus"
title="getAudioStatus(): AudioStatus"><wbr />get<wbr />Audio<wbr />Status<span class="attachedType">AudioStatus</span></a></li>
<li><a class="reference" href="#getAudioDeviceStatus%2CAudioDeviceID"
title="getAudioDeviceStatus(dev: AudioDeviceID): AudioStatus"><wbr />get<wbr />Audio<wbr />Device<wbr />Status<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#pauseAudio%2Ccint"
title="pauseAudio(pauseOn: cint)"><wbr />pause<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#pauseAudioDevice%2CAudioDeviceID%2Ccint"
title="pauseAudioDevice(dev: AudioDeviceID; pauseOn: cint)"><wbr />pause<wbr />Audio<wbr />Device<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#loadWAV_RW%2Cptr.RWops%2Ccint%2Cptr.AudioSpec%2Cptr.ptr.Uint8%2Cptr.Uint32"
title="loadWAV_RW(src: ptr RWops; freesrc: cint; spec: ptr AudioSpec; audioBuf: ptr ptr Uint8;
audioLen: ptr Uint32): ptr AudioSpec"><wbr />load<wbr />WAV_<wbr />RW<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#freeWAV%2Cptr.Uint8"
title="freeWAV(audioBuf: ptr Uint8)"><wbr />free<wbr />WAV<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#buildAudioCVT%2Cptr.AudioCVT%2CAudioFormat%2CUint8%2Ccint%2CAudioFormat%2CUint8%2Ccint"
title="buildAudioCVT(cvt: ptr AudioCVT; srcFormat: AudioFormat; srcChannels: Uint8;
srcRate: cint; dstFormat: AudioFormat; dstChannels: Uint8; dstRate: cint): cint"><wbr />build<wbr />Audio<wbr />CVT<span class="attachedType">AudioFormat</span></a></li>
<li><a class="reference" href="#convertAudio%2Cptr.AudioCVT"
title="convertAudio(cvt: ptr AudioCVT): cint"><wbr />convert<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#newAudioStream%2CAudioFormat%2CUint8%2Ccint%2CAudioFormat%2CUint8%2Ccint"
title="newAudioStream(srcFormat: AudioFormat; srcChannels: Uint8; srcRate: cint;
dstFormat: AudioFormat; dstChannels: Uint8; dstRate: cint): ptr AudioStream"><wbr />new<wbr />Audio<wbr />Stream<span class="attachedType">AudioFormat</span></a></li>
<li><a class="reference" href="#audioStreamPut%2Cptr.AudioStream%2Cpointer%2Ccint"
title="audioStreamPut(stream: ptr AudioStream; buf: pointer; len: cint): cint"><wbr />audio<wbr />Stream<wbr />Put<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioStreamGet%2Cptr.AudioStream%2Cpointer%2Ccint"
title="audioStreamGet(stream: ptr AudioStream; buf: pointer; len: cint): cint"><wbr />audio<wbr />Stream<wbr />Get<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioStreamAvailable%2Cptr.AudioStream"
title="audioStreamAvailable(stream: ptr AudioStream): cint"><wbr />audio<wbr />Stream<wbr />Available<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioStreamFlush%2Cptr.AudioStream"
title="audioStreamFlush(stream: ptr AudioStream): cint"><wbr />audio<wbr />Stream<wbr />Flush<span class="attachedType"></span></a></li>
<li><a class="reference" href="#audioStreamClear%2Cptr.AudioStream"
title="audioStreamClear(stream: ptr AudioStream)"><wbr />audio<wbr />Stream<wbr />Clear<span class="attachedType"></span></a></li>
<li><a class="reference" href="#freeAudioStream%2Cptr.AudioStream"
title="freeAudioStream(stream: ptr AudioStream)"><wbr />free<wbr />Audio<wbr />Stream<span class="attachedType"></span></a></li>
<li><a class="reference" href="#mixAudio%2Cptr.Uint8%2Cptr.Uint8%2CUint32%2Ccint"
title="mixAudio(dst: ptr Uint8; src: ptr Uint8; len: Uint32; volume: cint)"><wbr />mix<wbr />Audio<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#mixAudioFormat%2Cptr.Uint8%2Cptr.Uint8%2CAudioFormat%2CUint32%2Ccint"
title="mixAudioFormat(dst: ptr Uint8; src: ptr Uint8; format: AudioFormat; len: Uint32;
volume: cint)"><wbr />mix<wbr />Audio<wbr />Format<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#queueAudio%2CAudioDeviceID%2Cpointer%2CUint32"
title="queueAudio(dev: AudioDeviceID; data: pointer; len: Uint32): cint"><wbr />queue<wbr />Audio<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#dequeueAudio%2CAudioDeviceID%2Cpointer%2CUint32"
title="dequeueAudio(dev: AudioDeviceID; data: pointer; len: Uint32): Uint32"><wbr />dequeue<wbr />Audio<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#getQueuedAudioSize%2CAudioDeviceID"
title="getQueuedAudioSize(dev: AudioDeviceID): Uint32"><wbr />get<wbr />Queued<wbr />Audio<wbr />Size<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#clearQueuedAudio%2CAudioDeviceID"
title="clearQueuedAudio(dev: AudioDeviceID)"><wbr />clear<wbr />Queued<wbr />Audio<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#lockAudio"
title="lockAudio()"><wbr />lock<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lockAudioDevice%2CAudioDeviceID"
title="lockAudioDevice(dev: AudioDeviceID)"><wbr />lock<wbr />Audio<wbr />Device<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#unlockAudio"
title="unlockAudio()"><wbr />unlock<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unlockAudioDevice%2CAudioDeviceID"
title="unlockAudioDevice(dev: AudioDeviceID)"><wbr />unlock<wbr />Audio<wbr />Device<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#closeAudio"
title="closeAudio()"><wbr />close<wbr />Audio<span class="attachedType"></span></a></li>
<li><a class="reference" href="#closeAudioDevice%2CAudioDeviceID"
title="closeAudioDevice(dev: AudioDeviceID)"><wbr />close<wbr />Audio<wbr />Device<span class="attachedType">AudioDeviceID</span></a></li>
<li><a class="reference" href="#setClipboardText%2Ccstring"
title="setClipboardText(text: cstring): cint"><wbr />set<wbr />Clipboard<wbr />Text<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getClipboardText"
title="getClipboardText(): cstring"><wbr />get<wbr />Clipboard<wbr />Text<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasClipboardText"
title="hasClipboardText(): bool"><wbr />has<wbr />Clipboard<wbr />Text<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCPUCount"
title="getCPUCount(): cint"><wbr />get<wbr />CPUCount<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCPUCacheLineSize"
title="getCPUCacheLineSize(): cint"><wbr />get<wbr />CPUCache<wbr />Line<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasRDTSC"
title="hasRDTSC(): bool"><wbr />has<wbr />RDTSC<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasAltiVec"
title="hasAltiVec(): bool"><wbr />has<wbr />Alti<wbr />Vec<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasMMX"
title="hasMMX(): bool"><wbr />has<wbr />MMX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#has3DNow"
title="has3DNow(): bool"><wbr />has3DNow<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasSSE"
title="hasSSE(): bool"><wbr />has<wbr />SSE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasSSE2"
title="hasSSE2(): bool"><wbr />has<wbr />SSE2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasSSE3"
title="hasSSE3(): bool"><wbr />has<wbr />SSE3<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasSSE41"
title="hasSSE41(): bool"><wbr />has<wbr />SSE41<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasSSE42"
title="hasSSE42(): bool"><wbr />has<wbr />SSE42<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasAVX"
title="hasAVX(): bool"><wbr />has<wbr />AVX<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasAVX2"
title="hasAVX2(): bool"><wbr />has<wbr />AVX2<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasAVX512F"
title="hasAVX512F(): bool"><wbr />has<wbr />AVX512F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasARMSIMD"
title="hasARMSIMD(): bool"><wbr />has<wbr />ARMSIMD<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasNEON"
title="hasNEON(): bool"><wbr />has<wbr />NEON<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getSystemRAM"
title="getSystemRAM(): cint"><wbr />get<wbr />System<wbr />RAM<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sIMDGetAlignment"
title="sIMDGetAlignment(): uint"><wbr />s<wbr />IMDGet<wbr />Alignment<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sIMDAlloc%2Cuint"
title="sIMDAlloc(len: uint): pointer"><wbr />s<wbr />IMDAlloc<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sIMDFree%2Cpointer"
title="sIMDFree(`ptr`: pointer)"><wbr />s<wbr />IMDFree<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getPixelFormatName%2CUint32"
title="getPixelFormatName(format: Uint32): cstring"><wbr />get<wbr />Pixel<wbr />Format<wbr />Name<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#pixelFormatEnumToMasks%2CUint32%2Cptr.cint%2Cptr.Uint32%2Cptr.Uint32%2Cptr.Uint32%2Cptr.Uint32"
title="pixelFormatEnumToMasks(format: Uint32; bpp: ptr cint; Rmask: ptr Uint32;
Gmask: ptr Uint32; Bmask: ptr Uint32; Amask: ptr Uint32): bool"><wbr />pixel<wbr />Format<wbr />Enum<wbr />To<wbr />Masks<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#masksToPixelFormatEnum%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"
title="masksToPixelFormatEnum(bpp: cint; Rmask: Uint32; Gmask: Uint32; Bmask: Uint32;
Amask: Uint32): Uint32"><wbr />masks<wbr />To<wbr />Pixel<wbr />Format<wbr />Enum<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#allocFormat%2CUint32"
title="allocFormat(pixelFormat: Uint32): ptr PixelFormat"><wbr />alloc<wbr />Format<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#freeFormat%2Cptr.PixelFormat"
title="freeFormat(format: ptr PixelFormat)"><wbr />free<wbr />Format<span class="attachedType"></span></a></li>
<li><a class="reference" href="#allocPalette%2Ccint"
title="allocPalette(ncolors: cint): ptr Palette"><wbr />alloc<wbr />Palette<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setPixelFormatPalette%2Cptr.PixelFormat%2Cptr.Palette"
title="setPixelFormatPalette(format: ptr PixelFormat; palette: ptr Palette): cint"><wbr />set<wbr />Pixel<wbr />Format<wbr />Palette<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setPaletteColors%2Cptr.Palette%2Cptr.Color%2Ccint%2Ccint"
title="setPaletteColors(palette: ptr Palette; colors: ptr Color; firstcolor: cint;
ncolors: cint): cint"><wbr />set<wbr />Palette<wbr />Colors<span class="attachedType"></span></a></li>
<li><a class="reference" href="#freePalette%2Cptr.Palette"
title="freePalette(palette: ptr Palette)"><wbr />free<wbr />Palette<span class="attachedType"></span></a></li>
<li><a class="reference" href="#mapRGB%2Cptr.PixelFormat%2CUint8%2CUint8%2CUint8"
title="mapRGB(format: ptr PixelFormat; r: Uint8; g: Uint8; b: Uint8): Uint32"><wbr />map<wbr />RGB<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#mapRGBA%2Cptr.PixelFormat%2CUint8%2CUint8%2CUint8%2CUint8"
title="mapRGBA(format: ptr PixelFormat; r: Uint8; g: Uint8; b: Uint8; a: Uint8): Uint32"><wbr />map<wbr />RGBA<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getRGB%2CUint32%2Cptr.PixelFormat%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"
title="getRGB(pixel: Uint32; format: ptr PixelFormat; r: ptr Uint8; g: ptr Uint8; b: ptr Uint8)"><wbr />get<wbr />RGB<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getRGBA%2CUint32%2Cptr.PixelFormat%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"
title="getRGBA(pixel: Uint32; format: ptr PixelFormat; r: ptr Uint8; g: ptr Uint8; b: ptr Uint8;
a: ptr Uint8)"><wbr />get<wbr />RGBA<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#calculateGammaRamp%2Ccfloat%2Cptr.Uint16"
title="calculateGammaRamp(gamma: cfloat; ramp: ptr Uint16)"><wbr />calculate<wbr />Gamma<wbr />Ramp<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#hasIntersection%2Cptr.Rect%2Cptr.Rect"
title="hasIntersection(A: ptr Rect; B: ptr Rect): bool"><wbr />has<wbr />Intersection<span class="attachedType"></span></a></li>
<li><a class="reference" href="#intersectRect%2Cptr.Rect%2Cptr.Rect%2Cptr.Rect"
title="intersectRect(A: ptr Rect; B: ptr Rect; result: ptr Rect): bool"><wbr />intersect<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unionRect%2Cptr.Rect%2Cptr.Rect%2Cptr.Rect"
title="unionRect(A: ptr Rect; B: ptr Rect; result: ptr Rect)"><wbr />union<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#enclosePoints%2Cptr.Point%2Ccint%2Cptr.Rect%2Cptr.Rect"
title="enclosePoints(points: ptr Point; count: cint; clip: ptr Rect; result: ptr Rect): bool"><wbr />enclose<wbr />Points<span class="attachedType"></span></a></li>
<li><a class="reference" href="#intersectRectAndLine%2Cptr.Rect%2Cptr.cint%2Cptr.cint%2Cptr.cint%2Cptr.cint"
title="intersectRectAndLine(rect: ptr Rect; X1: ptr cint; Y1: ptr cint; X2: ptr cint; Y2: ptr cint): bool"><wbr />intersect<wbr />Rect<wbr />And<wbr />Line<span class="attachedType"></span></a></li>
<li><a class="reference" href="#composeCustomBlendMode%2CBlendFactor%2CBlendFactor%2CBlendOperation%2CBlendFactor%2CBlendFactor%2CBlendOperation"
title="composeCustomBlendMode(srcColorFactor: BlendFactor; dstColorFactor: BlendFactor;
colorOperation: BlendOperation;
srcAlphaFactor: BlendFactor; dstAlphaFactor: BlendFactor;
alphaOperation: BlendOperation): BlendMode"><wbr />compose<wbr />Custom<wbr />Blend<wbr />Mode<span class="attachedType">BlendFactor</span></a></li>
<li><a class="reference" href="#createRGBSurface%2CUint32%2Ccint%2Ccint%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"
title="createRGBSurface(flags: Uint32; width: cint; height: cint; depth: cint; Rmask: Uint32;
Gmask: Uint32; Bmask: Uint32; Amask: Uint32): ptr Surface"><wbr />create<wbr />RGBSurface<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createRGBSurfaceWithFormat%2CUint32%2Ccint%2Ccint%2Ccint%2CUint32"
title="createRGBSurfaceWithFormat(flags: Uint32; width: cint; height: cint; depth: cint;
format: Uint32): ptr Surface"><wbr />create<wbr />RGBSurface<wbr />With<wbr />Format<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createRGBSurfaceFrom%2Cpointer%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"
title="createRGBSurfaceFrom(pixels: pointer; width: cint; height: cint; depth: cint;
pitch: cint; Rmask: Uint32; Gmask: Uint32; Bmask: Uint32;
Amask: Uint32): ptr Surface"><wbr />create<wbr />RGBSurface<wbr />From<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createRGBSurfaceWithFormatFrom%2Cpointer%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32"
title="createRGBSurfaceWithFormatFrom(pixels: pointer; width: cint; height: cint;
depth: cint; pitch: cint; format: Uint32): ptr Surface"><wbr />create<wbr />RGBSurface<wbr />With<wbr />Format<wbr />From<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#freeSurface%2Cptr.Surface"
title="freeSurface(surface: ptr Surface)"><wbr />free<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setSurfacePalette%2Cptr.Surface%2Cptr.Palette"
title="setSurfacePalette(surface: ptr Surface; palette: ptr Palette): cint"><wbr />set<wbr />Surface<wbr />Palette<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lockSurface%2Cptr.Surface"
title="lockSurface(surface: ptr Surface): cint"><wbr />lock<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unlockSurface%2Cptr.Surface"
title="unlockSurface(surface: ptr Surface)"><wbr />unlock<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#loadBMP_RW%2Cptr.RWops%2Ccint"
title="loadBMP_RW(src: ptr RWops; freesrc: cint): ptr Surface"><wbr />load<wbr />BMP_<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#saveBMP_RW%2Cptr.Surface%2Cptr.RWops%2Ccint"
title="saveBMP_RW(surface: ptr Surface; dst: ptr RWops; freedst: cint): cint"><wbr />save<wbr />BMP_<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setSurfaceRLE%2Cptr.Surface%2Ccint"
title="setSurfaceRLE(surface: ptr Surface; flag: cint): cint"><wbr />set<wbr />Surface<wbr />RLE<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setColorKey%2Cptr.Surface%2Ccint%2CUint32"
title="setColorKey(surface: ptr Surface; flag: cint; key: Uint32): cint"><wbr />set<wbr />Color<wbr />Key<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#hasColorKey%2Cptr.Surface"
title="hasColorKey(surface: ptr Surface): bool"><wbr />has<wbr />Color<wbr />Key<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getColorKey%2Cptr.Surface%2Cptr.Uint32"
title="getColorKey(surface: ptr Surface; key: ptr Uint32): cint"><wbr />get<wbr />Color<wbr />Key<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#setSurfaceColorMod%2Cptr.Surface%2CUint8%2CUint8%2CUint8"
title="setSurfaceColorMod(surface: ptr Surface; r: Uint8; g: Uint8; b: Uint8): cint"><wbr />set<wbr />Surface<wbr />Color<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getSurfaceColorMod%2Cptr.Surface%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"
title="getSurfaceColorMod(surface: ptr Surface; r: ptr Uint8; g: ptr Uint8; b: ptr Uint8): cint"><wbr />get<wbr />Surface<wbr />Color<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#setSurfaceAlphaMod%2Cptr.Surface%2CUint8"
title="setSurfaceAlphaMod(surface: ptr Surface; alpha: Uint8): cint"><wbr />set<wbr />Surface<wbr />Alpha<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getSurfaceAlphaMod%2Cptr.Surface%2Cptr.Uint8"
title="getSurfaceAlphaMod(surface: ptr Surface; alpha: ptr Uint8): cint"><wbr />get<wbr />Surface<wbr />Alpha<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#setSurfaceBlendMode%2Cptr.Surface%2CBlendMode"
title="setSurfaceBlendMode(surface: ptr Surface; blendMode: BlendMode): cint"><wbr />set<wbr />Surface<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#getSurfaceBlendMode%2Cptr.Surface%2Cptr.BlendMode"
title="getSurfaceBlendMode(surface: ptr Surface; blendMode: ptr BlendMode): cint"><wbr />get<wbr />Surface<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#setClipRect%2Cptr.Surface%2Cptr.Rect"
title="setClipRect(surface: ptr Surface; rect: ptr Rect): bool"><wbr />set<wbr />Clip<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getClipRect%2Cptr.Surface%2Cptr.Rect"
title="getClipRect(surface: ptr Surface; rect: ptr Rect)"><wbr />get<wbr />Clip<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#duplicateSurface%2Cptr.Surface"
title="duplicateSurface(surface: ptr Surface): ptr Surface"><wbr />duplicate<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#convertSurface%2Cptr.Surface%2Cptr.PixelFormat%2CUint32"
title="convertSurface(src: ptr Surface; fmt: ptr PixelFormat; flags: Uint32): ptr Surface"><wbr />convert<wbr />Surface<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#convertSurfaceFormat%2Cptr.Surface%2CUint32%2CUint32"
title="convertSurfaceFormat(src: ptr Surface; pixelFormat: Uint32; flags: Uint32): ptr Surface"><wbr />convert<wbr />Surface<wbr />Format<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#convertPixels%2Ccint%2Ccint%2CUint32%2Cpointer%2Ccint%2CUint32%2Cpointer%2Ccint"
title="convertPixels(width: cint; height: cint; srcFormat: Uint32; src: pointer;
srcPitch: cint; dstFormat: Uint32; dst: pointer; dstPitch: cint): cint"><wbr />convert<wbr />Pixels<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#fillRect%2Cptr.Surface%2Cptr.Rect%2CUint32"
title="fillRect(dst: ptr Surface; rect: ptr Rect; color: Uint32): cint"><wbr />fill<wbr />Rect<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#fillRects%2Cptr.Surface%2Cptr.Rect%2Ccint%2CUint32"
title="fillRects(dst: ptr Surface; rects: ptr Rect; count: cint; color: Uint32): cint"><wbr />fill<wbr />Rects<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#upperBlit%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"
title="upperBlit(src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint"><wbr />upper<wbr />Blit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lowerBlit%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"
title="lowerBlit(src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint"><wbr />lower<wbr />Blit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#softStretch%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"
title="softStretch(src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint"><wbr />soft<wbr />Stretch<span class="attachedType"></span></a></li>
<li><a class="reference" href="#upperBlitScaled%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"
title="upperBlitScaled(src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint"><wbr />upper<wbr />Blit<wbr />Scaled<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lowerBlitScaled%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"
title="lowerBlitScaled(src: ptr Surface; srcrect: ptr Rect; dst: ptr Surface; dstrect: ptr Rect): cint"><wbr />lower<wbr />Blit<wbr />Scaled<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setYUVConversionMode%2CYUV_CONVERSION_MODE"
title="setYUVConversionMode(mode: YUV_CONVERSION_MODE)"><wbr />set<wbr />YUVConversion<wbr />Mode<span class="attachedType">YUV_CONVERSION_MODE</span></a></li>
<li><a class="reference" href="#getYUVConversionMode"
title="getYUVConversionMode(): YUV_CONVERSION_MODE"><wbr />get<wbr />YUVConversion<wbr />Mode<span class="attachedType">YUV_CONVERSION_MODE</span></a></li>
<li><a class="reference" href="#getYUVConversionModeForResolution%2Ccint%2Ccint"
title="getYUVConversionModeForResolution(width: cint; height: cint): YUV_CONVERSION_MODE"><wbr />get<wbr />YUVConversion<wbr />Mode<wbr />For<wbr />Resolution<span class="attachedType">YUV_CONVERSION_MODE</span></a></li>
<li><a class="reference" href="#getNumVideoDrivers"
title="getNumVideoDrivers(): cint"><wbr />get<wbr />Num<wbr />Video<wbr />Drivers<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getVideoDriver%2Ccint"
title="getVideoDriver(index: cint): cstring"><wbr />get<wbr />Video<wbr />Driver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#videoInit%2Ccstring"
title="videoInit(driverName: cstring): cint"><wbr />video<wbr />Init<span class="attachedType"></span></a></li>
<li><a class="reference" href="#videoQuit"
title="videoQuit()"><wbr />video<wbr />Quit<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCurrentVideoDriver"
title="getCurrentVideoDriver(): cstring"><wbr />get<wbr />Current<wbr />Video<wbr />Driver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getNumVideoDisplays"
title="getNumVideoDisplays(): cint"><wbr />get<wbr />Num<wbr />Video<wbr />Displays<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayName%2Ccint"
title="getDisplayName(displayIndex: cint): cstring"><wbr />get<wbr />Display<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayBounds%2Ccint%2Cptr.Rect"
title="getDisplayBounds(displayIndex: cint; rect: ptr Rect): cint"><wbr />get<wbr />Display<wbr />Bounds<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayUsableBounds%2Ccint%2Cptr.Rect"
title="getDisplayUsableBounds(displayIndex: cint; rect: ptr Rect): cint"><wbr />get<wbr />Display<wbr />Usable<wbr />Bounds<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayDPI%2Ccint%2Cptr.cfloat%2Cptr.cfloat%2Cptr.cfloat"
title="getDisplayDPI(displayIndex: cint; ddpi: ptr cfloat; hdpi: ptr cfloat; vdpi: ptr cfloat): cint"><wbr />get<wbr />Display<wbr />DPI<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayOrientation%2Ccint"
title="getDisplayOrientation(displayIndex: cint): DisplayOrientation"><wbr />get<wbr />Display<wbr />Orientation<span class="attachedType">DisplayOrientation</span></a></li>
<li><a class="reference" href="#getNumDisplayModes%2Ccint"
title="getNumDisplayModes(displayIndex: cint): cint"><wbr />get<wbr />Num<wbr />Display<wbr />Modes<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDisplayMode%2Ccint%2Ccint%2Cptr.DisplayMode"
title="getDisplayMode(displayIndex: cint; modeIndex: cint; mode: ptr DisplayMode): cint"><wbr />get<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDesktopDisplayMode%2Ccint%2Cptr.DisplayMode"
title="getDesktopDisplayMode(displayIndex: cint; mode: ptr DisplayMode): cint"><wbr />get<wbr />Desktop<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCurrentDisplayMode%2Ccint%2Cptr.DisplayMode"
title="getCurrentDisplayMode(displayIndex: cint; mode: ptr DisplayMode): cint"><wbr />get<wbr />Current<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getClosestDisplayMode%2Ccint%2Cptr.DisplayMode%2Cptr.DisplayMode"
title="getClosestDisplayMode(displayIndex: cint; mode: ptr DisplayMode;
closest: ptr DisplayMode): ptr DisplayMode"><wbr />get<wbr />Closest<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowDisplayIndex%2Cptr.Window"
title="getWindowDisplayIndex(window: ptr Window): cint"><wbr />get<wbr />Window<wbr />Display<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowDisplayMode%2Cptr.Window%2Cptr.DisplayMode"
title="setWindowDisplayMode(window: ptr Window; mode: ptr DisplayMode): cint"><wbr />set<wbr />Window<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowDisplayMode%2Cptr.Window%2Cptr.DisplayMode"
title="getWindowDisplayMode(window: ptr Window; mode: ptr DisplayMode): cint"><wbr />get<wbr />Window<wbr />Display<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowPixelFormat%2Cptr.Window"
title="getWindowPixelFormat(window: ptr Window): Uint32"><wbr />get<wbr />Window<wbr />Pixel<wbr />Format<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createWindow%2Ccstring%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32"
title="createWindow(title: cstring; x: cint; y: cint; w: cint; h: cint; flags: Uint32): ptr Window"><wbr />create<wbr />Window<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createWindowFrom%2Cpointer"
title="createWindowFrom(data: pointer): ptr Window"><wbr />create<wbr />Window<wbr />From<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowID%2Cptr.Window"
title="getWindowID(window: ptr Window): Uint32"><wbr />get<wbr />Window<wbr />ID<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getWindowFromID%2CUint32"
title="getWindowFromID(id: Uint32): ptr Window"><wbr />get<wbr />Window<wbr />From<wbr />ID<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getWindowFlags%2Cptr.Window"
title="getWindowFlags(window: ptr Window): Uint32"><wbr />get<wbr />Window<wbr />Flags<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#setWindowTitle%2Cptr.Window%2Ccstring"
title="setWindowTitle(window: ptr Window; title: cstring)"><wbr />set<wbr />Window<wbr />Title<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowTitle%2Cptr.Window"
title="getWindowTitle(window: ptr Window): cstring"><wbr />get<wbr />Window<wbr />Title<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowIcon%2Cptr.Window%2Cptr.Surface"
title="setWindowIcon(window: ptr Window; icon: ptr Surface)"><wbr />set<wbr />Window<wbr />Icon<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowData%2Cptr.Window%2Ccstring%2Cpointer"
title="setWindowData(window: ptr Window; name: cstring; userdata: pointer): pointer"><wbr />set<wbr />Window<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowData%2Cptr.Window%2Ccstring"
title="getWindowData(window: ptr Window; name: cstring): pointer"><wbr />get<wbr />Window<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowPosition%2Cptr.Window%2Ccint%2Ccint"
title="setWindowPosition(window: ptr Window; x: cint; y: cint)"><wbr />set<wbr />Window<wbr />Position<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowPosition%2Cptr.Window%2Cptr.cint%2Cptr.cint"
title="getWindowPosition(window: ptr Window; x: ptr cint; y: ptr cint)"><wbr />get<wbr />Window<wbr />Position<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowSize%2Cptr.Window%2Ccint%2Ccint"
title="setWindowSize(window: ptr Window; w: cint; h: cint)"><wbr />set<wbr />Window<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"
title="getWindowSize(window: ptr Window; w: ptr cint; h: ptr cint)"><wbr />get<wbr />Window<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowBordersSize%2Cptr.Window%2Cptr.cint%2Cptr.cint%2Cptr.cint%2Cptr.cint"
title="getWindowBordersSize(window: ptr Window; top: ptr cint; left: ptr cint; bottom: ptr cint;
right: ptr cint): cint"><wbr />get<wbr />Window<wbr />Borders<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowMinimumSize%2Cptr.Window%2Ccint%2Ccint"
title="setWindowMinimumSize(window: ptr Window; minW: cint; minH: cint)"><wbr />set<wbr />Window<wbr />Minimum<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowMinimumSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"
title="getWindowMinimumSize(window: ptr Window; w: ptr cint; h: ptr cint)"><wbr />get<wbr />Window<wbr />Minimum<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowMaximumSize%2Cptr.Window%2Ccint%2Ccint"
title="setWindowMaximumSize(window: ptr Window; maxW: cint; maxH: cint)"><wbr />set<wbr />Window<wbr />Maximum<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowMaximumSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"
title="getWindowMaximumSize(window: ptr Window; w: ptr cint; h: ptr cint)"><wbr />get<wbr />Window<wbr />Maximum<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowBordered%2Cptr.Window%2Cbool"
title="setWindowBordered(window: ptr Window; bordered: bool)"><wbr />set<wbr />Window<wbr />Bordered<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowResizable%2Cptr.Window%2Cbool"
title="setWindowResizable(window: ptr Window; resizable: bool)"><wbr />set<wbr />Window<wbr />Resizable<span class="attachedType"></span></a></li>
<li><a class="reference" href="#showWindow%2Cptr.Window"
title="showWindow(window: ptr Window)"><wbr />show<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hideWindow%2Cptr.Window"
title="hideWindow(window: ptr Window)"><wbr />hide<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#raiseWindow%2Cptr.Window"
title="raiseWindow(window: ptr Window)"><wbr />raise<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#maximizeWindow%2Cptr.Window"
title="maximizeWindow(window: ptr Window)"><wbr />maximize<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#minimizeWindow%2Cptr.Window"
title="minimizeWindow(window: ptr Window)"><wbr />minimize<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#restoreWindow%2Cptr.Window"
title="restoreWindow(window: ptr Window)"><wbr />restore<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowFullscreen%2Cptr.Window%2CUint32"
title="setWindowFullscreen(window: ptr Window; flags: Uint32): cint"><wbr />set<wbr />Window<wbr />Fullscreen<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getWindowSurface%2Cptr.Window"
title="getWindowSurface(window: ptr Window): ptr Surface"><wbr />get<wbr />Window<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#updateWindowSurface%2Cptr.Window"
title="updateWindowSurface(window: ptr Window): cint"><wbr />update<wbr />Window<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#updateWindowSurfaceRects%2Cptr.Window%2Cptr.Rect%2Ccint"
title="updateWindowSurfaceRects(window: ptr Window; rects: ptr Rect; numrects: cint): cint"><wbr />update<wbr />Window<wbr />Surface<wbr />Rects<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowGrab%2Cptr.Window%2Cbool"
title="setWindowGrab(window: ptr Window; grabbed: bool)"><wbr />set<wbr />Window<wbr />Grab<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowGrab%2Cptr.Window"
title="getWindowGrab(window: ptr Window): bool"><wbr />get<wbr />Window<wbr />Grab<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getGrabbedWindow"
title="getGrabbedWindow(): ptr Window"><wbr />get<wbr />Grabbed<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowBrightness%2Cptr.Window%2Ccfloat"
title="setWindowBrightness(window: ptr Window; brightness: cfloat): cint"><wbr />set<wbr />Window<wbr />Brightness<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowBrightness%2Cptr.Window"
title="getWindowBrightness(window: ptr Window): cfloat"><wbr />get<wbr />Window<wbr />Brightness<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowOpacity%2Cptr.Window%2Ccfloat"
title="setWindowOpacity(window: ptr Window; opacity: cfloat): cint"><wbr />set<wbr />Window<wbr />Opacity<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getWindowOpacity%2Cptr.Window%2Cptr.cfloat"
title="getWindowOpacity(window: ptr Window; outOpacity: ptr cfloat): cint"><wbr />get<wbr />Window<wbr />Opacity<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowModalFor%2Cptr.Window%2Cptr.Window"
title="setWindowModalFor(modalWindow: ptr Window; parentWindow: ptr Window): cint"><wbr />set<wbr />Window<wbr />Modal<wbr />For<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowInputFocus%2Cptr.Window"
title="setWindowInputFocus(window: ptr Window): cint"><wbr />set<wbr />Window<wbr />Input<wbr />Focus<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowGammaRamp%2Cptr.Window%2Cptr.Uint16%2Cptr.Uint16%2Cptr.Uint16"
title="setWindowGammaRamp(window: ptr Window; red: ptr Uint16; green: ptr Uint16;
blue: ptr Uint16): cint"><wbr />set<wbr />Window<wbr />Gamma<wbr />Ramp<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#getWindowGammaRamp%2Cptr.Window%2Cptr.Uint16%2Cptr.Uint16%2Cptr.Uint16"
title="getWindowGammaRamp(window: ptr Window; red: ptr Uint16; green: ptr Uint16;
blue: ptr Uint16): cint"><wbr />get<wbr />Window<wbr />Gamma<wbr />Ramp<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#setWindowHitTest%2Cptr.Window%2CHitTest%2Cpointer"
title="setWindowHitTest(window: ptr Window; callback: HitTest; callbackData: pointer): cint"><wbr />set<wbr />Window<wbr />Hit<wbr />Test<span class="attachedType">HitTest</span></a></li>
<li><a class="reference" href="#destroyWindow%2Cptr.Window"
title="destroyWindow(window: ptr Window)"><wbr />destroy<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isScreenSaverEnabled"
title="isScreenSaverEnabled(): bool"><wbr />is<wbr />Screen<wbr />Saver<wbr />Enabled<span class="attachedType"></span></a></li>
<li><a class="reference" href="#enableScreenSaver"
title="enableScreenSaver()"><wbr />enable<wbr />Screen<wbr />Saver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#disableScreenSaver"
title="disableScreenSaver()"><wbr />disable<wbr />Screen<wbr />Saver<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_LoadLibrary%2Ccstring"
title="gL_LoadLibrary(path: cstring): cint"><wbr />g<wbr />L_<wbr />Load<wbr />Library<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_GetProcAddress%2Ccstring"
title="gL_GetProcAddress(`proc`: cstring): pointer"><wbr />g<wbr />L_<wbr />Get<wbr />Proc<wbr />Address<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_UnloadLibrary"
title="gL_UnloadLibrary()"><wbr />g<wbr />L_<wbr />Unload<wbr />Library<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_ExtensionSupported%2Ccstring"
title="gL_ExtensionSupported(extension: cstring): bool"><wbr />g<wbr />L_<wbr />Extension<wbr />Supported<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_ResetAttributes"
title="gL_ResetAttributes()"><wbr />g<wbr />L_<wbr />Reset<wbr />Attributes<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_SetAttribute%2CGLattr%2Ccint"
title="gL_SetAttribute(attr: GLattr; value: cint): cint"><wbr />g<wbr />L_<wbr />Set<wbr />Attribute<span class="attachedType">GLattr</span></a></li>
<li><a class="reference" href="#gL_GetAttribute%2CGLattr%2Cptr.cint"
title="gL_GetAttribute(attr: GLattr; value: ptr cint): cint"><wbr />g<wbr />L_<wbr />Get<wbr />Attribute<span class="attachedType">GLattr</span></a></li>
<li><a class="reference" href="#gL_CreateContext%2Cptr.Window"
title="gL_CreateContext(window: ptr Window): GLContext"><wbr />g<wbr />L_<wbr />Create<wbr />Context<span class="attachedType">GLContext</span></a></li>
<li><a class="reference" href="#gL_MakeCurrent%2Cptr.Window%2CGLContext"
title="gL_MakeCurrent(window: ptr Window; context: GLContext): cint"><wbr />g<wbr />L_<wbr />Make<wbr />Current<span class="attachedType">GLContext</span></a></li>
<li><a class="reference" href="#gL_GetCurrentWindow"
title="gL_GetCurrentWindow(): ptr Window"><wbr />g<wbr />L_<wbr />Get<wbr />Current<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_GetCurrentContext"
title="gL_GetCurrentContext(): GLContext"><wbr />g<wbr />L_<wbr />Get<wbr />Current<wbr />Context<span class="attachedType">GLContext</span></a></li>
<li><a class="reference" href="#gL_GetDrawableSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"
title="gL_GetDrawableSize(window: ptr Window; w: ptr cint; h: ptr cint)"><wbr />g<wbr />L_<wbr />Get<wbr />Drawable<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_SetSwapInterval%2Ccint"
title="gL_SetSwapInterval(interval: cint): cint"><wbr />g<wbr />L_<wbr />Set<wbr />Swap<wbr />Interval<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_GetSwapInterval"
title="gL_GetSwapInterval(): cint"><wbr />g<wbr />L_<wbr />Get<wbr />Swap<wbr />Interval<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_SwapWindow%2Cptr.Window"
title="gL_SwapWindow(window: ptr Window)"><wbr />g<wbr />L_<wbr />Swap<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_DeleteContext%2CGLContext"
title="gL_DeleteContext(context: GLContext)"><wbr />g<wbr />L_<wbr />Delete<wbr />Context<span class="attachedType">GLContext</span></a></li>
<li><a class="reference" href="#getKeyboardFocus"
title="getKeyboardFocus(): ptr Window"><wbr />get<wbr />Keyboard<wbr />Focus<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getKeyboardState%2Cptr.cint"
title="getKeyboardState(numkeys: ptr cint): ptr Uint8"><wbr />get<wbr />Keyboard<wbr />State<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getModState"
title="getModState(): Keymod"><wbr />get<wbr />Mod<wbr />State<span class="attachedType">Keymod</span></a></li>
<li><a class="reference" href="#setModState%2CKeymod"
title="setModState(modstate: Keymod)"><wbr />set<wbr />Mod<wbr />State<span class="attachedType">Keymod</span></a></li>
<li><a class="reference" href="#getKeyFromScancode%2CScancode"
title="getKeyFromScancode(scancode: Scancode): Keycode"><wbr />get<wbr />Key<wbr />From<wbr />Scancode<span class="attachedType">Scancode</span></a></li>
<li><a class="reference" href="#getScancodeFromKey%2CKeycode"
title="getScancodeFromKey(key: Keycode): Scancode"><wbr />get<wbr />Scancode<wbr />From<wbr />Key<span class="attachedType">Keycode</span></a></li>
<li><a class="reference" href="#getScancodeName%2CScancode"
title="getScancodeName(scancode: Scancode): cstring"><wbr />get<wbr />Scancode<wbr />Name<span class="attachedType">Scancode</span></a></li>
<li><a class="reference" href="#getScancodeFromName%2Ccstring"
title="getScancodeFromName(name: cstring): Scancode"><wbr />get<wbr />Scancode<wbr />From<wbr />Name<span class="attachedType">Scancode</span></a></li>
<li><a class="reference" href="#getKeyName%2CKeycode"
title="getKeyName(key: Keycode): cstring"><wbr />get<wbr />Key<wbr />Name<span class="attachedType">Keycode</span></a></li>
<li><a class="reference" href="#getKeyFromName%2Ccstring"
title="getKeyFromName(name: cstring): Keycode"><wbr />get<wbr />Key<wbr />From<wbr />Name<span class="attachedType">Keycode</span></a></li>
<li><a class="reference" href="#startTextInput"
title="startTextInput()"><wbr />start<wbr />Text<wbr />Input<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isTextInputActive"
title="isTextInputActive(): bool"><wbr />is<wbr />Text<wbr />Input<wbr />Active<span class="attachedType"></span></a></li>
<li><a class="reference" href="#stopTextInput"
title="stopTextInput()"><wbr />stop<wbr />Text<wbr />Input<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setTextInputRect%2Cptr.Rect"
title="setTextInputRect(rect: ptr Rect)"><wbr />set<wbr />Text<wbr />Input<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hasScreenKeyboardSupport"
title="hasScreenKeyboardSupport(): bool"><wbr />has<wbr />Screen<wbr />Keyboard<wbr />Support<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isScreenKeyboardShown%2Cptr.Window"
title="isScreenKeyboardShown(window: ptr Window): bool"><wbr />is<wbr />Screen<wbr />Keyboard<wbr />Shown<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getMouseFocus"
title="getMouseFocus(): ptr Window"><wbr />get<wbr />Mouse<wbr />Focus<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getMouseState%2Cptr.cint%2Cptr.cint"
title="getMouseState(x: ptr cint; y: ptr cint): Uint32"><wbr />get<wbr />Mouse<wbr />State<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getGlobalMouseState%2Cptr.cint%2Cptr.cint"
title="getGlobalMouseState(x: ptr cint; y: ptr cint): Uint32"><wbr />get<wbr />Global<wbr />Mouse<wbr />State<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getRelativeMouseState%2Cptr.cint%2Cptr.cint"
title="getRelativeMouseState(x: ptr cint; y: ptr cint): Uint32"><wbr />get<wbr />Relative<wbr />Mouse<wbr />State<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#warpMouseInWindow%2Cptr.Window%2Ccint%2Ccint"
title="warpMouseInWindow(window: ptr Window; x: cint; y: cint)"><wbr />warp<wbr />Mouse<wbr />In<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#warpMouseGlobal%2Ccint%2Ccint"
title="warpMouseGlobal(x: cint; y: cint): cint"><wbr />warp<wbr />Mouse<wbr />Global<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setRelativeMouseMode%2Cbool"
title="setRelativeMouseMode(enabled: bool): cint"><wbr />set<wbr />Relative<wbr />Mouse<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#captureMouse%2Cbool"
title="captureMouse(enabled: bool): cint"><wbr />capture<wbr />Mouse<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRelativeMouseMode"
title="getRelativeMouseMode(): bool"><wbr />get<wbr />Relative<wbr />Mouse<wbr />Mode<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createCursor%2Cptr.Uint8%2Cptr.Uint8%2Ccint%2Ccint%2Ccint%2Ccint"
title="createCursor(data: ptr Uint8; mask: ptr Uint8; w: cint; h: cint; hotX: cint; hotY: cint): ptr Cursor"><wbr />create<wbr />Cursor<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#createColorCursor%2Cptr.Surface%2Ccint%2Ccint"
title="createColorCursor(surface: ptr Surface; hotX: cint; hotY: cint): ptr Cursor"><wbr />create<wbr />Color<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createSystemCursor%2CSystemCursor"
title="createSystemCursor(id: SystemCursor): ptr Cursor"><wbr />create<wbr />System<wbr />Cursor<span class="attachedType">SystemCursor</span></a></li>
<li><a class="reference" href="#setCursor%2Cptr.Cursor"
title="setCursor(cursor: ptr Cursor)"><wbr />set<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getCursor"
title="getCursor(): ptr Cursor"><wbr />get<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getDefaultCursor"
title="getDefaultCursor(): ptr Cursor"><wbr />get<wbr />Default<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#freeCursor%2Cptr.Cursor"
title="freeCursor(cursor: ptr Cursor)"><wbr />free<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#showCursor%2Ccint"
title="showCursor(toggle: cint): cint"><wbr />show<wbr />Cursor<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lockJoysticks"
title="lockJoysticks()"><wbr />lock<wbr />Joysticks<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unlockJoysticks"
title="unlockJoysticks()"><wbr />unlock<wbr />Joysticks<span class="attachedType"></span></a></li>
<li><a class="reference" href="#numJoysticks"
title="numJoysticks(): cint"><wbr />num<wbr />Joysticks<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickNameForIndex%2Ccint"
title="joystickNameForIndex(deviceIndex: cint): cstring"><wbr />joystick<wbr />Name<wbr />For<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetDevicePlayerIndex%2Ccint"
title="joystickGetDevicePlayerIndex(deviceIndex: cint): cint"><wbr />joystick<wbr />Get<wbr />Device<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetDeviceGUID%2Ccint"
title="joystickGetDeviceGUID(deviceIndex: cint): JoystickGUID"><wbr />joystick<wbr />Get<wbr />Device<wbr />GUID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetDeviceVendor%2Ccint"
title="joystickGetDeviceVendor(deviceIndex: cint): Uint16"><wbr />joystick<wbr />Get<wbr />Device<wbr />Vendor<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetDeviceProduct%2Ccint"
title="joystickGetDeviceProduct(deviceIndex: cint): Uint16"><wbr />joystick<wbr />Get<wbr />Device<wbr />Product<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetDeviceProductVersion%2Ccint"
title="joystickGetDeviceProductVersion(deviceIndex: cint): Uint16"><wbr />joystick<wbr />Get<wbr />Device<wbr />Product<wbr />Version<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetDeviceType%2Ccint"
title="joystickGetDeviceType(deviceIndex: cint): JoystickType"><wbr />joystick<wbr />Get<wbr />Device<wbr />Type<span class="attachedType">JoystickType</span></a></li>
<li><a class="reference" href="#joystickGetDeviceInstanceID%2Ccint"
title="joystickGetDeviceInstanceID(deviceIndex: cint): JoystickID"><wbr />joystick<wbr />Get<wbr />Device<wbr />Instance<wbr />ID<span class="attachedType">JoystickID</span></a></li>
<li><a class="reference" href="#joystickOpen%2Ccint"
title="joystickOpen(deviceIndex: cint): ptr Joystick"><wbr />joystick<wbr />Open<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickFromInstanceID%2CJoystickID"
title="joystickFromInstanceID(instanceId: JoystickID): ptr Joystick"><wbr />joystick<wbr />From<wbr />Instance<wbr />ID<span class="attachedType">JoystickID</span></a></li>
<li><a class="reference" href="#joystickFromPlayerIndex%2Ccint"
title="joystickFromPlayerIndex(playerIndex: cint): ptr Joystick"><wbr />joystick<wbr />From<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickName%2Cptr.Joystick"
title="joystickName(joystick: ptr Joystick): cstring"><wbr />joystick<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetPlayerIndex%2Cptr.Joystick"
title="joystickGetPlayerIndex(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Get<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickSetPlayerIndex%2Cptr.Joystick%2Ccint"
title="joystickSetPlayerIndex(joystick: ptr Joystick; playerIndex: cint)"><wbr />joystick<wbr />Set<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetGUID%2Cptr.Joystick"
title="joystickGetGUID(joystick: ptr Joystick): JoystickGUID"><wbr />joystick<wbr />Get<wbr />GUID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetVendor%2Cptr.Joystick"
title="joystickGetVendor(joystick: ptr Joystick): Uint16"><wbr />joystick<wbr />Get<wbr />Vendor<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetProduct%2Cptr.Joystick"
title="joystickGetProduct(joystick: ptr Joystick): Uint16"><wbr />joystick<wbr />Get<wbr />Product<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetProductVersion%2Cptr.Joystick"
title="joystickGetProductVersion(joystick: ptr Joystick): Uint16"><wbr />joystick<wbr />Get<wbr />Product<wbr />Version<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickGetType%2Cptr.Joystick"
title="joystickGetType(joystick: ptr Joystick): JoystickType"><wbr />joystick<wbr />Get<wbr />Type<span class="attachedType">JoystickType</span></a></li>
<li><a class="reference" href="#joystickGetGUIDString%2CJoystickGUID%2Ccstring%2Ccint"
title="joystickGetGUIDString(guid: JoystickGUID; pszGUID: cstring; cbGUID: cint)"><wbr />joystick<wbr />Get<wbr />GUIDString<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetGUIDFromString%2Ccstring"
title="joystickGetGUIDFromString(pchGUID: cstring): JoystickGUID"><wbr />joystick<wbr />Get<wbr />GUIDFrom<wbr />String<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetAttached%2Cptr.Joystick"
title="joystickGetAttached(joystick: ptr Joystick): bool"><wbr />joystick<wbr />Get<wbr />Attached<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickInstanceID%2Cptr.Joystick"
title="joystickInstanceID(joystick: ptr Joystick): JoystickID"><wbr />joystick<wbr />Instance<wbr />ID<span class="attachedType">JoystickID</span></a></li>
<li><a class="reference" href="#joystickNumAxes%2Cptr.Joystick"
title="joystickNumAxes(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Num<wbr />Axes<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickNumBalls%2Cptr.Joystick"
title="joystickNumBalls(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Num<wbr />Balls<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickNumHats%2Cptr.Joystick"
title="joystickNumHats(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Num<wbr />Hats<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickNumButtons%2Cptr.Joystick"
title="joystickNumButtons(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Num<wbr />Buttons<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickUpdate"
title="joystickUpdate()"><wbr />joystick<wbr />Update<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickEventState%2Ccint"
title="joystickEventState(state: cint): cint"><wbr />joystick<wbr />Event<wbr />State<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetAxis%2Cptr.Joystick%2Ccint"
title="joystickGetAxis(joystick: ptr Joystick; axis: cint): Sint16"><wbr />joystick<wbr />Get<wbr />Axis<span class="attachedType">Sint16</span></a></li>
<li><a class="reference" href="#joystickGetAxisInitialState%2Cptr.Joystick%2Ccint%2Cptr.Sint16"
title="joystickGetAxisInitialState(joystick: ptr Joystick; axis: cint; state: ptr Sint16): bool"><wbr />joystick<wbr />Get<wbr />Axis<wbr />Initial<wbr />State<span class="attachedType">Sint16</span></a></li>
<li><a class="reference" href="#joystickGetHat%2Cptr.Joystick%2Ccint"
title="joystickGetHat(joystick: ptr Joystick; hat: cint): Uint8"><wbr />joystick<wbr />Get<wbr />Hat<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#joystickGetBall%2Cptr.Joystick%2Ccint%2Cptr.cint%2Cptr.cint"
title="joystickGetBall(joystick: ptr Joystick; ball: cint; dx: ptr cint; dy: ptr cint): cint"><wbr />joystick<wbr />Get<wbr />Ball<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickGetButton%2Cptr.Joystick%2Ccint"
title="joystickGetButton(joystick: ptr Joystick; button: cint): Uint8"><wbr />joystick<wbr />Get<wbr />Button<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#joystickRumble%2Cptr.Joystick%2CUint16%2CUint16%2CUint32"
title="joystickRumble(joystick: ptr Joystick; lowFrequencyRumble: Uint16;
highFrequencyRumble: Uint16; durationMs: Uint32): cint"><wbr />joystick<wbr />Rumble<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#joystickClose%2Cptr.Joystick"
title="joystickClose(joystick: ptr Joystick)"><wbr />joystick<wbr />Close<span class="attachedType"></span></a></li>
<li><a class="reference" href="#joystickCurrentPowerLevel%2Cptr.Joystick"
title="joystickCurrentPowerLevel(joystick: ptr Joystick): JoystickPowerLevel"><wbr />joystick<wbr />Current<wbr />Power<wbr />Level<span class="attachedType">JoystickPowerLevel</span></a></li>
<li><a class="reference" href="#gameControllerAddMappingsFromRW%2Cptr.RWops%2Ccint"
title="gameControllerAddMappingsFromRW(rw: ptr RWops; freerw: cint): cint"><wbr />game<wbr />Controller<wbr />Add<wbr />Mappings<wbr />From<wbr />RW<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerAddMapping%2Ccstring"
title="gameControllerAddMapping(mappingString: cstring): cint"><wbr />game<wbr />Controller<wbr />Add<wbr />Mapping<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerNumMappings"
title="gameControllerNumMappings(): cint"><wbr />game<wbr />Controller<wbr />Num<wbr />Mappings<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerMappingForIndex%2Ccint"
title="gameControllerMappingForIndex(mappingIndex: cint): cstring"><wbr />game<wbr />Controller<wbr />Mapping<wbr />For<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerMappingForGUID%2CJoystickGUID"
title="gameControllerMappingForGUID(guid: JoystickGUID): cstring"><wbr />game<wbr />Controller<wbr />Mapping<wbr />For<wbr />GUID<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerMapping%2Cptr.GameController"
title="gameControllerMapping(gamecontroller: ptr GameController): cstring"><wbr />game<wbr />Controller<wbr />Mapping<span class="attachedType"></span></a></li>
<li><a class="reference" href="#isGameController%2Ccint"
title="isGameController(joystickIndex: cint): bool"><wbr />is<wbr />Game<wbr />Controller<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerNameForIndex%2Ccint"
title="gameControllerNameForIndex(joystickIndex: cint): cstring"><wbr />game<wbr />Controller<wbr />Name<wbr />For<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerTypeForIndex%2Ccint"
title="gameControllerTypeForIndex(joystickIndex: cint): GameControllerType"><wbr />game<wbr />Controller<wbr />Type<wbr />For<wbr />Index<span class="attachedType">GameControllerType</span></a></li>
<li><a class="reference" href="#gameControllerMappingForDeviceIndex%2Ccint"
title="gameControllerMappingForDeviceIndex(joystickIndex: cint): cstring"><wbr />game<wbr />Controller<wbr />Mapping<wbr />For<wbr />Device<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerOpen%2Ccint"
title="gameControllerOpen(joystickIndex: cint): ptr GameController"><wbr />game<wbr />Controller<wbr />Open<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerFromInstanceID%2CJoystickID"
title="gameControllerFromInstanceID(joyid: JoystickID): ptr GameController"><wbr />game<wbr />Controller<wbr />From<wbr />Instance<wbr />ID<span class="attachedType">JoystickID</span></a></li>
<li><a class="reference" href="#gameControllerFromPlayerIndex%2Ccint"
title="gameControllerFromPlayerIndex(playerIndex: cint): ptr GameController"><wbr />game<wbr />Controller<wbr />From<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerName%2Cptr.GameController"
title="gameControllerName(gamecontroller: ptr GameController): cstring"><wbr />game<wbr />Controller<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerGetType%2Cptr.GameController"
title="gameControllerGetType(gamecontroller: ptr GameController): GameControllerType"><wbr />game<wbr />Controller<wbr />Get<wbr />Type<span class="attachedType">GameControllerType</span></a></li>
<li><a class="reference" href="#gameControllerGetPlayerIndex%2Cptr.GameController"
title="gameControllerGetPlayerIndex(gamecontroller: ptr GameController): cint"><wbr />game<wbr />Controller<wbr />Get<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerSetPlayerIndex%2Cptr.GameController%2Ccint"
title="gameControllerSetPlayerIndex(gamecontroller: ptr GameController; playerIndex: cint)"><wbr />game<wbr />Controller<wbr />Set<wbr />Player<wbr />Index<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerGetVendor%2Cptr.GameController"
title="gameControllerGetVendor(gamecontroller: ptr GameController): Uint16"><wbr />game<wbr />Controller<wbr />Get<wbr />Vendor<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#gameControllerGetProduct%2Cptr.GameController"
title="gameControllerGetProduct(gamecontroller: ptr GameController): Uint16"><wbr />game<wbr />Controller<wbr />Get<wbr />Product<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#gameControllerGetProductVersion%2Cptr.GameController"
title="gameControllerGetProductVersion(gamecontroller: ptr GameController): Uint16"><wbr />game<wbr />Controller<wbr />Get<wbr />Product<wbr />Version<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#gameControllerGetAttached%2Cptr.GameController"
title="gameControllerGetAttached(gamecontroller: ptr GameController): bool"><wbr />game<wbr />Controller<wbr />Get<wbr />Attached<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerGetJoystick%2Cptr.GameController"
title="gameControllerGetJoystick(gamecontroller: ptr GameController): ptr Joystick"><wbr />game<wbr />Controller<wbr />Get<wbr />Joystick<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerEventState%2Ccint"
title="gameControllerEventState(state: cint): cint"><wbr />game<wbr />Controller<wbr />Event<wbr />State<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerUpdate"
title="gameControllerUpdate()"><wbr />game<wbr />Controller<wbr />Update<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gameControllerGetAxisFromString%2Ccstring"
title="gameControllerGetAxisFromString(pchString: cstring): GameControllerAxis"><wbr />game<wbr />Controller<wbr />Get<wbr />Axis<wbr />From<wbr />String<span class="attachedType">GameControllerAxis</span></a></li>
<li><a class="reference" href="#gameControllerGetStringForAxis%2CGameControllerAxis"
title="gameControllerGetStringForAxis(axis: GameControllerAxis): cstring"><wbr />game<wbr />Controller<wbr />Get<wbr />String<wbr />For<wbr />Axis<span class="attachedType">GameControllerAxis</span></a></li>
<li><a class="reference" href="#gameControllerGetBindForAxis%2Cptr.GameController%2CGameControllerAxis"
title="gameControllerGetBindForAxis(gamecontroller: ptr GameController;
axis: GameControllerAxis): GameControllerButtonBind"><wbr />game<wbr />Controller<wbr />Get<wbr />Bind<wbr />For<wbr />Axis<span class="attachedType">GameControllerButtonBind</span></a></li>
<li><a class="reference" href="#gameControllerGetAxis%2Cptr.GameController%2CGameControllerAxis"
title="gameControllerGetAxis(gamecontroller: ptr GameController; axis: GameControllerAxis): Sint16"><wbr />game<wbr />Controller<wbr />Get<wbr />Axis<span class="attachedType">Sint16</span></a></li>
<li><a class="reference" href="#gameControllerGetButtonFromString%2Ccstring"
title="gameControllerGetButtonFromString(pchString: cstring): GameControllerButton"><wbr />game<wbr />Controller<wbr />Get<wbr />Button<wbr />From<wbr />String<span class="attachedType">GameControllerButton</span></a></li>
<li><a class="reference" href="#gameControllerGetStringForButton%2CGameControllerButton"
title="gameControllerGetStringForButton(button: GameControllerButton): cstring"><wbr />game<wbr />Controller<wbr />Get<wbr />String<wbr />For<wbr />Button<span class="attachedType">GameControllerButton</span></a></li>
<li><a class="reference" href="#gameControllerGetBindForButton%2Cptr.GameController%2CGameControllerButton"
title="gameControllerGetBindForButton(gamecontroller: ptr GameController;
button: GameControllerButton): GameControllerButtonBind"><wbr />game<wbr />Controller<wbr />Get<wbr />Bind<wbr />For<wbr />Button<span class="attachedType">GameControllerButtonBind</span></a></li>
<li><a class="reference" href="#gameControllerGetButton%2Cptr.GameController%2CGameControllerButton"
title="gameControllerGetButton(gamecontroller: ptr GameController;
button: GameControllerButton): Uint8"><wbr />game<wbr />Controller<wbr />Get<wbr />Button<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#gameControllerRumble%2Cptr.GameController%2CUint16%2CUint16%2CUint32"
title="gameControllerRumble(gamecontroller: ptr GameController;
lowFrequencyRumble: Uint16; highFrequencyRumble: Uint16;
durationMs: Uint32): cint"><wbr />game<wbr />Controller<wbr />Rumble<span class="attachedType">Uint16</span></a></li>
<li><a class="reference" href="#gameControllerClose%2Cptr.GameController"
title="gameControllerClose(gamecontroller: ptr GameController)"><wbr />game<wbr />Controller<wbr />Close<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getNumTouchDevices"
title="getNumTouchDevices(): cint"><wbr />get<wbr />Num<wbr />Touch<wbr />Devices<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getTouchDevice%2Ccint"
title="getTouchDevice(index: cint): TouchID"><wbr />get<wbr />Touch<wbr />Device<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#getTouchDeviceType%2CTouchID"
title="getTouchDeviceType(touchID: TouchID): TouchDeviceType"><wbr />get<wbr />Touch<wbr />Device<wbr />Type<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#getNumTouchFingers%2CTouchID"
title="getNumTouchFingers(touchID: TouchID): cint"><wbr />get<wbr />Num<wbr />Touch<wbr />Fingers<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#getTouchFinger%2CTouchID%2Ccint"
title="getTouchFinger(touchID: TouchID; index: cint): ptr Finger"><wbr />get<wbr />Touch<wbr />Finger<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#recordGesture%2CTouchID"
title="recordGesture(touchId: TouchID): cint"><wbr />record<wbr />Gesture<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#saveAllDollarTemplates%2Cptr.RWops"
title="saveAllDollarTemplates(dst: ptr RWops): cint"><wbr />save<wbr />All<wbr />Dollar<wbr />Templates<span class="attachedType"></span></a></li>
<li><a class="reference" href="#saveDollarTemplate%2CGestureID%2Cptr.RWops"
title="saveDollarTemplate(gestureId: GestureID; dst: ptr RWops): cint"><wbr />save<wbr />Dollar<wbr />Template<span class="attachedType">GestureID</span></a></li>
<li><a class="reference" href="#loadDollarTemplates%2CTouchID%2Cptr.RWops"
title="loadDollarTemplates(touchId: TouchID; src: ptr RWops): cint"><wbr />load<wbr />Dollar<wbr />Templates<span class="attachedType">TouchID</span></a></li>
<li><a class="reference" href="#pumpEvents"
title="pumpEvents()"><wbr />pump<wbr />Events<span class="attachedType"></span></a></li>
<li><a class="reference" href="#peepEvents%2Cptr.Event%2Ccint%2Ceventaction%2CUint32%2CUint32"
title="peepEvents(events: ptr Event; numevents: cint; action: eventaction; minType: Uint32;
maxType: Uint32): cint"><wbr />peep<wbr />Events<span class="attachedType">eventaction</span></a></li>
<li><a class="reference" href="#hasEvent%2CUint32"
title="hasEvent(kind: Uint32): bool"><wbr />has<wbr />Event<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#hasEvents%2CUint32%2CUint32"
title="hasEvents(minType: Uint32; maxType: Uint32): bool"><wbr />has<wbr />Events<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#flushEvent%2CUint32"
title="flushEvent(kind: Uint32)"><wbr />flush<wbr />Event<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#flushEvents%2CUint32%2CUint32"
title="flushEvents(minType: Uint32; maxType: Uint32)"><wbr />flush<wbr />Events<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#pollEvent%2Cptr.Event"
title="pollEvent(event: ptr Event): cint"><wbr />poll<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#waitEvent%2Cptr.Event"
title="waitEvent(event: ptr Event): cint"><wbr />wait<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#waitEventTimeout%2Cptr.Event%2Ccint"
title="waitEventTimeout(event: ptr Event; timeout: cint): cint"><wbr />wait<wbr />Event<wbr />Timeout<span class="attachedType"></span></a></li>
<li><a class="reference" href="#pushEvent%2Cptr.Event"
title="pushEvent(event: ptr Event): cint"><wbr />push<wbr />Event<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setEventFilter%2CEventFilter%2Cpointer"
title="setEventFilter(filter: EventFilter; userdata: pointer)"><wbr />set<wbr />Event<wbr />Filter<span class="attachedType">EventFilter</span></a></li>
<li><a class="reference" href="#getEventFilter%2Cptr.EventFilter%2Cptr.pointer"
title="getEventFilter(filter: ptr EventFilter; userdata: ptr pointer): bool"><wbr />get<wbr />Event<wbr />Filter<span class="attachedType">EventFilter</span></a></li>
<li><a class="reference" href="#addEventWatch%2CEventFilter%2Cpointer"
title="addEventWatch(filter: EventFilter; userdata: pointer)"><wbr />add<wbr />Event<wbr />Watch<span class="attachedType">EventFilter</span></a></li>
<li><a class="reference" href="#delEventWatch%2CEventFilter%2Cpointer"
title="delEventWatch(filter: EventFilter; userdata: pointer)"><wbr />del<wbr />Event<wbr />Watch<span class="attachedType">EventFilter</span></a></li>
<li><a class="reference" href="#filterEvents%2CEventFilter%2Cpointer"
title="filterEvents(filter: EventFilter; userdata: pointer)"><wbr />filter<wbr />Events<span class="attachedType">EventFilter</span></a></li>
<li><a class="reference" href="#eventState%2CUint32%2Ccint"
title="eventState(kind: Uint32; state: cint): Uint8"><wbr />event<wbr />State<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#registerEvents%2Ccint"
title="registerEvents(numevents: cint): Uint32"><wbr />register<wbr />Events<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getBasePath"
title="getBasePath(): cstring"><wbr />get<wbr />Base<wbr />Path<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getPrefPath%2Ccstring%2Ccstring"
title="getPrefPath(org: cstring; app: cstring): cstring"><wbr />get<wbr />Pref<wbr />Path<span class="attachedType"></span></a></li>
<li><a class="reference" href="#numHaptics"
title="numHaptics(): cint"><wbr />num<wbr />Haptics<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hapticName%2Ccint"
title="hapticName(deviceIndex: cint): cstring"><wbr />haptic<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hapticOpen%2Ccint"
title="hapticOpen(deviceIndex: cint): ptr Haptic"><wbr />haptic<wbr />Open<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticOpened%2Ccint"
title="hapticOpened(deviceIndex: cint): cint"><wbr />haptic<wbr />Opened<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hapticIndex%2Cptr.PHaptic"
title="hapticIndex(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Index<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#mouseIsHaptic"
title="mouseIsHaptic(): cint"><wbr />mouse<wbr />Is<wbr />Haptic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hapticOpenFromMouse"
title="hapticOpenFromMouse(): ptr Haptic"><wbr />haptic<wbr />Open<wbr />From<wbr />Mouse<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#joystickIsHaptic%2Cptr.Joystick"
title="joystickIsHaptic(joystick: ptr Joystick): cint"><wbr />joystick<wbr />Is<wbr />Haptic<span class="attachedType"></span></a></li>
<li><a class="reference" href="#hapticOpenFromJoystick%2Cptr.Joystick"
title="hapticOpenFromJoystick(joystick: ptr Joystick): ptr Haptic"><wbr />haptic<wbr />Open<wbr />From<wbr />Joystick<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticClose%2Cptr.PHaptic"
title="hapticClose(haptic: ptr Haptic)"><wbr />haptic<wbr />Close<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticNumEffects%2Cptr.PHaptic"
title="hapticNumEffects(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Num<wbr />Effects<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticNumEffectsPlaying%2Cptr.PHaptic"
title="hapticNumEffectsPlaying(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Num<wbr />Effects<wbr />Playing<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticQuery%2Cptr.PHaptic"
title="hapticQuery(haptic: ptr Haptic): cuint"><wbr />haptic<wbr />Query<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticNumAxes%2Cptr.PHaptic"
title="hapticNumAxes(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Num<wbr />Axes<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticEffectSupported%2Cptr.PHaptic%2Cptr.HapticEffect"
title="hapticEffectSupported(haptic: ptr Haptic; effect: ptr HapticEffect): cint"><wbr />haptic<wbr />Effect<wbr />Supported<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticNewEffect%2Cptr.PHaptic%2Cptr.HapticEffect"
title="hapticNewEffect(haptic: ptr Haptic; effect: ptr HapticEffect): cint"><wbr />haptic<wbr />New<wbr />Effect<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticUpdateEffect%2Cptr.PHaptic%2Ccint%2Cptr.HapticEffect"
title="hapticUpdateEffect(haptic: ptr Haptic; effect: cint; data: ptr HapticEffect): cint"><wbr />haptic<wbr />Update<wbr />Effect<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticRunEffect%2Cptr.PHaptic%2Ccint%2CUint32"
title="hapticRunEffect(haptic: ptr Haptic; effect: cint; iterations: Uint32): cint"><wbr />haptic<wbr />Run<wbr />Effect<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticStopEffect%2Cptr.PHaptic%2Ccint"
title="hapticStopEffect(haptic: ptr Haptic; effect: cint): cint"><wbr />haptic<wbr />Stop<wbr />Effect<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticDestroyEffect%2Cptr.PHaptic%2Ccint"
title="hapticDestroyEffect(haptic: ptr Haptic; effect: cint)"><wbr />haptic<wbr />Destroy<wbr />Effect<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticGetEffectStatus%2Cptr.PHaptic%2Ccint"
title="hapticGetEffectStatus(haptic: ptr Haptic; effect: cint): cint"><wbr />haptic<wbr />Get<wbr />Effect<wbr />Status<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticSetGain%2Cptr.PHaptic%2Ccint"
title="hapticSetGain(haptic: ptr Haptic; gain: cint): cint"><wbr />haptic<wbr />Set<wbr />Gain<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticSetAutocenter%2Cptr.PHaptic%2Ccint"
title="hapticSetAutocenter(haptic: ptr Haptic; autocenter: cint): cint"><wbr />haptic<wbr />Set<wbr />Autocenter<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticPause%2Cptr.PHaptic"
title="hapticPause(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Pause<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticUnpause%2Cptr.PHaptic"
title="hapticUnpause(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Unpause<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticStopAll%2Cptr.PHaptic"
title="hapticStopAll(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Stop<wbr />All<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticRumbleSupported%2Cptr.PHaptic"
title="hapticRumbleSupported(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Rumble<wbr />Supported<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticRumbleInit%2Cptr.PHaptic"
title="hapticRumbleInit(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Rumble<wbr />Init<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticRumblePlay%2Cptr.PHaptic%2Ccfloat%2CUint32"
title="hapticRumblePlay(haptic: ptr Haptic; strength: cfloat; length: Uint32): cint"><wbr />haptic<wbr />Rumble<wbr />Play<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#hapticRumbleStop%2Cptr.PHaptic"
title="hapticRumbleStop(haptic: ptr Haptic): cint"><wbr />haptic<wbr />Rumble<wbr />Stop<span class="attachedType">Haptic</span></a></li>
<li><a class="reference" href="#setHintWithPriority%2Ccstring%2Ccstring%2CHintPriority"
title="setHintWithPriority(name: cstring; value: cstring; priority: HintPriority): bool"><wbr />set<wbr />Hint<wbr />With<wbr />Priority<span class="attachedType">HintPriority</span></a></li>
<li><a class="reference" href="#setHint%2Ccstring%2Ccstring"
title="setHint(name: cstring; value: cstring): bool"><wbr />set<wbr />Hint<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getHint%2Ccstring"
title="getHint(name: cstring): cstring"><wbr />get<wbr />Hint<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getHintBoolean%2Ccstring%2Cbool"
title="getHintBoolean(name: cstring; defaultValue: bool): bool"><wbr />get<wbr />Hint<wbr />Boolean<span class="attachedType"></span></a></li>
<li><a class="reference" href="#addHintCallback%2Ccstring%2CHintCallback%2Cpointer"
title="addHintCallback(name: cstring; callback: HintCallback; userdata: pointer)"><wbr />add<wbr />Hint<wbr />Callback<span class="attachedType">HintCallback</span></a></li>
<li><a class="reference" href="#delHintCallback%2Ccstring%2CHintCallback%2Cpointer"
title="delHintCallback(name: cstring; callback: HintCallback; userdata: pointer)"><wbr />del<wbr />Hint<wbr />Callback<span class="attachedType">HintCallback</span></a></li>
<li><a class="reference" href="#clearHints"
title="clearHints()"><wbr />clear<wbr />Hints<span class="attachedType"></span></a></li>
<li><a class="reference" href="#loadObject%2Ccstring"
title="loadObject(sofile: cstring): pointer"><wbr />load<wbr />Object<span class="attachedType"></span></a></li>
<li><a class="reference" href="#loadFunction%2Cpointer%2Ccstring"
title="loadFunction(handle: pointer; name: cstring): pointer"><wbr />load<wbr />Function<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unloadObject%2Cpointer"
title="unloadObject(handle: pointer)"><wbr />unload<wbr />Object<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logSetAllPriority%2CLogPriority"
title="logSetAllPriority(priority: LogPriority)"><wbr />log<wbr />Set<wbr />All<wbr />Priority<span class="attachedType">LogPriority</span></a></li>
<li><a class="reference" href="#logSetPriority%2Ccint%2CLogPriority"
title="logSetPriority(category: cint; priority: LogPriority)"><wbr />log<wbr />Set<wbr />Priority<span class="attachedType">LogPriority</span></a></li>
<li><a class="reference" href="#logGetPriority%2Ccint"
title="logGetPriority(category: cint): LogPriority"><wbr />log<wbr />Get<wbr />Priority<span class="attachedType">LogPriority</span></a></li>
<li><a class="reference" href="#logResetPriorities"
title="logResetPriorities()"><wbr />log<wbr />Reset<wbr />Priorities<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logVerbose%2Ccint%2Ccstring"
title="logVerbose(category: cint; fmt: cstring)"><wbr />log<wbr />Verbose<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logDebug%2Ccint%2Ccstring"
title="logDebug(category: cint; fmt: cstring)"><wbr />log<wbr />Debug<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logInfo%2Ccint%2Ccstring"
title="logInfo(category: cint; fmt: cstring)"><wbr />log<wbr />Info<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logWarn%2Ccint%2Ccstring"
title="logWarn(category: cint; fmt: cstring)"><wbr />log<wbr />Warn<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logError%2Ccint%2Ccstring"
title="logError(category: cint; fmt: cstring)"><wbr />log<wbr />Error<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logCritical%2Ccint%2Ccstring"
title="logCritical(category: cint; fmt: cstring)"><wbr />log<wbr />Critical<span class="attachedType"></span></a></li>
<li><a class="reference" href="#logMessage%2Ccint%2CLogPriority%2Ccstring"
title="logMessage(category: cint; priority: LogPriority; fmt: cstring)"><wbr />log<wbr />Message<span class="attachedType">LogPriority</span></a></li>
<li><a class="reference" href="#logMessageV%2Ccint%2CLogPriority%2Ccstring%2Cva_list"
title="logMessageV(category: cint; priority: LogPriority; fmt: cstring; ap: va_list)"><wbr />log<wbr />Message<wbr />V<span class="attachedType">LogPriority</span></a></li>
<li><a class="reference" href="#logGetOutputFunction%2Cptr.LogOutputFunction%2Cptr.pointer"
title="logGetOutputFunction(callback: ptr LogOutputFunction; userdata: ptr pointer)"><wbr />log<wbr />Get<wbr />Output<wbr />Function<span class="attachedType">LogOutputFunction</span></a></li>
<li><a class="reference" href="#logSetOutputFunction%2CLogOutputFunction%2Cpointer"
title="logSetOutputFunction(callback: LogOutputFunction; userdata: pointer)"><wbr />log<wbr />Set<wbr />Output<wbr />Function<span class="attachedType">LogOutputFunction</span></a></li>
<li><a class="reference" href="#showMessageBox%2Cptr.MessageBoxData%2Cptr.cint"
title="showMessageBox(messageboxdata: ptr MessageBoxData; buttonid: ptr cint): cint"><wbr />show<wbr />Message<wbr />Box<span class="attachedType"></span></a></li>
<li><a class="reference" href="#showSimpleMessageBox%2CUint32%2Ccstring%2Ccstring%2Cptr.Window"
title="showSimpleMessageBox(flags: Uint32; title: cstring; message: cstring;
window: ptr Window): cint"><wbr />show<wbr />Simple<wbr />Message<wbr />Box<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#metal_CreateView%2Cptr.Window"
title="metal_CreateView(window: ptr Window): MetalView"><wbr />metal_<wbr />Create<wbr />View<span class="attachedType">MetalView</span></a></li>
<li><a class="reference" href="#metal_DestroyView%2CMetalView"
title="metal_DestroyView(view: MetalView)"><wbr />metal_<wbr />Destroy<wbr />View<span class="attachedType">MetalView</span></a></li>
<li><a class="reference" href="#getPowerInfo%2Cptr.cint%2Cptr.cint"
title="getPowerInfo(secs: ptr cint; pct: ptr cint): PowerState"><wbr />get<wbr />Power<wbr />Info<span class="attachedType">PowerState</span></a></li>
<li><a class="reference" href="#getNumRenderDrivers"
title="getNumRenderDrivers(): cint"><wbr />get<wbr />Num<wbr />Render<wbr />Drivers<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRenderDriverInfo%2Ccint%2Cptr.RendererInfo"
title="getRenderDriverInfo(index: cint; info: ptr RendererInfo): cint"><wbr />get<wbr />Render<wbr />Driver<wbr />Info<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createWindowAndRenderer%2Ccint%2Ccint%2CUint32%2Cptr.ptr.Window%2Cptr.ptr.Renderer"
title="createWindowAndRenderer(width: cint; height: cint; windowFlags: Uint32;
window: ptr ptr Window; renderer: ptr ptr Renderer): cint"><wbr />create<wbr />Window<wbr />And<wbr />Renderer<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createRenderer%2Cptr.Window%2Ccint%2CUint32"
title="createRenderer(window: ptr Window; index: cint; flags: Uint32): ptr Renderer"><wbr />create<wbr />Renderer<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createSoftwareRenderer%2Cptr.Surface"
title="createSoftwareRenderer(surface: ptr Surface): ptr Renderer"><wbr />create<wbr />Software<wbr />Renderer<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRenderer%2Cptr.Window"
title="getRenderer(window: ptr Window): ptr Renderer"><wbr />get<wbr />Renderer<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRendererInfo%2Cptr.Renderer%2Cptr.RendererInfo"
title="getRendererInfo(renderer: ptr Renderer; info: ptr RendererInfo): cint"><wbr />get<wbr />Renderer<wbr />Info<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRendererOutputSize%2Cptr.Renderer%2Cptr.cint%2Cptr.cint"
title="getRendererOutputSize(renderer: ptr Renderer; w: ptr cint; h: ptr cint): cint"><wbr />get<wbr />Renderer<wbr />Output<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createTexture%2Cptr.Renderer%2CUint32%2Ccint%2Ccint%2Ccint"
title="createTexture(renderer: ptr Renderer; format: Uint32; access: cint; w: cint; h: cint): ptr Texture"><wbr />create<wbr />Texture<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#createTextureFromSurface%2Cptr.Renderer%2Cptr.Surface"
title="createTextureFromSurface(renderer: ptr Renderer; surface: ptr Surface): ptr Texture"><wbr />create<wbr />Texture<wbr />From<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#queryTexture%2Cptr.Texture%2Cptr.Uint32%2Cptr.cint%2Cptr.cint%2Cptr.cint"
title="queryTexture(texture: ptr Texture; format: ptr Uint32; access: ptr cint; w: ptr cint;
h: ptr cint): cint"><wbr />query<wbr />Texture<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#setTextureColorMod%2Cptr.Texture%2CUint8%2CUint8%2CUint8"
title="setTextureColorMod(texture: ptr Texture; r: Uint8; g: Uint8; b: Uint8): cint"><wbr />set<wbr />Texture<wbr />Color<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getTextureColorMod%2Cptr.Texture%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"
title="getTextureColorMod(texture: ptr Texture; r: ptr Uint8; g: ptr Uint8; b: ptr Uint8): cint"><wbr />get<wbr />Texture<wbr />Color<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#setTextureAlphaMod%2Cptr.Texture%2CUint8"
title="setTextureAlphaMod(texture: ptr Texture; alpha: Uint8): cint"><wbr />set<wbr />Texture<wbr />Alpha<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getTextureAlphaMod%2Cptr.Texture%2Cptr.Uint8"
title="getTextureAlphaMod(texture: ptr Texture; alpha: ptr Uint8): cint"><wbr />get<wbr />Texture<wbr />Alpha<wbr />Mod<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#setTextureBlendMode%2Cptr.Texture%2CBlendMode"
title="setTextureBlendMode(texture: ptr Texture; blendMode: BlendMode): cint"><wbr />set<wbr />Texture<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#getTextureBlendMode%2Cptr.Texture%2Cptr.BlendMode"
title="getTextureBlendMode(texture: ptr Texture; blendMode: ptr BlendMode): cint"><wbr />get<wbr />Texture<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#setTextureScaleMode%2Cptr.Texture%2CScaleMode"
title="setTextureScaleMode(texture: ptr Texture; scaleMode: ScaleMode): cint"><wbr />set<wbr />Texture<wbr />Scale<wbr />Mode<span class="attachedType">ScaleMode</span></a></li>
<li><a class="reference" href="#getTextureScaleMode%2Cptr.Texture%2Cptr.ScaleMode"
title="getTextureScaleMode(texture: ptr Texture; scaleMode: ptr ScaleMode): cint"><wbr />get<wbr />Texture<wbr />Scale<wbr />Mode<span class="attachedType">ScaleMode</span></a></li>
<li><a class="reference" href="#updateTexture%2Cptr.Texture%2Cptr.Rect%2Cpointer%2Ccint"
title="updateTexture(texture: ptr Texture; rect: ptr Rect; pixels: pointer; pitch: cint): cint"><wbr />update<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#updateYUVTexture%2Cptr.Texture%2Cptr.Rect%2Cptr.Uint8%2Ccint%2Cptr.Uint8%2Ccint%2Cptr.Uint8%2Ccint"
title="updateYUVTexture(texture: ptr Texture; rect: ptr Rect; Yplane: ptr Uint8; Ypitch: cint;
Uplane: ptr Uint8; Upitch: cint; Vplane: ptr Uint8; Vpitch: cint): cint"><wbr />update<wbr />YUVTexture<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#lockTexture%2Cptr.Texture%2Cptr.Rect%2Cptr.pointer%2Cptr.cint"
title="lockTexture(texture: ptr Texture; rect: ptr Rect; pixels: ptr pointer; pitch: ptr cint): cint"><wbr />lock<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#lockTextureToSurface%2Cptr.Texture%2Cptr.Rect%2Cptr.ptr.Surface"
title="lockTextureToSurface(texture: ptr Texture; rect: ptr Rect; surface: ptr ptr Surface): cint"><wbr />lock<wbr />Texture<wbr />To<wbr />Surface<span class="attachedType"></span></a></li>
<li><a class="reference" href="#unlockTexture%2Cptr.Texture"
title="unlockTexture(texture: ptr Texture)"><wbr />unlock<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderTargetSupported%2Cptr.Renderer"
title="renderTargetSupported(renderer: ptr Renderer): bool"><wbr />render<wbr />Target<wbr />Supported<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setRenderTarget%2Cptr.Renderer%2Cptr.Texture"
title="setRenderTarget(renderer: ptr Renderer; texture: ptr Texture): cint"><wbr />set<wbr />Render<wbr />Target<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRenderTarget%2Cptr.Renderer"
title="getRenderTarget(renderer: ptr Renderer): ptr Texture"><wbr />get<wbr />Render<wbr />Target<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderSetLogicalSize%2Cptr.Renderer%2Ccint%2Ccint"
title="renderSetLogicalSize(renderer: ptr Renderer; w: cint; h: cint): cint"><wbr />render<wbr />Set<wbr />Logical<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetLogicalSize%2Cptr.Renderer%2Cptr.cint%2Cptr.cint"
title="renderGetLogicalSize(renderer: ptr Renderer; w: ptr cint; h: ptr cint)"><wbr />render<wbr />Get<wbr />Logical<wbr />Size<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderSetIntegerScale%2Cptr.Renderer%2Cbool"
title="renderSetIntegerScale(renderer: ptr Renderer; enable: bool): cint"><wbr />render<wbr />Set<wbr />Integer<wbr />Scale<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetIntegerScale%2Cptr.Renderer"
title="renderGetIntegerScale(renderer: ptr Renderer): bool"><wbr />render<wbr />Get<wbr />Integer<wbr />Scale<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderSetViewport%2Cptr.Renderer%2Cptr.Rect"
title="renderSetViewport(renderer: ptr Renderer; rect: ptr Rect): cint"><wbr />render<wbr />Set<wbr />Viewport<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetViewport%2Cptr.Renderer%2Cptr.Rect"
title="renderGetViewport(renderer: ptr Renderer; rect: ptr Rect)"><wbr />render<wbr />Get<wbr />Viewport<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderSetClipRect%2Cptr.Renderer%2Cptr.Rect"
title="renderSetClipRect(renderer: ptr Renderer; rect: ptr Rect): cint"><wbr />render<wbr />Set<wbr />Clip<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetClipRect%2Cptr.Renderer%2Cptr.Rect"
title="renderGetClipRect(renderer: ptr Renderer; rect: ptr Rect)"><wbr />render<wbr />Get<wbr />Clip<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderIsClipEnabled%2Cptr.Renderer"
title="renderIsClipEnabled(renderer: ptr Renderer): bool"><wbr />render<wbr />Is<wbr />Clip<wbr />Enabled<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderSetScale%2Cptr.Renderer%2Ccfloat%2Ccfloat"
title="renderSetScale(renderer: ptr Renderer; scaleX: cfloat; scaleY: cfloat): cint"><wbr />render<wbr />Set<wbr />Scale<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetScale%2Cptr.Renderer%2Cptr.cfloat%2Cptr.cfloat"
title="renderGetScale(renderer: ptr Renderer; scaleX: ptr cfloat; scaleY: ptr cfloat)"><wbr />render<wbr />Get<wbr />Scale<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setRenderDrawColor%2Cptr.Renderer%2CUint8%2CUint8%2CUint8%2CUint8"
title="setRenderDrawColor(renderer: ptr Renderer; r: Uint8; g: Uint8; b: Uint8; a: Uint8): cint"><wbr />set<wbr />Render<wbr />Draw<wbr />Color<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#getRenderDrawColor%2Cptr.Renderer%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"
title="getRenderDrawColor(renderer: ptr Renderer; r: ptr Uint8; g: ptr Uint8; b: ptr Uint8;
a: ptr Uint8): cint"><wbr />get<wbr />Render<wbr />Draw<wbr />Color<span class="attachedType">Uint8</span></a></li>
<li><a class="reference" href="#setRenderDrawBlendMode%2Cptr.Renderer%2CBlendMode"
title="setRenderDrawBlendMode(renderer: ptr Renderer; blendMode: BlendMode): cint"><wbr />set<wbr />Render<wbr />Draw<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#getRenderDrawBlendMode%2Cptr.Renderer%2Cptr.BlendMode"
title="getRenderDrawBlendMode(renderer: ptr Renderer; blendMode: ptr BlendMode): cint"><wbr />get<wbr />Render<wbr />Draw<wbr />Blend<wbr />Mode<span class="attachedType">BlendMode</span></a></li>
<li><a class="reference" href="#renderClear%2Cptr.Renderer"
title="renderClear(renderer: ptr Renderer): cint"><wbr />render<wbr />Clear<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawPoint%2Cptr.Renderer%2Ccint%2Ccint"
title="renderDrawPoint(renderer: ptr Renderer; x: cint; y: cint): cint"><wbr />render<wbr />Draw<wbr />Point<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawPoints%2Cptr.Renderer%2Cptr.Point%2Ccint"
title="renderDrawPoints(renderer: ptr Renderer; points: ptr Point; count: cint): cint"><wbr />render<wbr />Draw<wbr />Points<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawLine%2Cptr.Renderer%2Ccint%2Ccint%2Ccint%2Ccint"
title="renderDrawLine(renderer: ptr Renderer; x1: cint; y1: cint; x2: cint; y2: cint): cint"><wbr />render<wbr />Draw<wbr />Line<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawLines%2Cptr.Renderer%2Cptr.Point%2Ccint"
title="renderDrawLines(renderer: ptr Renderer; points: ptr Point; count: cint): cint"><wbr />render<wbr />Draw<wbr />Lines<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawRect%2Cptr.Renderer%2Cptr.Rect"
title="renderDrawRect(renderer: ptr Renderer; rect: ptr Rect): cint"><wbr />render<wbr />Draw<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawRects%2Cptr.Renderer%2Cptr.Rect%2Ccint"
title="renderDrawRects(renderer: ptr Renderer; rects: ptr Rect; count: cint): cint"><wbr />render<wbr />Draw<wbr />Rects<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderFillRect%2Cptr.Renderer%2Cptr.Rect"
title="renderFillRect(renderer: ptr Renderer; rect: ptr Rect): cint"><wbr />render<wbr />Fill<wbr />Rect<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderFillRects%2Cptr.Renderer%2Cptr.Rect%2Ccint"
title="renderFillRects(renderer: ptr Renderer; rects: ptr Rect; count: cint): cint"><wbr />render<wbr />Fill<wbr />Rects<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderCopy%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.Rect"
title="renderCopy(renderer: ptr Renderer; texture: ptr Texture; srcrect: ptr Rect;
dstrect: ptr Rect): cint"><wbr />render<wbr />Copy<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderCopyEx%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.Rect%2Ccdouble%2Cptr.Point%2CRendererFlip"
title="renderCopyEx(renderer: ptr Renderer; texture: ptr Texture; srcrect: ptr Rect;
dstrect: ptr Rect; angle: cdouble; center: ptr Point; flip: RendererFlip): cint"><wbr />render<wbr />Copy<wbr />Ex<span class="attachedType">RendererFlip</span></a></li>
<li><a class="reference" href="#renderDrawPointF%2Cptr.Renderer%2Ccfloat%2Ccfloat"
title="renderDrawPointF(renderer: ptr Renderer; x: cfloat; y: cfloat): cint"><wbr />render<wbr />Draw<wbr />Point<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawPointsF%2Cptr.Renderer%2Cptr.FPoint%2Ccint"
title="renderDrawPointsF(renderer: ptr Renderer; points: ptr FPoint; count: cint): cint"><wbr />render<wbr />Draw<wbr />Points<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawLineF%2Cptr.Renderer%2Ccfloat%2Ccfloat%2Ccfloat%2Ccfloat"
title="renderDrawLineF(renderer: ptr Renderer; x1: cfloat; y1: cfloat; x2: cfloat; y2: cfloat): cint"><wbr />render<wbr />Draw<wbr />Line<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawLinesF%2Cptr.Renderer%2Cptr.FPoint%2Ccint"
title="renderDrawLinesF(renderer: ptr Renderer; points: ptr FPoint; count: cint): cint"><wbr />render<wbr />Draw<wbr />Lines<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawRectF%2Cptr.Renderer%2Cptr.FRect"
title="renderDrawRectF(renderer: ptr Renderer; rect: ptr FRect): cint"><wbr />render<wbr />Draw<wbr />Rect<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderDrawRectsF%2Cptr.Renderer%2Cptr.FRect%2Ccint"
title="renderDrawRectsF(renderer: ptr Renderer; rects: ptr FRect; count: cint): cint"><wbr />render<wbr />Draw<wbr />Rects<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderFillRectF%2Cptr.Renderer%2Cptr.FRect"
title="renderFillRectF(renderer: ptr Renderer; rect: ptr FRect): cint"><wbr />render<wbr />Fill<wbr />Rect<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderFillRectsF%2Cptr.Renderer%2Cptr.FRect%2Ccint"
title="renderFillRectsF(renderer: ptr Renderer; rects: ptr FRect; count: cint): cint"><wbr />render<wbr />Fill<wbr />Rects<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderCopyF%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.FRect"
title="renderCopyF(renderer: ptr Renderer; texture: ptr Texture; srcrect: ptr Rect;
dstrect: ptr FRect): cint"><wbr />render<wbr />Copy<wbr />F<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderCopyExF%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.FRect%2Ccdouble%2Cptr.FPoint%2CRendererFlip"
title="renderCopyExF(renderer: ptr Renderer; texture: ptr Texture; srcrect: ptr Rect;
dstrect: ptr FRect; angle: cdouble; center: ptr FPoint; flip: RendererFlip): cint"><wbr />render<wbr />Copy<wbr />Ex<wbr />F<span class="attachedType">RendererFlip</span></a></li>
<li><a class="reference" href="#renderReadPixels%2Cptr.Renderer%2Cptr.Rect%2CUint32%2Cpointer%2Ccint"
title="renderReadPixels(renderer: ptr Renderer; rect: ptr Rect; format: Uint32;
pixels: pointer; pitch: cint): cint"><wbr />render<wbr />Read<wbr />Pixels<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#renderPresent%2Cptr.Renderer"
title="renderPresent(renderer: ptr Renderer)"><wbr />render<wbr />Present<span class="attachedType"></span></a></li>
<li><a class="reference" href="#destroyTexture%2Cptr.Texture"
title="destroyTexture(texture: ptr Texture)"><wbr />destroy<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#destroyRenderer%2Cptr.Renderer"
title="destroyRenderer(renderer: ptr Renderer)"><wbr />destroy<wbr />Renderer<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderFlush%2Cptr.Renderer"
title="renderFlush(renderer: ptr Renderer): cint"><wbr />render<wbr />Flush<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_BindTexture%2Cptr.Texture%2Cptr.cfloat%2Cptr.cfloat"
title="gL_BindTexture(texture: ptr Texture; texw: ptr cfloat; texh: ptr cfloat): cint"><wbr />g<wbr />L_<wbr />Bind<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#gL_UnbindTexture%2Cptr.Texture"
title="gL_UnbindTexture(texture: ptr Texture): cint"><wbr />g<wbr />L_<wbr />Unbind<wbr />Texture<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetMetalLayer%2Cptr.Renderer"
title="renderGetMetalLayer(renderer: ptr Renderer): pointer"><wbr />render<wbr />Get<wbr />Metal<wbr />Layer<span class="attachedType"></span></a></li>
<li><a class="reference" href="#renderGetMetalCommandEncoder%2Cptr.Renderer"
title="renderGetMetalCommandEncoder(renderer: ptr Renderer): pointer"><wbr />render<wbr />Get<wbr />Metal<wbr />Command<wbr />Encoder<span class="attachedType"></span></a></li>
<li><a class="reference" href="#numSensors"
title="numSensors(): cint"><wbr />num<wbr />Sensors<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorGetDeviceName%2Ccint"
title="sensorGetDeviceName(deviceIndex: cint): cstring"><wbr />sensor<wbr />Get<wbr />Device<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorGetDeviceType%2Ccint"
title="sensorGetDeviceType(deviceIndex: cint): SensorType"><wbr />sensor<wbr />Get<wbr />Device<wbr />Type<span class="attachedType">SensorType</span></a></li>
<li><a class="reference" href="#sensorGetDeviceNonPortableType%2Ccint"
title="sensorGetDeviceNonPortableType(deviceIndex: cint): cint"><wbr />sensor<wbr />Get<wbr />Device<wbr />Non<wbr />Portable<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorGetDeviceInstanceID%2Ccint"
title="sensorGetDeviceInstanceID(deviceIndex: cint): SensorID"><wbr />sensor<wbr />Get<wbr />Device<wbr />Instance<wbr />ID<span class="attachedType">SensorID</span></a></li>
<li><a class="reference" href="#sensorOpen%2Ccint"
title="sensorOpen(deviceIndex: cint): ptr Sensor"><wbr />sensor<wbr />Open<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorFromInstanceID%2CSensorID"
title="sensorFromInstanceID(instanceId: SensorID): ptr Sensor"><wbr />sensor<wbr />From<wbr />Instance<wbr />ID<span class="attachedType">SensorID</span></a></li>
<li><a class="reference" href="#sensorGetName%2Cptr.Sensor"
title="sensorGetName(sensor: ptr Sensor): cstring"><wbr />sensor<wbr />Get<wbr />Name<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorGetType%2Cptr.Sensor"
title="sensorGetType(sensor: ptr Sensor): SensorType"><wbr />sensor<wbr />Get<wbr />Type<span class="attachedType">SensorType</span></a></li>
<li><a class="reference" href="#sensorGetNonPortableType%2Cptr.Sensor"
title="sensorGetNonPortableType(sensor: ptr Sensor): cint"><wbr />sensor<wbr />Get<wbr />Non<wbr />Portable<wbr />Type<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorGetInstanceID%2Cptr.Sensor"
title="sensorGetInstanceID(sensor: ptr Sensor): SensorID"><wbr />sensor<wbr />Get<wbr />Instance<wbr />ID<span class="attachedType">SensorID</span></a></li>
<li><a class="reference" href="#sensorGetData%2Cptr.Sensor%2Cptr.cfloat%2Ccint"
title="sensorGetData(sensor: ptr Sensor; data: ptr cfloat; numValues: cint): cint"><wbr />sensor<wbr />Get<wbr />Data<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorClose%2Cptr.Sensor"
title="sensorClose(sensor: ptr Sensor)"><wbr />sensor<wbr />Close<span class="attachedType"></span></a></li>
<li><a class="reference" href="#sensorUpdate"
title="sensorUpdate()"><wbr />sensor<wbr />Update<span class="attachedType"></span></a></li>
<li><a class="reference" href="#createShapedWindow%2Ccstring%2Ccuint%2Ccuint%2Ccuint%2Ccuint%2CUint32"
title="createShapedWindow(title: cstring; x: cuint; y: cuint; w: cuint; h: cuint; flags: Uint32): ptr Window"><wbr />create<wbr />Shaped<wbr />Window<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#isShapedWindow%2Cptr.Window"
title="isShapedWindow(window: ptr Window): bool"><wbr />is<wbr />Shaped<wbr />Window<span class="attachedType"></span></a></li>
<li><a class="reference" href="#setWindowShape%2Cptr.Window%2Cptr.Surface%2Cptr.WindowShapeMode"
title="setWindowShape(window: ptr Window; shape: ptr Surface; shapeMode: ptr WindowShapeMode): cint"><wbr />set<wbr />Window<wbr />Shape<span class="attachedType">WindowShapeMode</span></a></li>
<li><a class="reference" href="#getShapedWindowMode%2Cptr.Window%2Cptr.WindowShapeMode"
title="getShapedWindowMode(window: ptr Window; shapeMode: ptr WindowShapeMode): cint"><wbr />get<wbr />Shaped<wbr />Window<wbr />Mode<span class="attachedType">WindowShapeMode</span></a></li>
<li><a class="reference" href="#isTablet"
title="isTablet(): bool"><wbr />is<wbr />Tablet<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationWillTerminate"
title="onApplicationWillTerminate()"><wbr />on<wbr />Application<wbr />Will<wbr />Terminate<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationDidReceiveMemoryWarning"
title="onApplicationDidReceiveMemoryWarning()"><wbr />on<wbr />Application<wbr />Did<wbr />Receive<wbr />Memory<wbr />Warning<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationWillResignActive"
title="onApplicationWillResignActive()"><wbr />on<wbr />Application<wbr />Will<wbr />Resign<wbr />Active<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationDidEnterBackground"
title="onApplicationDidEnterBackground()"><wbr />on<wbr />Application<wbr />Did<wbr />Enter<wbr />Background<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationWillEnterForeground"
title="onApplicationWillEnterForeground()"><wbr />on<wbr />Application<wbr />Will<wbr />Enter<wbr />Foreground<span class="attachedType"></span></a></li>
<li><a class="reference" href="#onApplicationDidBecomeActive"
title="onApplicationDidBecomeActive()"><wbr />on<wbr />Application<wbr />Did<wbr />Become<wbr />Active<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getTicks"
title="getTicks(): Uint32"><wbr />get<wbr />Ticks<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#getPerformanceCounter"
title="getPerformanceCounter(): Uint64"><wbr />get<wbr />Performance<wbr />Counter<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#getPerformanceFrequency"
title="getPerformanceFrequency(): Uint64"><wbr />get<wbr />Performance<wbr />Frequency<span class="attachedType">Uint64</span></a></li>
<li><a class="reference" href="#delay%2CUint32"
title="delay(ms: Uint32)"><wbr />delay<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#addTimer%2CUint32%2CTimerCallback%2Cpointer"
title="addTimer(interval: Uint32; callback: TimerCallback; param: pointer): TimerID"><wbr />add<wbr />Timer<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#removeTimer%2CTimerID"
title="removeTimer(id: TimerID): bool"><wbr />remove<wbr />Timer<span class="attachedType">TimerID</span></a></li>
<li><a class="reference" href="#getVersion%2Cptr.Version"
title="getVersion(ver: ptr Version)"><wbr />get<wbr />Version<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRevision"
title="getRevision(): cstring"><wbr />get<wbr />Revision<span class="attachedType"></span></a></li>
<li><a class="reference" href="#getRevisionNumber"
title="getRevisionNumber(): cint"><wbr />get<wbr />Revision<wbr />Number<span class="attachedType"></span></a></li>
<li><a class="reference" href="#init%2CUint32"
title="init(flags: Uint32): cint"><wbr />init<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#initSubSystem%2CUint32"
title="initSubSystem(flags: Uint32): cint"><wbr />init<wbr />Sub<wbr />System<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#quitSubSystem%2CUint32"
title="quitSubSystem(flags: Uint32)"><wbr />quit<wbr />Sub<wbr />System<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#wasInit%2CUint32"
title="wasInit(flags: Uint32): Uint32"><wbr />was<wbr />Init<span class="attachedType">Uint32</span></a></li>
<li><a class="reference" href="#quit"
title="quit()"><wbr />quit<span class="attachedType"></span></a></li>
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#18" id="68">Templates</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#sdl_button.t%2Cuntyped"
title="sdl_button(x: untyped): untyped"><wbr />sdl_<wbr />button<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_UNDEFINED_DISPLAY.t%2Cuntyped"
title="WINDOWPOS_UNDEFINED_DISPLAY(x: untyped): untyped"><wbr />WINDOWPOS_<wbr />UNDEFINED_<wbr />DISPLAY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_ISUNDEFINED.t%2Cuntyped"
title="WINDOWPOS_ISUNDEFINED(x: untyped): untyped"><wbr />WINDOWPOS_<wbr />ISUNDEFINED<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_CENTERED_DISPLAY.t%2Cuntyped"
title="WINDOWPOS_CENTERED_DISPLAY(x: untyped): untyped"><wbr />WINDOWPOS_<wbr />CENTERED_<wbr />DISPLAY<span class="attachedType"></span></a></li>
<li><a class="reference" href="#WINDOWPOS_ISCENTERED.t%2Cuntyped"
title="WINDOWPOS_ISCENTERED(x: untyped): untyped"><wbr />WINDOWPOS_<wbr />ISCENTERED<span class="attachedType"></span></a></li>
</ul>
</li>
</ul>
</div>
<div class="nine columns" id="content">
<div id="tocRoot"></div>
<p class="module-desc"></p>
<div class="section" id="7">
<h1><a class="toc-backref" href="#7">Types</a></h1>
<dl class="item">
<a id="AssertState"></a>
<dt><pre><a href="sdl2.html#AssertState"><span class="Identifier">AssertState</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="errorcode"></a>
<dt><pre><a href="sdl2.html#errorcode"><span class="Identifier">errorcode</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="ThreadPriority"></a>
<dt><pre><a href="sdl2.html#ThreadPriority"><span class="Identifier">ThreadPriority</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="AudioStatus"></a>
<dt><pre><a href="sdl2.html#AudioStatus"><span class="Identifier">AudioStatus</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="PixelType"></a>
<dt><pre><a href="sdl2.html#PixelType"><span class="Identifier">PixelType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="BitmapOrder"></a>
<dt><pre><a href="sdl2.html#BitmapOrder"><span class="Identifier">BitmapOrder</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="PackedOrder"></a>
<dt><pre><a href="sdl2.html#PackedOrder"><span class="Identifier">PackedOrder</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="ArrayOrder"></a>
<dt><pre><a href="sdl2.html#ArrayOrder"><span class="Identifier">ArrayOrder</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="PackedLayout"></a>
<dt><pre><a href="sdl2.html#PackedLayout"><span class="Identifier">PackedLayout</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="PixelFormatEnum"></a>
<dt><pre><a href="sdl2.html#PixelFormatEnum"><span class="Identifier">PixelFormatEnum</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="BlendMode"></a>
<dt><pre><a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="BlendOperation"></a>
<dt><pre><a href="sdl2.html#BlendOperation"><span class="Identifier">BlendOperation</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="BlendFactor"></a>
<dt><pre><a href="sdl2.html#BlendFactor"><span class="Identifier">BlendFactor</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="YUV_CONVERSION_MODE"></a>
<dt><pre><a href="sdl2.html#YUV_CONVERSION_MODE"><span class="Identifier">YUV_CONVERSION_MODE</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="WindowFlags"></a>
<dt><pre><a href="sdl2.html#WindowFlags"><span class="Identifier">WindowFlags</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="WindowEventID"></a>
<dt><pre><a href="sdl2.html#WindowEventID"><span class="Identifier">WindowEventID</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="DisplayEventID"></a>
<dt><pre><a href="sdl2.html#DisplayEventID"><span class="Identifier">DisplayEventID</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="DisplayOrientation"></a>
<dt><pre><a href="sdl2.html#DisplayOrientation"><span class="Identifier">DisplayOrientation</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GLattr"></a>
<dt><pre><a href="sdl2.html#GLattr"><span class="Identifier">GLattr</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GLprofile"></a>
<dt><pre><a href="sdl2.html#GLprofile"><span class="Identifier">GLprofile</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GLcontextFlag"></a>
<dt><pre><a href="sdl2.html#GLcontextFlag"><span class="Identifier">GLcontextFlag</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GLcontextReleaseFlag"></a>
<dt><pre><a href="sdl2.html#GLcontextReleaseFlag"><span class="Identifier">GLcontextReleaseFlag</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GLContextResetNotificationEnum"></a>
<dt><pre><a href="sdl2.html#GLContextResetNotificationEnum"><span class="Identifier">GLContextResetNotificationEnum</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="HitTestResult"></a>
<dt><pre><a href="sdl2.html#HitTestResult"><span class="Identifier">HitTestResult</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="Scancode"></a>
<dt><pre><a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="KeyCodeEnum"></a>
<dt><pre><a href="sdl2.html#KeyCodeEnum"><span class="Identifier">KeyCodeEnum</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="Keymod"></a>
<dt><pre><a href="sdl2.html#Keymod"><span class="Identifier">Keymod</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="SystemCursor"></a>
<dt><pre><a href="sdl2.html#SystemCursor"><span class="Identifier">SystemCursor</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="MouseWheelDirection"></a>
<dt><pre><a href="sdl2.html#MouseWheelDirection"><span class="Identifier">MouseWheelDirection</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="JoystickType"></a>
<dt><pre><a href="sdl2.html#JoystickType"><span class="Identifier">JoystickType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="JoystickPowerLevel"></a>
<dt><pre><a href="sdl2.html#JoystickPowerLevel"><span class="Identifier">JoystickPowerLevel</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GameControllerType"></a>
<dt><pre><a href="sdl2.html#GameControllerType"><span class="Identifier">GameControllerType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GameControllerAxis"></a>
<dt><pre><a href="sdl2.html#GameControllerAxis"><span class="Identifier">GameControllerAxis</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="GameControllerButton"></a>
<dt><pre><a href="sdl2.html#GameControllerButton"><span class="Identifier">GameControllerButton</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="TouchDeviceType"></a>
<dt><pre><a href="sdl2.html#TouchDeviceType"><span class="Identifier">TouchDeviceType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="EventType"></a>
<dt><pre><a href="sdl2.html#EventType"><span class="Identifier">EventType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="eventaction"></a>
<dt><pre><a href="sdl2.html#eventaction"><span class="Identifier">eventaction</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="HintPriority"></a>
<dt><pre><a href="sdl2.html#HintPriority"><span class="Identifier">HintPriority</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="LogCategory"></a>
<dt><pre><a href="sdl2.html#LogCategory"><span class="Identifier">LogCategory</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="LogPriority"></a>
<dt><pre><a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="MessageBoxFlags"></a>
<dt><pre><a href="sdl2.html#MessageBoxFlags"><span class="Identifier">MessageBoxFlags</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="MessageBoxButtonFlags"></a>
<dt><pre><a href="sdl2.html#MessageBoxButtonFlags"><span class="Identifier">MessageBoxButtonFlags</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="MessageBoxColorType"></a>
<dt><pre><a href="sdl2.html#MessageBoxColorType"><span class="Identifier">MessageBoxColorType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="PowerState"></a>
<dt><pre><a href="sdl2.html#PowerState"><span class="Identifier">PowerState</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="RendererFlags"></a>
<dt><pre><a href="sdl2.html#RendererFlags"><span class="Identifier">RendererFlags</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="ScaleMode"></a>
<dt><pre><a href="sdl2.html#ScaleMode"><span class="Identifier">ScaleMode</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="TextureAccess"></a>
<dt><pre><a href="sdl2.html#TextureAccess"><span class="Identifier">TextureAccess</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="TextureModulate"></a>
<dt><pre><a href="sdl2.html#TextureModulate"><span class="Identifier">TextureModulate</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="RendererFlip"></a>
<dt><pre><a href="sdl2.html#RendererFlip"><span class="Identifier">RendererFlip</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="SensorType"></a>
<dt><pre><a href="sdl2.html#SensorType"><span class="Identifier">SensorType</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="WindowShapeMode"></a>
<dt><pre><a href="sdl2.html#WindowShapeMode"><span class="Identifier">WindowShapeMode</span></a> <span class="Other">=</span> <span class="Keyword">distinct</span> <span class="Identifier">cint</span></pre></dt>
<dd>
</dd>
<a id="RWops"></a>
<dt><pre><a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="BlitMap"></a>
<dt><pre><a href="sdl2.html#BlitMap"><span class="Identifier">BlitMap</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="GameControllerBindType"></a>
<dt><pre><a href="sdl2.html#GameControllerBindType"><span class="Identifier">GameControllerBindType</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">CONTROLLER_BINDTYPE_NONE</span> <span class="Other">=</span> <span class="DecNumber">0</span><span class="Other">,</span> <span class="Identifier">CONTROLLER_BINDTYPE_BUTTON</span><span class="Other">,</span>
<span class="Identifier">CONTROLLER_BINDTYPE_AXIS</span><span class="Other">,</span> <span class="Identifier">CONTROLLER_BINDTYPE_HAT</span></pre></dt>
<dd>
</dd>
<a id="Bool"></a>
<dt><pre><a href="sdl2.html#Bool"><span class="Identifier">Bool</span></a> <span class="Other">=</span> <span class="Identifier">bool</span></pre></dt>
<dd>
</dd>
<a id="GameControllerButtonBind"></a>
<dt><pre><a href="sdl2.html#GameControllerButtonBind"><span class="Identifier">GameControllerButtonBind</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Keyword">case</span> <span class="Identifier">bindType</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#GameControllerBindType"><span class="Identifier">GameControllerBindType</span></a>
<span class="Keyword">of</span> <span class="Identifier">CONTROLLER_BINDTYPE_BUTTON</span><span class="Other">:</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Keyword">of</span> <span class="Identifier">CONTROLLER_BINDTYPE_AXIS</span><span class="Other">:</span>
<span class="Identifier">axis</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Keyword">of</span> <span class="Identifier">CONTROLLER_BINDTYPE_HAT</span><span class="Other">:</span>
<span class="Identifier">hat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#ButtonBindHat"><span class="Identifier">ButtonBindHat</span></a>
<span class="Keyword">of</span> <span class="Identifier">CONTROLLER_BINDTYPE_NONE</span><span class="Other">:</span>
<span class="Keyword">nil</span>
</pre></dt>
<dd>
</dd>
<a id="ButtonBindHat"></a>
<dt><pre><a href="sdl2.html#ButtonBindHat"><span class="Identifier">ButtonBindHat</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">hat</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
<span class="Identifier">hatMask</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">int</span>
</pre></dt>
<dd>
</dd>
<a id="Sint8"></a>
<dt><pre><a href="sdl2.html#Sint8"><span class="Identifier">Sint8</span></a> <span class="Other">=</span> <span class="Identifier">int8</span></pre></dt>
<dd>
</dd>
<a id="Uint8"></a>
<dt><pre><a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Other">=</span> <span class="Identifier">uint8</span></pre></dt>
<dd>
</dd>
<a id="Sint16"></a>
<dt><pre><a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Other">=</span> <span class="Identifier">int16</span></pre></dt>
<dd>
</dd>
<a id="Uint16"></a>
<dt><pre><a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Other">=</span> <span class="Identifier">uint16</span></pre></dt>
<dd>
</dd>
<a id="Sint32"></a>
<dt><pre><a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Other">=</span> <span class="Identifier">int32</span></pre></dt>
<dd>
</dd>
<a id="Uint32"></a>
<dt><pre><a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Other">=</span> <span class="Identifier">uint32</span></pre></dt>
<dd>
</dd>
<a id="Sint64"></a>
<dt><pre><a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a> <span class="Other">=</span> <span class="Identifier">int64</span></pre></dt>
<dd>
</dd>
<a id="Uint64"></a>
<dt><pre><a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span class="Other">=</span> <span class="Identifier">uint64</span></pre></dt>
<dd>
</dd>
<a id="malloc_func"></a>
<dt><pre><a href="sdl2.html#malloc_func"><span class="Identifier">malloc_func</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="calloc_func"></a>
<dt><pre><a href="sdl2.html#calloc_func"><span class="Identifier">calloc_func</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">nmemb</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="realloc_func"></a>
<dt><pre><a href="sdl2.html#realloc_func"><span class="Identifier">realloc_func</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="free_func"></a>
<dt><pre><a href="sdl2.html#free_func"><span class="Identifier">free_func</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="iconv_t"></a>
<dt><pre><a href="sdl2.html#iconv_t"><span class="Identifier">iconv_t</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="main_func"></a>
<dt><pre><a href="sdl2.html#main_func"><span class="Identifier">main_func</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">argc</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">argv</span><span class="Other">:</span> <span class="Identifier">UncheckedArray</span><span class="Other">[</span><span class="Identifier">cstring</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="AssertData"></a>
<dt><pre><a href="sdl2.html#AssertData"><span class="Identifier">AssertData</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">alwaysIgnore</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">triggerCount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cuint</span>
<span class="Identifier">condition</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span>
<span class="Identifier">filename</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span>
<span class="Identifier">linenum</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">function</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span>
<span class="Identifier">next</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AssertData"><span class="Identifier">AssertData</span></a>
</pre></dt>
<dd>
</dd>
<a id="AssertionHandler"></a>
<dt><pre><a href="sdl2.html#AssertionHandler"><span class="Identifier">AssertionHandler</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">data</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AssertData"><span class="Identifier">AssertData</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AssertState"><span class="Identifier">AssertState</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="SpinLock"></a>
<dt><pre><a href="sdl2.html#SpinLock"><span class="Identifier">SpinLock</span></a> <span class="Other">=</span> <span class="Identifier">cint</span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\name SDL AtomicLock
The atomic locks are efficient spinlocks using CPU instructions,
but are vulnerable to starvation and can spin forever if a thread
holding a lock has been terminated. For this reason you should
minimize the code executed inside an atomic lock and never do
expensive things like API or system calls while holding them.
The atomic locks are not safe to lock recursively.
Porting Note:
The spin lock functions and type are required and can not be
emulated because they are used in the atomic emulation code.
@{</pre>
</dd>
<a id="atomic_t"></a>
<dt><pre><a href="sdl2.html#atomic_t"><span class="Identifier">atomic_t</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">value</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
</pre></dt>
<dd>
<pre>\brief A type representing an atomic integer value. It is a struct
so people don't accidentally use numeric operations on it.</pre>
</dd>
<a id="mutex"></a>
<dt><pre><a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="semaphore"></a>
<dt><pre><a href="sdl2.html#semaphore"><span class="Identifier">semaphore</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="sem"></a>
<dt><pre><a href="sdl2.html#sem"><span class="Identifier">sem</span></a> <span class="Other">=</span> <a href="sdl2.html#semaphore"><span class="Identifier">semaphore</span></a></pre></dt>
<dd>
</dd>
<a id="cond"></a>
<dt><pre><a href="sdl2.html#cond"><span class="Identifier">cond</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Thread"></a>
<dt><pre><a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="threadID"></a>
<dt><pre><a href="sdl2.html#threadID"><span class="Identifier">threadID</span></a> <span class="Other">=</span> <span class="Identifier">culong</span></pre></dt>
<dd>
<pre>The SDL thread ID</pre>
</dd>
<a id="TLSID"></a>
<dt><pre><a href="sdl2.html#TLSID"><span class="Identifier">TLSID</span></a> <span class="Other">=</span> <span class="Identifier">cuint</span></pre></dt>
<dd>
<pre>Thread local storage ID, 0 is the invalid ID</pre>
</dd>
<a id="ThreadFunction"></a>
<dt><pre><a href="sdl2.html#ThreadFunction"><span class="Identifier">ThreadFunction</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="AudioFormat"></a>
<dt><pre><a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a> <span class="Other">=</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\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.</pre>
</dd>
<a id="AudioCallback"></a>
<dt><pre><a href="sdl2.html#AudioCallback"><span class="Identifier">AudioCallback</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="AudioSpec"></a>
<dt><pre><a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">freq</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; DSP frequency -- samples per second</span>
<span class="Identifier">format</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Audio data format</span>
<span class="Identifier">channels</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Number of channels: 1 mono, 2 stereo</span>
<span class="Identifier">silence</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Audio buffer silence value (calculated)</span>
<span class="Identifier">samples</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Audio buffer size in sample FRAMES (total samples divided by channel count)</span>
<span class="Identifier">padding</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Necessary for some compile environments</span>
<span class="Identifier">size</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Audio buffer size in bytes (calculated)</span>
<span class="Identifier">callback</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#AudioCallback"><span class="Identifier">AudioCallback</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Callback that feeds the audio device (NULL to use SDL_QueueAudio()).</span>
<span class="Identifier">userdata</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Userdata passed to callback (ignored for NULL callbacks).</span>
</pre></dt>
<dd>
<pre>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)</pre>
</dd>
<a id="AudioCVT"></a>
<dt><pre><a href="sdl2.html#AudioCVT"><span class="Identifier">AudioCVT</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">needed</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Set to 1 if conversion possible</span>
<span class="Identifier">srcFormat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Source audio format</span>
<span class="Identifier">dstFormat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Target audio format</span>
<span class="Identifier">rateIncr</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Rate conversion increment</span>
<span class="Identifier">buf</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Buffer to hold entire audio data</span>
<span class="Identifier">len</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Length of original audio buffer</span>
<span class="Identifier">lenCvt</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Length of converted audio buffer</span>
<span class="Identifier">lenMult</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; buffer must be lenlen_mult big</span>
<span class="Identifier">lenRatio</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Given len, final size is lenlen_ratio</span>
<span class="Identifier">filters</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">9</span> <span class="Operator">+</span> <span class="Keyword">typeof</span><span class="Other">(</span><span class="DecNumber">9</span><span class="Other">)</span><span class="Other">(</span><span class="DecNumber">1</span><span class="Other">)</span><span class="Other">,</span> <a href="sdl2.html#AudioFilter"><span class="Identifier">AudioFilter</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; NULL-terminated list of filter functions</span>
<span class="Identifier">filterIndex</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Current audio conversion function</span>
</pre></dt>
<dd>
</dd>
<a id="AudioFilter"></a>
<dt><pre><a href="sdl2.html#AudioFilter"><span class="Identifier">AudioFilter</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">cvt</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioCVT"><span class="Identifier">AudioCVT</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="AudioDeviceID"></a>
<dt><pre><a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a> <span class="Other">=</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a></pre></dt>
<dd>
<pre>SDL Audio Device IDs.
A successful call to SDL_OpenAudio() is always device id 1, and legacy
SDL audio APIs assume you want this device ID. SDL_OpenAudioDevice() calls
always returns devices &gt;= 2 on success. The legacy calls are good both
for backwards compatibility and when you don't care about multiple,
specific, or capture devices.</pre>
</dd>
<a id="AudioStream"></a>
<dt><pre><a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Color"></a>
<dt><pre><a href="sdl2.html#Color"><span class="Identifier">Color</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">r</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">g</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">b</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">a</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
</dd>
<a id="Palette"></a>
<dt><pre><a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">ncolors</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">colors</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Color"><span class="Identifier">Color</span></a>
<span class="Identifier">Version</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">refcount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
</pre></dt>
<dd>
</dd>
<a id="PixelFormat"></a>
<dt><pre><a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">format</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">palette</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a>
<span class="Identifier">BitsPerPixel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">BytesPerPixel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">2</span><span class="Other">,</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">]</span>
<span class="Identifier">Rmask</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">Gmask</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">Bmask</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">Amask</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">Rloss</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Gloss</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Bloss</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Aloss</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Rshift</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Gshift</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Bshift</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">Ashift</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">refcount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">next</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a>
</pre></dt>
<dd>
<pre>\note Everything in the pixel format structure is read-only.</pre>
</dd>
<a id="Point"></a>
<dt><pre><a href="sdl2.html#Point"><span class="Identifier">Point</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
</pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief The structure that defines a point (integer)
\sa SDL_EnclosePoints
\sa SDL_PointInRect</pre>
</dd>
<a id="FPoint"></a>
<dt><pre><a href="sdl2.html#FPoint"><span class="Identifier">FPoint</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
</pre></dt>
<dd>
<pre>\brief The structure that defines a point (floating point)
\sa SDL_EnclosePoints
\sa SDL_PointInRect</pre>
</dd>
<a id="Rect"></a>
<dt><pre><a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">w</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
</pre></dt>
<dd>
<pre>\brief A rectangle, with the origin at the upper left (integer).
\sa SDL_RectEmpty
\sa SDL_RectEquals
\sa SDL_HasIntersection
\sa SDL_IntersectRect
\sa SDL_UnionRect
\sa SDL_EnclosePoints</pre>
</dd>
<a id="FRect"></a>
<dt><pre><a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">w</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
</pre></dt>
<dd>
<pre>\brief A rectangle, with the origin at the upper left (floating point).</pre>
</dd>
<a id="Surface"></a>
<dt><pre><a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">format</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">w</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">pitch</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">pixels</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-write</span>
<span class="Identifier">userdata</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-write</span>
<span class="Identifier">locked</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">lockData</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">clipRect</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-only</span>
<span class="Identifier">map</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#BlitMap"><span class="Identifier">BlitMap</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Private</span>
<span class="Identifier">refcount</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Read-mostly</span>
</pre></dt>
<dd>
<pre>\brief A collection of pixels used in software blitting.
\note This structure should be treated as read-only, except for \c pixels,
which, if not NULL, contains the raw pixel data for the surface.</pre>
</dd>
<a id="blit"></a>
<dt><pre><a href="sdl2.html#blit"><span class="Identifier">blit</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="DisplayMode"></a>
<dt><pre><a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">format</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; pixel format</span>
<span class="Identifier">w</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; width, in screen coordinates</span>
<span class="Identifier">h</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; height, in screen coordinates</span>
<span class="Identifier">refreshRate</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; refresh rate (or zero for unspecified)</span>
<span class="Identifier">driverdata</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; driver-specific data, initialize to 0</span>
</pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief The structure that defines a display mode
\sa SDL_GetNumDisplayModes()
\sa SDL_GetDisplayMode()
\sa SDL_GetDesktopDisplayMode()
\sa SDL_GetCurrentDisplayMode()
\sa SDL_GetClosestDisplayMode()
\sa SDL_SetWindowDisplayMode()
\sa SDL_GetWindowDisplayMode()</pre>
</dd>
<a id="Window"></a>
<dt><pre><a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="GLContext"></a>
<dt><pre><a href="sdl2.html#GLContext"><span class="Identifier">GLContext</span></a> <span class="Other">=</span> <span class="Identifier">pointer</span></pre></dt>
<dd>
<pre>\brief An opaque handle to an OpenGL context.</pre>
</dd>
<a id="HitTest"></a>
<dt><pre><a href="sdl2.html#HitTest"><span class="Identifier">HitTest</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">win</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">area</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Point"><span class="Identifier">Point</span></a><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#HitTestResult"><span class="Identifier">HitTestResult</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="Keycode"></a>
<dt><pre><a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a></pre></dt>
<dd>
<pre>vi: set ts=4 sw=4 expandtab:
\brief The SDL virtual key representation.
Values of this type are used to represent keyboard keys using the current
layout of the keyboard. These values include Unicode values representing
the unmodified character that would be generated by pressing the key, or
an SDLK_ constant for those keys that do not generate characters.
A special exception is the number keys at the top of the keyboard which
always map to SDLK_0...SDLK_9, regardless of layout.</pre>
</dd>
<a id="Keysym"></a>
<dt><pre><a href="sdl2.html#Keysym"><span class="Identifier">Keysym</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">scancode</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; SDL physical key code - see ::SDL_Scancode for details</span>
<span class="Identifier">sym</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; SDL virtual key code - see ::SDL_Keycode for details</span>
<span class="Other">`</span><span class="Keyword">mod</span><span class="Other">`</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; current key modifiers</span>
<span class="Identifier">unused</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
</pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief The SDL keysym structure, used in key events.
\note If you are looking for translated character input, see the ::SDL_TEXTINPUT event.</pre>
</dd>
<a id="Cursor"></a>
<dt><pre><a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Joystick"></a>
<dt><pre><a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="JoystickGUID"></a>
<dt><pre><a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">16</span><span class="Other">,</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">]</span>
</pre></dt>
<dd>
<pre>A structure that encodes the stable unique id for a joystick device</pre>
</dd>
<a id="JoystickID"></a>
<dt><pre><a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a></pre></dt>
<dd>
<pre>This is a unique ID for a joystick for the time it is connected to the system,
and is never reused for the lifetime of the application. If the joystick is
disconnected and reconnected, it will get a new ID.
The ID value starts at 0 and increments from there. The value -1 is an invalid ID.</pre>
</dd>
<a id="GameController"></a>
<dt><pre><a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="TouchID"></a>
<dt><pre><a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++</pre>
</dd>
<a id="FingerID"></a>
<dt><pre><a href="sdl2.html#FingerID"><span class="Identifier">FingerID</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a></pre></dt>
<dd>
</dd>
<a id="Finger"></a>
<dt><pre><a href="sdl2.html#Finger"><span class="Identifier">Finger</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">id</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#FingerID"><span class="Identifier">FingerID</span></a>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">pressure</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
</pre></dt>
<dd>
</dd>
<a id="GestureID"></a>
<dt><pre><a href="sdl2.html#GestureID"><span class="Identifier">GestureID</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++</pre>
</dd>
<a id="CommonEvent"></a>
<dt><pre><a href="sdl2.html#CommonEvent"><span class="Identifier">CommonEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
</pre></dt>
<dd>
<pre>\brief Fields shared by every event</pre>
</dd>
<a id="DisplayEvent"></a>
<dt><pre><a href="sdl2.html#DisplayEvent"><span class="Identifier">DisplayEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_DISPLAYEVENT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">display</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The associated display index</span>
<span class="Identifier">event</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_DisplayEventID</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">data1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; event dependent data</span>
</pre></dt>
<dd>
<pre>\brief Display state change event data (event.display.)</pre>
</dd>
<a id="WindowEvent"></a>
<dt><pre><a href="sdl2.html#WindowEvent"><span class="Identifier">WindowEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_WINDOWEVENT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The associated window</span>
<span class="Identifier">event</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_WindowEventID</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">data1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; event dependent data</span>
<span class="Identifier">data2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; event dependent data</span>
</pre></dt>
<dd>
<pre>\brief Window state change event data (event.window.)</pre>
</dd>
<a id="KeyboardEvent"></a>
<dt><pre><a href="sdl2.html#KeyboardEvent"><span class="Identifier">KeyboardEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_KEYDOWN or ::SDL_KEYUP</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with keyboard focus, if any</span>
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_PRESSED or ::SDL_RELEASED</span>
<span class="Identifier">repeat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Non-zero if this is a key repeat</span>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">keysym</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Keysym"><span class="Identifier">Keysym</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The key that was pressed or released</span>
</pre></dt>
<dd>
<pre>\brief Keyboard button event structure (event.key.)</pre>
</dd>
<a id="TextEditingEvent"></a>
<dt><pre><a href="sdl2.html#TextEditingEvent"><span class="Identifier">TextEditingEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_TEXTEDITING</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with keyboard focus, if any</span>
<span class="Identifier">text</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Other">(</span><span class="DecNumber">32</span><span class="Other">)</span><span class="Other">,</span> <span class="Identifier">cchar</span><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The editing text</span>
<span class="Identifier">start</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The start cursor of selected editing text</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The length of selected editing text</span>
</pre></dt>
<dd>
<pre>\brief Keyboard text editing event structure (event.edit.)</pre>
</dd>
<a id="TextInputEvent"></a>
<dt><pre><a href="sdl2.html#TextInputEvent"><span class="Identifier">TextInputEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_TEXTINPUT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with keyboard focus, if any</span>
<span class="Identifier">text</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Other">(</span><span class="DecNumber">32</span><span class="Other">)</span><span class="Other">,</span> <span class="Identifier">cchar</span><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The input text</span>
</pre></dt>
<dd>
<pre>\brief Keyboard text input event structure (event.text.)</pre>
</dd>
<a id="MouseMotionEvent"></a>
<dt><pre><a href="sdl2.html#MouseMotionEvent"><span class="Identifier">MouseMotionEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MOUSEMOTION</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with mouse focus, if any</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID</span>
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The current button state</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; X coordinate, relative to window</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Y coordinate, relative to window</span>
<span class="Identifier">xrel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The relative motion in the X direction</span>
<span class="Identifier">yrel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The relative motion in the Y direction</span>
</pre></dt>
<dd>
<pre>\brief Mouse motion event structure (event.motion.)</pre>
</dd>
<a id="MouseButtonEvent"></a>
<dt><pre><a href="sdl2.html#MouseButtonEvent"><span class="Identifier">MouseButtonEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with mouse focus, if any</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The mouse button index</span>
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_PRESSED or ::SDL_RELEASED</span>
<span class="Identifier">clicks</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; 1 for single-click, 2 for double-click, etc.</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; X coordinate, relative to window</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Y coordinate, relative to window</span>
</pre></dt>
<dd>
<pre>\brief Mouse button event structure (event.button.)</pre>
</dd>
<a id="MouseWheelEvent"></a>
<dt><pre><a href="sdl2.html#MouseWheelEvent"><span class="Identifier">MouseWheelEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MOUSEWHEEL</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window with mouse focus, if any</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The mouse instance id, or SDL_TOUCH_MOUSEID</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The amount scrolled horizontally, positive to the right and negative to the left</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The amount scrolled vertically, positive away from the user and negative toward the user</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Set to one of the SDL_MOUSEWHEEL_ defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back</span>
</pre></dt>
<dd>
<pre>\brief Mouse wheel event structure (event.wheel.)</pre>
</dd>
<a id="JoyAxisEvent"></a>
<dt><pre><a href="sdl2.html#JoyAxisEvent"><span class="Identifier">JoyAxisEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_JOYAXISMOTION</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">axis</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick axis index</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">value</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The axis value (range: -32768 to 32767)</span>
<span class="Identifier">padding4</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a>
</pre></dt>
<dd>
<pre>\brief Joystick axis motion event structure (event.jaxis.)</pre>
</dd>
<a id="JoyBallEvent"></a>
<dt><pre><a href="sdl2.html#JoyBallEvent"><span class="Identifier">JoyBallEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_JOYBALLMOTION</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">ball</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick trackball index</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">xrel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The relative motion in the X direction</span>
<span class="Identifier">yrel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The relative motion in the Y direction</span>
</pre></dt>
<dd>
<pre>\brief Joystick trackball motion event structure (event.jball.)</pre>
</dd>
<a id="JoyHatEvent"></a>
<dt><pre><a href="sdl2.html#JoyHatEvent"><span class="Identifier">JoyHatEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_JOYHATMOTION</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">hat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick hat index</span>
<span class="Identifier">value</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The hat position value.</span>
<span class="Comment">## \sa ::SDL_HAT_LEFTUP ::SDL_HAT_UP ::SDL_HAT_RIGHTUP</span>
<span class="Comment">## \sa ::SDL_HAT_LEFT ::SDL_HAT_CENTERED ::SDL_HAT_RIGHT</span>
<span class="Comment">## \sa ::SDL_HAT_LEFTDOWN ::SDL_HAT_DOWN ::SDL_HAT_RIGHTDOWN</span>
<span class="Comment">## </span>
<span class="Comment">## Note that zero means the POV is centered.</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
<pre>\brief Joystick hat position change event structure (event.jhat.)</pre>
</dd>
<a id="JoyButtonEvent"></a>
<dt><pre><a href="sdl2.html#JoyButtonEvent"><span class="Identifier">JoyButtonEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_JOYBUTTONDOWN or ::SDL_JOYBUTTONUP</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick button index</span>
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_PRESSED or ::SDL_RELEASED</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
<pre>\brief Joystick button event structure (event.jbutton.)</pre>
</dd>
<a id="JoyDeviceEvent"></a>
<dt><pre><a href="sdl2.html#JoyDeviceEvent"><span class="Identifier">JoyDeviceEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_JOYDEVICEADDED or ::SDL_JOYDEVICEREMOVED</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick device index for the ADDED event, instance id for the REMOVED event</span>
</pre></dt>
<dd>
<pre>\brief Joystick device event structure (event.jdevice.)</pre>
</dd>
<a id="ControllerAxisEvent"></a>
<dt><pre><a href="sdl2.html#ControllerAxisEvent"><span class="Identifier">ControllerAxisEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_CONTROLLERAXISMOTION</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">axis</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The controller axis (SDL_GameControllerAxis)</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">value</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The axis value (range: -32768 to 32767)</span>
<span class="Identifier">padding4</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a>
</pre></dt>
<dd>
<pre>\brief Game controller axis motion event structure (event.caxis.)</pre>
</dd>
<a id="ControllerButtonEvent"></a>
<dt><pre><a href="sdl2.html#ControllerButtonEvent"><span class="Identifier">ControllerButtonEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_CONTROLLERBUTTONDOWN or ::SDL_CONTROLLERBUTTONUP</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick instance id</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The controller button (SDL_GameControllerButton)</span>
<span class="Identifier">state</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_PRESSED or ::SDL_RELEASED</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
<pre>\brief Game controller button event structure (event.cbutton.)</pre>
</dd>
<a id="ControllerDeviceEvent"></a>
<dt><pre><a href="sdl2.html#ControllerDeviceEvent"><span class="Identifier">ControllerDeviceEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event</span>
</pre></dt>
<dd>
<pre>\brief Controller device event structure (event.cdevice.)</pre>
</dd>
<a id="AudioDeviceEvent"></a>
<dt><pre><a href="sdl2.html#AudioDeviceEvent"><span class="Identifier">AudioDeviceEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_AUDIODEVICEADDED, or ::SDL_AUDIODEVICEREMOVED</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The audio device index for the ADDED event (valid until next SDL_GetNumAudioDevices() call), SDL_AudioDeviceID for the REMOVED event</span>
<span class="Identifier">iscapture</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; zero if an output device, non-zero if a capture device.</span>
<span class="Identifier">padding1</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding2</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">padding3</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
<pre>\brief Audio device event structure (event.adevice.)</pre>
</dd>
<a id="TouchFingerEvent"></a>
<dt><pre><a href="sdl2.html#TouchFingerEvent"><span class="Identifier">TouchFingerEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_FINGERMOTION or ::SDL_FINGERDOWN or ::SDL_FINGERUP</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">touchId</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The touch device id</span>
<span class="Identifier">fingerId</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#FingerID"><span class="Identifier">FingerID</span></a>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized in the range 0...1</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized in the range 0...1</span>
<span class="Identifier">dx</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized in the range -1...1</span>
<span class="Identifier">dy</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized in the range -1...1</span>
<span class="Identifier">pressure</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized in the range 0...1</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window underneath the finger, if any</span>
</pre></dt>
<dd>
<pre>\brief Touch finger event structure (event.tfinger.)</pre>
</dd>
<a id="MultiGestureEvent"></a>
<dt><pre><a href="sdl2.html#MultiGestureEvent"><span class="Identifier">MultiGestureEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MULTIGESTURE</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">touchId</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The touch device id</span>
<span class="Identifier">dTheta</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">dDist</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">numFingers</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a>
<span class="Identifier">padding</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a>
</pre></dt>
<dd>
<pre>\brief Multiple Finger Gesture Event (event.mgesture.)</pre>
</dd>
<a id="DollarGestureEvent"></a>
<dt><pre><a href="sdl2.html#DollarGestureEvent"><span class="Identifier">DollarGestureEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_DOLLARGESTURE or ::SDL_DOLLARRECORD</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">touchId</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The touch device id</span>
<span class="Identifier">gestureId</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#GestureID"><span class="Identifier">GestureID</span></a>
<span class="Identifier">numFingers</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a>
<span class="Identifier">error</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span>
<span class="Identifier">x</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized center of gesture</span>
<span class="Identifier">y</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Normalized center of gesture</span>
</pre></dt>
<dd>
<pre>\brief Dollar Gesture Event (event.dgesture.)</pre>
</dd>
<a id="DropEvent"></a>
<dt><pre><a href="sdl2.html#DropEvent"><span class="Identifier">DropEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_DROPBEGIN or ::SDL_DROPFILE or ::SDL_DROPTEXT or ::SDL_DROPCOMPLETE</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">file</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The file name, which should be freed with SDL_free(), is NULL on begin/complete</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The window that was dropped on, if any</span>
</pre></dt>
<dd>
<pre>\brief An event used to request a file open by the system (event.drop.)
This event is enabled by default, you can disable it with SDL_EventState().
\note If this event is enabled, you must free the filename in the event.</pre>
</dd>
<a id="SensorEvent"></a>
<dt><pre><a href="sdl2.html#SensorEvent"><span class="Identifier">SensorEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_SENSORUPDATE</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">which</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The instance ID of the sensor</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">6</span><span class="Other">,</span> <span class="Identifier">cfloat</span><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData()</span>
</pre></dt>
<dd>
<pre>\brief Sensor event structure (event.sensor.)</pre>
</dd>
<a id="QuitEvent"></a>
<dt><pre><a href="sdl2.html#QuitEvent"><span class="Identifier">QuitEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_QUIT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
</pre></dt>
<dd>
<pre>\brief The &quot;quit requested&quot; event</pre>
</dd>
<a id="OSEvent"></a>
<dt><pre><a href="sdl2.html#OSEvent"><span class="Identifier">OSEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_QUIT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
</pre></dt>
<dd>
<pre>\brief OS Specific event</pre>
</dd>
<a id="UserEvent"></a>
<dt><pre><a href="sdl2.html#UserEvent"><span class="Identifier">UserEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_USEREVENT through ::SDL_LASTEVENT-1</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">windowID</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The associated window if any</span>
<span class="Identifier">code</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; User defined event code</span>
<span class="Identifier">data1</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; User defined data pointer</span>
<span class="Identifier">data2</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; User defined data pointer</span>
</pre></dt>
<dd>
<pre>\brief A user-defined event type (event.user.)</pre>
</dd>
<a id="SysWMmsg"></a>
<dt><pre><a href="sdl2.html#SysWMmsg"><span class="Identifier">SysWMmsg</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="SysWMEvent"></a>
<dt><pre><a href="sdl2.html#SysWMEvent"><span class="Identifier">SysWMEvent</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_SYSWMEVENT</span>
<span class="Identifier">timestamp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; In milliseconds, populated using SDL_GetTicks()</span>
<span class="Identifier">msg</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#SysWMmsg"><span class="Identifier">SysWMmsg</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; driver dependent data, defined in SDL_syswm.h</span>
</pre></dt>
<dd>
<pre>\brief A video driver dependent system event (event.syswm.)
This event is disabled by default, you can enable it with SDL_EventState()
\note If you want to use this event, you should include SDL_syswm.h.</pre>
</dd>
<a id="Event"></a>
<dt><pre><a href="sdl2.html#Event"><span class="Identifier">Event</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">union</span><span class="Other">,</span> <span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Event type, shared with all events</span>
<span class="Identifier">common</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#CommonEvent"><span class="Identifier">CommonEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Common event data</span>
<span class="Identifier">display</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#DisplayEvent"><span class="Identifier">DisplayEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Display event data</span>
<span class="Identifier">window</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#WindowEvent"><span class="Identifier">WindowEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Window event data</span>
<span class="Identifier">key</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#KeyboardEvent"><span class="Identifier">KeyboardEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Keyboard event data</span>
<span class="Identifier">edit</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TextEditingEvent"><span class="Identifier">TextEditingEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Text editing event data</span>
<span class="Identifier">text</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TextInputEvent"><span class="Identifier">TextInputEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Text input event data</span>
<span class="Identifier">motion</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#MouseMotionEvent"><span class="Identifier">MouseMotionEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Mouse motion event data</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#MouseButtonEvent"><span class="Identifier">MouseButtonEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Mouse button event data</span>
<span class="Identifier">wheel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#MouseWheelEvent"><span class="Identifier">MouseWheelEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Mouse wheel event data</span>
<span class="Identifier">jaxis</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoyAxisEvent"><span class="Identifier">JoyAxisEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Joystick axis event data</span>
<span class="Identifier">jball</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoyBallEvent"><span class="Identifier">JoyBallEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Joystick ball event data</span>
<span class="Identifier">jhat</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoyHatEvent"><span class="Identifier">JoyHatEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Joystick hat event data</span>
<span class="Identifier">jbutton</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoyButtonEvent"><span class="Identifier">JoyButtonEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Joystick button event data</span>
<span class="Identifier">jdevice</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#JoyDeviceEvent"><span class="Identifier">JoyDeviceEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Joystick device change event data</span>
<span class="Identifier">caxis</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#ControllerAxisEvent"><span class="Identifier">ControllerAxisEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Game Controller axis event data</span>
<span class="Identifier">cbutton</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#ControllerButtonEvent"><span class="Identifier">ControllerButtonEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Game Controller button event data</span>
<span class="Identifier">cdevice</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#ControllerDeviceEvent"><span class="Identifier">ControllerDeviceEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Game Controller device event data</span>
<span class="Identifier">adevice</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceEvent"><span class="Identifier">AudioDeviceEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Audio device event data</span>
<span class="Identifier">sensor</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#SensorEvent"><span class="Identifier">SensorEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Sensor event data</span>
<span class="Identifier">quit</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#QuitEvent"><span class="Identifier">QuitEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Quit request event data</span>
<span class="Identifier">user</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#UserEvent"><span class="Identifier">UserEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Custom event data</span>
<span class="Identifier">syswm</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#SysWMEvent"><span class="Identifier">SysWMEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; System dependent window event data</span>
<span class="Identifier">tfinger</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#TouchFingerEvent"><span class="Identifier">TouchFingerEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Touch finger event data</span>
<span class="Identifier">mgesture</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#MultiGestureEvent"><span class="Identifier">MultiGestureEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Gesture event data</span>
<span class="Identifier">dgesture</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#DollarGestureEvent"><span class="Identifier">DollarGestureEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Gesture event data</span>
<span class="Identifier">drop</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#DropEvent"><span class="Identifier">DropEvent</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Drag and drop event data</span>
<span class="Identifier">padding</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">56</span><span class="Other">,</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">]</span>
</pre></dt>
<dd>
<pre>\brief General event structure</pre>
</dd>
<a id="EventFilter"></a>
<dt><pre><a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">event</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="PHaptic"></a>
<dt><pre><a href="sdl2.html#PHaptic"><span class="Identifier">PHaptic</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Haptic"></a>
<dt><pre><a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a> <span class="Other">=</span> <a href="sdl2.html#PHaptic"><span class="Identifier">PHaptic</span></a></pre></dt>
<dd>
</dd>
<a id="HapticDirection"></a>
<dt><pre><a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The type of encoding.</span>
<span class="Identifier">dir</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The encoded direction.</span>
</pre></dt>
<dd>
<pre>\brief Structure that represents a haptic direction.
This is the direction where the force comes from,
instead of the direction in which the force is exerted.
Directions can be specified by:
- ::SDL_HAPTIC_POLAR : Specified by polar coordinates.
- ::SDL_HAPTIC_CARTESIAN : Specified by cartesian coordinates.
- ::SDL_HAPTIC_SPHERICAL : Specified by spherical coordinates.
Cardinal directions of the haptic device are relative to the positioning
of the device. North is considered to be away from the user.
The following diagram represents the cardinal directions:
\verbatim
.--.
|__| .-------.
|=.| |.-----.|
|--| || ||
| | |'-----'|
|__|~')_____('
[ COMPUTER ]
North (0,-1)
^
|
|
(-1,0) West &lt;----[ HAPTIC ]----&gt; East (1,0)
|
|
v
South (0,1)
[ USER ]
\|||/
(o o)
---ooO-(_)-Ooo---
\endverbatim
If type is ::SDL_HAPTIC_POLAR, direction is encoded by hundredths of a
degree starting north and turning clockwise. ::SDL_HAPTIC_POLAR only uses
the first \c dir parameter. The cardinal directions would be:
- North: 0 (0 degrees)
- East: 9000 (90 degrees)
- South: 18000 (180 degrees)
- West: 27000 (270 degrees)
If type is ::SDL_HAPTIC_CARTESIAN, direction is encoded by three positions
(X axis, Y axis and Z axis (with 3 axes)). ::SDL_HAPTIC_CARTESIAN uses
the first three \c dir parameters. The cardinal directions would be:
- North: 0,-1, 0
- East: 1, 0, 0
- South: 0, 1, 0
- West: -1, 0, 0
The Z axis represents the height of the effect if supported, otherwise
it's unused. In cartesian encoding (1, 2) would be the same as (2, 4), you
can use any multiple you want, only the direction matters.
If type is ::SDL_HAPTIC_SPHERICAL, direction is encoded by two rotations.
The first two \c dir parameters are used. The \c dir parameters are as
follows (all values are in hundredths of degrees):
- Degrees from (1, 0) rotated towards (0, 1).
- Degrees towards (0, 0, 1) (device needs at least 3 axes).
Example of force coming from the south with all encodings (force coming
from the south means the user will have to pull the stick to counteract):
\code
SDL_HapticDirection direction;
Cartesian directions
direction.type = SDL_HAPTIC_CARTESIAN; Using cartesian direction encoding.
direction.dir[0] = 0; X position
direction.dir[1] = 1; Y position
Assuming the device has 2 axes, we don't need to specify third parameter.
Polar directions
direction.type = SDL_HAPTIC_POLAR; We'll be using polar direction encoding.
direction.dir[0] = 18000; Polar only uses first parameter
Spherical coordinates
direction.type = SDL_HAPTIC_SPHERICAL; Spherical encoding
direction.dir[0] = 9000; Since we only have two axes we don't need more parameters.
\endcode
\sa SDL_HAPTIC_POLAR
\sa SDL_HAPTIC_CARTESIAN
\sa SDL_HAPTIC_SPHERICAL
\sa SDL_HapticEffect
\sa SDL_HapticNumAxes</pre>
</dd>
<a id="HapticConstant"></a>
<dt><pre><a href="sdl2.html#HapticConstant"><span class="Identifier">HapticConstant</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_CONSTANT</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Direction of the effect.</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect.</span>
<span class="Identifier">delay</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Delay before starting the effect.</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Button that triggers the effect.</span>
<span class="Identifier">interval</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How soon it can be triggered again after button.</span>
<span class="Identifier">level</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Strength of the constant effect.</span>
<span class="Identifier">attackLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the attack.</span>
<span class="Identifier">attackLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the start of the attack.</span>
<span class="Identifier">fadeLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the fade.</span>
<span class="Identifier">fadeLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the end of the fade.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for a Constant effect.
This struct is exclusively for the ::SDL_HAPTIC_CONSTANT effect.
A constant effect applies a constant force in the specified direction
to the joystick.
\sa SDL_HAPTIC_CONSTANT
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticPeriodic"></a>
<dt><pre><a href="sdl2.html#HapticPeriodic"><span class="Identifier">HapticPeriodic</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_SINE, ::SDL_HAPTIC_LEFTRIGHT,</span>
<span class="Comment">## ::SDL_HAPTIC_TRIANGLE, ::SDL_HAPTIC_SAWTOOTHUP or</span>
<span class="Comment">## ::SDL_HAPTIC_SAWTOOTHDOWN</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Direction of the effect.</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect.</span>
<span class="Identifier">delay</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Delay before starting the effect.</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Button that triggers the effect.</span>
<span class="Identifier">interval</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How soon it can be triggered again after button.</span>
<span class="Identifier">period</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Period of the wave.</span>
<span class="Identifier">magnitude</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Peak value; if negative, equivalent to 180 degrees extra phase shift.</span>
<span class="Identifier">offset</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Mean value of the wave.</span>
<span class="Identifier">phase</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Positive phase shift given by hundredth of a degree.</span>
<span class="Identifier">attackLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the attack.</span>
<span class="Identifier">attackLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the start of the attack.</span>
<span class="Identifier">fadeLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the fade.</span>
<span class="Identifier">fadeLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the end of the fade.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for a Periodic effect.
The struct handles the following effects:
- ::SDL_HAPTIC_SINE
- ::SDL_HAPTIC_LEFTRIGHT
- ::SDL_HAPTIC_TRIANGLE
- ::SDL_HAPTIC_SAWTOOTHUP
- ::SDL_HAPTIC_SAWTOOTHDOWN
A periodic effect consists in a wave-shaped effect that repeats itself
over time. The type determines the shape of the wave and the parameters
determine the dimensions of the wave.
Phase is given by hundredth of a degree meaning that giving the phase a value
of 9000 will displace it 25% of its period. Here are sample values:
- 0: No phase displacement.
- 9000: Displaced 25% of its period.
- 18000: Displaced 50% of its period.
- 27000: Displaced 75% of its period.
- 36000: Displaced 100% of its period, same as 0, but 0 is preferred.
Examples:
\verbatim
SDL_HAPTIC_SINE
__ __ __ __
/ \ / \ / \ /
/ \__/ \__/ \__/
SDL_HAPTIC_SQUARE
__ __ __ __ __
| | | | | | | | | |
| |__| |__| |__| |__| |
SDL_HAPTIC_TRIANGLE
/\ /\ /\ /\ /\
/ \ / \ / \ / \ /
/ \/ \/ \/ \/
SDL_HAPTIC_SAWTOOTHUP
/| /| /| /| /| /| /|
/ | / | / | / | / | / | / |
/ |/ |/ |/ |/ |/ |/ |
SDL_HAPTIC_SAWTOOTHDOWN
\ |\ |\ |\ |\ |\ |\ |
\ | \ | \ | \ | \ | \ | \ |
\| \| \| \| \| \| \|
\endverbatim
\sa SDL_HAPTIC_SINE
\sa SDL_HAPTIC_LEFTRIGHT
\sa SDL_HAPTIC_TRIANGLE
\sa SDL_HAPTIC_SAWTOOTHUP
\sa SDL_HAPTIC_SAWTOOTHDOWN
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticCondition"></a>
<dt><pre><a href="sdl2.html#HapticCondition"><span class="Identifier">HapticCondition</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_SPRING, ::SDL_HAPTIC_DAMPER,</span>
<span class="Comment">## ::SDL_HAPTIC_INERTIA or ::SDL_HAPTIC_FRICTION</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Direction of the effect - Not used ATM.</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect.</span>
<span class="Identifier">delay</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Delay before starting the effect.</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Button that triggers the effect.</span>
<span class="Identifier">interval</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How soon it can be triggered again after button.</span>
<span class="Identifier">rightSat</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level when joystick is to the positive side; max 0xFFFF.</span>
<span class="Identifier">leftSat</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level when joystick is to the negative side; max 0xFFFF.</span>
<span class="Identifier">rightCoeff</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How fast to increase the force towards the positive side.</span>
<span class="Identifier">leftCoeff</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How fast to increase the force towards the negative side.</span>
<span class="Identifier">deadband</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered.</span>
<span class="Identifier">center</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">3</span><span class="Other">,</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Position of the dead zone.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for a Condition effect.
The struct handles the following effects:
- ::SDL_HAPTIC_SPRING: Effect based on axes position.
- ::SDL_HAPTIC_DAMPER: Effect based on axes velocity.
- ::SDL_HAPTIC_INERTIA: Effect based on axes acceleration.
- ::SDL_HAPTIC_FRICTION: Effect based on axes movement.
Direction is handled by condition internals instead of a direction member.
The condition effect specific members have three parameters. The first
refers to the X axis, the second refers to the Y axis and the third
refers to the Z axis. The right terms refer to the positive side of the
axis and the left terms refer to the negative side of the axis. Please
refer to the ::SDL_HapticDirection diagram for which side is positive and
which is negative.
\sa SDL_HapticDirection
\sa SDL_HAPTIC_SPRING
\sa SDL_HAPTIC_DAMPER
\sa SDL_HAPTIC_INERTIA
\sa SDL_HAPTIC_FRICTION
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticRamp"></a>
<dt><pre><a href="sdl2.html#HapticRamp"><span class="Identifier">HapticRamp</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_RAMP</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Direction of the effect.</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect.</span>
<span class="Identifier">delay</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Delay before starting the effect.</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Button that triggers the effect.</span>
<span class="Identifier">interval</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How soon it can be triggered again after button.</span>
<span class="Identifier">start</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Beginning strength level.</span>
<span class="Other">`</span><span class="Keyword">end</span><span class="Other">`</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Ending strength level.</span>
<span class="Identifier">attackLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the attack.</span>
<span class="Identifier">attackLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the start of the attack.</span>
<span class="Identifier">fadeLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the fade.</span>
<span class="Identifier">fadeLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the end of the fade.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for a Ramp effect.
This struct is exclusively for the ::SDL_HAPTIC_RAMP effect.
The ramp effect starts at start strength and ends at end strength.
It augments in linear fashion. If you use attack and fade with a ramp
the effects get added to the ramp effect making the effect become
quadratic instead of linear.
\sa SDL_HAPTIC_RAMP
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticLeftRight"></a>
<dt><pre><a href="sdl2.html#HapticLeftRight"><span class="Identifier">HapticLeftRight</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_LEFTRIGHT</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect in milliseconds.</span>
<span class="Identifier">largeMagnitude</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Control of the large controller motor.</span>
<span class="Identifier">smallMagnitude</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Control of the small controller motor.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for a Left/Right effect.
This struct is exclusively for the ::SDL_HAPTIC_LEFTRIGHT effect.
The Left/Right effect is used to explicitly control the large and small
motors, commonly found in modern game controllers. The small (right) motor
is high frequency, and the large (left) motor is low frequency.
\sa SDL_HAPTIC_LEFTRIGHT
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticCustom"></a>
<dt><pre><a href="sdl2.html#HapticCustom"><span class="Identifier">HapticCustom</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_HAPTIC_CUSTOM</span>
<span class="Identifier">direction</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticDirection"><span class="Identifier">HapticDirection</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Direction of the effect.</span>
<span class="Identifier">length</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the effect.</span>
<span class="Identifier">delay</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Delay before starting the effect.</span>
<span class="Identifier">button</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Button that triggers the effect.</span>
<span class="Identifier">interval</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; How soon it can be triggered again after button.</span>
<span class="Identifier">channels</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Axes to use, minimum of one.</span>
<span class="Identifier">period</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Sample periods.</span>
<span class="Identifier">samples</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Amount of samples.</span>
<span class="Identifier">data</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Should contain channelssamples items.</span>
<span class="Identifier">attackLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the attack.</span>
<span class="Identifier">attackLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the start of the attack.</span>
<span class="Identifier">fadeLength</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Duration of the fade.</span>
<span class="Identifier">fadeLevel</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Level at the end of the fade.</span>
</pre></dt>
<dd>
<pre>\brief A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
This struct is exclusively for the ::SDL_HAPTIC_CUSTOM effect.
A custom force feedback effect is much like a periodic effect, where the
application can define its exact shape. You will have to allocate the
data yourself. Data should consist of channels samples Uint16 samples.
If channels is one, the effect is rotated using the defined direction.
Otherwise it uses the samples in data for the different axes.
\sa SDL_HAPTIC_CUSTOM
\sa SDL_HapticEffect</pre>
</dd>
<a id="HapticEffect"></a>
<dt><pre><a href="sdl2.html#HapticEffect"><span class="Identifier">HapticEffect</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">union</span><span class="Other">,</span> <span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Effect type.</span>
<span class="Identifier">constant</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticConstant"><span class="Identifier">HapticConstant</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Constant effect.</span>
<span class="Identifier">periodic</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticPeriodic"><span class="Identifier">HapticPeriodic</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Periodic effect.</span>
<span class="Identifier">condition</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticCondition"><span class="Identifier">HapticCondition</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Condition effect.</span>
<span class="Identifier">ramp</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticRamp"><span class="Identifier">HapticRamp</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Ramp effect.</span>
<span class="Identifier">leftright</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticLeftRight"><span class="Identifier">HapticLeftRight</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Left/Right effect.</span>
<span class="Identifier">custom</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#HapticCustom"><span class="Identifier">HapticCustom</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Custom effect.</span>
</pre></dt>
<dd>
<pre>\brief The generic template for any haptic effect.
All values max at 32767 (0x7FFF). Signed values also can be negative.
Time values unless specified otherwise are in milliseconds.
You can also pass ::SDL_HAPTIC_INFINITY to length instead of a 0-32767
value. Neither delay, interval, attack_length nor fade_length support
::SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends.
Additionally, the ::SDL_HAPTIC_RAMP effect does not support a duration of
::SDL_HAPTIC_INFINITY.
Button triggers may not be supported on all devices, it is advised to not
use them if possible. Buttons start at index 1 instead of index 0 like
the joystick.
If both attack_length and fade_level are 0, the envelope is not used,
otherwise both values are used.
Common parts:
\code
Replay - All effects have this
Uint32 length; Duration of effect (ms).
Uint16 delay; Delay before starting effect.
Trigger - All effects have this
Uint16 button; Button that triggers effect.
Uint16 interval; How soon before effect can be triggered again.
Envelope - All effects except condition effects have this
Uint16 attack_length; Duration of the attack (ms).
Uint16 attack_level; Level at the start of the attack.
Uint16 fade_length; Duration of the fade out (ms).
Uint16 fade_level; Level at the end of the fade.
\endcode
Here we have an example of a constant effect evolution in time:
\verbatim
Strength
^
|
| effect level --&gt; _________________
| / \
| / \
| / \
| / \
| attack_level --&gt; | \
| | | &lt;--- fade_level
|
+--------------------------------------------------&gt; Time
[--] [---]
attack_length fade_length
[------------------][-----------------------]
delay length
\endverbatim
Note either the attack_level or the fade_level may be above the actual
effect level.
\sa SDL_HapticConstant
\sa SDL_HapticPeriodic
\sa SDL_HapticCondition
\sa SDL_HapticRamp
\sa SDL_HapticLeftRight
\sa SDL_HapticCustom</pre>
</dd>
<a id="HintCallback"></a>
<dt><pre><a href="sdl2.html#HintCallback"><span class="Identifier">HintCallback</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">oldValue</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span>
<span class="Identifier">newValue</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="LogOutputFunction"></a>
<dt><pre><a href="sdl2.html#LogOutputFunction"><span class="Identifier">LogOutputFunction</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a><span class="Other">;</span>
<span class="Identifier">message</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="MessageBoxButtonData"></a>
<dt><pre><a href="sdl2.html#MessageBoxButtonData"><span class="Identifier">MessageBoxButtonData</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MessageBoxButtonFlags</span>
<span class="Identifier">buttonid</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; User defined button id (value returned via SDL_ShowMessageBox)</span>
<span class="Identifier">text</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The UTF-8 button text</span>
</pre></dt>
<dd>
<pre>\brief Individual button data.</pre>
</dd>
<a id="MessageBoxColor"></a>
<dt><pre><a href="sdl2.html#MessageBoxColor"><span class="Identifier">MessageBoxColor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">r</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">g</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">b</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
</pre></dt>
<dd>
<pre>\brief RGB value used in a message box color scheme</pre>
</dd>
<a id="MessageBoxColorScheme"></a>
<dt><pre><a href="sdl2.html#MessageBoxColorScheme"><span class="Identifier">MessageBoxColorScheme</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">colors</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="Identifier">MESSAGEBOX_COLOR_MAX</span><span class="Other">,</span> <a href="sdl2.html#MessageBoxColor"><span class="Identifier">MessageBoxColor</span></a><span class="Other">]</span>
</pre></dt>
<dd>
<pre>\brief A set of colors to use for message box dialogs</pre>
</dd>
<a id="MessageBoxData"></a>
<dt><pre><a href="sdl2.html#MessageBoxData"><span class="Identifier">MessageBoxData</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MessageBoxFlags</span>
<span class="Identifier">window</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Parent window, can be NULL</span>
<span class="Identifier">title</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; UTF-8 title</span>
<span class="Identifier">message</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; UTF-8 message text</span>
<span class="Identifier">numbuttons</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span>
<span class="Identifier">buttons</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#MessageBoxButtonData"><span class="Identifier">MessageBoxButtonData</span></a>
<span class="Identifier">colorScheme</span><span class="Operator">*</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#MessageBoxColorScheme"><span class="Identifier">MessageBoxColorScheme</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; ::SDL_MessageBoxColorScheme, can be NULL to use system settings</span>
</pre></dt>
<dd>
<pre>\brief MessageBox structure containing title, text, window, etc.</pre>
</dd>
<a id="MetalView"></a>
<dt><pre><a href="sdl2.html#MetalView"><span class="Identifier">MetalView</span></a> <span class="Other">=</span> <span class="Identifier">pointer</span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief A handle to a CAMetalLayer-backed NSView (macOS) or UIView (iOS/tvOS).
\note This can be cast directly to an NSView or UIView.</pre>
</dd>
<a id="RendererInfo"></a>
<dt><pre><a href="sdl2.html#RendererInfo"><span class="Identifier">RendererInfo</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">name</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The name of the renderer</span>
<span class="Identifier">flags</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; Supported ::SDL_RendererFlags</span>
<span class="Identifier">numTextureFormats</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The number of available texture formats</span>
<span class="Identifier">textureFormats</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">array</span><span class="Other">[</span><span class="DecNumber">16</span><span class="Other">,</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">]</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The available texture formats</span>
<span class="Identifier">maxTextureWidth</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The maximum texture width</span>
<span class="Identifier">maxTextureHeight</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">cint</span> <span class="Comment">## ::</span>
<span class="Comment">## &lt; The maximum texture height</span>
</pre></dt>
<dd>
<pre>\brief Information on the capabilities of a render driver or context.</pre>
</dd>
<a id="Renderer"></a>
<dt><pre><a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Texture"></a>
<dt><pre><a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="Sensor"></a>
<dt><pre><a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">incompleteStruct</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span></pre></dt>
<dd>
</dd>
<a id="SensorID"></a>
<dt><pre><a href="sdl2.html#SensorID"><span class="Identifier">SensorID</span></a> <span class="Other">=</span> <a href="sdl2.html#Sint32"><span class="Identifier">Sint32</span></a></pre></dt>
<dd>
<pre>This is a unique ID for a sensor for the time it is connected to the system,
and is never reused for the lifetime of the application.
The ID value starts at 0 and increments from there. The value -1 is an invalid ID.</pre>
</dd>
<a id="WindowShapeParams"></a>
<dt><pre><a href="sdl2.html#WindowShapeParams"><span class="Identifier">WindowShapeParams</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">union</span><span class="Other">,</span> <span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">binarizationCutoff</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a>
<span class="Identifier">colorKey</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Color"><span class="Identifier">Color</span></a>
</pre></dt>
<dd>
<pre>\brief A union containing parameters for shaped windows.</pre>
</dd>
<a id="TimerCallback"></a>
<dt><pre><a href="sdl2.html#TimerCallback"><span class="Identifier">TimerCallback</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">interval</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">param</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="TimerID"></a>
<dt><pre><a href="sdl2.html#TimerID"><span class="Identifier">TimerID</span></a> <span class="Other">=</span> <span class="Identifier">cint</span></pre></dt>
<dd>
<pre>Definition of the timer ID type.</pre>
</dd>
<a id="Version"></a>
<dt><pre><a href="sdl2.html#Version"><span class="Identifier">Version</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">bycopy</span></span><span class="Other">.}</span></span> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">major</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; major version</span>
<span class="Identifier">minor</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; minor version</span>
<span class="Identifier">patch</span><span class="Operator">*</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span class="Comment">## ::</span>
<span class="Comment">## &lt; update version</span>
</pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief Information the version of SDL in use.
Represents the library's version as three levels: major revision
(increments with massive changes, additions, and enhancements),
minor revision (increments with backwards-compatible changes to the
major revision), and patchlevel (increments with fixes to the minor
revision).
\sa SDL_VERSION
\sa SDL_GetVersion</pre>
</dd>
</dl></div>
<div class="section" id="10">
<h1><a class="toc-backref" href="#10">Consts</a></h1>
<dl class="item">
<a id="SDLCacheDir"></a>
<dt><pre><a href="sdl2.html#SDLCacheDir"><span class="Identifier">SDLCacheDir</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build&quot;</span></pre></dt>
<dd>
</dd>
<a id="SDLStd"></a>
<dt><pre><a href="sdl2.html#SDLStd"><span class="Identifier">SDLStd</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
</dd>
<a id="SDLGit"></a>
<dt><pre><a href="sdl2.html#SDLGit"><span class="Identifier">SDLGit</span></a> <span class="Other">=</span> <span class="DecNumber">false</span></pre></dt>
<dd>
</dd>
<a id="SDLDL"></a>
<dt><pre><a href="sdl2.html#SDLDL"><span class="Identifier">SDLDL</span></a> <span class="Other">=</span> <span class="DecNumber">true</span></pre></dt>
<dd>
</dd>
<a id="SDLStatic"></a>
<dt><pre><a href="sdl2.html#SDLStatic"><span class="Identifier">SDLStatic</span></a> <span class="Other">=</span> <span class="DecNumber">true</span></pre></dt>
<dd>
</dd>
<a id="SDLSetVer"></a>
<dt><pre><a href="sdl2.html#SDLSetVer"><span class="Identifier">SDLSetVer</span></a> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span></pre></dt>
<dd>
</dd>
<a id="SDLLPath"></a>
<dt><pre><a href="sdl2.html#SDLLPath"><span class="Identifier">SDLLPath</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2.a&quot;</span></pre></dt>
<dd>
</dd>
<a id="SDLPath"></a>
<dt><pre><a href="sdl2.html#SDLPath"><span class="Identifier">SDLPath</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/include/SDL.h&quot;</span></pre></dt>
<dd>
</dd>
<a id="MIN_UINT8"></a>
<dt><pre><a href="sdl2.html#MIN_UINT8"><span class="Identifier">MIN_UINT8</span></a> <span class="Other">=</span> <span class="DecNumber">0'u8</span></pre></dt>
<dd>
</dd>
<a id="MIN_UINT64"></a>
<dt><pre><a href="sdl2.html#MIN_UINT64"><span class="Identifier">MIN_UINT64</span></a> <span class="Other">=</span> <span class="DecNumber">0'u64</span></pre></dt>
<dd>
</dd>
<a id="MAX_SINT16"></a>
<dt><pre><a href="sdl2.html#MAX_SINT16"><span class="Identifier">MAX_SINT16</span></a> <span class="Other">=</span> <span class="DecNumber">32767'i16</span></pre></dt>
<dd>
</dd>
<a id="MAX_SINT32"></a>
<dt><pre><a href="sdl2.html#MAX_SINT32"><span class="Identifier">MAX_SINT32</span></a> <span class="Other">=</span> <span class="DecNumber">2147483647'i32</span></pre></dt>
<dd>
</dd>
<a id="Colour"></a>
<dt><pre><a href="sdl2.html#Colour"><span class="Identifier">Colour</span></a> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span></pre></dt>
<dd>
</dd>
<a id="MOUSE_TOUCHID"></a>
<dt><pre><a href="sdl2.html#MOUSE_TOUCHID"><span class="Identifier">MOUSE_TOUCHID</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i64</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_CENTERED_MASK"></a>
<dt><pre><a href="sdl2.html#WINDOWPOS_CENTERED_MASK"><span class="Identifier">WINDOWPOS_CENTERED_MASK</span></a> <span class="Other">=</span> <span class="DecNumber">805240832'u</span></pre></dt>
<dd>
</dd>
<a id="MAX_UINT8"></a>
<dt><pre><a href="sdl2.html#MAX_UINT8"><span class="Identifier">MAX_UINT8</span></a> <span class="Other">=</span> <span class="DecNumber">255'u8</span></pre></dt>
<dd>
</dd>
<a id="BlitScaled"></a>
<dt><pre><a href="sdl2.html#BlitScaled"><span class="Identifier">BlitScaled</span></a> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span></pre></dt>
<dd>
</dd>
<a id="MIN_SINT8"></a>
<dt><pre><a href="sdl2.html#MIN_SINT8"><span class="Identifier">MIN_SINT8</span></a> <span class="Other">=</span> <span class="DecNumber">-128'i8</span></pre></dt>
<dd>
</dd>
<a id="MIN_UINT16"></a>
<dt><pre><a href="sdl2.html#MIN_UINT16"><span class="Identifier">MIN_UINT16</span></a> <span class="Other">=</span> <span class="DecNumber">0'u16</span></pre></dt>
<dd>
</dd>
<a id="MIN_UINT32"></a>
<dt><pre><a href="sdl2.html#MIN_UINT32"><span class="Identifier">MIN_UINT32</span></a> <span class="Other">=</span> <span class="DecNumber">0'u32</span></pre></dt>
<dd>
</dd>
<a id="TOUCH_MOUSEID"></a>
<dt><pre><a href="sdl2.html#TOUCH_MOUSEID"><span class="Identifier">TOUCH_MOUSEID</span></a> <span class="Other">=</span> <span class="DecNumber">4294967295</span></pre></dt>
<dd>
</dd>
<a id="BlitSurface"></a>
<dt><pre><a href="sdl2.html#BlitSurface"><span class="Identifier">BlitSurface</span></a> <span class="Other">=</span> <span class="StringLit">&quot;&quot;</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_UNDEFINED_MASK"></a>
<dt><pre><a href="sdl2.html#WINDOWPOS_UNDEFINED_MASK"><span class="Identifier">WINDOWPOS_UNDEFINED_MASK</span></a> <span class="Other">=</span> <span class="DecNumber">536805376'u</span></pre></dt>
<dd>
</dd>
<a id="MIN_SINT32"></a>
<dt><pre><a href="sdl2.html#MIN_SINT32"><span class="Identifier">MIN_SINT32</span></a> <span class="Other">=</span> <span class="DecNumber">-2147483648'i32</span></pre></dt>
<dd>
</dd>
<a id="MUTEX_MAXWAIT"></a>
<dt><pre><a href="sdl2.html#MUTEX_MAXWAIT"><span class="Identifier">MUTEX_MAXWAIT</span></a> <span class="Other">=</span> <span class="DecNumber">4294967295</span></pre></dt>
<dd>
</dd>
<a id="MAX_SINT8"></a>
<dt><pre><a href="sdl2.html#MAX_SINT8"><span class="Identifier">MAX_SINT8</span></a> <span class="Other">=</span> <span class="DecNumber">127'i8</span></pre></dt>
<dd>
</dd>
<a id="MAX_UINT16"></a>
<dt><pre><a href="sdl2.html#MAX_UINT16"><span class="Identifier">MAX_UINT16</span></a> <span class="Other">=</span> <span class="DecNumber">65535'u16</span></pre></dt>
<dd>
</dd>
<a id="MAX_UINT32"></a>
<dt><pre><a href="sdl2.html#MAX_UINT32"><span class="Identifier">MAX_UINT32</span></a> <span class="Other">=</span> <span class="DecNumber">4294967295'u32</span></pre></dt>
<dd>
</dd>
<a id="MIN_SINT16"></a>
<dt><pre><a href="sdl2.html#MIN_SINT16"><span class="Identifier">MIN_SINT16</span></a> <span class="Other">=</span> <span class="DecNumber">-32768'i16</span></pre></dt>
<dd>
</dd>
<a id="MAX_UINT64"></a>
<dt><pre><a href="sdl2.html#MAX_UINT64"><span class="Identifier">MAX_UINT64</span></a> <span class="Other">=</span> <span class="DecNumber">18446744073709551615'u64</span></pre></dt>
<dd>
</dd>
<a id="MAX_SINT64"></a>
<dt><pre><a href="sdl2.html#MAX_SINT64"><span class="Identifier">MAX_SINT64</span></a> <span class="Other">=</span> <span class="DecNumber">9223372036854775807'i64</span></pre></dt>
<dd>
</dd>
<a id="MACOSX"></a>
<dt><pre><a href="sdl2.html#MACOSX"><span class="Identifier">MACOSX</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="SIZEOF_VOIDP"></a>
<dt><pre><a href="sdl2.html#SIZEOF_VOIDP"><span class="Identifier">SIZEOF_VOIDP</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="HAVE_GCC_ATOMICS"></a>
<dt><pre><a href="sdl2.html#HAVE_GCC_ATOMICS"><span class="Identifier">HAVE_GCC_ATOMICS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LIBC"></a>
<dt><pre><a href="sdl2.html#HAVE_LIBC"><span class="Identifier">HAVE_LIBC</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="STDC_HEADERS"></a>
<dt><pre><a href="sdl2.html#STDC_HEADERS"><span class="Identifier">STDC_HEADERS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ALLOCA_H"></a>
<dt><pre><a href="sdl2.html#HAVE_ALLOCA_H"><span class="Identifier">HAVE_ALLOCA_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_CTYPE_H"></a>
<dt><pre><a href="sdl2.html#HAVE_CTYPE_H"><span class="Identifier">HAVE_CTYPE_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FLOAT_H"></a>
<dt><pre><a href="sdl2.html#HAVE_FLOAT_H"><span class="Identifier">HAVE_FLOAT_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ICONV_H"></a>
<dt><pre><a href="sdl2.html#HAVE_ICONV_H"><span class="Identifier">HAVE_ICONV_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_INTTYPES_H"></a>
<dt><pre><a href="sdl2.html#HAVE_INTTYPES_H"><span class="Identifier">HAVE_INTTYPES_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LIMITS_H"></a>
<dt><pre><a href="sdl2.html#HAVE_LIMITS_H"><span class="Identifier">HAVE_LIMITS_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MATH_H"></a>
<dt><pre><a href="sdl2.html#HAVE_MATH_H"><span class="Identifier">HAVE_MATH_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MEMORY_H"></a>
<dt><pre><a href="sdl2.html#HAVE_MEMORY_H"><span class="Identifier">HAVE_MEMORY_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SIGNAL_H"></a>
<dt><pre><a href="sdl2.html#HAVE_SIGNAL_H"><span class="Identifier">HAVE_SIGNAL_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STDARG_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STDARG_H"><span class="Identifier">HAVE_STDARG_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STDINT_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STDINT_H"><span class="Identifier">HAVE_STDINT_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STDIO_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STDIO_H"><span class="Identifier">HAVE_STDIO_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STDLIB_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STDLIB_H"><span class="Identifier">HAVE_STDLIB_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRINGS_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STRINGS_H"><span class="Identifier">HAVE_STRINGS_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRING_H"></a>
<dt><pre><a href="sdl2.html#HAVE_STRING_H"><span class="Identifier">HAVE_STRING_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SYS_TYPES_H"></a>
<dt><pre><a href="sdl2.html#HAVE_SYS_TYPES_H"><span class="Identifier">HAVE_SYS_TYPES_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCHAR_H"></a>
<dt><pre><a href="sdl2.html#HAVE_WCHAR_H"><span class="Identifier">HAVE_WCHAR_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LIBUNWIND_H"></a>
<dt><pre><a href="sdl2.html#HAVE_LIBUNWIND_H"><span class="Identifier">HAVE_LIBUNWIND_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MALLOC"></a>
<dt><pre><a href="sdl2.html#HAVE_MALLOC"><span class="Identifier">HAVE_MALLOC</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_CALLOC"></a>
<dt><pre><a href="sdl2.html#HAVE_CALLOC"><span class="Identifier">HAVE_CALLOC</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_REALLOC"></a>
<dt><pre><a href="sdl2.html#HAVE_REALLOC"><span class="Identifier">HAVE_REALLOC</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FREE"></a>
<dt><pre><a href="sdl2.html#HAVE_FREE"><span class="Identifier">HAVE_FREE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ALLOCA"></a>
<dt><pre><a href="sdl2.html#HAVE_ALLOCA"><span class="Identifier">HAVE_ALLOCA</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_GETENV"></a>
<dt><pre><a href="sdl2.html#HAVE_GETENV"><span class="Identifier">HAVE_GETENV</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SETENV"></a>
<dt><pre><a href="sdl2.html#HAVE_SETENV"><span class="Identifier">HAVE_SETENV</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_PUTENV"></a>
<dt><pre><a href="sdl2.html#HAVE_PUTENV"><span class="Identifier">HAVE_PUTENV</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_UNSETENV"></a>
<dt><pre><a href="sdl2.html#HAVE_UNSETENV"><span class="Identifier">HAVE_UNSETENV</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_QSORT"></a>
<dt><pre><a href="sdl2.html#HAVE_QSORT"><span class="Identifier">HAVE_QSORT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ABS"></a>
<dt><pre><a href="sdl2.html#HAVE_ABS"><span class="Identifier">HAVE_ABS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_BCOPY"></a>
<dt><pre><a href="sdl2.html#HAVE_BCOPY"><span class="Identifier">HAVE_BCOPY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MEMSET"></a>
<dt><pre><a href="sdl2.html#HAVE_MEMSET"><span class="Identifier">HAVE_MEMSET</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MEMCPY"></a>
<dt><pre><a href="sdl2.html#HAVE_MEMCPY"><span class="Identifier">HAVE_MEMCPY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MEMMOVE"></a>
<dt><pre><a href="sdl2.html#HAVE_MEMMOVE"><span class="Identifier">HAVE_MEMMOVE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MEMCMP"></a>
<dt><pre><a href="sdl2.html#HAVE_MEMCMP"><span class="Identifier">HAVE_MEMCMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSLEN"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSLEN"><span class="Identifier">HAVE_WCSLEN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSLCPY"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSLCPY"><span class="Identifier">HAVE_WCSLCPY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSLCAT"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSLCAT"><span class="Identifier">HAVE_WCSLCAT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSDUP"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSDUP"><span class="Identifier">HAVE_WCSDUP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSSTR"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSSTR"><span class="Identifier">HAVE_WCSSTR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSCMP"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSCMP"><span class="Identifier">HAVE_WCSCMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_WCSNCMP"></a>
<dt><pre><a href="sdl2.html#HAVE_WCSNCMP"><span class="Identifier">HAVE_WCSNCMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRLEN"></a>
<dt><pre><a href="sdl2.html#HAVE_STRLEN"><span class="Identifier">HAVE_STRLEN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRLCPY"></a>
<dt><pre><a href="sdl2.html#HAVE_STRLCPY"><span class="Identifier">HAVE_STRLCPY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRLCAT"></a>
<dt><pre><a href="sdl2.html#HAVE_STRLCAT"><span class="Identifier">HAVE_STRLCAT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRCHR"></a>
<dt><pre><a href="sdl2.html#HAVE_STRCHR"><span class="Identifier">HAVE_STRCHR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRRCHR"></a>
<dt><pre><a href="sdl2.html#HAVE_STRRCHR"><span class="Identifier">HAVE_STRRCHR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRSTR"></a>
<dt><pre><a href="sdl2.html#HAVE_STRSTR"><span class="Identifier">HAVE_STRSTR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOK_R"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOK_R"><span class="Identifier">HAVE_STRTOK_R</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOL"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOL"><span class="Identifier">HAVE_STRTOL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOUL"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOUL"><span class="Identifier">HAVE_STRTOUL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOLL"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOLL"><span class="Identifier">HAVE_STRTOLL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOULL"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOULL"><span class="Identifier">HAVE_STRTOULL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRTOD"></a>
<dt><pre><a href="sdl2.html#HAVE_STRTOD"><span class="Identifier">HAVE_STRTOD</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATOI"></a>
<dt><pre><a href="sdl2.html#HAVE_ATOI"><span class="Identifier">HAVE_ATOI</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATOF"></a>
<dt><pre><a href="sdl2.html#HAVE_ATOF"><span class="Identifier">HAVE_ATOF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRCMP"></a>
<dt><pre><a href="sdl2.html#HAVE_STRCMP"><span class="Identifier">HAVE_STRCMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRNCMP"></a>
<dt><pre><a href="sdl2.html#HAVE_STRNCMP"><span class="Identifier">HAVE_STRNCMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRCASECMP"></a>
<dt><pre><a href="sdl2.html#HAVE_STRCASECMP"><span class="Identifier">HAVE_STRCASECMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_STRNCASECMP"></a>
<dt><pre><a href="sdl2.html#HAVE_STRNCASECMP"><span class="Identifier">HAVE_STRNCASECMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_VSSCANF"></a>
<dt><pre><a href="sdl2.html#HAVE_VSSCANF"><span class="Identifier">HAVE_VSSCANF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_VSNPRINTF"></a>
<dt><pre><a href="sdl2.html#HAVE_VSNPRINTF"><span class="Identifier">HAVE_VSNPRINTF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ACOS"></a>
<dt><pre><a href="sdl2.html#HAVE_ACOS"><span class="Identifier">HAVE_ACOS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ACOSF"></a>
<dt><pre><a href="sdl2.html#HAVE_ACOSF"><span class="Identifier">HAVE_ACOSF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ASIN"></a>
<dt><pre><a href="sdl2.html#HAVE_ASIN"><span class="Identifier">HAVE_ASIN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ASINF"></a>
<dt><pre><a href="sdl2.html#HAVE_ASINF"><span class="Identifier">HAVE_ASINF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATAN"></a>
<dt><pre><a href="sdl2.html#HAVE_ATAN"><span class="Identifier">HAVE_ATAN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATANF"></a>
<dt><pre><a href="sdl2.html#HAVE_ATANF"><span class="Identifier">HAVE_ATANF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATAN2"></a>
<dt><pre><a href="sdl2.html#HAVE_ATAN2"><span class="Identifier">HAVE_ATAN2</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ATAN2F"></a>
<dt><pre><a href="sdl2.html#HAVE_ATAN2F"><span class="Identifier">HAVE_ATAN2F</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_CEIL"></a>
<dt><pre><a href="sdl2.html#HAVE_CEIL"><span class="Identifier">HAVE_CEIL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_CEILF"></a>
<dt><pre><a href="sdl2.html#HAVE_CEILF"><span class="Identifier">HAVE_CEILF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_COPYSIGN"></a>
<dt><pre><a href="sdl2.html#HAVE_COPYSIGN"><span class="Identifier">HAVE_COPYSIGN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_COPYSIGNF"></a>
<dt><pre><a href="sdl2.html#HAVE_COPYSIGNF"><span class="Identifier">HAVE_COPYSIGNF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_COS"></a>
<dt><pre><a href="sdl2.html#HAVE_COS"><span class="Identifier">HAVE_COS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_COSF"></a>
<dt><pre><a href="sdl2.html#HAVE_COSF"><span class="Identifier">HAVE_COSF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_EXP"></a>
<dt><pre><a href="sdl2.html#HAVE_EXP"><span class="Identifier">HAVE_EXP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_EXPF"></a>
<dt><pre><a href="sdl2.html#HAVE_EXPF"><span class="Identifier">HAVE_EXPF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FABS"></a>
<dt><pre><a href="sdl2.html#HAVE_FABS"><span class="Identifier">HAVE_FABS</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FABSF"></a>
<dt><pre><a href="sdl2.html#HAVE_FABSF"><span class="Identifier">HAVE_FABSF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FLOOR"></a>
<dt><pre><a href="sdl2.html#HAVE_FLOOR"><span class="Identifier">HAVE_FLOOR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FLOORF"></a>
<dt><pre><a href="sdl2.html#HAVE_FLOORF"><span class="Identifier">HAVE_FLOORF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FMOD"></a>
<dt><pre><a href="sdl2.html#HAVE_FMOD"><span class="Identifier">HAVE_FMOD</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FMODF"></a>
<dt><pre><a href="sdl2.html#HAVE_FMODF"><span class="Identifier">HAVE_FMODF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LOG"></a>
<dt><pre><a href="sdl2.html#HAVE_LOG"><span class="Identifier">HAVE_LOG</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LOGF"></a>
<dt><pre><a href="sdl2.html#HAVE_LOGF"><span class="Identifier">HAVE_LOGF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LOG10"></a>
<dt><pre><a href="sdl2.html#HAVE_LOG10"><span class="Identifier">HAVE_LOG10</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_LOG10F"></a>
<dt><pre><a href="sdl2.html#HAVE_LOG10F"><span class="Identifier">HAVE_LOG10F</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_POW"></a>
<dt><pre><a href="sdl2.html#HAVE_POW"><span class="Identifier">HAVE_POW</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_POWF"></a>
<dt><pre><a href="sdl2.html#HAVE_POWF"><span class="Identifier">HAVE_POWF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SCALBN"></a>
<dt><pre><a href="sdl2.html#HAVE_SCALBN"><span class="Identifier">HAVE_SCALBN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SCALBNF"></a>
<dt><pre><a href="sdl2.html#HAVE_SCALBNF"><span class="Identifier">HAVE_SCALBNF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SIN"></a>
<dt><pre><a href="sdl2.html#HAVE_SIN"><span class="Identifier">HAVE_SIN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SINF"></a>
<dt><pre><a href="sdl2.html#HAVE_SINF"><span class="Identifier">HAVE_SINF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SQRT"></a>
<dt><pre><a href="sdl2.html#HAVE_SQRT"><span class="Identifier">HAVE_SQRT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SQRTF"></a>
<dt><pre><a href="sdl2.html#HAVE_SQRTF"><span class="Identifier">HAVE_SQRTF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_TAN"></a>
<dt><pre><a href="sdl2.html#HAVE_TAN"><span class="Identifier">HAVE_TAN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_TANF"></a>
<dt><pre><a href="sdl2.html#HAVE_TANF"><span class="Identifier">HAVE_TANF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_FSEEKO"></a>
<dt><pre><a href="sdl2.html#HAVE_FSEEKO"><span class="Identifier">HAVE_FSEEKO</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SIGACTION"></a>
<dt><pre><a href="sdl2.html#HAVE_SIGACTION"><span class="Identifier">HAVE_SIGACTION</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SA_SIGACTION"></a>
<dt><pre><a href="sdl2.html#HAVE_SA_SIGACTION"><span class="Identifier">HAVE_SA_SIGACTION</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SETJMP"></a>
<dt><pre><a href="sdl2.html#HAVE_SETJMP"><span class="Identifier">HAVE_SETJMP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_NANOSLEEP"></a>
<dt><pre><a href="sdl2.html#HAVE_NANOSLEEP"><span class="Identifier">HAVE_NANOSLEEP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SYSCONF"></a>
<dt><pre><a href="sdl2.html#HAVE_SYSCONF"><span class="Identifier">HAVE_SYSCONF</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_SYSCTLBYNAME"></a>
<dt><pre><a href="sdl2.html#HAVE_SYSCTLBYNAME"><span class="Identifier">HAVE_SYSCTLBYNAME</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_MPROTECT"></a>
<dt><pre><a href="sdl2.html#HAVE_MPROTECT"><span class="Identifier">HAVE_MPROTECT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_ICONV"></a>
<dt><pre><a href="sdl2.html#HAVE_ICONV"><span class="Identifier">HAVE_ICONV</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_PTHREAD_SETNAME_NP"></a>
<dt><pre><a href="sdl2.html#HAVE_PTHREAD_SETNAME_NP"><span class="Identifier">HAVE_PTHREAD_SETNAME_NP</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_POLL"></a>
<dt><pre><a href="sdl2.html#HAVE_POLL"><span class="Identifier">HAVE_POLL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_EXIT"></a>
<dt><pre><a href="sdl2.html#HAVE_EXIT"><span class="Identifier">HAVE_EXIT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAVE_IMMINTRIN_H"></a>
<dt><pre><a href="sdl2.html#HAVE_IMMINTRIN_H"><span class="Identifier">HAVE_IMMINTRIN_H</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_DRIVER_COREAUDIO"></a>
<dt><pre><a href="sdl2.html#AUDIO_DRIVER_COREAUDIO"><span class="Identifier">AUDIO_DRIVER_COREAUDIO</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_DRIVER_DISK"></a>
<dt><pre><a href="sdl2.html#AUDIO_DRIVER_DISK"><span class="Identifier">AUDIO_DRIVER_DISK</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_DRIVER_DUMMY"></a>
<dt><pre><a href="sdl2.html#AUDIO_DRIVER_DUMMY"><span class="Identifier">AUDIO_DRIVER_DUMMY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_IOKIT"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_IOKIT"><span class="Identifier">JOYSTICK_IOKIT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_IOKIT"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_IOKIT"><span class="Identifier">HAPTIC_TYPE_IOKIT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="SENSOR_DUMMY"></a>
<dt><pre><a href="sdl2.html#SENSOR_DUMMY"><span class="Identifier">SENSOR_DUMMY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="LOADSO_DLOPEN"></a>
<dt><pre><a href="sdl2.html#LOADSO_DLOPEN"><span class="Identifier">LOADSO_DLOPEN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PTHREAD"></a>
<dt><pre><a href="sdl2.html#THREAD_PTHREAD"><span class="Identifier">THREAD_PTHREAD</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PTHREAD_RECURSIVE_MUTEX"></a>
<dt><pre><a href="sdl2.html#THREAD_PTHREAD_RECURSIVE_MUTEX"><span class="Identifier">THREAD_PTHREAD_RECURSIVE_MUTEX</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="TIMER_UNIX"></a>
<dt><pre><a href="sdl2.html#TIMER_UNIX"><span class="Identifier">TIMER_UNIX</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_DRIVER_COCOA"></a>
<dt><pre><a href="sdl2.html#VIDEO_DRIVER_COCOA"><span class="Identifier">VIDEO_DRIVER_COCOA</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_DRIVER_DUMMY"></a>
<dt><pre><a href="sdl2.html#VIDEO_DRIVER_DUMMY"><span class="Identifier">VIDEO_DRIVER_DUMMY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_RENDER_OGL"></a>
<dt><pre><a href="sdl2.html#VIDEO_RENDER_OGL"><span class="Identifier">VIDEO_RENDER_OGL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_RENDER_OGL_ES2"></a>
<dt><pre><a href="sdl2.html#VIDEO_RENDER_OGL_ES2"><span class="Identifier">VIDEO_RENDER_OGL_ES2</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_RENDER_METAL"></a>
<dt><pre><a href="sdl2.html#VIDEO_RENDER_METAL"><span class="Identifier">VIDEO_RENDER_METAL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_OPENGL"></a>
<dt><pre><a href="sdl2.html#VIDEO_OPENGL"><span class="Identifier">VIDEO_OPENGL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_OPENGL_ES2"></a>
<dt><pre><a href="sdl2.html#VIDEO_OPENGL_ES2"><span class="Identifier">VIDEO_OPENGL_ES2</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_OPENGL_CGL"></a>
<dt><pre><a href="sdl2.html#VIDEO_OPENGL_CGL"><span class="Identifier">VIDEO_OPENGL_CGL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_OPENGL_EGL"></a>
<dt><pre><a href="sdl2.html#VIDEO_OPENGL_EGL"><span class="Identifier">VIDEO_OPENGL_EGL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_VULKAN"></a>
<dt><pre><a href="sdl2.html#VIDEO_VULKAN"><span class="Identifier">VIDEO_VULKAN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="VIDEO_METAL"></a>
<dt><pre><a href="sdl2.html#VIDEO_METAL"><span class="Identifier">VIDEO_METAL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="POWER_MACOSX"></a>
<dt><pre><a href="sdl2.html#POWER_MACOSX"><span class="Identifier">POWER_MACOSX</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="FILESYSTEM_COCOA"></a>
<dt><pre><a href="sdl2.html#FILESYSTEM_COCOA"><span class="Identifier">FILESYSTEM_COCOA</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="ASSEMBLY_ROUTINES"></a>
<dt><pre><a href="sdl2.html#ASSEMBLY_ROUTINES"><span class="Identifier">ASSEMBLY_ROUTINES</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="PRIs64"></a>
<dt><pre><a href="sdl2.html#PRIs64"><span class="Identifier">PRIs64</span></a> <span class="Other">=</span> <span class="StringLit">&quot;lld&quot;</span></pre></dt>
<dd>
</dd>
<a id="ICONV_ERROR"></a>
<dt><pre><a href="sdl2.html#ICONV_ERROR"><span class="Identifier">ICONV_ERROR</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
<dd>
</dd>
<a id="ICONV_E2BIG"></a>
<dt><pre><a href="sdl2.html#ICONV_E2BIG"><span class="Identifier">ICONV_E2BIG</span></a> <span class="Other">=</span> <span class="DecNumber">-2</span></pre></dt>
<dd>
</dd>
<a id="ICONV_EILSEQ"></a>
<dt><pre><a href="sdl2.html#ICONV_EILSEQ"><span class="Identifier">ICONV_EILSEQ</span></a> <span class="Other">=</span> <span class="DecNumber">-3</span></pre></dt>
<dd>
</dd>
<a id="ICONV_EINVAL"></a>
<dt><pre><a href="sdl2.html#ICONV_EINVAL"><span class="Identifier">ICONV_EINVAL</span></a> <span class="Other">=</span> <span class="DecNumber">-4</span></pre></dt>
<dd>
</dd>
<a id="ASSERT_LEVEL"></a>
<dt><pre><a href="sdl2.html#ASSERT_LEVEL"><span class="Identifier">ASSERT_LEVEL</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="NULL_WHILE_LOOP_CONDITION"></a>
<dt><pre><a href="sdl2.html#NULL_WHILE_LOOP_CONDITION"><span class="Identifier">NULL_WHILE_LOOP_CONDITION</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="ASSERTION_RETRY"></a>
<dt><pre><a href="sdl2.html#ASSERTION_RETRY"><span class="Identifier">ASSERTION_RETRY</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Retry the assert immediately.</pre>
</dd>
<a id="ASSERTION_BREAK"></a>
<dt><pre><a href="sdl2.html#ASSERTION_BREAK"><span class="Identifier">ASSERTION_BREAK</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Make the debugger trigger a breakpoint.</pre>
</dd>
<a id="ASSERTION_ABORT"></a>
<dt><pre><a href="sdl2.html#ASSERTION_ABORT"><span class="Identifier">ASSERTION_ABORT</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Terminate the program.</pre>
</dd>
<a id="ASSERTION_IGNORE"></a>
<dt><pre><a href="sdl2.html#ASSERTION_IGNORE"><span class="Identifier">ASSERTION_IGNORE</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; Ignore the assert.</pre>
</dd>
<a id="ASSERTION_ALWAYS_IGNORE"></a>
<dt><pre><a href="sdl2.html#ASSERTION_ALWAYS_IGNORE"><span class="Identifier">ASSERTION_ALWAYS_IGNORE</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<pre>&lt; Ignore the assert from now on.</pre>
</dd>
<a id="ENOMEM"></a>
<dt><pre><a href="sdl2.html#ENOMEM"><span class="Identifier">ENOMEM</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="EFREAD"></a>
<dt><pre><a href="sdl2.html#EFREAD"><span class="Identifier">EFREAD</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="EFWRITE"></a>
<dt><pre><a href="sdl2.html#EFWRITE"><span class="Identifier">EFWRITE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="EFSEEK"></a>
<dt><pre><a href="sdl2.html#EFSEEK"><span class="Identifier">EFSEEK</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="UNSUPPORTED"></a>
<dt><pre><a href="sdl2.html#UNSUPPORTED"><span class="Identifier">UNSUPPORTED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="LASTERROR"></a>
<dt><pre><a href="sdl2.html#LASTERROR"><span class="Identifier">LASTERROR</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="LIL_ENDIAN"></a>
<dt><pre><a href="sdl2.html#LIL_ENDIAN"><span class="Identifier">LIL_ENDIAN</span></a> <span class="Other">=</span> <span class="DecNumber">1234</span></pre></dt>
<dd>
</dd>
<a id="BIG_ENDIAN"></a>
<dt><pre><a href="sdl2.html#BIG_ENDIAN"><span class="Identifier">BIG_ENDIAN</span></a> <span class="Other">=</span> <span class="DecNumber">4321</span></pre></dt>
<dd>
</dd>
<a id="BYTEORDER"></a>
<dt><pre><a href="sdl2.html#BYTEORDER"><span class="Identifier">BYTEORDER</span></a> <span class="Other">=</span> <span class="DecNumber">1234</span></pre></dt>
<dd>
</dd>
<a id="MUTEX_TIMEDOUT"></a>
<dt><pre><a href="sdl2.html#MUTEX_TIMEDOUT"><span class="Identifier">MUTEX_TIMEDOUT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PRIORITY_LOW"></a>
<dt><pre><a href="sdl2.html#THREAD_PRIORITY_LOW"><span class="Identifier">THREAD_PRIORITY_LOW</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PRIORITY_NORMAL"></a>
<dt><pre><a href="sdl2.html#THREAD_PRIORITY_NORMAL"><span class="Identifier">THREAD_PRIORITY_NORMAL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PRIORITY_HIGH"></a>
<dt><pre><a href="sdl2.html#THREAD_PRIORITY_HIGH"><span class="Identifier">THREAD_PRIORITY_HIGH</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="THREAD_PRIORITY_TIME_CRITICAL"></a>
<dt><pre><a href="sdl2.html#THREAD_PRIORITY_TIME_CRITICAL"><span class="Identifier">THREAD_PRIORITY_TIME_CRITICAL</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#RWOPS_UNKNOWN"><span class="Identifier">RWOPS_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'u</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_WINFILE"></a>
<dt><pre><a href="sdl2.html#RWOPS_WINFILE"><span class="Identifier">RWOPS_WINFILE</span></a> <span class="Other">=</span> <span class="DecNumber">1'u</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_STDFILE"></a>
<dt><pre><a href="sdl2.html#RWOPS_STDFILE"><span class="Identifier">RWOPS_STDFILE</span></a> <span class="Other">=</span> <span class="DecNumber">2'u</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_JNIFILE"></a>
<dt><pre><a href="sdl2.html#RWOPS_JNIFILE"><span class="Identifier">RWOPS_JNIFILE</span></a> <span class="Other">=</span> <span class="DecNumber">3'u</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_MEMORY"></a>
<dt><pre><a href="sdl2.html#RWOPS_MEMORY"><span class="Identifier">RWOPS_MEMORY</span></a> <span class="Other">=</span> <span class="DecNumber">4'u</span></pre></dt>
<dd>
</dd>
<a id="RWOPS_MEMORY_RO"></a>
<dt><pre><a href="sdl2.html#RWOPS_MEMORY_RO"><span class="Identifier">RWOPS_MEMORY_RO</span></a> <span class="Other">=</span> <span class="DecNumber">5'u</span></pre></dt>
<dd>
</dd>
<a id="RW_SEEK_SET"></a>
<dt><pre><a href="sdl2.html#RW_SEEK_SET"><span class="Identifier">RW_SEEK_SET</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="RW_SEEK_CUR"></a>
<dt><pre><a href="sdl2.html#RW_SEEK_CUR"><span class="Identifier">RW_SEEK_CUR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="RW_SEEK_END"></a>
<dt><pre><a href="sdl2.html#RW_SEEK_END"><span class="Identifier">RW_SEEK_END</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_MASK_BITSIZE"></a>
<dt><pre><a href="sdl2.html#AUDIO_MASK_BITSIZE"><span class="Identifier">AUDIO_MASK_BITSIZE</span></a> <span class="Other">=</span> <span class="DecNumber">0x000000FF</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_MASK_DATATYPE"></a>
<dt><pre><a href="sdl2.html#AUDIO_MASK_DATATYPE"><span class="Identifier">AUDIO_MASK_DATATYPE</span></a> <span class="Other">=</span> <span class="DecNumber">256</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_MASK_ENDIAN"></a>
<dt><pre><a href="sdl2.html#AUDIO_MASK_ENDIAN"><span class="Identifier">AUDIO_MASK_ENDIAN</span></a> <span class="Other">=</span> <span class="DecNumber">4096</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_MASK_SIGNED"></a>
<dt><pre><a href="sdl2.html#AUDIO_MASK_SIGNED"><span class="Identifier">AUDIO_MASK_SIGNED</span></a> <span class="Other">=</span> <span class="DecNumber">32768</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_U8"></a>
<dt><pre><a href="sdl2.html#AUDIO_U8"><span class="Identifier">AUDIO_U8</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000008</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S8"></a>
<dt><pre><a href="sdl2.html#AUDIO_S8"><span class="Identifier">AUDIO_S8</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008008</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_U16LSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_U16LSB"><span class="Identifier">AUDIO_U16LSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S16LSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_S16LSB"><span class="Identifier">AUDIO_S16LSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_U16MSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_U16MSB"><span class="Identifier">AUDIO_U16MSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00001010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S16MSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_S16MSB"><span class="Identifier">AUDIO_S16MSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00009010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_U16"></a>
<dt><pre><a href="sdl2.html#AUDIO_U16"><span class="Identifier">AUDIO_U16</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S16"></a>
<dt><pre><a href="sdl2.html#AUDIO_S16"><span class="Identifier">AUDIO_S16</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S32LSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_S32LSB"><span class="Identifier">AUDIO_S32LSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008020</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S32MSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_S32MSB"><span class="Identifier">AUDIO_S32MSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00009020</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S32"></a>
<dt><pre><a href="sdl2.html#AUDIO_S32"><span class="Identifier">AUDIO_S32</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008020</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_F32LSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_F32LSB"><span class="Identifier">AUDIO_F32LSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008120</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_F32MSB"></a>
<dt><pre><a href="sdl2.html#AUDIO_F32MSB"><span class="Identifier">AUDIO_F32MSB</span></a> <span class="Other">=</span> <span class="DecNumber">0x00009120</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_F32"></a>
<dt><pre><a href="sdl2.html#AUDIO_F32"><span class="Identifier">AUDIO_F32</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008120</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_U16SYS"></a>
<dt><pre><a href="sdl2.html#AUDIO_U16SYS"><span class="Identifier">AUDIO_U16SYS</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S16SYS"></a>
<dt><pre><a href="sdl2.html#AUDIO_S16SYS"><span class="Identifier">AUDIO_S16SYS</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008010</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_S32SYS"></a>
<dt><pre><a href="sdl2.html#AUDIO_S32SYS"><span class="Identifier">AUDIO_S32SYS</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008020</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_F32SYS"></a>
<dt><pre><a href="sdl2.html#AUDIO_F32SYS"><span class="Identifier">AUDIO_F32SYS</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008120</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_ALLOW_FREQUENCY_CHANGE"></a>
<dt><pre><a href="sdl2.html#AUDIO_ALLOW_FREQUENCY_CHANGE"><span class="Identifier">AUDIO_ALLOW_FREQUENCY_CHANGE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000001</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_ALLOW_FORMAT_CHANGE"></a>
<dt><pre><a href="sdl2.html#AUDIO_ALLOW_FORMAT_CHANGE"><span class="Identifier">AUDIO_ALLOW_FORMAT_CHANGE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000002</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_ALLOW_CHANNELS_CHANGE"></a>
<dt><pre><a href="sdl2.html#AUDIO_ALLOW_CHANNELS_CHANGE"><span class="Identifier">AUDIO_ALLOW_CHANNELS_CHANGE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000004</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_ALLOW_SAMPLES_CHANGE"></a>
<dt><pre><a href="sdl2.html#AUDIO_ALLOW_SAMPLES_CHANGE"><span class="Identifier">AUDIO_ALLOW_SAMPLES_CHANGE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000008</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_ALLOW_ANY_CHANGE"></a>
<dt><pre><a href="sdl2.html#AUDIO_ALLOW_ANY_CHANGE"><span class="Identifier">AUDIO_ALLOW_ANY_CHANGE</span></a> <span class="Other">=</span> <span class="DecNumber">15</span></pre></dt>
<dd>
</dd>
<a id="AUDIOCVT_MAX_FILTERS"></a>
<dt><pre><a href="sdl2.html#AUDIOCVT_MAX_FILTERS"><span class="Identifier">AUDIOCVT_MAX_FILTERS</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_STOPPED"></a>
<dt><pre><a href="sdl2.html#AUDIO_STOPPED"><span class="Identifier">AUDIO_STOPPED</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_PLAYING"></a>
<dt><pre><a href="sdl2.html#AUDIO_PLAYING"><span class="Identifier">AUDIO_PLAYING</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="AUDIO_PAUSED"></a>
<dt><pre><a href="sdl2.html#AUDIO_PAUSED"><span class="Identifier">AUDIO_PAUSED</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="MIX_MAXVOLUME"></a>
<dt><pre><a href="sdl2.html#MIX_MAXVOLUME"><span class="Identifier">MIX_MAXVOLUME</span></a> <span class="Other">=</span> <span class="DecNumber">128</span></pre></dt>
<dd>
</dd>
<a id="CACHELINE_SIZE"></a>
<dt><pre><a href="sdl2.html#CACHELINE_SIZE"><span class="Identifier">CACHELINE_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">128</span></pre></dt>
<dd>
</dd>
<a id="ALPHA_OPAQUE"></a>
<dt><pre><a href="sdl2.html#ALPHA_OPAQUE"><span class="Identifier">ALPHA_OPAQUE</span></a> <span class="Other">=</span> <span class="DecNumber">255</span></pre></dt>
<dd>
</dd>
<a id="ALPHA_TRANSPARENT"></a>
<dt><pre><a href="sdl2.html#ALPHA_TRANSPARENT"><span class="Identifier">ALPHA_TRANSPARENT</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_UNKNOWN"><span class="Identifier">PIXELTYPE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_INDEX1"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_INDEX1"><span class="Identifier">PIXELTYPE_INDEX1</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_INDEX4"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_INDEX4"><span class="Identifier">PIXELTYPE_INDEX4</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_INDEX8"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_INDEX8"><span class="Identifier">PIXELTYPE_INDEX8</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_PACKED8"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_PACKED8"><span class="Identifier">PIXELTYPE_PACKED8</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_PACKED16"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_PACKED16"><span class="Identifier">PIXELTYPE_PACKED16</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_PACKED32"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_PACKED32"><span class="Identifier">PIXELTYPE_PACKED32</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_ARRAYU8"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_ARRAYU8"><span class="Identifier">PIXELTYPE_ARRAYU8</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_ARRAYU16"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_ARRAYU16"><span class="Identifier">PIXELTYPE_ARRAYU16</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_ARRAYU32"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_ARRAYU32"><span class="Identifier">PIXELTYPE_ARRAYU32</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_ARRAYF16"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_ARRAYF16"><span class="Identifier">PIXELTYPE_ARRAYF16</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
</dd>
<a id="PIXELTYPE_ARRAYF32"></a>
<dt><pre><a href="sdl2.html#PIXELTYPE_ARRAYF32"><span class="Identifier">PIXELTYPE_ARRAYF32</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
</dd>
<a id="BITMAPORDER_NONE"></a>
<dt><pre><a href="sdl2.html#BITMAPORDER_NONE"><span class="Identifier">BITMAPORDER_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="BITMAPORDER_4321"></a>
<dt><pre><a href="sdl2.html#BITMAPORDER_4321"><span class="Identifier">BITMAPORDER_4321</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="BITMAPORDER_1234"></a>
<dt><pre><a href="sdl2.html#BITMAPORDER_1234"><span class="Identifier">BITMAPORDER_1234</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_NONE"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_NONE"><span class="Identifier">PACKEDORDER_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_XRGB"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_XRGB"><span class="Identifier">PACKEDORDER_XRGB</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_RGBX"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_RGBX"><span class="Identifier">PACKEDORDER_RGBX</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_ARGB"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_ARGB"><span class="Identifier">PACKEDORDER_ARGB</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_RGBA"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_RGBA"><span class="Identifier">PACKEDORDER_RGBA</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_XBGR"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_XBGR"><span class="Identifier">PACKEDORDER_XBGR</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_BGRX"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_BGRX"><span class="Identifier">PACKEDORDER_BGRX</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_ABGR"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_ABGR"><span class="Identifier">PACKEDORDER_ABGR</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="PACKEDORDER_BGRA"></a>
<dt><pre><a href="sdl2.html#PACKEDORDER_BGRA"><span class="Identifier">PACKEDORDER_BGRA</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_NONE"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_NONE"><span class="Identifier">ARRAYORDER_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_RGB"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_RGB"><span class="Identifier">ARRAYORDER_RGB</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_RGBA"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_RGBA"><span class="Identifier">ARRAYORDER_RGBA</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_ARGB"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_ARGB"><span class="Identifier">ARRAYORDER_ARGB</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_BGR"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_BGR"><span class="Identifier">ARRAYORDER_BGR</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_BGRA"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_BGRA"><span class="Identifier">ARRAYORDER_BGRA</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="ARRAYORDER_ABGR"></a>
<dt><pre><a href="sdl2.html#ARRAYORDER_ABGR"><span class="Identifier">ARRAYORDER_ABGR</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_NONE"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_NONE"><span class="Identifier">PACKEDLAYOUT_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_332"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_332"><span class="Identifier">PACKEDLAYOUT_332</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_4444"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_4444"><span class="Identifier">PACKEDLAYOUT_4444</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_1555"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_1555"><span class="Identifier">PACKEDLAYOUT_1555</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_5551"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_5551"><span class="Identifier">PACKEDLAYOUT_5551</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_565"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_565"><span class="Identifier">PACKEDLAYOUT_565</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_8888"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_8888"><span class="Identifier">PACKEDLAYOUT_8888</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_2101010"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_2101010"><span class="Identifier">PACKEDLAYOUT_2101010</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="PACKEDLAYOUT_1010102"></a>
<dt><pre><a href="sdl2.html#PACKEDLAYOUT_1010102"><span class="Identifier">PACKEDLAYOUT_1010102</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_UNKNOWN"><span class="Identifier">PIXELFORMAT_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_INDEX1LSB"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_INDEX1LSB"><span class="Identifier">PIXELFORMAT_INDEX1LSB</span></a> <span class="Other">=</span> <span class="DecNumber">286261504'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_INDEX1MSB"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_INDEX1MSB"><span class="Identifier">PIXELFORMAT_INDEX1MSB</span></a> <span class="Other">=</span> <span class="DecNumber">287310080'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_INDEX4LSB"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_INDEX4LSB"><span class="Identifier">PIXELFORMAT_INDEX4LSB</span></a> <span class="Other">=</span> <span class="DecNumber">303039488'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_INDEX4MSB"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_INDEX4MSB"><span class="Identifier">PIXELFORMAT_INDEX4MSB</span></a> <span class="Other">=</span> <span class="DecNumber">304088064'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_INDEX8"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_INDEX8"><span class="Identifier">PIXELFORMAT_INDEX8</span></a> <span class="Other">=</span> <span class="DecNumber">318769153'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB332"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB332"><span class="Identifier">PIXELFORMAT_RGB332</span></a> <span class="Other">=</span> <span class="DecNumber">336660481'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB444"><span class="Identifier">PIXELFORMAT_RGB444</span></a> <span class="Other">=</span> <span class="DecNumber">353504258'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGR444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGR444"><span class="Identifier">PIXELFORMAT_BGR444</span></a> <span class="Other">=</span> <span class="DecNumber">357698562'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB555"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB555"><span class="Identifier">PIXELFORMAT_RGB555</span></a> <span class="Other">=</span> <span class="DecNumber">353570562'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGR555"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGR555"><span class="Identifier">PIXELFORMAT_BGR555</span></a> <span class="Other">=</span> <span class="DecNumber">357764866'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ARGB4444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ARGB4444"><span class="Identifier">PIXELFORMAT_ARGB4444</span></a> <span class="Other">=</span> <span class="DecNumber">355602434'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGBA4444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGBA4444"><span class="Identifier">PIXELFORMAT_RGBA4444</span></a> <span class="Other">=</span> <span class="DecNumber">356651010'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ABGR4444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ABGR4444"><span class="Identifier">PIXELFORMAT_ABGR4444</span></a> <span class="Other">=</span> <span class="DecNumber">359796738'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGRA4444"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGRA4444"><span class="Identifier">PIXELFORMAT_BGRA4444</span></a> <span class="Other">=</span> <span class="DecNumber">360845314'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ARGB1555"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ARGB1555"><span class="Identifier">PIXELFORMAT_ARGB1555</span></a> <span class="Other">=</span> <span class="DecNumber">355667970'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGBA5551"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGBA5551"><span class="Identifier">PIXELFORMAT_RGBA5551</span></a> <span class="Other">=</span> <span class="DecNumber">356782082'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ABGR1555"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ABGR1555"><span class="Identifier">PIXELFORMAT_ABGR1555</span></a> <span class="Other">=</span> <span class="DecNumber">359862274'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGRA5551"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGRA5551"><span class="Identifier">PIXELFORMAT_BGRA5551</span></a> <span class="Other">=</span> <span class="DecNumber">360976386'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB565"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB565"><span class="Identifier">PIXELFORMAT_RGB565</span></a> <span class="Other">=</span> <span class="DecNumber">353701890'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGR565"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGR565"><span class="Identifier">PIXELFORMAT_BGR565</span></a> <span class="Other">=</span> <span class="DecNumber">357896194'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB24"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB24"><span class="Identifier">PIXELFORMAT_RGB24</span></a> <span class="Other">=</span> <span class="DecNumber">386930691'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGR24"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGR24"><span class="Identifier">PIXELFORMAT_BGR24</span></a> <span class="Other">=</span> <span class="DecNumber">390076419'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGB888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGB888"><span class="Identifier">PIXELFORMAT_RGB888</span></a> <span class="Other">=</span> <span class="DecNumber">370546692'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGBX8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGBX8888"><span class="Identifier">PIXELFORMAT_RGBX8888</span></a> <span class="Other">=</span> <span class="DecNumber">371595268'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGR888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGR888"><span class="Identifier">PIXELFORMAT_BGR888</span></a> <span class="Other">=</span> <span class="DecNumber">374740996'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGRX8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGRX8888"><span class="Identifier">PIXELFORMAT_BGRX8888</span></a> <span class="Other">=</span> <span class="DecNumber">375789572'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ARGB8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ARGB8888"><span class="Identifier">PIXELFORMAT_ARGB8888</span></a> <span class="Other">=</span> <span class="DecNumber">372645892'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_RGBA8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGBA8888"><span class="Identifier">PIXELFORMAT_RGBA8888</span></a> <span class="Other">=</span> <span class="DecNumber">373694468'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ABGR8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ABGR8888"><span class="Identifier">PIXELFORMAT_ABGR8888</span></a> <span class="Other">=</span> <span class="DecNumber">376840196'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGRA8888"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGRA8888"><span class="Identifier">PIXELFORMAT_BGRA8888</span></a> <span class="Other">=</span> <span class="DecNumber">377888772'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ARGB2101010"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ARGB2101010"><span class="Identifier">PIXELFORMAT_ARGB2101010</span></a> <span class="Other">=</span> <span class="DecNumber">372711428'i32</span></pre></dt>
<dd>
<pre>Aliases for RGBA byte arrays of color data, for the current platform</pre>
</dd>
<a id="PIXELFORMAT_RGBA32"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_RGBA32"><span class="Identifier">PIXELFORMAT_RGBA32</span></a> <span class="Other">=</span> <span class="DecNumber">376840196'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ARGB32"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ARGB32"><span class="Identifier">PIXELFORMAT_ARGB32</span></a> <span class="Other">=</span> <span class="DecNumber">377888772'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_BGRA32"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_BGRA32"><span class="Identifier">PIXELFORMAT_BGRA32</span></a> <span class="Other">=</span> <span class="DecNumber">372645892'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_ABGR32"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_ABGR32"><span class="Identifier">PIXELFORMAT_ABGR32</span></a> <span class="Other">=</span> <span class="DecNumber">373694468'i32</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_YV12"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_YV12"><span class="Identifier">PIXELFORMAT_YV12</span></a> <span class="Other">=</span> <span class="DecNumber">373694469</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_IYUV"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_IYUV"><span class="Identifier">PIXELFORMAT_IYUV</span></a> <span class="Other">=</span> <span class="DecNumber">373694470</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_YUY2"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_YUY2"><span class="Identifier">PIXELFORMAT_YUY2</span></a> <span class="Other">=</span> <span class="DecNumber">373694471</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_UYVY"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_UYVY"><span class="Identifier">PIXELFORMAT_UYVY</span></a> <span class="Other">=</span> <span class="DecNumber">373694472</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_YVYU"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_YVYU"><span class="Identifier">PIXELFORMAT_YVYU</span></a> <span class="Other">=</span> <span class="DecNumber">373694473</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_NV12"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_NV12"><span class="Identifier">PIXELFORMAT_NV12</span></a> <span class="Other">=</span> <span class="DecNumber">373694474</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_NV21"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_NV21"><span class="Identifier">PIXELFORMAT_NV21</span></a> <span class="Other">=</span> <span class="DecNumber">373694475</span></pre></dt>
<dd>
</dd>
<a id="PIXELFORMAT_EXTERNAL_OES"></a>
<dt><pre><a href="sdl2.html#PIXELFORMAT_EXTERNAL_OES"><span class="Identifier">PIXELFORMAT_EXTERNAL_OES</span></a> <span class="Other">=</span> <span class="DecNumber">373694476</span></pre></dt>
<dd>
</dd>
<a id="BLENDMODE_NONE"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_NONE"><span class="Identifier">BLENDMODE_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; no blending
dstRGBA = srcRGBA</pre>
</dd>
<a id="BLENDMODE_BLEND"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_BLEND"><span class="Identifier">BLENDMODE_BLEND</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; alpha blending
dstRGB = (srcRGB srcA) + (dstRGB (1-srcA))
dstA = srcA + (dstA (1-srcA))</pre>
</dd>
<a id="BLENDMODE_ADD"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_ADD"><span class="Identifier">BLENDMODE_ADD</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; additive blending
dstRGB = (srcRGB srcA) + dstRGB
dstA = dstA</pre>
</dd>
<a id="BLENDMODE_MOD"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_MOD"><span class="Identifier">BLENDMODE_MOD</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; color modulate
dstRGB = srcRGB dstRGB
dstA = dstA</pre>
</dd>
<a id="BLENDMODE_MUL"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_MUL"><span class="Identifier">BLENDMODE_MUL</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
<pre>&lt; color multiply
dstRGB = (srcRGB dstRGB) + (dstRGB (1-srcA))
dstA = (srcA dstA) + (dstA (1-srcA))</pre>
</dd>
<a id="BLENDMODE_INVALID"></a>
<dt><pre><a href="sdl2.html#BLENDMODE_INVALID"><span class="Identifier">BLENDMODE_INVALID</span></a> <span class="Other">=</span> <span class="DecNumber">2147483647'i32</span></pre></dt>
<dd>
<pre>Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode()</pre>
</dd>
<a id="BLENDOPERATION_ADD"></a>
<dt><pre><a href="sdl2.html#BLENDOPERATION_ADD"><span class="Identifier">BLENDOPERATION_ADD</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; dst + src: supported by all renderers</pre>
</dd>
<a id="BLENDOPERATION_SUBTRACT"></a>
<dt><pre><a href="sdl2.html#BLENDOPERATION_SUBTRACT"><span class="Identifier">BLENDOPERATION_SUBTRACT</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES</pre>
</dd>
<a id="BLENDOPERATION_REV_SUBTRACT"></a>
<dt><pre><a href="sdl2.html#BLENDOPERATION_REV_SUBTRACT"><span class="Identifier">BLENDOPERATION_REV_SUBTRACT</span></a> <span class="Other">=</span> <span class="DecNumber">3'i32</span></pre></dt>
<dd>
<pre>&lt; src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES</pre>
</dd>
<a id="BLENDOPERATION_MINIMUM"></a>
<dt><pre><a href="sdl2.html#BLENDOPERATION_MINIMUM"><span class="Identifier">BLENDOPERATION_MINIMUM</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; min(dst, src) : supported by D3D11</pre>
</dd>
<a id="BLENDOPERATION_MAXIMUM"></a>
<dt><pre><a href="sdl2.html#BLENDOPERATION_MAXIMUM"><span class="Identifier">BLENDOPERATION_MAXIMUM</span></a> <span class="Other">=</span> <span class="DecNumber">5'i32</span></pre></dt>
<dd>
<pre>&lt; max(dst, src) : supported by D3D11</pre>
</dd>
<a id="BLENDFACTOR_ZERO"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ZERO"><span class="Identifier">BLENDFACTOR_ZERO</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; 0, 0, 0, 0</pre>
</dd>
<a id="BLENDFACTOR_ONE"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ONE"><span class="Identifier">BLENDFACTOR_ONE</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; 1, 1, 1, 1</pre>
</dd>
<a id="BLENDFACTOR_SRC_COLOR"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_SRC_COLOR"><span class="Identifier">BLENDFACTOR_SRC_COLOR</span></a> <span class="Other">=</span> <span class="DecNumber">3'i32</span></pre></dt>
<dd>
<pre>&lt; srcR, srcG, srcB, srcA</pre>
</dd>
<a id="BLENDFACTOR_ONE_MINUS_SRC_COLOR"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ONE_MINUS_SRC_COLOR"><span class="Identifier">BLENDFACTOR_ONE_MINUS_SRC_COLOR</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; 1-srcR, 1-srcG, 1-srcB, 1-srcA</pre>
</dd>
<a id="BLENDFACTOR_SRC_ALPHA"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_SRC_ALPHA"><span class="Identifier">BLENDFACTOR_SRC_ALPHA</span></a> <span class="Other">=</span> <span class="DecNumber">5'i32</span></pre></dt>
<dd>
<pre>&lt; srcA, srcA, srcA, srcA</pre>
</dd>
<a id="BLENDFACTOR_ONE_MINUS_SRC_ALPHA"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ONE_MINUS_SRC_ALPHA"><span class="Identifier">BLENDFACTOR_ONE_MINUS_SRC_ALPHA</span></a> <span class="Other">=</span> <span class="DecNumber">6'i32</span></pre></dt>
<dd>
<pre>&lt; 1-srcA, 1-srcA, 1-srcA, 1-srcA</pre>
</dd>
<a id="BLENDFACTOR_DST_COLOR"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_DST_COLOR"><span class="Identifier">BLENDFACTOR_DST_COLOR</span></a> <span class="Other">=</span> <span class="DecNumber">7'i32</span></pre></dt>
<dd>
<pre>&lt; dstR, dstG, dstB, dstA</pre>
</dd>
<a id="BLENDFACTOR_ONE_MINUS_DST_COLOR"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ONE_MINUS_DST_COLOR"><span class="Identifier">BLENDFACTOR_ONE_MINUS_DST_COLOR</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
<pre>&lt; 1-dstR, 1-dstG, 1-dstB, 1-dstA</pre>
</dd>
<a id="BLENDFACTOR_DST_ALPHA"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_DST_ALPHA"><span class="Identifier">BLENDFACTOR_DST_ALPHA</span></a> <span class="Other">=</span> <span class="DecNumber">9'i32</span></pre></dt>
<dd>
<pre>&lt; dstA, dstA, dstA, dstA</pre>
</dd>
<a id="BLENDFACTOR_ONE_MINUS_DST_ALPHA"></a>
<dt><pre><a href="sdl2.html#BLENDFACTOR_ONE_MINUS_DST_ALPHA"><span class="Identifier">BLENDFACTOR_ONE_MINUS_DST_ALPHA</span></a> <span class="Other">=</span> <span class="DecNumber">10'i32</span></pre></dt>
<dd>
<pre>&lt; 1-dstA, 1-dstA, 1-dstA, 1-dstA</pre>
</dd>
<a id="SWSURFACE"></a>
<dt><pre><a href="sdl2.html#SWSURFACE"><span class="Identifier">SWSURFACE</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="PREALLOC"></a>
<dt><pre><a href="sdl2.html#PREALLOC"><span class="Identifier">PREALLOC</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000001</span></pre></dt>
<dd>
</dd>
<a id="RLEACCEL"></a>
<dt><pre><a href="sdl2.html#RLEACCEL"><span class="Identifier">RLEACCEL</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000002</span></pre></dt>
<dd>
</dd>
<a id="DONTFREE"></a>
<dt><pre><a href="sdl2.html#DONTFREE"><span class="Identifier">DONTFREE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000004</span></pre></dt>
<dd>
</dd>
<a id="SIMD_ALIGNED"></a>
<dt><pre><a href="sdl2.html#SIMD_ALIGNED"><span class="Identifier">SIMD_ALIGNED</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000008</span></pre></dt>
<dd>
</dd>
<a id="YUV_CONVERSION_JPEG"></a>
<dt><pre><a href="sdl2.html#YUV_CONVERSION_JPEG"><span class="Identifier">YUV_CONVERSION_JPEG</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Full range JPEG</pre>
</dd>
<a id="YUV_CONVERSION_BT601"></a>
<dt><pre><a href="sdl2.html#YUV_CONVERSION_BT601"><span class="Identifier">YUV_CONVERSION_BT601</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; BT.601 (the default)</pre>
</dd>
<a id="YUV_CONVERSION_BT709"></a>
<dt><pre><a href="sdl2.html#YUV_CONVERSION_BT709"><span class="Identifier">YUV_CONVERSION_BT709</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; BT.709</pre>
</dd>
<a id="YUV_CONVERSION_AUTOMATIC"></a>
<dt><pre><a href="sdl2.html#YUV_CONVERSION_AUTOMATIC"><span class="Identifier">YUV_CONVERSION_AUTOMATIC</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; BT.601 for SD content, BT.709 for HD content</pre>
</dd>
<a id="WINDOW_FULLSCREEN"></a>
<dt><pre><a href="sdl2.html#WINDOW_FULLSCREEN"><span class="Identifier">WINDOW_FULLSCREEN</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; fullscreen window</pre>
</dd>
<a id="WINDOW_OPENGL"></a>
<dt><pre><a href="sdl2.html#WINDOW_OPENGL"><span class="Identifier">WINDOW_OPENGL</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; window usable with OpenGL context</pre>
</dd>
<a id="WINDOW_SHOWN"></a>
<dt><pre><a href="sdl2.html#WINDOW_SHOWN"><span class="Identifier">WINDOW_SHOWN</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; window is visible</pre>
</dd>
<a id="WINDOW_HIDDEN"></a>
<dt><pre><a href="sdl2.html#WINDOW_HIDDEN"><span class="Identifier">WINDOW_HIDDEN</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
<pre>&lt; window is not visible</pre>
</dd>
<a id="WINDOW_BORDERLESS"></a>
<dt><pre><a href="sdl2.html#WINDOW_BORDERLESS"><span class="Identifier">WINDOW_BORDERLESS</span></a> <span class="Other">=</span> <span class="DecNumber">16'i32</span></pre></dt>
<dd>
<pre>&lt; no window decoration</pre>
</dd>
<a id="WINDOW_RESIZABLE"></a>
<dt><pre><a href="sdl2.html#WINDOW_RESIZABLE"><span class="Identifier">WINDOW_RESIZABLE</span></a> <span class="Other">=</span> <span class="DecNumber">32'i32</span></pre></dt>
<dd>
<pre>&lt; window can be resized</pre>
</dd>
<a id="WINDOW_MINIMIZED"></a>
<dt><pre><a href="sdl2.html#WINDOW_MINIMIZED"><span class="Identifier">WINDOW_MINIMIZED</span></a> <span class="Other">=</span> <span class="DecNumber">64'i32</span></pre></dt>
<dd>
<pre>&lt; window is minimized</pre>
</dd>
<a id="WINDOW_MAXIMIZED"></a>
<dt><pre><a href="sdl2.html#WINDOW_MAXIMIZED"><span class="Identifier">WINDOW_MAXIMIZED</span></a> <span class="Other">=</span> <span class="DecNumber">128'i32</span></pre></dt>
<dd>
<pre>&lt; window is maximized</pre>
</dd>
<a id="WINDOW_INPUT_GRABBED"></a>
<dt><pre><a href="sdl2.html#WINDOW_INPUT_GRABBED"><span class="Identifier">WINDOW_INPUT_GRABBED</span></a> <span class="Other">=</span> <span class="DecNumber">256'i32</span></pre></dt>
<dd>
<pre>&lt; window has grabbed input focus</pre>
</dd>
<a id="WINDOW_INPUT_FOCUS"></a>
<dt><pre><a href="sdl2.html#WINDOW_INPUT_FOCUS"><span class="Identifier">WINDOW_INPUT_FOCUS</span></a> <span class="Other">=</span> <span class="DecNumber">512'i32</span></pre></dt>
<dd>
<pre>&lt; window has input focus</pre>
</dd>
<a id="WINDOW_MOUSE_FOCUS"></a>
<dt><pre><a href="sdl2.html#WINDOW_MOUSE_FOCUS"><span class="Identifier">WINDOW_MOUSE_FOCUS</span></a> <span class="Other">=</span> <span class="DecNumber">1024'i32</span></pre></dt>
<dd>
<pre>&lt; window has mouse focus</pre>
</dd>
<a id="WINDOW_FULLSCREEN_DESKTOP"></a>
<dt><pre><a href="sdl2.html#WINDOW_FULLSCREEN_DESKTOP"><span class="Identifier">WINDOW_FULLSCREEN_DESKTOP</span></a> <span class="Other">=</span> <span class="DecNumber">4097'i32</span></pre></dt>
<dd>
</dd>
<a id="WINDOW_FOREIGN"></a>
<dt><pre><a href="sdl2.html#WINDOW_FOREIGN"><span class="Identifier">WINDOW_FOREIGN</span></a> <span class="Other">=</span> <span class="DecNumber">2048'i32</span></pre></dt>
<dd>
<pre>&lt; window not created by SDL</pre>
</dd>
<a id="WINDOW_ALLOW_HIGHDPI"></a>
<dt><pre><a href="sdl2.html#WINDOW_ALLOW_HIGHDPI"><span class="Identifier">WINDOW_ALLOW_HIGHDPI</span></a> <span class="Other">=</span> <span class="DecNumber">8192'i32</span></pre></dt>
<dd>
<pre>&lt; 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.</pre>
</dd>
<a id="WINDOW_MOUSE_CAPTURE"></a>
<dt><pre><a href="sdl2.html#WINDOW_MOUSE_CAPTURE"><span class="Identifier">WINDOW_MOUSE_CAPTURE</span></a> <span class="Other">=</span> <span class="DecNumber">16384'i32</span></pre></dt>
<dd>
<pre>&lt; window has mouse captured (unrelated to INPUT_GRABBED)</pre>
</dd>
<a id="WINDOW_ALWAYS_ON_TOP"></a>
<dt><pre><a href="sdl2.html#WINDOW_ALWAYS_ON_TOP"><span class="Identifier">WINDOW_ALWAYS_ON_TOP</span></a> <span class="Other">=</span> <span class="DecNumber">32768'i32</span></pre></dt>
<dd>
<pre>&lt; window should always be above others</pre>
</dd>
<a id="WINDOW_SKIP_TASKBAR"></a>
<dt><pre><a href="sdl2.html#WINDOW_SKIP_TASKBAR"><span class="Identifier">WINDOW_SKIP_TASKBAR</span></a> <span class="Other">=</span> <span class="DecNumber">65536'i32</span></pre></dt>
<dd>
<pre>&lt; window should not be added to the taskbar</pre>
</dd>
<a id="WINDOW_UTILITY"></a>
<dt><pre><a href="sdl2.html#WINDOW_UTILITY"><span class="Identifier">WINDOW_UTILITY</span></a> <span class="Other">=</span> <span class="DecNumber">131072'i32</span></pre></dt>
<dd>
<pre>&lt; window should be treated as a utility window</pre>
</dd>
<a id="WINDOW_TOOLTIP"></a>
<dt><pre><a href="sdl2.html#WINDOW_TOOLTIP"><span class="Identifier">WINDOW_TOOLTIP</span></a> <span class="Other">=</span> <span class="DecNumber">262144'i32</span></pre></dt>
<dd>
<pre>&lt; window should be treated as a tooltip</pre>
</dd>
<a id="WINDOW_POPUP_MENU"></a>
<dt><pre><a href="sdl2.html#WINDOW_POPUP_MENU"><span class="Identifier">WINDOW_POPUP_MENU</span></a> <span class="Other">=</span> <span class="DecNumber">524288'i32</span></pre></dt>
<dd>
<pre>&lt; window should be treated as a popup menu</pre>
</dd>
<a id="WINDOW_VULKAN"></a>
<dt><pre><a href="sdl2.html#WINDOW_VULKAN"><span class="Identifier">WINDOW_VULKAN</span></a> <span class="Other">=</span> <span class="DecNumber">268435456'i32</span></pre></dt>
<dd>
<pre>&lt; window usable for Vulkan surface</pre>
</dd>
<a id="WINDOWEVENT_NONE"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_NONE"><span class="Identifier">WINDOWEVENT_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Never used</pre>
</dd>
<a id="WINDOWEVENT_SHOWN"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_SHOWN"><span class="Identifier">WINDOWEVENT_SHOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Window has been shown</pre>
</dd>
<a id="WINDOWEVENT_HIDDEN"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_HIDDEN"><span class="Identifier">WINDOWEVENT_HIDDEN</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Window has been hidden</pre>
</dd>
<a id="WINDOWEVENT_EXPOSED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_EXPOSED"><span class="Identifier">WINDOWEVENT_EXPOSED</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; Window has been exposed and should be
redrawn</pre>
</dd>
<a id="WINDOWEVENT_MOVED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_MOVED"><span class="Identifier">WINDOWEVENT_MOVED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<pre>&lt; Window has been moved to data1, data2</pre>
</dd>
<a id="WINDOWEVENT_RESIZED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_RESIZED"><span class="Identifier">WINDOWEVENT_RESIZED</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
<pre>&lt; Window has been resized to data1xdata2</pre>
</dd>
<a id="WINDOWEVENT_SIZE_CHANGED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_SIZE_CHANGED"><span class="Identifier">WINDOWEVENT_SIZE_CHANGED</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
<pre>&lt; The window size has changed, either as
a result of an API call or through the
system or user changing the window size.</pre>
</dd>
<a id="WINDOWEVENT_MINIMIZED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_MINIMIZED"><span class="Identifier">WINDOWEVENT_MINIMIZED</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
<pre>&lt; Window has been minimized</pre>
</dd>
<a id="WINDOWEVENT_MAXIMIZED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_MAXIMIZED"><span class="Identifier">WINDOWEVENT_MAXIMIZED</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
<pre>&lt; Window has been maximized</pre>
</dd>
<a id="WINDOWEVENT_RESTORED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_RESTORED"><span class="Identifier">WINDOWEVENT_RESTORED</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
<pre>&lt; Window has been restored to normal size
and position</pre>
</dd>
<a id="WINDOWEVENT_ENTER"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_ENTER"><span class="Identifier">WINDOWEVENT_ENTER</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
<pre>&lt; Window has gained mouse focus</pre>
</dd>
<a id="WINDOWEVENT_LEAVE"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_LEAVE"><span class="Identifier">WINDOWEVENT_LEAVE</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
<pre>&lt; Window has lost mouse focus</pre>
</dd>
<a id="WINDOWEVENT_FOCUS_GAINED"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_FOCUS_GAINED"><span class="Identifier">WINDOWEVENT_FOCUS_GAINED</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
<pre>&lt; Window has gained keyboard focus</pre>
</dd>
<a id="WINDOWEVENT_FOCUS_LOST"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_FOCUS_LOST"><span class="Identifier">WINDOWEVENT_FOCUS_LOST</span></a> <span class="Other">=</span> <span class="DecNumber">13</span></pre></dt>
<dd>
<pre>&lt; Window has lost keyboard focus</pre>
</dd>
<a id="WINDOWEVENT_CLOSE"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_CLOSE"><span class="Identifier">WINDOWEVENT_CLOSE</span></a> <span class="Other">=</span> <span class="DecNumber">14</span></pre></dt>
<dd>
<pre>&lt; The window manager requests that the window be closed</pre>
</dd>
<a id="WINDOWEVENT_TAKE_FOCUS"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_TAKE_FOCUS"><span class="Identifier">WINDOWEVENT_TAKE_FOCUS</span></a> <span class="Other">=</span> <span class="DecNumber">15</span></pre></dt>
<dd>
<pre>&lt; Window is being offered a focus (should SetWindowInputFocus() on itself or a subwindow, or ignore)</pre>
</dd>
<a id="WINDOWEVENT_HIT_TEST"></a>
<dt><pre><a href="sdl2.html#WINDOWEVENT_HIT_TEST"><span class="Identifier">WINDOWEVENT_HIT_TEST</span></a> <span class="Other">=</span> <span class="DecNumber">16</span></pre></dt>
<dd>
<pre>&lt; Window had a hit test that wasn't SDL_HITTEST_NORMAL.</pre>
</dd>
<a id="DISPLAYEVENT_NONE"></a>
<dt><pre><a href="sdl2.html#DISPLAYEVENT_NONE"><span class="Identifier">DISPLAYEVENT_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Never used</pre>
</dd>
<a id="DISPLAYEVENT_ORIENTATION"></a>
<dt><pre><a href="sdl2.html#DISPLAYEVENT_ORIENTATION"><span class="Identifier">DISPLAYEVENT_ORIENTATION</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Display orientation has changed to data1</pre>
</dd>
<a id="ORIENTATION_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#ORIENTATION_UNKNOWN"><span class="Identifier">ORIENTATION_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; The display orientation can't be determined</pre>
</dd>
<a id="ORIENTATION_LANDSCAPE"></a>
<dt><pre><a href="sdl2.html#ORIENTATION_LANDSCAPE"><span class="Identifier">ORIENTATION_LANDSCAPE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; The display is in landscape mode, with the right side up, relative to portrait mode</pre>
</dd>
<a id="ORIENTATION_LANDSCAPE_FLIPPED"></a>
<dt><pre><a href="sdl2.html#ORIENTATION_LANDSCAPE_FLIPPED"><span class="Identifier">ORIENTATION_LANDSCAPE_FLIPPED</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; The display is in landscape mode, with the left side up, relative to portrait mode</pre>
</dd>
<a id="ORIENTATION_PORTRAIT"></a>
<dt><pre><a href="sdl2.html#ORIENTATION_PORTRAIT"><span class="Identifier">ORIENTATION_PORTRAIT</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; The display is in portrait mode</pre>
</dd>
<a id="ORIENTATION_PORTRAIT_FLIPPED"></a>
<dt><pre><a href="sdl2.html#ORIENTATION_PORTRAIT_FLIPPED"><span class="Identifier">ORIENTATION_PORTRAIT_FLIPPED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<pre>&lt; The display is in portrait mode, upside down</pre>
</dd>
<a id="GL_RED_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_RED_SIZE"><span class="Identifier">GL_RED_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_GREEN_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_GREEN_SIZE"><span class="Identifier">GL_GREEN_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="GL_BLUE_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_BLUE_SIZE"><span class="Identifier">GL_BLUE_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="GL_ALPHA_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_ALPHA_SIZE"><span class="Identifier">GL_ALPHA_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="GL_BUFFER_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_BUFFER_SIZE"><span class="Identifier">GL_BUFFER_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="GL_DOUBLEBUFFER"></a>
<dt><pre><a href="sdl2.html#GL_DOUBLEBUFFER"><span class="Identifier">GL_DOUBLEBUFFER</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="GL_DEPTH_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_DEPTH_SIZE"><span class="Identifier">GL_DEPTH_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="GL_STENCIL_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_STENCIL_SIZE"><span class="Identifier">GL_STENCIL_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="GL_ACCUM_RED_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_ACCUM_RED_SIZE"><span class="Identifier">GL_ACCUM_RED_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="GL_ACCUM_GREEN_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_ACCUM_GREEN_SIZE"><span class="Identifier">GL_ACCUM_GREEN_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="GL_ACCUM_BLUE_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_ACCUM_BLUE_SIZE"><span class="Identifier">GL_ACCUM_BLUE_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
</dd>
<a id="GL_ACCUM_ALPHA_SIZE"></a>
<dt><pre><a href="sdl2.html#GL_ACCUM_ALPHA_SIZE"><span class="Identifier">GL_ACCUM_ALPHA_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
</dd>
<a id="GL_STEREO"></a>
<dt><pre><a href="sdl2.html#GL_STEREO"><span class="Identifier">GL_STEREO</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="GL_MULTISAMPLEBUFFERS"></a>
<dt><pre><a href="sdl2.html#GL_MULTISAMPLEBUFFERS"><span class="Identifier">GL_MULTISAMPLEBUFFERS</span></a> <span class="Other">=</span> <span class="DecNumber">13</span></pre></dt>
<dd>
</dd>
<a id="GL_MULTISAMPLESAMPLES"></a>
<dt><pre><a href="sdl2.html#GL_MULTISAMPLESAMPLES"><span class="Identifier">GL_MULTISAMPLESAMPLES</span></a> <span class="Other">=</span> <span class="DecNumber">14</span></pre></dt>
<dd>
</dd>
<a id="GL_ACCELERATED_VISUAL"></a>
<dt><pre><a href="sdl2.html#GL_ACCELERATED_VISUAL"><span class="Identifier">GL_ACCELERATED_VISUAL</span></a> <span class="Other">=</span> <span class="DecNumber">15</span></pre></dt>
<dd>
</dd>
<a id="GL_RETAINED_BACKING"></a>
<dt><pre><a href="sdl2.html#GL_RETAINED_BACKING"><span class="Identifier">GL_RETAINED_BACKING</span></a> <span class="Other">=</span> <span class="DecNumber">16</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_MAJOR_VERSION"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_MAJOR_VERSION"><span class="Identifier">GL_CONTEXT_MAJOR_VERSION</span></a> <span class="Other">=</span> <span class="DecNumber">17</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_MINOR_VERSION"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_MINOR_VERSION"><span class="Identifier">GL_CONTEXT_MINOR_VERSION</span></a> <span class="Other">=</span> <span class="DecNumber">18</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_EGL"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_EGL"><span class="Identifier">GL_CONTEXT_EGL</span></a> <span class="Other">=</span> <span class="DecNumber">19</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_FLAGS"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_FLAGS"><span class="Identifier">GL_CONTEXT_FLAGS</span></a> <span class="Other">=</span> <span class="DecNumber">20</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_PROFILE_MASK"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_PROFILE_MASK"><span class="Identifier">GL_CONTEXT_PROFILE_MASK</span></a> <span class="Other">=</span> <span class="DecNumber">21</span></pre></dt>
<dd>
</dd>
<a id="GL_SHARE_WITH_CURRENT_CONTEXT"></a>
<dt><pre><a href="sdl2.html#GL_SHARE_WITH_CURRENT_CONTEXT"><span class="Identifier">GL_SHARE_WITH_CURRENT_CONTEXT</span></a> <span class="Other">=</span> <span class="DecNumber">22</span></pre></dt>
<dd>
</dd>
<a id="GL_FRAMEBUFFER_SRGB_CAPABLE"></a>
<dt><pre><a href="sdl2.html#GL_FRAMEBUFFER_SRGB_CAPABLE"><span class="Identifier">GL_FRAMEBUFFER_SRGB_CAPABLE</span></a> <span class="Other">=</span> <span class="DecNumber">23</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RELEASE_BEHAVIOR"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RELEASE_BEHAVIOR"><span class="Identifier">GL_CONTEXT_RELEASE_BEHAVIOR</span></a> <span class="Other">=</span> <span class="DecNumber">24</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RESET_NOTIFICATION"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RESET_NOTIFICATION"><span class="Identifier">GL_CONTEXT_RESET_NOTIFICATION</span></a> <span class="Other">=</span> <span class="DecNumber">25</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_NO_ERROR"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_NO_ERROR"><span class="Identifier">GL_CONTEXT_NO_ERROR</span></a> <span class="Other">=</span> <span class="DecNumber">26</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_PROFILE_CORE"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_PROFILE_CORE"><span class="Identifier">GL_CONTEXT_PROFILE_CORE</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_PROFILE_COMPATIBILITY"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_PROFILE_COMPATIBILITY"><span class="Identifier">GL_CONTEXT_PROFILE_COMPATIBILITY</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_PROFILE_ES"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_PROFILE_ES"><span class="Identifier">GL_CONTEXT_PROFILE_ES</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; GLX_CONTEXT_ES2_PROFILE_BIT_EXT</pre>
</dd>
<a id="GL_CONTEXT_DEBUG_FLAG"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_DEBUG_FLAG"><span class="Identifier">GL_CONTEXT_DEBUG_FLAG</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_FORWARD_COMPATIBLE_FLAG"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_FORWARD_COMPATIBLE_FLAG"><span class="Identifier">GL_CONTEXT_FORWARD_COMPATIBLE_FLAG</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_ROBUST_ACCESS_FLAG"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_ROBUST_ACCESS_FLAG"><span class="Identifier">GL_CONTEXT_ROBUST_ACCESS_FLAG</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RESET_ISOLATION_FLAG"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RESET_ISOLATION_FLAG"><span class="Identifier">GL_CONTEXT_RESET_ISOLATION_FLAG</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RELEASE_BEHAVIOR_NONE"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RELEASE_BEHAVIOR_NONE"><span class="Identifier">GL_CONTEXT_RELEASE_BEHAVIOR_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH"><span class="Identifier">GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RESET_NO_NOTIFICATION"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RESET_NO_NOTIFICATION"><span class="Identifier">GL_CONTEXT_RESET_NO_NOTIFICATION</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="GL_CONTEXT_RESET_LOSE_CONTEXT"></a>
<dt><pre><a href="sdl2.html#GL_CONTEXT_RESET_LOSE_CONTEXT"><span class="Identifier">GL_CONTEXT_RESET_LOSE_CONTEXT</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_NORMAL"></a>
<dt><pre><a href="sdl2.html#HITTEST_NORMAL"><span class="Identifier">HITTEST_NORMAL</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Region is normal. No special properties.</pre>
</dd>
<a id="HITTEST_DRAGGABLE"></a>
<dt><pre><a href="sdl2.html#HITTEST_DRAGGABLE"><span class="Identifier">HITTEST_DRAGGABLE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Region can drag entire window.</pre>
</dd>
<a id="HITTEST_RESIZE_TOPLEFT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_TOPLEFT"><span class="Identifier">HITTEST_RESIZE_TOPLEFT</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_TOP"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_TOP"><span class="Identifier">HITTEST_RESIZE_TOP</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_TOPRIGHT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_TOPRIGHT"><span class="Identifier">HITTEST_RESIZE_TOPRIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_RIGHT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_RIGHT"><span class="Identifier">HITTEST_RESIZE_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_BOTTOMRIGHT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_BOTTOMRIGHT"><span class="Identifier">HITTEST_RESIZE_BOTTOMRIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_BOTTOM"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_BOTTOM"><span class="Identifier">HITTEST_RESIZE_BOTTOM</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_BOTTOMLEFT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_BOTTOMLEFT"><span class="Identifier">HITTEST_RESIZE_BOTTOMLEFT</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="HITTEST_RESIZE_LEFT"></a>
<dt><pre><a href="sdl2.html#HITTEST_RESIZE_LEFT"><span class="Identifier">HITTEST_RESIZE_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_UNKNOWN"><span class="Identifier">SCANCODE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>\name Usage page 0x07
These values are from usage page 0x07 (USB keyboard page).</pre>
</dd>
<a id="SCANCODE_A"></a>
<dt><pre><a href="sdl2.html#SCANCODE_A"><span class="Identifier">SCANCODE_A</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_B"></a>
<dt><pre><a href="sdl2.html#SCANCODE_B"><span class="Identifier">SCANCODE_B</span></a> <span class="Other">=</span> <span class="DecNumber">5'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_C"></a>
<dt><pre><a href="sdl2.html#SCANCODE_C"><span class="Identifier">SCANCODE_C</span></a> <span class="Other">=</span> <span class="DecNumber">6'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_D"></a>
<dt><pre><a href="sdl2.html#SCANCODE_D"><span class="Identifier">SCANCODE_D</span></a> <span class="Other">=</span> <span class="DecNumber">7'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_E"></a>
<dt><pre><a href="sdl2.html#SCANCODE_E"><span class="Identifier">SCANCODE_E</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F"><span class="Identifier">SCANCODE_F</span></a> <span class="Other">=</span> <span class="DecNumber">9'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_G"></a>
<dt><pre><a href="sdl2.html#SCANCODE_G"><span class="Identifier">SCANCODE_G</span></a> <span class="Other">=</span> <span class="DecNumber">10'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_H"></a>
<dt><pre><a href="sdl2.html#SCANCODE_H"><span class="Identifier">SCANCODE_H</span></a> <span class="Other">=</span> <span class="DecNumber">11'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_I"></a>
<dt><pre><a href="sdl2.html#SCANCODE_I"><span class="Identifier">SCANCODE_I</span></a> <span class="Other">=</span> <span class="DecNumber">12'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_J"></a>
<dt><pre><a href="sdl2.html#SCANCODE_J"><span class="Identifier">SCANCODE_J</span></a> <span class="Other">=</span> <span class="DecNumber">13'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_K"></a>
<dt><pre><a href="sdl2.html#SCANCODE_K"><span class="Identifier">SCANCODE_K</span></a> <span class="Other">=</span> <span class="DecNumber">14'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_L"></a>
<dt><pre><a href="sdl2.html#SCANCODE_L"><span class="Identifier">SCANCODE_L</span></a> <span class="Other">=</span> <span class="DecNumber">15'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_M"></a>
<dt><pre><a href="sdl2.html#SCANCODE_M"><span class="Identifier">SCANCODE_M</span></a> <span class="Other">=</span> <span class="DecNumber">16'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_N"></a>
<dt><pre><a href="sdl2.html#SCANCODE_N"><span class="Identifier">SCANCODE_N</span></a> <span class="Other">=</span> <span class="DecNumber">17'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_O"></a>
<dt><pre><a href="sdl2.html#SCANCODE_O"><span class="Identifier">SCANCODE_O</span></a> <span class="Other">=</span> <span class="DecNumber">18'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_P"></a>
<dt><pre><a href="sdl2.html#SCANCODE_P"><span class="Identifier">SCANCODE_P</span></a> <span class="Other">=</span> <span class="DecNumber">19'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_Q"></a>
<dt><pre><a href="sdl2.html#SCANCODE_Q"><span class="Identifier">SCANCODE_Q</span></a> <span class="Other">=</span> <span class="DecNumber">20'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_R"></a>
<dt><pre><a href="sdl2.html#SCANCODE_R"><span class="Identifier">SCANCODE_R</span></a> <span class="Other">=</span> <span class="DecNumber">21'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_S"></a>
<dt><pre><a href="sdl2.html#SCANCODE_S"><span class="Identifier">SCANCODE_S</span></a> <span class="Other">=</span> <span class="DecNumber">22'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_T"></a>
<dt><pre><a href="sdl2.html#SCANCODE_T"><span class="Identifier">SCANCODE_T</span></a> <span class="Other">=</span> <span class="DecNumber">23'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_U"></a>
<dt><pre><a href="sdl2.html#SCANCODE_U"><span class="Identifier">SCANCODE_U</span></a> <span class="Other">=</span> <span class="DecNumber">24'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_V"></a>
<dt><pre><a href="sdl2.html#SCANCODE_V"><span class="Identifier">SCANCODE_V</span></a> <span class="Other">=</span> <span class="DecNumber">25'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_W"></a>
<dt><pre><a href="sdl2.html#SCANCODE_W"><span class="Identifier">SCANCODE_W</span></a> <span class="Other">=</span> <span class="DecNumber">26'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_X"></a>
<dt><pre><a href="sdl2.html#SCANCODE_X"><span class="Identifier">SCANCODE_X</span></a> <span class="Other">=</span> <span class="DecNumber">27'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_Y"></a>
<dt><pre><a href="sdl2.html#SCANCODE_Y"><span class="Identifier">SCANCODE_Y</span></a> <span class="Other">=</span> <span class="DecNumber">28'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_Z"></a>
<dt><pre><a href="sdl2.html#SCANCODE_Z"><span class="Identifier">SCANCODE_Z</span></a> <span class="Other">=</span> <span class="DecNumber">29'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_1"><span class="Identifier">SCANCODE_1</span></a> <span class="Other">=</span> <span class="DecNumber">30'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_2"><span class="Identifier">SCANCODE_2</span></a> <span class="Other">=</span> <span class="DecNumber">31'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_3"></a>
<dt><pre><a href="sdl2.html#SCANCODE_3"><span class="Identifier">SCANCODE_3</span></a> <span class="Other">=</span> <span class="DecNumber">32'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_4"></a>
<dt><pre><a href="sdl2.html#SCANCODE_4"><span class="Identifier">SCANCODE_4</span></a> <span class="Other">=</span> <span class="DecNumber">33'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_5"></a>
<dt><pre><a href="sdl2.html#SCANCODE_5"><span class="Identifier">SCANCODE_5</span></a> <span class="Other">=</span> <span class="DecNumber">34'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_6"></a>
<dt><pre><a href="sdl2.html#SCANCODE_6"><span class="Identifier">SCANCODE_6</span></a> <span class="Other">=</span> <span class="DecNumber">35'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_7"></a>
<dt><pre><a href="sdl2.html#SCANCODE_7"><span class="Identifier">SCANCODE_7</span></a> <span class="Other">=</span> <span class="DecNumber">36'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_8"></a>
<dt><pre><a href="sdl2.html#SCANCODE_8"><span class="Identifier">SCANCODE_8</span></a> <span class="Other">=</span> <span class="DecNumber">37'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_9"></a>
<dt><pre><a href="sdl2.html#SCANCODE_9"><span class="Identifier">SCANCODE_9</span></a> <span class="Other">=</span> <span class="DecNumber">38'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_0"></a>
<dt><pre><a href="sdl2.html#SCANCODE_0"><span class="Identifier">SCANCODE_0</span></a> <span class="Other">=</span> <span class="DecNumber">39'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RETURN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RETURN"><span class="Identifier">SCANCODE_RETURN</span></a> <span class="Other">=</span> <span class="DecNumber">40'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_ESCAPE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_ESCAPE"><span class="Identifier">SCANCODE_ESCAPE</span></a> <span class="Other">=</span> <span class="DecNumber">41'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_BACKSPACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_BACKSPACE"><span class="Identifier">SCANCODE_BACKSPACE</span></a> <span class="Other">=</span> <span class="DecNumber">42'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_TAB"></a>
<dt><pre><a href="sdl2.html#SCANCODE_TAB"><span class="Identifier">SCANCODE_TAB</span></a> <span class="Other">=</span> <span class="DecNumber">43'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SPACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SPACE"><span class="Identifier">SCANCODE_SPACE</span></a> <span class="Other">=</span> <span class="DecNumber">44'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MINUS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MINUS"><span class="Identifier">SCANCODE_MINUS</span></a> <span class="Other">=</span> <span class="DecNumber">45'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_EQUALS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_EQUALS"><span class="Identifier">SCANCODE_EQUALS</span></a> <span class="Other">=</span> <span class="DecNumber">46'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LEFTBRACKET"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LEFTBRACKET"><span class="Identifier">SCANCODE_LEFTBRACKET</span></a> <span class="Other">=</span> <span class="DecNumber">47'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RIGHTBRACKET"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RIGHTBRACKET"><span class="Identifier">SCANCODE_RIGHTBRACKET</span></a> <span class="Other">=</span> <span class="DecNumber">48'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_BACKSLASH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_BACKSLASH"><span class="Identifier">SCANCODE_BACKSLASH</span></a> <span class="Other">=</span> <span class="DecNumber">49'i32</span></pre></dt>
<dd>
<pre>&lt; Located at the lower left of the return
key on ISO keyboards and at the right end
of the QWERTY row on ANSI keyboards.
Produces REVERSE SOLIDUS (backslash) and
VERTICAL LINE in a US layout, REVERSE
SOLIDUS and VERTICAL LINE in a UK Mac
layout, NUMBER SIGN and TILDE in a UK
Windows layout, DOLLAR SIGN and POUND SIGN
in a Swiss German layout, NUMBER SIGN and
APOSTROPHE in a German layout, GRAVE
ACCENT and POUND SIGN in a French Mac
layout, and ASTERISK and MICRO SIGN in a
French Windows layout.</pre>
</dd>
<a id="SCANCODE_NONUSHASH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_NONUSHASH"><span class="Identifier">SCANCODE_NONUSHASH</span></a> <span class="Other">=</span> <span class="DecNumber">50'i32</span></pre></dt>
<dd>
<pre>&lt; ISO USB keyboards actually use this code
instead of 49 for the same key, but all
OSes I've seen treat the two codes
identically. So, as an implementor, unless
your keyboard generates both of those
codes and your OS treats them differently,
you should generate SDL_SCANCODE_BACKSLASH
instead of this code. As a user, you
should not rely on this code because SDL
will never generate it with most (all?)
keyboards.</pre>
</dd>
<a id="SCANCODE_SEMICOLON"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SEMICOLON"><span class="Identifier">SCANCODE_SEMICOLON</span></a> <span class="Other">=</span> <span class="DecNumber">51'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_APOSTROPHE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_APOSTROPHE"><span class="Identifier">SCANCODE_APOSTROPHE</span></a> <span class="Other">=</span> <span class="DecNumber">52'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_GRAVE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_GRAVE"><span class="Identifier">SCANCODE_GRAVE</span></a> <span class="Other">=</span> <span class="DecNumber">53'i32</span></pre></dt>
<dd>
<pre>&lt; Located in the top left corner (on both ANSI
and ISO keyboards). Produces GRAVE ACCENT and
TILDE in a US Windows layout and in US and UK
Mac layouts on ANSI keyboards, GRAVE ACCENT
and NOT SIGN in a UK Windows layout, SECTION
SIGN and PLUS-MINUS SIGN in US and UK Mac
layouts on ISO keyboards, SECTION SIGN and
DEGREE SIGN in a Swiss German layout (Mac:
only on ISO keyboards), CIRCUMFLEX ACCENT and
DEGREE SIGN in a German layout (Mac: only on
ISO keyboards), SUPERSCRIPT TWO and TILDE in a
French Windows layout, COMMERCIAL AT and
NUMBER SIGN in a French Mac layout on ISO
keyboards, and LESS-THAN SIGN and GREATER-THAN
SIGN in a Swiss German, German, or French Mac
layout on ANSI keyboards.</pre>
</dd>
<a id="SCANCODE_COMMA"></a>
<dt><pre><a href="sdl2.html#SCANCODE_COMMA"><span class="Identifier">SCANCODE_COMMA</span></a> <span class="Other">=</span> <span class="DecNumber">54'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PERIOD"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PERIOD"><span class="Identifier">SCANCODE_PERIOD</span></a> <span class="Other">=</span> <span class="DecNumber">55'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SLASH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SLASH"><span class="Identifier">SCANCODE_SLASH</span></a> <span class="Other">=</span> <span class="DecNumber">56'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CAPSLOCK"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CAPSLOCK"><span class="Identifier">SCANCODE_CAPSLOCK</span></a> <span class="Other">=</span> <span class="DecNumber">57'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F1"><span class="Identifier">SCANCODE_F1</span></a> <span class="Other">=</span> <span class="DecNumber">58'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F2"><span class="Identifier">SCANCODE_F2</span></a> <span class="Other">=</span> <span class="DecNumber">59'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F3"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F3"><span class="Identifier">SCANCODE_F3</span></a> <span class="Other">=</span> <span class="DecNumber">60'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F4"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F4"><span class="Identifier">SCANCODE_F4</span></a> <span class="Other">=</span> <span class="DecNumber">61'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F5"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F5"><span class="Identifier">SCANCODE_F5</span></a> <span class="Other">=</span> <span class="DecNumber">62'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F6"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F6"><span class="Identifier">SCANCODE_F6</span></a> <span class="Other">=</span> <span class="DecNumber">63'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F7"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F7"><span class="Identifier">SCANCODE_F7</span></a> <span class="Other">=</span> <span class="DecNumber">64'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F8"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F8"><span class="Identifier">SCANCODE_F8</span></a> <span class="Other">=</span> <span class="DecNumber">65'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F9"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F9"><span class="Identifier">SCANCODE_F9</span></a> <span class="Other">=</span> <span class="DecNumber">66'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F10"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F10"><span class="Identifier">SCANCODE_F10</span></a> <span class="Other">=</span> <span class="DecNumber">67'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F11"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F11"><span class="Identifier">SCANCODE_F11</span></a> <span class="Other">=</span> <span class="DecNumber">68'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F12"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F12"><span class="Identifier">SCANCODE_F12</span></a> <span class="Other">=</span> <span class="DecNumber">69'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PRINTSCREEN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PRINTSCREEN"><span class="Identifier">SCANCODE_PRINTSCREEN</span></a> <span class="Other">=</span> <span class="DecNumber">70'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SCROLLLOCK"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SCROLLLOCK"><span class="Identifier">SCANCODE_SCROLLLOCK</span></a> <span class="Other">=</span> <span class="DecNumber">71'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PAUSE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PAUSE"><span class="Identifier">SCANCODE_PAUSE</span></a> <span class="Other">=</span> <span class="DecNumber">72'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INSERT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INSERT"><span class="Identifier">SCANCODE_INSERT</span></a> <span class="Other">=</span> <span class="DecNumber">73'i32</span></pre></dt>
<dd>
<pre>&lt; insert on PC, help on some Mac keyboards (but
does send code 73, not 117)</pre>
</dd>
<a id="SCANCODE_HOME"></a>
<dt><pre><a href="sdl2.html#SCANCODE_HOME"><span class="Identifier">SCANCODE_HOME</span></a> <span class="Other">=</span> <span class="DecNumber">74'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PAGEUP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PAGEUP"><span class="Identifier">SCANCODE_PAGEUP</span></a> <span class="Other">=</span> <span class="DecNumber">75'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_DELETE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_DELETE"><span class="Identifier">SCANCODE_DELETE</span></a> <span class="Other">=</span> <span class="DecNumber">76'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_END"></a>
<dt><pre><a href="sdl2.html#SCANCODE_END"><span class="Identifier">SCANCODE_END</span></a> <span class="Other">=</span> <span class="DecNumber">77'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PAGEDOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PAGEDOWN"><span class="Identifier">SCANCODE_PAGEDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">78'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RIGHT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RIGHT"><span class="Identifier">SCANCODE_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">79'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LEFT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LEFT"><span class="Identifier">SCANCODE_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">80'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_DOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_DOWN"><span class="Identifier">SCANCODE_DOWN</span></a> <span class="Other">=</span> <span class="DecNumber">81'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_UP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_UP"><span class="Identifier">SCANCODE_UP</span></a> <span class="Other">=</span> <span class="DecNumber">82'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_NUMLOCKCLEAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_NUMLOCKCLEAR"><span class="Identifier">SCANCODE_NUMLOCKCLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">83'i32</span></pre></dt>
<dd>
<pre>&lt; num lock on PC, clear on Mac keyboards</pre>
</dd>
<a id="SCANCODE_KP_DIVIDE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_DIVIDE"><span class="Identifier">SCANCODE_KP_DIVIDE</span></a> <span class="Other">=</span> <span class="DecNumber">84'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MULTIPLY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MULTIPLY"><span class="Identifier">SCANCODE_KP_MULTIPLY</span></a> <span class="Other">=</span> <span class="DecNumber">85'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MINUS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MINUS"><span class="Identifier">SCANCODE_KP_MINUS</span></a> <span class="Other">=</span> <span class="DecNumber">86'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_PLUS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_PLUS"><span class="Identifier">SCANCODE_KP_PLUS</span></a> <span class="Other">=</span> <span class="DecNumber">87'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_ENTER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_ENTER"><span class="Identifier">SCANCODE_KP_ENTER</span></a> <span class="Other">=</span> <span class="DecNumber">88'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_1"><span class="Identifier">SCANCODE_KP_1</span></a> <span class="Other">=</span> <span class="DecNumber">89'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_2"><span class="Identifier">SCANCODE_KP_2</span></a> <span class="Other">=</span> <span class="DecNumber">90'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_3"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_3"><span class="Identifier">SCANCODE_KP_3</span></a> <span class="Other">=</span> <span class="DecNumber">91'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_4"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_4"><span class="Identifier">SCANCODE_KP_4</span></a> <span class="Other">=</span> <span class="DecNumber">92'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_5"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_5"><span class="Identifier">SCANCODE_KP_5</span></a> <span class="Other">=</span> <span class="DecNumber">93'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_6"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_6"><span class="Identifier">SCANCODE_KP_6</span></a> <span class="Other">=</span> <span class="DecNumber">94'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_7"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_7"><span class="Identifier">SCANCODE_KP_7</span></a> <span class="Other">=</span> <span class="DecNumber">95'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_8"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_8"><span class="Identifier">SCANCODE_KP_8</span></a> <span class="Other">=</span> <span class="DecNumber">96'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_9"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_9"><span class="Identifier">SCANCODE_KP_9</span></a> <span class="Other">=</span> <span class="DecNumber">97'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_0"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_0"><span class="Identifier">SCANCODE_KP_0</span></a> <span class="Other">=</span> <span class="DecNumber">98'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_PERIOD"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_PERIOD"><span class="Identifier">SCANCODE_KP_PERIOD</span></a> <span class="Other">=</span> <span class="DecNumber">99'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_NONUSBACKSLASH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_NONUSBACKSLASH"><span class="Identifier">SCANCODE_NONUSBACKSLASH</span></a> <span class="Other">=</span> <span class="DecNumber">100'i32</span></pre></dt>
<dd>
<pre>&lt; This is the additional key that ISO
keyboards have over ANSI ones,
located between left shift and Y.
Produces GRAVE ACCENT and TILDE in a
US or UK Mac layout, REVERSE SOLIDUS
(backslash) and VERTICAL LINE in a
US or UK Windows layout, and
LESS-THAN SIGN and GREATER-THAN SIGN
in a Swiss German, German, or French
layout.</pre>
</dd>
<a id="SCANCODE_APPLICATION"></a>
<dt><pre><a href="sdl2.html#SCANCODE_APPLICATION"><span class="Identifier">SCANCODE_APPLICATION</span></a> <span class="Other">=</span> <span class="DecNumber">101'i32</span></pre></dt>
<dd>
<pre>&lt; windows contextual menu, compose</pre>
</dd>
<a id="SCANCODE_POWER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_POWER"><span class="Identifier">SCANCODE_POWER</span></a> <span class="Other">=</span> <span class="DecNumber">102'i32</span></pre></dt>
<dd>
<pre>&lt; The USB document says this is a status flag,
not a physical key - but some Mac keyboards
do have a power key.</pre>
</dd>
<a id="SCANCODE_KP_EQUALS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_EQUALS"><span class="Identifier">SCANCODE_KP_EQUALS</span></a> <span class="Other">=</span> <span class="DecNumber">103'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F13"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F13"><span class="Identifier">SCANCODE_F13</span></a> <span class="Other">=</span> <span class="DecNumber">104'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F14"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F14"><span class="Identifier">SCANCODE_F14</span></a> <span class="Other">=</span> <span class="DecNumber">105'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F15"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F15"><span class="Identifier">SCANCODE_F15</span></a> <span class="Other">=</span> <span class="DecNumber">106'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F16"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F16"><span class="Identifier">SCANCODE_F16</span></a> <span class="Other">=</span> <span class="DecNumber">107'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F17"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F17"><span class="Identifier">SCANCODE_F17</span></a> <span class="Other">=</span> <span class="DecNumber">108'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F18"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F18"><span class="Identifier">SCANCODE_F18</span></a> <span class="Other">=</span> <span class="DecNumber">109'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F19"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F19"><span class="Identifier">SCANCODE_F19</span></a> <span class="Other">=</span> <span class="DecNumber">110'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F20"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F20"><span class="Identifier">SCANCODE_F20</span></a> <span class="Other">=</span> <span class="DecNumber">111'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F21"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F21"><span class="Identifier">SCANCODE_F21</span></a> <span class="Other">=</span> <span class="DecNumber">112'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F22"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F22"><span class="Identifier">SCANCODE_F22</span></a> <span class="Other">=</span> <span class="DecNumber">113'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F23"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F23"><span class="Identifier">SCANCODE_F23</span></a> <span class="Other">=</span> <span class="DecNumber">114'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_F24"></a>
<dt><pre><a href="sdl2.html#SCANCODE_F24"><span class="Identifier">SCANCODE_F24</span></a> <span class="Other">=</span> <span class="DecNumber">115'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_EXECUTE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_EXECUTE"><span class="Identifier">SCANCODE_EXECUTE</span></a> <span class="Other">=</span> <span class="DecNumber">116'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_HELP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_HELP"><span class="Identifier">SCANCODE_HELP</span></a> <span class="Other">=</span> <span class="DecNumber">117'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MENU"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MENU"><span class="Identifier">SCANCODE_MENU</span></a> <span class="Other">=</span> <span class="DecNumber">118'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SELECT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SELECT"><span class="Identifier">SCANCODE_SELECT</span></a> <span class="Other">=</span> <span class="DecNumber">119'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_STOP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_STOP"><span class="Identifier">SCANCODE_STOP</span></a> <span class="Other">=</span> <span class="DecNumber">120'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AGAIN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AGAIN"><span class="Identifier">SCANCODE_AGAIN</span></a> <span class="Other">=</span> <span class="DecNumber">121'i32</span></pre></dt>
<dd>
<pre>&lt; redo</pre>
</dd>
<a id="SCANCODE_UNDO"></a>
<dt><pre><a href="sdl2.html#SCANCODE_UNDO"><span class="Identifier">SCANCODE_UNDO</span></a> <span class="Other">=</span> <span class="DecNumber">122'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CUT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CUT"><span class="Identifier">SCANCODE_CUT</span></a> <span class="Other">=</span> <span class="DecNumber">123'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_COPY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_COPY"><span class="Identifier">SCANCODE_COPY</span></a> <span class="Other">=</span> <span class="DecNumber">124'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PASTE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PASTE"><span class="Identifier">SCANCODE_PASTE</span></a> <span class="Other">=</span> <span class="DecNumber">125'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_FIND"></a>
<dt><pre><a href="sdl2.html#SCANCODE_FIND"><span class="Identifier">SCANCODE_FIND</span></a> <span class="Other">=</span> <span class="DecNumber">126'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MUTE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MUTE"><span class="Identifier">SCANCODE_MUTE</span></a> <span class="Other">=</span> <span class="DecNumber">127'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_VOLUMEUP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_VOLUMEUP"><span class="Identifier">SCANCODE_VOLUMEUP</span></a> <span class="Other">=</span> <span class="DecNumber">128'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_VOLUMEDOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_VOLUMEDOWN"><span class="Identifier">SCANCODE_VOLUMEDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">129'i32</span></pre></dt>
<dd>
<pre>not sure whether there's a reason to enable these</pre>
</dd>
<a id="SCANCODE_KP_COMMA"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_COMMA"><span class="Identifier">SCANCODE_KP_COMMA</span></a> <span class="Other">=</span> <span class="DecNumber">133'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_EQUALSAS400"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_EQUALSAS400"><span class="Identifier">SCANCODE_KP_EQUALSAS400</span></a> <span class="Other">=</span> <span class="DecNumber">134'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL1"><span class="Identifier">SCANCODE_INTERNATIONAL1</span></a> <span class="Other">=</span> <span class="DecNumber">135'i32</span></pre></dt>
<dd>
<pre>&lt; used on Asian keyboards, see
footnotes in USB doc</pre>
</dd>
<a id="SCANCODE_INTERNATIONAL2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL2"><span class="Identifier">SCANCODE_INTERNATIONAL2</span></a> <span class="Other">=</span> <span class="DecNumber">136'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL3"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL3"><span class="Identifier">SCANCODE_INTERNATIONAL3</span></a> <span class="Other">=</span> <span class="DecNumber">137'i32</span></pre></dt>
<dd>
<pre>&lt; Yen</pre>
</dd>
<a id="SCANCODE_INTERNATIONAL4"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL4"><span class="Identifier">SCANCODE_INTERNATIONAL4</span></a> <span class="Other">=</span> <span class="DecNumber">138'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL5"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL5"><span class="Identifier">SCANCODE_INTERNATIONAL5</span></a> <span class="Other">=</span> <span class="DecNumber">139'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL6"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL6"><span class="Identifier">SCANCODE_INTERNATIONAL6</span></a> <span class="Other">=</span> <span class="DecNumber">140'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL7"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL7"><span class="Identifier">SCANCODE_INTERNATIONAL7</span></a> <span class="Other">=</span> <span class="DecNumber">141'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL8"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL8"><span class="Identifier">SCANCODE_INTERNATIONAL8</span></a> <span class="Other">=</span> <span class="DecNumber">142'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_INTERNATIONAL9"></a>
<dt><pre><a href="sdl2.html#SCANCODE_INTERNATIONAL9"><span class="Identifier">SCANCODE_INTERNATIONAL9</span></a> <span class="Other">=</span> <span class="DecNumber">143'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LANG1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG1"><span class="Identifier">SCANCODE_LANG1</span></a> <span class="Other">=</span> <span class="DecNumber">144'i32</span></pre></dt>
<dd>
<pre>&lt; Hangul/English toggle</pre>
</dd>
<a id="SCANCODE_LANG2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG2"><span class="Identifier">SCANCODE_LANG2</span></a> <span class="Other">=</span> <span class="DecNumber">145'i32</span></pre></dt>
<dd>
<pre>&lt; Hanja conversion</pre>
</dd>
<a id="SCANCODE_LANG3"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG3"><span class="Identifier">SCANCODE_LANG3</span></a> <span class="Other">=</span> <span class="DecNumber">146'i32</span></pre></dt>
<dd>
<pre>&lt; Katakana</pre>
</dd>
<a id="SCANCODE_LANG4"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG4"><span class="Identifier">SCANCODE_LANG4</span></a> <span class="Other">=</span> <span class="DecNumber">147'i32</span></pre></dt>
<dd>
<pre>&lt; Hiragana</pre>
</dd>
<a id="SCANCODE_LANG5"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG5"><span class="Identifier">SCANCODE_LANG5</span></a> <span class="Other">=</span> <span class="DecNumber">148'i32</span></pre></dt>
<dd>
<pre>&lt; Zenkaku/Hankaku</pre>
</dd>
<a id="SCANCODE_LANG6"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG6"><span class="Identifier">SCANCODE_LANG6</span></a> <span class="Other">=</span> <span class="DecNumber">149'i32</span></pre></dt>
<dd>
<pre>&lt; reserved</pre>
</dd>
<a id="SCANCODE_LANG7"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG7"><span class="Identifier">SCANCODE_LANG7</span></a> <span class="Other">=</span> <span class="DecNumber">150'i32</span></pre></dt>
<dd>
<pre>&lt; reserved</pre>
</dd>
<a id="SCANCODE_LANG8"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG8"><span class="Identifier">SCANCODE_LANG8</span></a> <span class="Other">=</span> <span class="DecNumber">151'i32</span></pre></dt>
<dd>
<pre>&lt; reserved</pre>
</dd>
<a id="SCANCODE_LANG9"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LANG9"><span class="Identifier">SCANCODE_LANG9</span></a> <span class="Other">=</span> <span class="DecNumber">152'i32</span></pre></dt>
<dd>
<pre>&lt; reserved</pre>
</dd>
<a id="SCANCODE_ALTERASE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_ALTERASE"><span class="Identifier">SCANCODE_ALTERASE</span></a> <span class="Other">=</span> <span class="DecNumber">153'i32</span></pre></dt>
<dd>
<pre>&lt; Erase-Eaze</pre>
</dd>
<a id="SCANCODE_SYSREQ"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SYSREQ"><span class="Identifier">SCANCODE_SYSREQ</span></a> <span class="Other">=</span> <span class="DecNumber">154'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CANCEL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CANCEL"><span class="Identifier">SCANCODE_CANCEL</span></a> <span class="Other">=</span> <span class="DecNumber">155'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CLEAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CLEAR"><span class="Identifier">SCANCODE_CLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">156'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_PRIOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_PRIOR"><span class="Identifier">SCANCODE_PRIOR</span></a> <span class="Other">=</span> <span class="DecNumber">157'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RETURN2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RETURN2"><span class="Identifier">SCANCODE_RETURN2</span></a> <span class="Other">=</span> <span class="DecNumber">158'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SEPARATOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SEPARATOR"><span class="Identifier">SCANCODE_SEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">159'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_OUT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_OUT"><span class="Identifier">SCANCODE_OUT</span></a> <span class="Other">=</span> <span class="DecNumber">160'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_OPER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_OPER"><span class="Identifier">SCANCODE_OPER</span></a> <span class="Other">=</span> <span class="DecNumber">161'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CLEARAGAIN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CLEARAGAIN"><span class="Identifier">SCANCODE_CLEARAGAIN</span></a> <span class="Other">=</span> <span class="DecNumber">162'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CRSEL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CRSEL"><span class="Identifier">SCANCODE_CRSEL</span></a> <span class="Other">=</span> <span class="DecNumber">163'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_EXSEL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_EXSEL"><span class="Identifier">SCANCODE_EXSEL</span></a> <span class="Other">=</span> <span class="DecNumber">164'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_00"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_00"><span class="Identifier">SCANCODE_KP_00</span></a> <span class="Other">=</span> <span class="DecNumber">176'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_000"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_000"><span class="Identifier">SCANCODE_KP_000</span></a> <span class="Other">=</span> <span class="DecNumber">177'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_THOUSANDSSEPARATOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_THOUSANDSSEPARATOR"><span class="Identifier">SCANCODE_THOUSANDSSEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">178'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_DECIMALSEPARATOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_DECIMALSEPARATOR"><span class="Identifier">SCANCODE_DECIMALSEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">179'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CURRENCYUNIT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CURRENCYUNIT"><span class="Identifier">SCANCODE_CURRENCYUNIT</span></a> <span class="Other">=</span> <span class="DecNumber">180'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CURRENCYSUBUNIT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CURRENCYSUBUNIT"><span class="Identifier">SCANCODE_CURRENCYSUBUNIT</span></a> <span class="Other">=</span> <span class="DecNumber">181'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_LEFTPAREN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_LEFTPAREN"><span class="Identifier">SCANCODE_KP_LEFTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">182'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_RIGHTPAREN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_RIGHTPAREN"><span class="Identifier">SCANCODE_KP_RIGHTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">183'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_LEFTBRACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_LEFTBRACE"><span class="Identifier">SCANCODE_KP_LEFTBRACE</span></a> <span class="Other">=</span> <span class="DecNumber">184'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_RIGHTBRACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_RIGHTBRACE"><span class="Identifier">SCANCODE_KP_RIGHTBRACE</span></a> <span class="Other">=</span> <span class="DecNumber">185'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_TAB"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_TAB"><span class="Identifier">SCANCODE_KP_TAB</span></a> <span class="Other">=</span> <span class="DecNumber">186'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_BACKSPACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_BACKSPACE"><span class="Identifier">SCANCODE_KP_BACKSPACE</span></a> <span class="Other">=</span> <span class="DecNumber">187'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_A"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_A"><span class="Identifier">SCANCODE_KP_A</span></a> <span class="Other">=</span> <span class="DecNumber">188'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_B"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_B"><span class="Identifier">SCANCODE_KP_B</span></a> <span class="Other">=</span> <span class="DecNumber">189'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_C"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_C"><span class="Identifier">SCANCODE_KP_C</span></a> <span class="Other">=</span> <span class="DecNumber">190'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_D"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_D"><span class="Identifier">SCANCODE_KP_D</span></a> <span class="Other">=</span> <span class="DecNumber">191'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_E"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_E"><span class="Identifier">SCANCODE_KP_E</span></a> <span class="Other">=</span> <span class="DecNumber">192'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_F"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_F"><span class="Identifier">SCANCODE_KP_F</span></a> <span class="Other">=</span> <span class="DecNumber">193'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_XOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_XOR"><span class="Identifier">SCANCODE_KP_XOR</span></a> <span class="Other">=</span> <span class="DecNumber">194'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_POWER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_POWER"><span class="Identifier">SCANCODE_KP_POWER</span></a> <span class="Other">=</span> <span class="DecNumber">195'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_PERCENT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_PERCENT"><span class="Identifier">SCANCODE_KP_PERCENT</span></a> <span class="Other">=</span> <span class="DecNumber">196'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_LESS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_LESS"><span class="Identifier">SCANCODE_KP_LESS</span></a> <span class="Other">=</span> <span class="DecNumber">197'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_GREATER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_GREATER"><span class="Identifier">SCANCODE_KP_GREATER</span></a> <span class="Other">=</span> <span class="DecNumber">198'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_AMPERSAND"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_AMPERSAND"><span class="Identifier">SCANCODE_KP_AMPERSAND</span></a> <span class="Other">=</span> <span class="DecNumber">199'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_DBLAMPERSAND"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_DBLAMPERSAND"><span class="Identifier">SCANCODE_KP_DBLAMPERSAND</span></a> <span class="Other">=</span> <span class="DecNumber">200'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_VERTICALBAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_VERTICALBAR"><span class="Identifier">SCANCODE_KP_VERTICALBAR</span></a> <span class="Other">=</span> <span class="DecNumber">201'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_DBLVERTICALBAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_DBLVERTICALBAR"><span class="Identifier">SCANCODE_KP_DBLVERTICALBAR</span></a> <span class="Other">=</span> <span class="DecNumber">202'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_COLON"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_COLON"><span class="Identifier">SCANCODE_KP_COLON</span></a> <span class="Other">=</span> <span class="DecNumber">203'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_HASH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_HASH"><span class="Identifier">SCANCODE_KP_HASH</span></a> <span class="Other">=</span> <span class="DecNumber">204'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_SPACE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_SPACE"><span class="Identifier">SCANCODE_KP_SPACE</span></a> <span class="Other">=</span> <span class="DecNumber">205'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_AT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_AT"><span class="Identifier">SCANCODE_KP_AT</span></a> <span class="Other">=</span> <span class="DecNumber">206'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_EXCLAM"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_EXCLAM"><span class="Identifier">SCANCODE_KP_EXCLAM</span></a> <span class="Other">=</span> <span class="DecNumber">207'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMSTORE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMSTORE"><span class="Identifier">SCANCODE_KP_MEMSTORE</span></a> <span class="Other">=</span> <span class="DecNumber">208'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMRECALL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMRECALL"><span class="Identifier">SCANCODE_KP_MEMRECALL</span></a> <span class="Other">=</span> <span class="DecNumber">209'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMCLEAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMCLEAR"><span class="Identifier">SCANCODE_KP_MEMCLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">210'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMADD"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMADD"><span class="Identifier">SCANCODE_KP_MEMADD</span></a> <span class="Other">=</span> <span class="DecNumber">211'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMSUBTRACT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMSUBTRACT"><span class="Identifier">SCANCODE_KP_MEMSUBTRACT</span></a> <span class="Other">=</span> <span class="DecNumber">212'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMMULTIPLY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMMULTIPLY"><span class="Identifier">SCANCODE_KP_MEMMULTIPLY</span></a> <span class="Other">=</span> <span class="DecNumber">213'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_MEMDIVIDE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_MEMDIVIDE"><span class="Identifier">SCANCODE_KP_MEMDIVIDE</span></a> <span class="Other">=</span> <span class="DecNumber">214'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_PLUSMINUS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_PLUSMINUS"><span class="Identifier">SCANCODE_KP_PLUSMINUS</span></a> <span class="Other">=</span> <span class="DecNumber">215'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_CLEAR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_CLEAR"><span class="Identifier">SCANCODE_KP_CLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">216'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_CLEARENTRY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_CLEARENTRY"><span class="Identifier">SCANCODE_KP_CLEARENTRY</span></a> <span class="Other">=</span> <span class="DecNumber">217'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_BINARY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_BINARY"><span class="Identifier">SCANCODE_KP_BINARY</span></a> <span class="Other">=</span> <span class="DecNumber">218'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_OCTAL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_OCTAL"><span class="Identifier">SCANCODE_KP_OCTAL</span></a> <span class="Other">=</span> <span class="DecNumber">219'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_DECIMAL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_DECIMAL"><span class="Identifier">SCANCODE_KP_DECIMAL</span></a> <span class="Other">=</span> <span class="DecNumber">220'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KP_HEXADECIMAL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KP_HEXADECIMAL"><span class="Identifier">SCANCODE_KP_HEXADECIMAL</span></a> <span class="Other">=</span> <span class="DecNumber">221'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LCTRL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LCTRL"><span class="Identifier">SCANCODE_LCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">224'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LSHIFT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LSHIFT"><span class="Identifier">SCANCODE_LSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">225'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_LALT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LALT"><span class="Identifier">SCANCODE_LALT</span></a> <span class="Other">=</span> <span class="DecNumber">226'i32</span></pre></dt>
<dd>
<pre>&lt; alt, option</pre>
</dd>
<a id="SCANCODE_LGUI"></a>
<dt><pre><a href="sdl2.html#SCANCODE_LGUI"><span class="Identifier">SCANCODE_LGUI</span></a> <span class="Other">=</span> <span class="DecNumber">227'i32</span></pre></dt>
<dd>
<pre>&lt; windows, command (apple), meta</pre>
</dd>
<a id="SCANCODE_RCTRL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RCTRL"><span class="Identifier">SCANCODE_RCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">228'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RSHIFT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RSHIFT"><span class="Identifier">SCANCODE_RSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">229'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_RALT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RALT"><span class="Identifier">SCANCODE_RALT</span></a> <span class="Other">=</span> <span class="DecNumber">230'i32</span></pre></dt>
<dd>
<pre>&lt; alt gr, option</pre>
</dd>
<a id="SCANCODE_RGUI"></a>
<dt><pre><a href="sdl2.html#SCANCODE_RGUI"><span class="Identifier">SCANCODE_RGUI</span></a> <span class="Other">=</span> <span class="DecNumber">231'i32</span></pre></dt>
<dd>
<pre>&lt; windows, command (apple), meta</pre>
</dd>
<a id="SCANCODE_MODE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MODE"><span class="Identifier">SCANCODE_MODE</span></a> <span class="Other">=</span> <span class="DecNumber">257'i32</span></pre></dt>
<dd>
<pre>&lt; I'm not sure if this is really not covered
by any of the above, but since there's a
special KMOD_MODE for it I'm adding it here</pre>
</dd>
<a id="SCANCODE_AUDIONEXT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIONEXT"><span class="Identifier">SCANCODE_AUDIONEXT</span></a> <span class="Other">=</span> <span class="DecNumber">258'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AUDIOPREV"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOPREV"><span class="Identifier">SCANCODE_AUDIOPREV</span></a> <span class="Other">=</span> <span class="DecNumber">259'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AUDIOSTOP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOSTOP"><span class="Identifier">SCANCODE_AUDIOSTOP</span></a> <span class="Other">=</span> <span class="DecNumber">260'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AUDIOPLAY"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOPLAY"><span class="Identifier">SCANCODE_AUDIOPLAY</span></a> <span class="Other">=</span> <span class="DecNumber">261'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AUDIOMUTE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOMUTE"><span class="Identifier">SCANCODE_AUDIOMUTE</span></a> <span class="Other">=</span> <span class="DecNumber">262'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MEDIASELECT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MEDIASELECT"><span class="Identifier">SCANCODE_MEDIASELECT</span></a> <span class="Other">=</span> <span class="DecNumber">263'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_WWW"></a>
<dt><pre><a href="sdl2.html#SCANCODE_WWW"><span class="Identifier">SCANCODE_WWW</span></a> <span class="Other">=</span> <span class="DecNumber">264'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MAIL"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MAIL"><span class="Identifier">SCANCODE_MAIL</span></a> <span class="Other">=</span> <span class="DecNumber">265'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_CALCULATOR"></a>
<dt><pre><a href="sdl2.html#SCANCODE_CALCULATOR"><span class="Identifier">SCANCODE_CALCULATOR</span></a> <span class="Other">=</span> <span class="DecNumber">266'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_COMPUTER"></a>
<dt><pre><a href="sdl2.html#SCANCODE_COMPUTER"><span class="Identifier">SCANCODE_COMPUTER</span></a> <span class="Other">=</span> <span class="DecNumber">267'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_SEARCH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_SEARCH"><span class="Identifier">SCANCODE_AC_SEARCH</span></a> <span class="Other">=</span> <span class="DecNumber">268'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_HOME"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_HOME"><span class="Identifier">SCANCODE_AC_HOME</span></a> <span class="Other">=</span> <span class="DecNumber">269'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_BACK"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_BACK"><span class="Identifier">SCANCODE_AC_BACK</span></a> <span class="Other">=</span> <span class="DecNumber">270'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_FORWARD"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_FORWARD"><span class="Identifier">SCANCODE_AC_FORWARD</span></a> <span class="Other">=</span> <span class="DecNumber">271'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_STOP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_STOP"><span class="Identifier">SCANCODE_AC_STOP</span></a> <span class="Other">=</span> <span class="DecNumber">272'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_REFRESH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_REFRESH"><span class="Identifier">SCANCODE_AC_REFRESH</span></a> <span class="Other">=</span> <span class="DecNumber">273'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AC_BOOKMARKS"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AC_BOOKMARKS"><span class="Identifier">SCANCODE_AC_BOOKMARKS</span></a> <span class="Other">=</span> <span class="DecNumber">274'i32</span></pre></dt>
<dd>
<pre>@}</pre>
</dd>
<a id="SCANCODE_BRIGHTNESSDOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_BRIGHTNESSDOWN"><span class="Identifier">SCANCODE_BRIGHTNESSDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">275'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_BRIGHTNESSUP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_BRIGHTNESSUP"><span class="Identifier">SCANCODE_BRIGHTNESSUP</span></a> <span class="Other">=</span> <span class="DecNumber">276'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_DISPLAYSWITCH"></a>
<dt><pre><a href="sdl2.html#SCANCODE_DISPLAYSWITCH"><span class="Identifier">SCANCODE_DISPLAYSWITCH</span></a> <span class="Other">=</span> <span class="DecNumber">277'i32</span></pre></dt>
<dd>
<pre>&lt; display mirroring/dual display
switch, video mode switch</pre>
</dd>
<a id="SCANCODE_KBDILLUMTOGGLE"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KBDILLUMTOGGLE"><span class="Identifier">SCANCODE_KBDILLUMTOGGLE</span></a> <span class="Other">=</span> <span class="DecNumber">278'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KBDILLUMDOWN"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KBDILLUMDOWN"><span class="Identifier">SCANCODE_KBDILLUMDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">279'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_KBDILLUMUP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_KBDILLUMUP"><span class="Identifier">SCANCODE_KBDILLUMUP</span></a> <span class="Other">=</span> <span class="DecNumber">280'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_EJECT"></a>
<dt><pre><a href="sdl2.html#SCANCODE_EJECT"><span class="Identifier">SCANCODE_EJECT</span></a> <span class="Other">=</span> <span class="DecNumber">281'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_SLEEP"></a>
<dt><pre><a href="sdl2.html#SCANCODE_SLEEP"><span class="Identifier">SCANCODE_SLEEP</span></a> <span class="Other">=</span> <span class="DecNumber">282'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_APP1"></a>
<dt><pre><a href="sdl2.html#SCANCODE_APP1"><span class="Identifier">SCANCODE_APP1</span></a> <span class="Other">=</span> <span class="DecNumber">283'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_APP2"></a>
<dt><pre><a href="sdl2.html#SCANCODE_APP2"><span class="Identifier">SCANCODE_APP2</span></a> <span class="Other">=</span> <span class="DecNumber">284'i32</span></pre></dt>
<dd>
<pre>@}</pre>
</dd>
<a id="SCANCODE_AUDIOREWIND"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOREWIND"><span class="Identifier">SCANCODE_AUDIOREWIND</span></a> <span class="Other">=</span> <span class="DecNumber">285'i32</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_AUDIOFASTFORWARD"></a>
<dt><pre><a href="sdl2.html#SCANCODE_AUDIOFASTFORWARD"><span class="Identifier">SCANCODE_AUDIOFASTFORWARD</span></a> <span class="Other">=</span> <span class="DecNumber">286'i32</span></pre></dt>
<dd>
<pre>@}</pre>
</dd>
<a id="NUM_SCANCODES"></a>
<dt><pre><a href="sdl2.html#NUM_SCANCODES"><span class="Identifier">NUM_SCANCODES</span></a> <span class="Other">=</span> <span class="DecNumber">512'i32</span></pre></dt>
<dd>
<pre>&lt; not a key, just marks the number of scancodes
for array bounds</pre>
</dd>
<a id="KEYCODE_SCANCODE_MASK"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SCANCODE_MASK"><span class="Identifier">KEYCODE_SCANCODE_MASK</span></a> <span class="Other">=</span> <span class="DecNumber">1073741824</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_UNKNOWN"><span class="Identifier">KEYCODE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RETURN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RETURN"><span class="Identifier">KEYCODE_RETURN</span></a> <span class="Other">=</span> <span class="DecNumber">13'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_ESCAPE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_ESCAPE"><span class="Identifier">KEYCODE_ESCAPE</span></a> <span class="Other">=</span> <span class="DecNumber">27'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_BACKSPACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_BACKSPACE"><span class="Identifier">KEYCODE_BACKSPACE</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_TAB"></a>
<dt><pre><a href="sdl2.html#KEYCODE_TAB"><span class="Identifier">KEYCODE_TAB</span></a> <span class="Other">=</span> <span class="DecNumber">9'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SPACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SPACE"><span class="Identifier">KEYCODE_SPACE</span></a> <span class="Other">=</span> <span class="DecNumber">32'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_EXCLAIM"></a>
<dt><pre><a href="sdl2.html#KEYCODE_EXCLAIM"><span class="Identifier">KEYCODE_EXCLAIM</span></a> <span class="Other">=</span> <span class="DecNumber">33'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_QUOTEDBL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_QUOTEDBL"><span class="Identifier">KEYCODE_QUOTEDBL</span></a> <span class="Other">=</span> <span class="DecNumber">34'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_HASH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_HASH"><span class="Identifier">KEYCODE_HASH</span></a> <span class="Other">=</span> <span class="DecNumber">35'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PERCENT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PERCENT"><span class="Identifier">KEYCODE_PERCENT</span></a> <span class="Other">=</span> <span class="DecNumber">37'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_DOLLAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_DOLLAR"><span class="Identifier">KEYCODE_DOLLAR</span></a> <span class="Other">=</span> <span class="DecNumber">36'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AMPERSAND"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AMPERSAND"><span class="Identifier">KEYCODE_AMPERSAND</span></a> <span class="Other">=</span> <span class="DecNumber">38'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_QUOTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_QUOTE"><span class="Identifier">KEYCODE_QUOTE</span></a> <span class="Other">=</span> <span class="DecNumber">39'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LEFTPAREN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LEFTPAREN"><span class="Identifier">KEYCODE_LEFTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">40'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RIGHTPAREN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RIGHTPAREN"><span class="Identifier">KEYCODE_RIGHTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">41'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_ASTERISK"></a>
<dt><pre><a href="sdl2.html#KEYCODE_ASTERISK"><span class="Identifier">KEYCODE_ASTERISK</span></a> <span class="Other">=</span> <span class="DecNumber">42'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PLUS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PLUS"><span class="Identifier">KEYCODE_PLUS</span></a> <span class="Other">=</span> <span class="DecNumber">43'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_COMMA"></a>
<dt><pre><a href="sdl2.html#KEYCODE_COMMA"><span class="Identifier">KEYCODE_COMMA</span></a> <span class="Other">=</span> <span class="DecNumber">44'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MINUS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MINUS"><span class="Identifier">KEYCODE_MINUS</span></a> <span class="Other">=</span> <span class="DecNumber">45'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PERIOD"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PERIOD"><span class="Identifier">KEYCODE_PERIOD</span></a> <span class="Other">=</span> <span class="DecNumber">46'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SLASH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SLASH"><span class="Identifier">KEYCODE_SLASH</span></a> <span class="Other">=</span> <span class="DecNumber">47'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_0"></a>
<dt><pre><a href="sdl2.html#KEYCODE_0"><span class="Identifier">KEYCODE_0</span></a> <span class="Other">=</span> <span class="DecNumber">48'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_1"></a>
<dt><pre><a href="sdl2.html#KEYCODE_1"><span class="Identifier">KEYCODE_1</span></a> <span class="Other">=</span> <span class="DecNumber">49'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_2"></a>
<dt><pre><a href="sdl2.html#KEYCODE_2"><span class="Identifier">KEYCODE_2</span></a> <span class="Other">=</span> <span class="DecNumber">50'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_3"></a>
<dt><pre><a href="sdl2.html#KEYCODE_3"><span class="Identifier">KEYCODE_3</span></a> <span class="Other">=</span> <span class="DecNumber">51'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_4"></a>
<dt><pre><a href="sdl2.html#KEYCODE_4"><span class="Identifier">KEYCODE_4</span></a> <span class="Other">=</span> <span class="DecNumber">52'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_5"></a>
<dt><pre><a href="sdl2.html#KEYCODE_5"><span class="Identifier">KEYCODE_5</span></a> <span class="Other">=</span> <span class="DecNumber">53'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_6"></a>
<dt><pre><a href="sdl2.html#KEYCODE_6"><span class="Identifier">KEYCODE_6</span></a> <span class="Other">=</span> <span class="DecNumber">54'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_7"></a>
<dt><pre><a href="sdl2.html#KEYCODE_7"><span class="Identifier">KEYCODE_7</span></a> <span class="Other">=</span> <span class="DecNumber">55'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_8"></a>
<dt><pre><a href="sdl2.html#KEYCODE_8"><span class="Identifier">KEYCODE_8</span></a> <span class="Other">=</span> <span class="DecNumber">56'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_9"></a>
<dt><pre><a href="sdl2.html#KEYCODE_9"><span class="Identifier">KEYCODE_9</span></a> <span class="Other">=</span> <span class="DecNumber">57'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_COLON"></a>
<dt><pre><a href="sdl2.html#KEYCODE_COLON"><span class="Identifier">KEYCODE_COLON</span></a> <span class="Other">=</span> <span class="DecNumber">58'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SEMICOLON"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SEMICOLON"><span class="Identifier">KEYCODE_SEMICOLON</span></a> <span class="Other">=</span> <span class="DecNumber">59'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LESS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LESS"><span class="Identifier">KEYCODE_LESS</span></a> <span class="Other">=</span> <span class="DecNumber">60'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_EQUALS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_EQUALS"><span class="Identifier">KEYCODE_EQUALS</span></a> <span class="Other">=</span> <span class="DecNumber">61'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_GREATER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_GREATER"><span class="Identifier">KEYCODE_GREATER</span></a> <span class="Other">=</span> <span class="DecNumber">62'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_QUESTION"></a>
<dt><pre><a href="sdl2.html#KEYCODE_QUESTION"><span class="Identifier">KEYCODE_QUESTION</span></a> <span class="Other">=</span> <span class="DecNumber">63'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AT"><span class="Identifier">KEYCODE_AT</span></a> <span class="Other">=</span> <span class="DecNumber">64'i32</span></pre></dt>
<dd>
<pre>Skip uppercase letters</pre>
</dd>
<a id="KEYCODE_LEFTBRACKET"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LEFTBRACKET"><span class="Identifier">KEYCODE_LEFTBRACKET</span></a> <span class="Other">=</span> <span class="DecNumber">91'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_BACKSLASH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_BACKSLASH"><span class="Identifier">KEYCODE_BACKSLASH</span></a> <span class="Other">=</span> <span class="DecNumber">92'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RIGHTBRACKET"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RIGHTBRACKET"><span class="Identifier">KEYCODE_RIGHTBRACKET</span></a> <span class="Other">=</span> <span class="DecNumber">93'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CARET"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CARET"><span class="Identifier">KEYCODE_CARET</span></a> <span class="Other">=</span> <span class="DecNumber">94'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_UNDERSCORE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_UNDERSCORE"><span class="Identifier">KEYCODE_UNDERSCORE</span></a> <span class="Other">=</span> <span class="DecNumber">95'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_BACKQUOTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_BACKQUOTE"><span class="Identifier">KEYCODE_BACKQUOTE</span></a> <span class="Other">=</span> <span class="DecNumber">96'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_a"></a>
<dt><pre><a href="sdl2.html#KEYCODE_a"><span class="Identifier">KEYCODE_a</span></a> <span class="Other">=</span> <span class="DecNumber">97'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_b"></a>
<dt><pre><a href="sdl2.html#KEYCODE_b"><span class="Identifier">KEYCODE_b</span></a> <span class="Other">=</span> <span class="DecNumber">98'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_c"></a>
<dt><pre><a href="sdl2.html#KEYCODE_c"><span class="Identifier">KEYCODE_c</span></a> <span class="Other">=</span> <span class="DecNumber">99'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_d"></a>
<dt><pre><a href="sdl2.html#KEYCODE_d"><span class="Identifier">KEYCODE_d</span></a> <span class="Other">=</span> <span class="DecNumber">100'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_e"></a>
<dt><pre><a href="sdl2.html#KEYCODE_e"><span class="Identifier">KEYCODE_e</span></a> <span class="Other">=</span> <span class="DecNumber">101'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_f"></a>
<dt><pre><a href="sdl2.html#KEYCODE_f"><span class="Identifier">KEYCODE_f</span></a> <span class="Other">=</span> <span class="DecNumber">102'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_g"></a>
<dt><pre><a href="sdl2.html#KEYCODE_g"><span class="Identifier">KEYCODE_g</span></a> <span class="Other">=</span> <span class="DecNumber">103'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_h"></a>
<dt><pre><a href="sdl2.html#KEYCODE_h"><span class="Identifier">KEYCODE_h</span></a> <span class="Other">=</span> <span class="DecNumber">104'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_i"></a>
<dt><pre><a href="sdl2.html#KEYCODE_i"><span class="Identifier">KEYCODE_i</span></a> <span class="Other">=</span> <span class="DecNumber">105'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_j"></a>
<dt><pre><a href="sdl2.html#KEYCODE_j"><span class="Identifier">KEYCODE_j</span></a> <span class="Other">=</span> <span class="DecNumber">106'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_k"></a>
<dt><pre><a href="sdl2.html#KEYCODE_k"><span class="Identifier">KEYCODE_k</span></a> <span class="Other">=</span> <span class="DecNumber">107'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_l"></a>
<dt><pre><a href="sdl2.html#KEYCODE_l"><span class="Identifier">KEYCODE_l</span></a> <span class="Other">=</span> <span class="DecNumber">108'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_m"></a>
<dt><pre><a href="sdl2.html#KEYCODE_m"><span class="Identifier">KEYCODE_m</span></a> <span class="Other">=</span> <span class="DecNumber">109'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_n"></a>
<dt><pre><a href="sdl2.html#KEYCODE_n"><span class="Identifier">KEYCODE_n</span></a> <span class="Other">=</span> <span class="DecNumber">110'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_o"></a>
<dt><pre><a href="sdl2.html#KEYCODE_o"><span class="Identifier">KEYCODE_o</span></a> <span class="Other">=</span> <span class="DecNumber">111'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_p"></a>
<dt><pre><a href="sdl2.html#KEYCODE_p"><span class="Identifier">KEYCODE_p</span></a> <span class="Other">=</span> <span class="DecNumber">112'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_q"></a>
<dt><pre><a href="sdl2.html#KEYCODE_q"><span class="Identifier">KEYCODE_q</span></a> <span class="Other">=</span> <span class="DecNumber">113'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_r"></a>
<dt><pre><a href="sdl2.html#KEYCODE_r"><span class="Identifier">KEYCODE_r</span></a> <span class="Other">=</span> <span class="DecNumber">114'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_s"></a>
<dt><pre><a href="sdl2.html#KEYCODE_s"><span class="Identifier">KEYCODE_s</span></a> <span class="Other">=</span> <span class="DecNumber">115'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_t"></a>
<dt><pre><a href="sdl2.html#KEYCODE_t"><span class="Identifier">KEYCODE_t</span></a> <span class="Other">=</span> <span class="DecNumber">116'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_u"></a>
<dt><pre><a href="sdl2.html#KEYCODE_u"><span class="Identifier">KEYCODE_u</span></a> <span class="Other">=</span> <span class="DecNumber">117'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_v"></a>
<dt><pre><a href="sdl2.html#KEYCODE_v"><span class="Identifier">KEYCODE_v</span></a> <span class="Other">=</span> <span class="DecNumber">118'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_w"></a>
<dt><pre><a href="sdl2.html#KEYCODE_w"><span class="Identifier">KEYCODE_w</span></a> <span class="Other">=</span> <span class="DecNumber">119'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_x"></a>
<dt><pre><a href="sdl2.html#KEYCODE_x"><span class="Identifier">KEYCODE_x</span></a> <span class="Other">=</span> <span class="DecNumber">120'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_y"></a>
<dt><pre><a href="sdl2.html#KEYCODE_y"><span class="Identifier">KEYCODE_y</span></a> <span class="Other">=</span> <span class="DecNumber">121'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_z"></a>
<dt><pre><a href="sdl2.html#KEYCODE_z"><span class="Identifier">KEYCODE_z</span></a> <span class="Other">=</span> <span class="DecNumber">122'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CAPSLOCK"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CAPSLOCK"><span class="Identifier">KEYCODE_CAPSLOCK</span></a> <span class="Other">=</span> <span class="DecNumber">1073741881'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F1"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F1"><span class="Identifier">KEYCODE_F1</span></a> <span class="Other">=</span> <span class="DecNumber">1073741882'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F2"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F2"><span class="Identifier">KEYCODE_F2</span></a> <span class="Other">=</span> <span class="DecNumber">1073741883'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F3"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F3"><span class="Identifier">KEYCODE_F3</span></a> <span class="Other">=</span> <span class="DecNumber">1073741884'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F4"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F4"><span class="Identifier">KEYCODE_F4</span></a> <span class="Other">=</span> <span class="DecNumber">1073741885'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F5"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F5"><span class="Identifier">KEYCODE_F5</span></a> <span class="Other">=</span> <span class="DecNumber">1073741886'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F6"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F6"><span class="Identifier">KEYCODE_F6</span></a> <span class="Other">=</span> <span class="DecNumber">1073741887'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F7"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F7"><span class="Identifier">KEYCODE_F7</span></a> <span class="Other">=</span> <span class="DecNumber">1073741888'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F8"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F8"><span class="Identifier">KEYCODE_F8</span></a> <span class="Other">=</span> <span class="DecNumber">1073741889'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F9"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F9"><span class="Identifier">KEYCODE_F9</span></a> <span class="Other">=</span> <span class="DecNumber">1073741890'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F10"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F10"><span class="Identifier">KEYCODE_F10</span></a> <span class="Other">=</span> <span class="DecNumber">1073741891'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F11"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F11"><span class="Identifier">KEYCODE_F11</span></a> <span class="Other">=</span> <span class="DecNumber">1073741892'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F12"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F12"><span class="Identifier">KEYCODE_F12</span></a> <span class="Other">=</span> <span class="DecNumber">1073741893'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PRINTSCREEN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PRINTSCREEN"><span class="Identifier">KEYCODE_PRINTSCREEN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741894'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SCROLLLOCK"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SCROLLLOCK"><span class="Identifier">KEYCODE_SCROLLLOCK</span></a> <span class="Other">=</span> <span class="DecNumber">1073741895'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PAUSE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PAUSE"><span class="Identifier">KEYCODE_PAUSE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741896'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_INSERT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_INSERT"><span class="Identifier">KEYCODE_INSERT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741897'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_HOME"></a>
<dt><pre><a href="sdl2.html#KEYCODE_HOME"><span class="Identifier">KEYCODE_HOME</span></a> <span class="Other">=</span> <span class="DecNumber">1073741898'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PAGEUP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PAGEUP"><span class="Identifier">KEYCODE_PAGEUP</span></a> <span class="Other">=</span> <span class="DecNumber">1073741899'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_DELETE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_DELETE"><span class="Identifier">KEYCODE_DELETE</span></a> <span class="Other">=</span> <span class="DecNumber">127'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_END"></a>
<dt><pre><a href="sdl2.html#KEYCODE_END"><span class="Identifier">KEYCODE_END</span></a> <span class="Other">=</span> <span class="DecNumber">1073741901'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PAGEDOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PAGEDOWN"><span class="Identifier">KEYCODE_PAGEDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741902'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RIGHT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RIGHT"><span class="Identifier">KEYCODE_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741903'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LEFT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LEFT"><span class="Identifier">KEYCODE_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741904'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_DOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_DOWN"><span class="Identifier">KEYCODE_DOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741905'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_UP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_UP"><span class="Identifier">KEYCODE_UP</span></a> <span class="Other">=</span> <span class="DecNumber">1073741906'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_NUMLOCKCLEAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_NUMLOCKCLEAR"><span class="Identifier">KEYCODE_NUMLOCKCLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073741907'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_DIVIDE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_DIVIDE"><span class="Identifier">KEYCODE_KP_DIVIDE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741908'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MULTIPLY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MULTIPLY"><span class="Identifier">KEYCODE_KP_MULTIPLY</span></a> <span class="Other">=</span> <span class="DecNumber">1073741909'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MINUS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MINUS"><span class="Identifier">KEYCODE_KP_MINUS</span></a> <span class="Other">=</span> <span class="DecNumber">1073741910'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_PLUS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_PLUS"><span class="Identifier">KEYCODE_KP_PLUS</span></a> <span class="Other">=</span> <span class="DecNumber">1073741911'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_ENTER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_ENTER"><span class="Identifier">KEYCODE_KP_ENTER</span></a> <span class="Other">=</span> <span class="DecNumber">1073741912'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_1"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_1"><span class="Identifier">KEYCODE_KP_1</span></a> <span class="Other">=</span> <span class="DecNumber">1073741913'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_2"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_2"><span class="Identifier">KEYCODE_KP_2</span></a> <span class="Other">=</span> <span class="DecNumber">1073741914'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_3"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_3"><span class="Identifier">KEYCODE_KP_3</span></a> <span class="Other">=</span> <span class="DecNumber">1073741915'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_4"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_4"><span class="Identifier">KEYCODE_KP_4</span></a> <span class="Other">=</span> <span class="DecNumber">1073741916'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_5"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_5"><span class="Identifier">KEYCODE_KP_5</span></a> <span class="Other">=</span> <span class="DecNumber">1073741917'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_6"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_6"><span class="Identifier">KEYCODE_KP_6</span></a> <span class="Other">=</span> <span class="DecNumber">1073741918'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_7"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_7"><span class="Identifier">KEYCODE_KP_7</span></a> <span class="Other">=</span> <span class="DecNumber">1073741919'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_8"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_8"><span class="Identifier">KEYCODE_KP_8</span></a> <span class="Other">=</span> <span class="DecNumber">1073741920'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_9"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_9"><span class="Identifier">KEYCODE_KP_9</span></a> <span class="Other">=</span> <span class="DecNumber">1073741921'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_0"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_0"><span class="Identifier">KEYCODE_KP_0</span></a> <span class="Other">=</span> <span class="DecNumber">1073741922'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_PERIOD"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_PERIOD"><span class="Identifier">KEYCODE_KP_PERIOD</span></a> <span class="Other">=</span> <span class="DecNumber">1073741923'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_APPLICATION"></a>
<dt><pre><a href="sdl2.html#KEYCODE_APPLICATION"><span class="Identifier">KEYCODE_APPLICATION</span></a> <span class="Other">=</span> <span class="DecNumber">1073741925'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_POWER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_POWER"><span class="Identifier">KEYCODE_POWER</span></a> <span class="Other">=</span> <span class="DecNumber">1073741926'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_EQUALS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_EQUALS"><span class="Identifier">KEYCODE_KP_EQUALS</span></a> <span class="Other">=</span> <span class="DecNumber">1073741927'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F13"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F13"><span class="Identifier">KEYCODE_F13</span></a> <span class="Other">=</span> <span class="DecNumber">1073741928'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F14"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F14"><span class="Identifier">KEYCODE_F14</span></a> <span class="Other">=</span> <span class="DecNumber">1073741929'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F15"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F15"><span class="Identifier">KEYCODE_F15</span></a> <span class="Other">=</span> <span class="DecNumber">1073741930'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F16"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F16"><span class="Identifier">KEYCODE_F16</span></a> <span class="Other">=</span> <span class="DecNumber">1073741931'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F17"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F17"><span class="Identifier">KEYCODE_F17</span></a> <span class="Other">=</span> <span class="DecNumber">1073741932'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F18"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F18"><span class="Identifier">KEYCODE_F18</span></a> <span class="Other">=</span> <span class="DecNumber">1073741933'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F19"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F19"><span class="Identifier">KEYCODE_F19</span></a> <span class="Other">=</span> <span class="DecNumber">1073741934'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F20"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F20"><span class="Identifier">KEYCODE_F20</span></a> <span class="Other">=</span> <span class="DecNumber">1073741935'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F21"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F21"><span class="Identifier">KEYCODE_F21</span></a> <span class="Other">=</span> <span class="DecNumber">1073741936'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F22"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F22"><span class="Identifier">KEYCODE_F22</span></a> <span class="Other">=</span> <span class="DecNumber">1073741937'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F23"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F23"><span class="Identifier">KEYCODE_F23</span></a> <span class="Other">=</span> <span class="DecNumber">1073741938'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_F24"></a>
<dt><pre><a href="sdl2.html#KEYCODE_F24"><span class="Identifier">KEYCODE_F24</span></a> <span class="Other">=</span> <span class="DecNumber">1073741939'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_EXECUTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_EXECUTE"><span class="Identifier">KEYCODE_EXECUTE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741940'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_HELP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_HELP"><span class="Identifier">KEYCODE_HELP</span></a> <span class="Other">=</span> <span class="DecNumber">1073741941'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MENU"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MENU"><span class="Identifier">KEYCODE_MENU</span></a> <span class="Other">=</span> <span class="DecNumber">1073741942'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SELECT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SELECT"><span class="Identifier">KEYCODE_SELECT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741943'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_STOP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_STOP"><span class="Identifier">KEYCODE_STOP</span></a> <span class="Other">=</span> <span class="DecNumber">1073741944'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AGAIN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AGAIN"><span class="Identifier">KEYCODE_AGAIN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741945'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_UNDO"></a>
<dt><pre><a href="sdl2.html#KEYCODE_UNDO"><span class="Identifier">KEYCODE_UNDO</span></a> <span class="Other">=</span> <span class="DecNumber">1073741946'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CUT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CUT"><span class="Identifier">KEYCODE_CUT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741947'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_COPY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_COPY"><span class="Identifier">KEYCODE_COPY</span></a> <span class="Other">=</span> <span class="DecNumber">1073741948'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PASTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PASTE"><span class="Identifier">KEYCODE_PASTE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741949'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_FIND"></a>
<dt><pre><a href="sdl2.html#KEYCODE_FIND"><span class="Identifier">KEYCODE_FIND</span></a> <span class="Other">=</span> <span class="DecNumber">1073741950'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MUTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MUTE"><span class="Identifier">KEYCODE_MUTE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741951'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_VOLUMEUP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_VOLUMEUP"><span class="Identifier">KEYCODE_VOLUMEUP</span></a> <span class="Other">=</span> <span class="DecNumber">1073741952'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_VOLUMEDOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_VOLUMEDOWN"><span class="Identifier">KEYCODE_VOLUMEDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741953'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_COMMA"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_COMMA"><span class="Identifier">KEYCODE_KP_COMMA</span></a> <span class="Other">=</span> <span class="DecNumber">1073741957'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_EQUALSAS400"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_EQUALSAS400"><span class="Identifier">KEYCODE_KP_EQUALSAS400</span></a> <span class="Other">=</span> <span class="DecNumber">1073741958'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_ALTERASE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_ALTERASE"><span class="Identifier">KEYCODE_ALTERASE</span></a> <span class="Other">=</span> <span class="DecNumber">1073741977'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SYSREQ"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SYSREQ"><span class="Identifier">KEYCODE_SYSREQ</span></a> <span class="Other">=</span> <span class="DecNumber">1073741978'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CANCEL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CANCEL"><span class="Identifier">KEYCODE_CANCEL</span></a> <span class="Other">=</span> <span class="DecNumber">1073741979'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CLEAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CLEAR"><span class="Identifier">KEYCODE_CLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073741980'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_PRIOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_PRIOR"><span class="Identifier">KEYCODE_PRIOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073741981'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RETURN2"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RETURN2"><span class="Identifier">KEYCODE_RETURN2</span></a> <span class="Other">=</span> <span class="DecNumber">1073741982'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SEPARATOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SEPARATOR"><span class="Identifier">KEYCODE_SEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073741983'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_OUT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_OUT"><span class="Identifier">KEYCODE_OUT</span></a> <span class="Other">=</span> <span class="DecNumber">1073741984'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_OPER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_OPER"><span class="Identifier">KEYCODE_OPER</span></a> <span class="Other">=</span> <span class="DecNumber">1073741985'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CLEARAGAIN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CLEARAGAIN"><span class="Identifier">KEYCODE_CLEARAGAIN</span></a> <span class="Other">=</span> <span class="DecNumber">1073741986'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CRSEL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CRSEL"><span class="Identifier">KEYCODE_CRSEL</span></a> <span class="Other">=</span> <span class="DecNumber">1073741987'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_EXSEL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_EXSEL"><span class="Identifier">KEYCODE_EXSEL</span></a> <span class="Other">=</span> <span class="DecNumber">1073741988'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_00"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_00"><span class="Identifier">KEYCODE_KP_00</span></a> <span class="Other">=</span> <span class="DecNumber">1073742000'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_000"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_000"><span class="Identifier">KEYCODE_KP_000</span></a> <span class="Other">=</span> <span class="DecNumber">1073742001'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_THOUSANDSSEPARATOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_THOUSANDSSEPARATOR"><span class="Identifier">KEYCODE_THOUSANDSSEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742002'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_DECIMALSEPARATOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_DECIMALSEPARATOR"><span class="Identifier">KEYCODE_DECIMALSEPARATOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742003'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CURRENCYUNIT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CURRENCYUNIT"><span class="Identifier">KEYCODE_CURRENCYUNIT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742004'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CURRENCYSUBUNIT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CURRENCYSUBUNIT"><span class="Identifier">KEYCODE_CURRENCYSUBUNIT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742005'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_LEFTPAREN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_LEFTPAREN"><span class="Identifier">KEYCODE_KP_LEFTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">1073742006'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_RIGHTPAREN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_RIGHTPAREN"><span class="Identifier">KEYCODE_KP_RIGHTPAREN</span></a> <span class="Other">=</span> <span class="DecNumber">1073742007'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_LEFTBRACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_LEFTBRACE"><span class="Identifier">KEYCODE_KP_LEFTBRACE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742008'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_RIGHTBRACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_RIGHTBRACE"><span class="Identifier">KEYCODE_KP_RIGHTBRACE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742009'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_TAB"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_TAB"><span class="Identifier">KEYCODE_KP_TAB</span></a> <span class="Other">=</span> <span class="DecNumber">1073742010'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_BACKSPACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_BACKSPACE"><span class="Identifier">KEYCODE_KP_BACKSPACE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742011'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_A"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_A"><span class="Identifier">KEYCODE_KP_A</span></a> <span class="Other">=</span> <span class="DecNumber">1073742012'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_B"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_B"><span class="Identifier">KEYCODE_KP_B</span></a> <span class="Other">=</span> <span class="DecNumber">1073742013'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_C"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_C"><span class="Identifier">KEYCODE_KP_C</span></a> <span class="Other">=</span> <span class="DecNumber">1073742014'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_D"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_D"><span class="Identifier">KEYCODE_KP_D</span></a> <span class="Other">=</span> <span class="DecNumber">1073742015'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_E"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_E"><span class="Identifier">KEYCODE_KP_E</span></a> <span class="Other">=</span> <span class="DecNumber">1073742016'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_F"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_F"><span class="Identifier">KEYCODE_KP_F</span></a> <span class="Other">=</span> <span class="DecNumber">1073742017'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_XOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_XOR"><span class="Identifier">KEYCODE_KP_XOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742018'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_POWER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_POWER"><span class="Identifier">KEYCODE_KP_POWER</span></a> <span class="Other">=</span> <span class="DecNumber">1073742019'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_PERCENT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_PERCENT"><span class="Identifier">KEYCODE_KP_PERCENT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742020'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_LESS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_LESS"><span class="Identifier">KEYCODE_KP_LESS</span></a> <span class="Other">=</span> <span class="DecNumber">1073742021'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_GREATER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_GREATER"><span class="Identifier">KEYCODE_KP_GREATER</span></a> <span class="Other">=</span> <span class="DecNumber">1073742022'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_AMPERSAND"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_AMPERSAND"><span class="Identifier">KEYCODE_KP_AMPERSAND</span></a> <span class="Other">=</span> <span class="DecNumber">1073742023'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_DBLAMPERSAND"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_DBLAMPERSAND"><span class="Identifier">KEYCODE_KP_DBLAMPERSAND</span></a> <span class="Other">=</span> <span class="DecNumber">1073742024'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_VERTICALBAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_VERTICALBAR"><span class="Identifier">KEYCODE_KP_VERTICALBAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742025'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_DBLVERTICALBAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_DBLVERTICALBAR"><span class="Identifier">KEYCODE_KP_DBLVERTICALBAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742026'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_COLON"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_COLON"><span class="Identifier">KEYCODE_KP_COLON</span></a> <span class="Other">=</span> <span class="DecNumber">1073742027'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_HASH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_HASH"><span class="Identifier">KEYCODE_KP_HASH</span></a> <span class="Other">=</span> <span class="DecNumber">1073742028'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_SPACE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_SPACE"><span class="Identifier">KEYCODE_KP_SPACE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742029'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_AT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_AT"><span class="Identifier">KEYCODE_KP_AT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742030'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_EXCLAM"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_EXCLAM"><span class="Identifier">KEYCODE_KP_EXCLAM</span></a> <span class="Other">=</span> <span class="DecNumber">1073742031'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMSTORE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMSTORE"><span class="Identifier">KEYCODE_KP_MEMSTORE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742032'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMRECALL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMRECALL"><span class="Identifier">KEYCODE_KP_MEMRECALL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742033'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMCLEAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMCLEAR"><span class="Identifier">KEYCODE_KP_MEMCLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742034'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMADD"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMADD"><span class="Identifier">KEYCODE_KP_MEMADD</span></a> <span class="Other">=</span> <span class="DecNumber">1073742035'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMSUBTRACT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMSUBTRACT"><span class="Identifier">KEYCODE_KP_MEMSUBTRACT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742036'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMMULTIPLY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMMULTIPLY"><span class="Identifier">KEYCODE_KP_MEMMULTIPLY</span></a> <span class="Other">=</span> <span class="DecNumber">1073742037'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_MEMDIVIDE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_MEMDIVIDE"><span class="Identifier">KEYCODE_KP_MEMDIVIDE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742038'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_PLUSMINUS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_PLUSMINUS"><span class="Identifier">KEYCODE_KP_PLUSMINUS</span></a> <span class="Other">=</span> <span class="DecNumber">1073742039'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_CLEAR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_CLEAR"><span class="Identifier">KEYCODE_KP_CLEAR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742040'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_CLEARENTRY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_CLEARENTRY"><span class="Identifier">KEYCODE_KP_CLEARENTRY</span></a> <span class="Other">=</span> <span class="DecNumber">1073742041'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_BINARY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_BINARY"><span class="Identifier">KEYCODE_KP_BINARY</span></a> <span class="Other">=</span> <span class="DecNumber">1073742042'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_OCTAL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_OCTAL"><span class="Identifier">KEYCODE_KP_OCTAL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742043'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_DECIMAL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_DECIMAL"><span class="Identifier">KEYCODE_KP_DECIMAL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742044'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KP_HEXADECIMAL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KP_HEXADECIMAL"><span class="Identifier">KEYCODE_KP_HEXADECIMAL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742045'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LCTRL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LCTRL"><span class="Identifier">KEYCODE_LCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742048'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LSHIFT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LSHIFT"><span class="Identifier">KEYCODE_LSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742049'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LALT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LALT"><span class="Identifier">KEYCODE_LALT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742050'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_LGUI"></a>
<dt><pre><a href="sdl2.html#KEYCODE_LGUI"><span class="Identifier">KEYCODE_LGUI</span></a> <span class="Other">=</span> <span class="DecNumber">1073742051'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RCTRL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RCTRL"><span class="Identifier">KEYCODE_RCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742052'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RSHIFT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RSHIFT"><span class="Identifier">KEYCODE_RSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742053'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RALT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RALT"><span class="Identifier">KEYCODE_RALT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742054'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_RGUI"></a>
<dt><pre><a href="sdl2.html#KEYCODE_RGUI"><span class="Identifier">KEYCODE_RGUI</span></a> <span class="Other">=</span> <span class="DecNumber">1073742055'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MODE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MODE"><span class="Identifier">KEYCODE_MODE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742081'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIONEXT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIONEXT"><span class="Identifier">KEYCODE_AUDIONEXT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742082'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOPREV"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOPREV"><span class="Identifier">KEYCODE_AUDIOPREV</span></a> <span class="Other">=</span> <span class="DecNumber">1073742083'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOSTOP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOSTOP"><span class="Identifier">KEYCODE_AUDIOSTOP</span></a> <span class="Other">=</span> <span class="DecNumber">1073742084'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOPLAY"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOPLAY"><span class="Identifier">KEYCODE_AUDIOPLAY</span></a> <span class="Other">=</span> <span class="DecNumber">1073742085'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOMUTE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOMUTE"><span class="Identifier">KEYCODE_AUDIOMUTE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742086'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MEDIASELECT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MEDIASELECT"><span class="Identifier">KEYCODE_MEDIASELECT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742087'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_WWW"></a>
<dt><pre><a href="sdl2.html#KEYCODE_WWW"><span class="Identifier">KEYCODE_WWW</span></a> <span class="Other">=</span> <span class="DecNumber">1073742088'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_MAIL"></a>
<dt><pre><a href="sdl2.html#KEYCODE_MAIL"><span class="Identifier">KEYCODE_MAIL</span></a> <span class="Other">=</span> <span class="DecNumber">1073742089'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_CALCULATOR"></a>
<dt><pre><a href="sdl2.html#KEYCODE_CALCULATOR"><span class="Identifier">KEYCODE_CALCULATOR</span></a> <span class="Other">=</span> <span class="DecNumber">1073742090'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_COMPUTER"></a>
<dt><pre><a href="sdl2.html#KEYCODE_COMPUTER"><span class="Identifier">KEYCODE_COMPUTER</span></a> <span class="Other">=</span> <span class="DecNumber">1073742091'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_SEARCH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_SEARCH"><span class="Identifier">KEYCODE_AC_SEARCH</span></a> <span class="Other">=</span> <span class="DecNumber">1073742092'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_HOME"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_HOME"><span class="Identifier">KEYCODE_AC_HOME</span></a> <span class="Other">=</span> <span class="DecNumber">1073742093'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_BACK"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_BACK"><span class="Identifier">KEYCODE_AC_BACK</span></a> <span class="Other">=</span> <span class="DecNumber">1073742094'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_FORWARD"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_FORWARD"><span class="Identifier">KEYCODE_AC_FORWARD</span></a> <span class="Other">=</span> <span class="DecNumber">1073742095'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_STOP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_STOP"><span class="Identifier">KEYCODE_AC_STOP</span></a> <span class="Other">=</span> <span class="DecNumber">1073742096'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_REFRESH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_REFRESH"><span class="Identifier">KEYCODE_AC_REFRESH</span></a> <span class="Other">=</span> <span class="DecNumber">1073742097'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AC_BOOKMARKS"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AC_BOOKMARKS"><span class="Identifier">KEYCODE_AC_BOOKMARKS</span></a> <span class="Other">=</span> <span class="DecNumber">1073742098'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_BRIGHTNESSDOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_BRIGHTNESSDOWN"><span class="Identifier">KEYCODE_BRIGHTNESSDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1073742099'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_BRIGHTNESSUP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_BRIGHTNESSUP"><span class="Identifier">KEYCODE_BRIGHTNESSUP</span></a> <span class="Other">=</span> <span class="DecNumber">1073742100'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_DISPLAYSWITCH"></a>
<dt><pre><a href="sdl2.html#KEYCODE_DISPLAYSWITCH"><span class="Identifier">KEYCODE_DISPLAYSWITCH</span></a> <span class="Other">=</span> <span class="DecNumber">1073742101'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KBDILLUMTOGGLE"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KBDILLUMTOGGLE"><span class="Identifier">KEYCODE_KBDILLUMTOGGLE</span></a> <span class="Other">=</span> <span class="DecNumber">1073742102'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KBDILLUMDOWN"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KBDILLUMDOWN"><span class="Identifier">KEYCODE_KBDILLUMDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1073742103'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_KBDILLUMUP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_KBDILLUMUP"><span class="Identifier">KEYCODE_KBDILLUMUP</span></a> <span class="Other">=</span> <span class="DecNumber">1073742104'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_EJECT"></a>
<dt><pre><a href="sdl2.html#KEYCODE_EJECT"><span class="Identifier">KEYCODE_EJECT</span></a> <span class="Other">=</span> <span class="DecNumber">1073742105'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_SLEEP"></a>
<dt><pre><a href="sdl2.html#KEYCODE_SLEEP"><span class="Identifier">KEYCODE_SLEEP</span></a> <span class="Other">=</span> <span class="DecNumber">1073742106'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_APP1"></a>
<dt><pre><a href="sdl2.html#KEYCODE_APP1"><span class="Identifier">KEYCODE_APP1</span></a> <span class="Other">=</span> <span class="DecNumber">1073742107'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_APP2"></a>
<dt><pre><a href="sdl2.html#KEYCODE_APP2"><span class="Identifier">KEYCODE_APP2</span></a> <span class="Other">=</span> <span class="DecNumber">1073742108'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOREWIND"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOREWIND"><span class="Identifier">KEYCODE_AUDIOREWIND</span></a> <span class="Other">=</span> <span class="DecNumber">1073742109'i32</span></pre></dt>
<dd>
</dd>
<a id="KEYCODE_AUDIOFASTFORWARD"></a>
<dt><pre><a href="sdl2.html#KEYCODE_AUDIOFASTFORWARD"><span class="Identifier">KEYCODE_AUDIOFASTFORWARD</span></a> <span class="Other">=</span> <span class="DecNumber">1073742110'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_NONE"></a>
<dt><pre><a href="sdl2.html#KMOD_NONE"><span class="Identifier">KMOD_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_LSHIFT"></a>
<dt><pre><a href="sdl2.html#KMOD_LSHIFT"><span class="Identifier">KMOD_LSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_RSHIFT"></a>
<dt><pre><a href="sdl2.html#KMOD_RSHIFT"><span class="Identifier">KMOD_RSHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_LCTRL"></a>
<dt><pre><a href="sdl2.html#KMOD_LCTRL"><span class="Identifier">KMOD_LCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">64'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_RCTRL"></a>
<dt><pre><a href="sdl2.html#KMOD_RCTRL"><span class="Identifier">KMOD_RCTRL</span></a> <span class="Other">=</span> <span class="DecNumber">128'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_LALT"></a>
<dt><pre><a href="sdl2.html#KMOD_LALT"><span class="Identifier">KMOD_LALT</span></a> <span class="Other">=</span> <span class="DecNumber">256'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_RALT"></a>
<dt><pre><a href="sdl2.html#KMOD_RALT"><span class="Identifier">KMOD_RALT</span></a> <span class="Other">=</span> <span class="DecNumber">512'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_LGUI"></a>
<dt><pre><a href="sdl2.html#KMOD_LGUI"><span class="Identifier">KMOD_LGUI</span></a> <span class="Other">=</span> <span class="DecNumber">1024'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_RGUI"></a>
<dt><pre><a href="sdl2.html#KMOD_RGUI"><span class="Identifier">KMOD_RGUI</span></a> <span class="Other">=</span> <span class="DecNumber">2048'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_NUM"></a>
<dt><pre><a href="sdl2.html#KMOD_NUM"><span class="Identifier">KMOD_NUM</span></a> <span class="Other">=</span> <span class="DecNumber">4096'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_CAPS"></a>
<dt><pre><a href="sdl2.html#KMOD_CAPS"><span class="Identifier">KMOD_CAPS</span></a> <span class="Other">=</span> <span class="DecNumber">8192'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_MODE"></a>
<dt><pre><a href="sdl2.html#KMOD_MODE"><span class="Identifier">KMOD_MODE</span></a> <span class="Other">=</span> <span class="DecNumber">16384'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_RESERVED"></a>
<dt><pre><a href="sdl2.html#KMOD_RESERVED"><span class="Identifier">KMOD_RESERVED</span></a> <span class="Other">=</span> <span class="DecNumber">32768'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_CTRL"></a>
<dt><pre><a href="sdl2.html#KMOD_CTRL"><span class="Identifier">KMOD_CTRL</span></a> <span class="Other">=</span> <span class="DecNumber">192'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_SHIFT"></a>
<dt><pre><a href="sdl2.html#KMOD_SHIFT"><span class="Identifier">KMOD_SHIFT</span></a> <span class="Other">=</span> <span class="DecNumber">3'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_ALT"></a>
<dt><pre><a href="sdl2.html#KMOD_ALT"><span class="Identifier">KMOD_ALT</span></a> <span class="Other">=</span> <span class="DecNumber">768'i32</span></pre></dt>
<dd>
</dd>
<a id="KMOD_GUI"></a>
<dt><pre><a href="sdl2.html#KMOD_GUI"><span class="Identifier">KMOD_GUI</span></a> <span class="Other">=</span> <span class="DecNumber">3072'i32</span></pre></dt>
<dd>
</dd>
<a id="SYSTEM_CURSOR_ARROW"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_ARROW"><span class="Identifier">SYSTEM_CURSOR_ARROW</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Arrow</pre>
</dd>
<a id="SYSTEM_CURSOR_IBEAM"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_IBEAM"><span class="Identifier">SYSTEM_CURSOR_IBEAM</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; I-beam</pre>
</dd>
<a id="SYSTEM_CURSOR_WAIT"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_WAIT"><span class="Identifier">SYSTEM_CURSOR_WAIT</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Wait</pre>
</dd>
<a id="SYSTEM_CURSOR_CROSSHAIR"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_CROSSHAIR"><span class="Identifier">SYSTEM_CURSOR_CROSSHAIR</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; Crosshair</pre>
</dd>
<a id="SYSTEM_CURSOR_WAITARROW"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_WAITARROW"><span class="Identifier">SYSTEM_CURSOR_WAITARROW</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<pre>&lt; Small wait cursor (or Wait if not available)</pre>
</dd>
<a id="SYSTEM_CURSOR_SIZENWSE"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_SIZENWSE"><span class="Identifier">SYSTEM_CURSOR_SIZENWSE</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
<pre>&lt; Double arrow pointing northwest and southeast</pre>
</dd>
<a id="SYSTEM_CURSOR_SIZENESW"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_SIZENESW"><span class="Identifier">SYSTEM_CURSOR_SIZENESW</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
<pre>&lt; Double arrow pointing northeast and southwest</pre>
</dd>
<a id="SYSTEM_CURSOR_SIZEWE"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_SIZEWE"><span class="Identifier">SYSTEM_CURSOR_SIZEWE</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
<pre>&lt; Double arrow pointing west and east</pre>
</dd>
<a id="SYSTEM_CURSOR_SIZENS"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_SIZENS"><span class="Identifier">SYSTEM_CURSOR_SIZENS</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
<pre>&lt; Double arrow pointing north and south</pre>
</dd>
<a id="SYSTEM_CURSOR_SIZEALL"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_SIZEALL"><span class="Identifier">SYSTEM_CURSOR_SIZEALL</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
<pre>&lt; Four pointed arrow pointing north, south, east, and west</pre>
</dd>
<a id="SYSTEM_CURSOR_NO"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_NO"><span class="Identifier">SYSTEM_CURSOR_NO</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
<pre>&lt; Slashed circle or crossbones</pre>
</dd>
<a id="SYSTEM_CURSOR_HAND"></a>
<dt><pre><a href="sdl2.html#SYSTEM_CURSOR_HAND"><span class="Identifier">SYSTEM_CURSOR_HAND</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
<pre>&lt; Hand</pre>
</dd>
<a id="NUM_SYSTEM_CURSORS"></a>
<dt><pre><a href="sdl2.html#NUM_SYSTEM_CURSORS"><span class="Identifier">NUM_SYSTEM_CURSORS</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="MOUSEWHEEL_NORMAL"></a>
<dt><pre><a href="sdl2.html#MOUSEWHEEL_NORMAL"><span class="Identifier">MOUSEWHEEL_NORMAL</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; The scroll direction is normal</pre>
</dd>
<a id="MOUSEWHEEL_FLIPPED"></a>
<dt><pre><a href="sdl2.html#MOUSEWHEEL_FLIPPED"><span class="Identifier">MOUSEWHEEL_FLIPPED</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; The scroll direction is flipped / natural</pre>
</dd>
<a id="BUTTON_LEFT"></a>
<dt><pre><a href="sdl2.html#BUTTON_LEFT"><span class="Identifier">BUTTON_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_MIDDLE"></a>
<dt><pre><a href="sdl2.html#BUTTON_MIDDLE"><span class="Identifier">BUTTON_MIDDLE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_RIGHT"></a>
<dt><pre><a href="sdl2.html#BUTTON_RIGHT"><span class="Identifier">BUTTON_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_X1"></a>
<dt><pre><a href="sdl2.html#BUTTON_X1"><span class="Identifier">BUTTON_X1</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_X2"></a>
<dt><pre><a href="sdl2.html#BUTTON_X2"><span class="Identifier">BUTTON_X2</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_UNKNOWN"><span class="Identifier">JOYSTICK_TYPE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_GAMECONTROLLER"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_GAMECONTROLLER"><span class="Identifier">JOYSTICK_TYPE_GAMECONTROLLER</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_WHEEL"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_WHEEL"><span class="Identifier">JOYSTICK_TYPE_WHEEL</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_ARCADE_STICK"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_ARCADE_STICK"><span class="Identifier">JOYSTICK_TYPE_ARCADE_STICK</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_FLIGHT_STICK"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_FLIGHT_STICK"><span class="Identifier">JOYSTICK_TYPE_FLIGHT_STICK</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_DANCE_PAD"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_DANCE_PAD"><span class="Identifier">JOYSTICK_TYPE_DANCE_PAD</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_GUITAR"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_GUITAR"><span class="Identifier">JOYSTICK_TYPE_GUITAR</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_DRUM_KIT"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_DRUM_KIT"><span class="Identifier">JOYSTICK_TYPE_DRUM_KIT</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_ARCADE_PAD"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_ARCADE_PAD"><span class="Identifier">JOYSTICK_TYPE_ARCADE_PAD</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_TYPE_THROTTLE"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_TYPE_THROTTLE"><span class="Identifier">JOYSTICK_TYPE_THROTTLE</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_POWER_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_UNKNOWN"><span class="Identifier">JOYSTICK_POWER_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_POWER_EMPTY"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_EMPTY"><span class="Identifier">JOYSTICK_POWER_EMPTY</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
<pre>&lt;= 5%</pre>
</dd>
<a id="JOYSTICK_POWER_LOW"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_LOW"><span class="Identifier">JOYSTICK_POWER_LOW</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt;= 20%</pre>
</dd>
<a id="JOYSTICK_POWER_MEDIUM"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_MEDIUM"><span class="Identifier">JOYSTICK_POWER_MEDIUM</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt;= 70%</pre>
</dd>
<a id="JOYSTICK_POWER_FULL"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_FULL"><span class="Identifier">JOYSTICK_POWER_FULL</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt;= 100%</pre>
</dd>
<a id="JOYSTICK_POWER_WIRED"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_WIRED"><span class="Identifier">JOYSTICK_POWER_WIRED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_POWER_MAX"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_POWER_MAX"><span class="Identifier">JOYSTICK_POWER_MAX</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_AXIS_MAX"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_AXIS_MAX"><span class="Identifier">JOYSTICK_AXIS_MAX</span></a> <span class="Other">=</span> <span class="DecNumber">32767</span></pre></dt>
<dd>
</dd>
<a id="JOYSTICK_AXIS_MIN"></a>
<dt><pre><a href="sdl2.html#JOYSTICK_AXIS_MIN"><span class="Identifier">JOYSTICK_AXIS_MIN</span></a> <span class="Other">=</span> <span class="DecNumber">-32768</span></pre></dt>
<dd>
</dd>
<a id="HAT_CENTERED"></a>
<dt><pre><a href="sdl2.html#HAT_CENTERED"><span class="Identifier">HAT_CENTERED</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000000</span></pre></dt>
<dd>
</dd>
<a id="HAT_UP"></a>
<dt><pre><a href="sdl2.html#HAT_UP"><span class="Identifier">HAT_UP</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000001</span></pre></dt>
<dd>
</dd>
<a id="HAT_RIGHT"></a>
<dt><pre><a href="sdl2.html#HAT_RIGHT"><span class="Identifier">HAT_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000002</span></pre></dt>
<dd>
</dd>
<a id="HAT_DOWN"></a>
<dt><pre><a href="sdl2.html#HAT_DOWN"><span class="Identifier">HAT_DOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000004</span></pre></dt>
<dd>
</dd>
<a id="HAT_LEFT"></a>
<dt><pre><a href="sdl2.html#HAT_LEFT"><span class="Identifier">HAT_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000008</span></pre></dt>
<dd>
</dd>
<a id="HAT_RIGHTUP"></a>
<dt><pre><a href="sdl2.html#HAT_RIGHTUP"><span class="Identifier">HAT_RIGHTUP</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="HAT_RIGHTDOWN"></a>
<dt><pre><a href="sdl2.html#HAT_RIGHTDOWN"><span class="Identifier">HAT_RIGHTDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="HAT_LEFTUP"></a>
<dt><pre><a href="sdl2.html#HAT_LEFTUP"><span class="Identifier">HAT_LEFTUP</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="HAT_LEFTDOWN"></a>
<dt><pre><a href="sdl2.html#HAT_LEFTDOWN"><span class="Identifier">HAT_LEFTDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_UNKNOWN"><span class="Identifier">CONTROLLER_TYPE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_XBOX360"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_XBOX360"><span class="Identifier">CONTROLLER_TYPE_XBOX360</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_XBOXONE"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_XBOXONE"><span class="Identifier">CONTROLLER_TYPE_XBOXONE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_PS3"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_PS3"><span class="Identifier">CONTROLLER_TYPE_PS3</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_PS4"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_PS4"><span class="Identifier">CONTROLLER_TYPE_PS4</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_TYPE_NINTENDO_SWITCH_PRO"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_TYPE_NINTENDO_SWITCH_PRO"><span class="Identifier">CONTROLLER_TYPE_NINTENDO_SWITCH_PRO</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_INVALID"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_INVALID"><span class="Identifier">CONTROLLER_AXIS_INVALID</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_LEFTX"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_LEFTX"><span class="Identifier">CONTROLLER_AXIS_LEFTX</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_LEFTY"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_LEFTY"><span class="Identifier">CONTROLLER_AXIS_LEFTY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_RIGHTX"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_RIGHTX"><span class="Identifier">CONTROLLER_AXIS_RIGHTX</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_RIGHTY"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_RIGHTY"><span class="Identifier">CONTROLLER_AXIS_RIGHTY</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_TRIGGERLEFT"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_TRIGGERLEFT"><span class="Identifier">CONTROLLER_AXIS_TRIGGERLEFT</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_TRIGGERRIGHT"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_TRIGGERRIGHT"><span class="Identifier">CONTROLLER_AXIS_TRIGGERRIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_AXIS_MAX"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_AXIS_MAX"><span class="Identifier">CONTROLLER_AXIS_MAX</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_INVALID"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_INVALID"><span class="Identifier">CONTROLLER_BUTTON_INVALID</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_A"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_A"><span class="Identifier">CONTROLLER_BUTTON_A</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_B"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_B"><span class="Identifier">CONTROLLER_BUTTON_B</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_X"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_X"><span class="Identifier">CONTROLLER_BUTTON_X</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_Y"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_Y"><span class="Identifier">CONTROLLER_BUTTON_Y</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_BACK"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_BACK"><span class="Identifier">CONTROLLER_BUTTON_BACK</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_GUIDE"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_GUIDE"><span class="Identifier">CONTROLLER_BUTTON_GUIDE</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_START"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_START"><span class="Identifier">CONTROLLER_BUTTON_START</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_LEFTSTICK"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_LEFTSTICK"><span class="Identifier">CONTROLLER_BUTTON_LEFTSTICK</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_RIGHTSTICK"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_RIGHTSTICK"><span class="Identifier">CONTROLLER_BUTTON_RIGHTSTICK</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_LEFTSHOULDER"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_LEFTSHOULDER"><span class="Identifier">CONTROLLER_BUTTON_LEFTSHOULDER</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_RIGHTSHOULDER"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_RIGHTSHOULDER"><span class="Identifier">CONTROLLER_BUTTON_RIGHTSHOULDER</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_DPAD_UP"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_DPAD_UP"><span class="Identifier">CONTROLLER_BUTTON_DPAD_UP</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_DPAD_DOWN"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_DPAD_DOWN"><span class="Identifier">CONTROLLER_BUTTON_DPAD_DOWN</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_DPAD_LEFT"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_DPAD_LEFT"><span class="Identifier">CONTROLLER_BUTTON_DPAD_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">13</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_DPAD_RIGHT"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_DPAD_RIGHT"><span class="Identifier">CONTROLLER_BUTTON_DPAD_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">14</span></pre></dt>
<dd>
</dd>
<a id="CONTROLLER_BUTTON_MAX"></a>
<dt><pre><a href="sdl2.html#CONTROLLER_BUTTON_MAX"><span class="Identifier">CONTROLLER_BUTTON_MAX</span></a> <span class="Other">=</span> <span class="DecNumber">15</span></pre></dt>
<dd>
</dd>
<a id="TOUCH_DEVICE_INVALID"></a>
<dt><pre><a href="sdl2.html#TOUCH_DEVICE_INVALID"><span class="Identifier">TOUCH_DEVICE_INVALID</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
<dd>
</dd>
<a id="TOUCH_DEVICE_DIRECT"></a>
<dt><pre><a href="sdl2.html#TOUCH_DEVICE_DIRECT"><span class="Identifier">TOUCH_DEVICE_DIRECT</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
<pre>touch screen with window-relative coordinates</pre>
</dd>
<a id="TOUCH_DEVICE_INDIRECT_ABSOLUTE"></a>
<dt><pre><a href="sdl2.html#TOUCH_DEVICE_INDIRECT_ABSOLUTE"><span class="Identifier">TOUCH_DEVICE_INDIRECT_ABSOLUTE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>trackpad with absolute device coordinates</pre>
</dd>
<a id="TOUCH_DEVICE_INDIRECT_RELATIVE"></a>
<dt><pre><a href="sdl2.html#TOUCH_DEVICE_INDIRECT_RELATIVE"><span class="Identifier">TOUCH_DEVICE_INDIRECT_RELATIVE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>trackpad with screen cursor-relative coordinates</pre>
</dd>
<a id="RELEASED"></a>
<dt><pre><a href="sdl2.html#RELEASED"><span class="Identifier">RELEASED</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="PRESSED"></a>
<dt><pre><a href="sdl2.html#PRESSED"><span class="Identifier">PRESSED</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="EVENT_FIRSTEVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_FIRSTEVENT"><span class="Identifier">EVENT_FIRSTEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Unused (do not remove)</pre>
</dd>
<a id="EVENT_QUIT"></a>
<dt><pre><a href="sdl2.html#EVENT_QUIT"><span class="Identifier">EVENT_QUIT</span></a> <span class="Other">=</span> <span class="DecNumber">256'i32</span></pre></dt>
<dd>
<pre>&lt; User-requested quit</pre>
</dd>
<a id="EVENT_APP_TERMINATING"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_TERMINATING"><span class="Identifier">EVENT_APP_TERMINATING</span></a> <span class="Other">=</span> <span class="DecNumber">257</span></pre></dt>
<dd>
<pre>&lt; The application is being terminated by the OS
Called on iOS in applicationWillTerminate()
Called on Android in onDestroy()</pre>
</dd>
<a id="EVENT_APP_LOWMEMORY"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_LOWMEMORY"><span class="Identifier">EVENT_APP_LOWMEMORY</span></a> <span class="Other">=</span> <span class="DecNumber">258</span></pre></dt>
<dd>
<pre>&lt; The application is low on memory, free memory if possible.
Called on iOS in applicationDidReceiveMemoryWarning()
Called on Android in onLowMemory()</pre>
</dd>
<a id="EVENT_APP_WILLENTERBACKGROUND"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_WILLENTERBACKGROUND"><span class="Identifier">EVENT_APP_WILLENTERBACKGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">259</span></pre></dt>
<dd>
<pre>&lt; The application is about to enter the background
Called on iOS in applicationWillResignActive()
Called on Android in onPause()</pre>
</dd>
<a id="EVENT_APP_DIDENTERBACKGROUND"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_DIDENTERBACKGROUND"><span class="Identifier">EVENT_APP_DIDENTERBACKGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">260</span></pre></dt>
<dd>
<pre>&lt; The application did enter the background and may not get CPU for some time
Called on iOS in applicationDidEnterBackground()
Called on Android in onPause()</pre>
</dd>
<a id="EVENT_APP_WILLENTERFOREGROUND"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_WILLENTERFOREGROUND"><span class="Identifier">EVENT_APP_WILLENTERFOREGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">261</span></pre></dt>
<dd>
<pre>&lt; The application is about to enter the foreground
Called on iOS in applicationWillEnterForeground()
Called on Android in onResume()</pre>
</dd>
<a id="EVENT_APP_DIDENTERFOREGROUND"></a>
<dt><pre><a href="sdl2.html#EVENT_APP_DIDENTERFOREGROUND"><span class="Identifier">EVENT_APP_DIDENTERFOREGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">262</span></pre></dt>
<dd>
<pre>&lt; The application is now interactive
Called on iOS in applicationDidBecomeActive()
Called on Android in onResume()</pre>
</dd>
<a id="EVENT_DISPLAYEVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_DISPLAYEVENT"><span class="Identifier">EVENT_DISPLAYEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">336'i32</span></pre></dt>
<dd>
<pre>&lt; Display state change</pre>
</dd>
<a id="EVENT_WINDOWEVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_WINDOWEVENT"><span class="Identifier">EVENT_WINDOWEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">512'i32</span></pre></dt>
<dd>
<pre>&lt; Window state change</pre>
</dd>
<a id="EVENT_SYSWMEVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_SYSWMEVENT"><span class="Identifier">EVENT_SYSWMEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">513</span></pre></dt>
<dd>
<pre>&lt; System specific event</pre>
</dd>
<a id="EVENT_KEYDOWN"></a>
<dt><pre><a href="sdl2.html#EVENT_KEYDOWN"><span class="Identifier">EVENT_KEYDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">768'i32</span></pre></dt>
<dd>
<pre>&lt; Key pressed</pre>
</dd>
<a id="EVENT_KEYUP"></a>
<dt><pre><a href="sdl2.html#EVENT_KEYUP"><span class="Identifier">EVENT_KEYUP</span></a> <span class="Other">=</span> <span class="DecNumber">769</span></pre></dt>
<dd>
<pre>&lt; Key released</pre>
</dd>
<a id="EVENT_TEXTEDITING"></a>
<dt><pre><a href="sdl2.html#EVENT_TEXTEDITING"><span class="Identifier">EVENT_TEXTEDITING</span></a> <span class="Other">=</span> <span class="DecNumber">770</span></pre></dt>
<dd>
<pre>&lt; Keyboard text editing (composition)</pre>
</dd>
<a id="EVENT_TEXTINPUT"></a>
<dt><pre><a href="sdl2.html#EVENT_TEXTINPUT"><span class="Identifier">EVENT_TEXTINPUT</span></a> <span class="Other">=</span> <span class="DecNumber">771</span></pre></dt>
<dd>
<pre>&lt; Keyboard text input</pre>
</dd>
<a id="EVENT_KEYMAPCHANGED"></a>
<dt><pre><a href="sdl2.html#EVENT_KEYMAPCHANGED"><span class="Identifier">EVENT_KEYMAPCHANGED</span></a> <span class="Other">=</span> <span class="DecNumber">772</span></pre></dt>
<dd>
<pre>&lt; Keymap changed due to a system event such as an
input language or keyboard layout change.</pre>
</dd>
<a id="EVENT_MOUSEMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_MOUSEMOTION"><span class="Identifier">EVENT_MOUSEMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1024'i32</span></pre></dt>
<dd>
<pre>&lt; Mouse moved</pre>
</dd>
<a id="EVENT_MOUSEBUTTONDOWN"></a>
<dt><pre><a href="sdl2.html#EVENT_MOUSEBUTTONDOWN"><span class="Identifier">EVENT_MOUSEBUTTONDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1025</span></pre></dt>
<dd>
<pre>&lt; Mouse button pressed</pre>
</dd>
<a id="EVENT_MOUSEBUTTONUP"></a>
<dt><pre><a href="sdl2.html#EVENT_MOUSEBUTTONUP"><span class="Identifier">EVENT_MOUSEBUTTONUP</span></a> <span class="Other">=</span> <span class="DecNumber">1026</span></pre></dt>
<dd>
<pre>&lt; Mouse button released</pre>
</dd>
<a id="EVENT_MOUSEWHEEL"></a>
<dt><pre><a href="sdl2.html#EVENT_MOUSEWHEEL"><span class="Identifier">EVENT_MOUSEWHEEL</span></a> <span class="Other">=</span> <span class="DecNumber">1027</span></pre></dt>
<dd>
<pre>&lt; Mouse wheel motion</pre>
</dd>
<a id="EVENT_JOYAXISMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYAXISMOTION"><span class="Identifier">EVENT_JOYAXISMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1536'i32</span></pre></dt>
<dd>
<pre>&lt; Joystick axis motion</pre>
</dd>
<a id="EVENT_JOYBALLMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYBALLMOTION"><span class="Identifier">EVENT_JOYBALLMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1537</span></pre></dt>
<dd>
<pre>&lt; Joystick trackball motion</pre>
</dd>
<a id="EVENT_JOYHATMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYHATMOTION"><span class="Identifier">EVENT_JOYHATMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1538</span></pre></dt>
<dd>
<pre>&lt; Joystick hat position change</pre>
</dd>
<a id="EVENT_JOYBUTTONDOWN"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYBUTTONDOWN"><span class="Identifier">EVENT_JOYBUTTONDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1539</span></pre></dt>
<dd>
<pre>&lt; Joystick button pressed</pre>
</dd>
<a id="EVENT_JOYBUTTONUP"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYBUTTONUP"><span class="Identifier">EVENT_JOYBUTTONUP</span></a> <span class="Other">=</span> <span class="DecNumber">1540</span></pre></dt>
<dd>
<pre>&lt; Joystick button released</pre>
</dd>
<a id="EVENT_JOYDEVICEADDED"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYDEVICEADDED"><span class="Identifier">EVENT_JOYDEVICEADDED</span></a> <span class="Other">=</span> <span class="DecNumber">1541</span></pre></dt>
<dd>
<pre>&lt; A new joystick has been inserted into the system</pre>
</dd>
<a id="EVENT_JOYDEVICEREMOVED"></a>
<dt><pre><a href="sdl2.html#EVENT_JOYDEVICEREMOVED"><span class="Identifier">EVENT_JOYDEVICEREMOVED</span></a> <span class="Other">=</span> <span class="DecNumber">1542</span></pre></dt>
<dd>
<pre>&lt; An opened joystick has been removed</pre>
</dd>
<a id="EVENT_CONTROLLERAXISMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERAXISMOTION"><span class="Identifier">EVENT_CONTROLLERAXISMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1616'i32</span></pre></dt>
<dd>
<pre>&lt; Game controller axis motion</pre>
</dd>
<a id="EVENT_CONTROLLERBUTTONDOWN"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERBUTTONDOWN"><span class="Identifier">EVENT_CONTROLLERBUTTONDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1617</span></pre></dt>
<dd>
<pre>&lt; Game controller button pressed</pre>
</dd>
<a id="EVENT_CONTROLLERBUTTONUP"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERBUTTONUP"><span class="Identifier">EVENT_CONTROLLERBUTTONUP</span></a> <span class="Other">=</span> <span class="DecNumber">1618</span></pre></dt>
<dd>
<pre>&lt; Game controller button released</pre>
</dd>
<a id="EVENT_CONTROLLERDEVICEADDED"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERDEVICEADDED"><span class="Identifier">EVENT_CONTROLLERDEVICEADDED</span></a> <span class="Other">=</span> <span class="DecNumber">1619</span></pre></dt>
<dd>
<pre>&lt; A new Game controller has been inserted into the system</pre>
</dd>
<a id="EVENT_CONTROLLERDEVICEREMOVED"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERDEVICEREMOVED"><span class="Identifier">EVENT_CONTROLLERDEVICEREMOVED</span></a> <span class="Other">=</span> <span class="DecNumber">1620</span></pre></dt>
<dd>
<pre>&lt; An opened Game controller has been removed</pre>
</dd>
<a id="EVENT_CONTROLLERDEVICEREMAPPED"></a>
<dt><pre><a href="sdl2.html#EVENT_CONTROLLERDEVICEREMAPPED"><span class="Identifier">EVENT_CONTROLLERDEVICEREMAPPED</span></a> <span class="Other">=</span> <span class="DecNumber">1621</span></pre></dt>
<dd>
<pre>&lt; The controller mapping was updated</pre>
</dd>
<a id="EVENT_FINGERDOWN"></a>
<dt><pre><a href="sdl2.html#EVENT_FINGERDOWN"><span class="Identifier">EVENT_FINGERDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">1792'i32</span></pre></dt>
<dd>
</dd>
<a id="EVENT_FINGERUP"></a>
<dt><pre><a href="sdl2.html#EVENT_FINGERUP"><span class="Identifier">EVENT_FINGERUP</span></a> <span class="Other">=</span> <span class="DecNumber">1793</span></pre></dt>
<dd>
</dd>
<a id="EVENT_FINGERMOTION"></a>
<dt><pre><a href="sdl2.html#EVENT_FINGERMOTION"><span class="Identifier">EVENT_FINGERMOTION</span></a> <span class="Other">=</span> <span class="DecNumber">1794</span></pre></dt>
<dd>
<pre>Gesture events</pre>
</dd>
<a id="EVENT_DOLLARGESTURE"></a>
<dt><pre><a href="sdl2.html#EVENT_DOLLARGESTURE"><span class="Identifier">EVENT_DOLLARGESTURE</span></a> <span class="Other">=</span> <span class="DecNumber">2048'i32</span></pre></dt>
<dd>
</dd>
<a id="EVENT_DOLLARRECORD"></a>
<dt><pre><a href="sdl2.html#EVENT_DOLLARRECORD"><span class="Identifier">EVENT_DOLLARRECORD</span></a> <span class="Other">=</span> <span class="DecNumber">2049</span></pre></dt>
<dd>
</dd>
<a id="EVENT_MULTIGESTURE"></a>
<dt><pre><a href="sdl2.html#EVENT_MULTIGESTURE"><span class="Identifier">EVENT_MULTIGESTURE</span></a> <span class="Other">=</span> <span class="DecNumber">2050</span></pre></dt>
<dd>
<pre>Clipboard events</pre>
</dd>
<a id="EVENT_CLIPBOARDUPDATE"></a>
<dt><pre><a href="sdl2.html#EVENT_CLIPBOARDUPDATE"><span class="Identifier">EVENT_CLIPBOARDUPDATE</span></a> <span class="Other">=</span> <span class="DecNumber">2304'i32</span></pre></dt>
<dd>
<pre>&lt; The clipboard changed</pre>
</dd>
<a id="EVENT_DROPFILE"></a>
<dt><pre><a href="sdl2.html#EVENT_DROPFILE"><span class="Identifier">EVENT_DROPFILE</span></a> <span class="Other">=</span> <span class="DecNumber">4096'i32</span></pre></dt>
<dd>
<pre>&lt; The system requests a file open</pre>
</dd>
<a id="EVENT_DROPTEXT"></a>
<dt><pre><a href="sdl2.html#EVENT_DROPTEXT"><span class="Identifier">EVENT_DROPTEXT</span></a> <span class="Other">=</span> <span class="DecNumber">4097</span></pre></dt>
<dd>
<pre>&lt; text/plain drag-and-drop event</pre>
</dd>
<a id="EVENT_DROPBEGIN"></a>
<dt><pre><a href="sdl2.html#EVENT_DROPBEGIN"><span class="Identifier">EVENT_DROPBEGIN</span></a> <span class="Other">=</span> <span class="DecNumber">4098</span></pre></dt>
<dd>
<pre>&lt; A new set of drops is beginning (NULL filename)</pre>
</dd>
<a id="EVENT_DROPCOMPLETE"></a>
<dt><pre><a href="sdl2.html#EVENT_DROPCOMPLETE"><span class="Identifier">EVENT_DROPCOMPLETE</span></a> <span class="Other">=</span> <span class="DecNumber">4099</span></pre></dt>
<dd>
<pre>&lt; Current set of drops is now complete (NULL filename)</pre>
</dd>
<a id="EVENT_AUDIODEVICEADDED"></a>
<dt><pre><a href="sdl2.html#EVENT_AUDIODEVICEADDED"><span class="Identifier">EVENT_AUDIODEVICEADDED</span></a> <span class="Other">=</span> <span class="DecNumber">4352'i32</span></pre></dt>
<dd>
<pre>&lt; A new audio device is available</pre>
</dd>
<a id="EVENT_AUDIODEVICEREMOVED"></a>
<dt><pre><a href="sdl2.html#EVENT_AUDIODEVICEREMOVED"><span class="Identifier">EVENT_AUDIODEVICEREMOVED</span></a> <span class="Other">=</span> <span class="DecNumber">4353</span></pre></dt>
<dd>
<pre>&lt; An audio device has been removed.</pre>
</dd>
<a id="EVENT_SENSORUPDATE"></a>
<dt><pre><a href="sdl2.html#EVENT_SENSORUPDATE"><span class="Identifier">EVENT_SENSORUPDATE</span></a> <span class="Other">=</span> <span class="DecNumber">4608'i32</span></pre></dt>
<dd>
<pre>&lt; A sensor was updated</pre>
</dd>
<a id="EVENT_RENDER_TARGETS_RESET"></a>
<dt><pre><a href="sdl2.html#EVENT_RENDER_TARGETS_RESET"><span class="Identifier">EVENT_RENDER_TARGETS_RESET</span></a> <span class="Other">=</span> <span class="DecNumber">8192'i32</span></pre></dt>
<dd>
<pre>&lt; The render targets have been reset and their contents need to be updated</pre>
</dd>
<a id="EVENT_RENDER_DEVICE_RESET"></a>
<dt><pre><a href="sdl2.html#EVENT_RENDER_DEVICE_RESET"><span class="Identifier">EVENT_RENDER_DEVICE_RESET</span></a> <span class="Other">=</span> <span class="DecNumber">8193</span></pre></dt>
<dd>
<pre>&lt; The device has been reset and all textures need to be recreated</pre>
</dd>
<a id="EVENT_USEREVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_USEREVENT"><span class="Identifier">EVENT_USEREVENT</span></a> <span class="Other">=</span> <span class="DecNumber">32768'i32</span></pre></dt>
<dd>
<pre>This last event is only for bounding internal arrays</pre>
</dd>
<a id="EVENT_LASTEVENT"></a>
<dt><pre><a href="sdl2.html#EVENT_LASTEVENT"><span class="Identifier">EVENT_LASTEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">65535'i32</span></pre></dt>
<dd>
</dd>
<a id="TEXTEDITINGEVENT_TEXT_SIZE"></a>
<dt><pre><a href="sdl2.html#TEXTEDITINGEVENT_TEXT_SIZE"><span class="Identifier">TEXTEDITINGEVENT_TEXT_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">32</span></pre></dt>
<dd>
</dd>
<a id="TEXTINPUTEVENT_TEXT_SIZE"></a>
<dt><pre><a href="sdl2.html#TEXTINPUTEVENT_TEXT_SIZE"><span class="Identifier">TEXTINPUTEVENT_TEXT_SIZE</span></a> <span class="Other">=</span> <span class="DecNumber">32</span></pre></dt>
<dd>
</dd>
<a id="ADDEVENT"></a>
<dt><pre><a href="sdl2.html#ADDEVENT"><span class="Identifier">ADDEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="PEEKEVENT"></a>
<dt><pre><a href="sdl2.html#PEEKEVENT"><span class="Identifier">PEEKEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="GETEVENT"></a>
<dt><pre><a href="sdl2.html#GETEVENT"><span class="Identifier">GETEVENT</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="QUERY"></a>
<dt><pre><a href="sdl2.html#QUERY"><span class="Identifier">QUERY</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
<dd>
</dd>
<a id="IGNORE"></a>
<dt><pre><a href="sdl2.html#IGNORE"><span class="Identifier">IGNORE</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="DISABLE"></a>
<dt><pre><a href="sdl2.html#DISABLE"><span class="Identifier">DISABLE</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="ENABLE"></a>
<dt><pre><a href="sdl2.html#ENABLE"><span class="Identifier">ENABLE</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_CONSTANT"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_CONSTANT"><span class="Identifier">HAPTIC_TYPE_CONSTANT</span></a> <span class="Other">=</span> <span class="DecNumber">1'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_SINE"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_SINE"><span class="Identifier">HAPTIC_TYPE_SINE</span></a> <span class="Other">=</span> <span class="DecNumber">2'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_LEFTRIGHT"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_LEFTRIGHT"><span class="Identifier">HAPTIC_TYPE_LEFTRIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">4'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_TRIANGLE"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_TRIANGLE"><span class="Identifier">HAPTIC_TYPE_TRIANGLE</span></a> <span class="Other">=</span> <span class="DecNumber">8'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_SAWTOOTHUP"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_SAWTOOTHUP"><span class="Identifier">HAPTIC_TYPE_SAWTOOTHUP</span></a> <span class="Other">=</span> <span class="DecNumber">16'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_SAWTOOTHDOWN"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_SAWTOOTHDOWN"><span class="Identifier">HAPTIC_TYPE_SAWTOOTHDOWN</span></a> <span class="Other">=</span> <span class="DecNumber">32'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_RAMP"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_RAMP"><span class="Identifier">HAPTIC_TYPE_RAMP</span></a> <span class="Other">=</span> <span class="DecNumber">64'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_SPRING"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_SPRING"><span class="Identifier">HAPTIC_TYPE_SPRING</span></a> <span class="Other">=</span> <span class="DecNumber">128'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_DAMPER"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_DAMPER"><span class="Identifier">HAPTIC_TYPE_DAMPER</span></a> <span class="Other">=</span> <span class="DecNumber">256'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_INERTIA"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_INERTIA"><span class="Identifier">HAPTIC_TYPE_INERTIA</span></a> <span class="Other">=</span> <span class="DecNumber">512'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_FRICTION"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_FRICTION"><span class="Identifier">HAPTIC_TYPE_FRICTION</span></a> <span class="Other">=</span> <span class="DecNumber">1024'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_CUSTOM"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_CUSTOM"><span class="Identifier">HAPTIC_TYPE_CUSTOM</span></a> <span class="Other">=</span> <span class="DecNumber">2048'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_GAIN"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_GAIN"><span class="Identifier">HAPTIC_TYPE_GAIN</span></a> <span class="Other">=</span> <span class="DecNumber">4096'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_AUTOCENTER"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_AUTOCENTER"><span class="Identifier">HAPTIC_TYPE_AUTOCENTER</span></a> <span class="Other">=</span> <span class="DecNumber">8192'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_STATUS"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_STATUS"><span class="Identifier">HAPTIC_TYPE_STATUS</span></a> <span class="Other">=</span> <span class="DecNumber">16384'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_PAUSE"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_PAUSE"><span class="Identifier">HAPTIC_TYPE_PAUSE</span></a> <span class="Other">=</span> <span class="DecNumber">32768'u</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_POLAR"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_POLAR"><span class="Identifier">HAPTIC_TYPE_POLAR</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_CARTESIAN"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_CARTESIAN"><span class="Identifier">HAPTIC_TYPE_CARTESIAN</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_SPHERICAL"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_SPHERICAL"><span class="Identifier">HAPTIC_TYPE_SPHERICAL</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="HAPTIC_TYPE_INFINITY"></a>
<dt><pre><a href="sdl2.html#HAPTIC_TYPE_INFINITY"><span class="Identifier">HAPTIC_TYPE_INFINITY</span></a> <span class="Other">=</span> <span class="DecNumber">4294967295'u</span></pre></dt>
<dd>
</dd>
<a id="HINT_FRAMEBUFFER_ACCELERATION"></a>
<dt><pre><a href="sdl2.html#HINT_FRAMEBUFFER_ACCELERATION"><span class="Identifier">HINT_FRAMEBUFFER_ACCELERATION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_FRAMEBUFFER_ACCELERATION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_DRIVER"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_DRIVER"><span class="Identifier">HINT_RENDER_DRIVER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_DRIVER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_OPENGL_SHADERS"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_OPENGL_SHADERS"><span class="Identifier">HINT_RENDER_OPENGL_SHADERS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_OPENGL_SHADERS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_DIRECT3D_THREADSAFE"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_DIRECT3D_THREADSAFE"><span class="Identifier">HINT_RENDER_DIRECT3D_THREADSAFE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_DIRECT3D_THREADSAFE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_DIRECT3D11_DEBUG"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_DIRECT3D11_DEBUG"><span class="Identifier">HINT_RENDER_DIRECT3D11_DEBUG</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_DIRECT3D11_DEBUG&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_LOGICAL_SIZE_MODE"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_LOGICAL_SIZE_MODE"><span class="Identifier">HINT_RENDER_LOGICAL_SIZE_MODE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_LOGICAL_SIZE_MODE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_SCALE_QUALITY"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_SCALE_QUALITY"><span class="Identifier">HINT_RENDER_SCALE_QUALITY</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_SCALE_QUALITY&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_VSYNC"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_VSYNC"><span class="Identifier">HINT_RENDER_VSYNC</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_VSYNC&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_ALLOW_SCREENSAVER"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_ALLOW_SCREENSAVER"><span class="Identifier">HINT_VIDEO_ALLOW_SCREENSAVER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_ALLOW_SCREENSAVER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_EXTERNAL_CONTEXT"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_EXTERNAL_CONTEXT"><span class="Identifier">HINT_VIDEO_EXTERNAL_CONTEXT</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_EXTERNAL_CONTEXT&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_XVIDMODE"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_XVIDMODE"><span class="Identifier">HINT_VIDEO_X11_XVIDMODE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_XVIDMODE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_XINERAMA"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_XINERAMA"><span class="Identifier">HINT_VIDEO_X11_XINERAMA</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_XINERAMA&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_XRANDR"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_XRANDR"><span class="Identifier">HINT_VIDEO_X11_XRANDR</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_XRANDR&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_WINDOW_VISUALID"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_WINDOW_VISUALID"><span class="Identifier">HINT_VIDEO_X11_WINDOW_VISUALID</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_WINDOW_VISUALID&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_NET_WM_PING"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_NET_WM_PING"><span class="Identifier">HINT_VIDEO_X11_NET_WM_PING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_NET_WM_PING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"><span class="Identifier">HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_X11_FORCE_EGL"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_X11_FORCE_EGL"><span class="Identifier">HINT_VIDEO_X11_FORCE_EGL</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_X11_FORCE_EGL&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"><span class="Identifier">HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOWS_INTRESOURCE_ICON"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOWS_INTRESOURCE_ICON"><span class="Identifier">HINT_WINDOWS_INTRESOURCE_ICON</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOWS_INTRESOURCE_ICON&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOWS_INTRESOURCE_ICON_SMALL"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOWS_INTRESOURCE_ICON_SMALL"><span class="Identifier">HINT_WINDOWS_INTRESOURCE_ICON_SMALL</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOWS_INTRESOURCE_ICON_SMALL&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOWS_ENABLE_MESSAGELOOP"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOWS_ENABLE_MESSAGELOOP"><span class="Identifier">HINT_WINDOWS_ENABLE_MESSAGELOOP</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOWS_ENABLE_MESSAGELOOP&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GRAB_KEYBOARD"></a>
<dt><pre><a href="sdl2.html#HINT_GRAB_KEYBOARD"><span class="Identifier">HINT_GRAB_KEYBOARD</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GRAB_KEYBOARD&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_DOUBLE_CLICK_TIME"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_DOUBLE_CLICK_TIME"><span class="Identifier">HINT_MOUSE_DOUBLE_CLICK_TIME</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_DOUBLE_CLICK_TIME&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_DOUBLE_CLICK_RADIUS"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_DOUBLE_CLICK_RADIUS"><span class="Identifier">HINT_MOUSE_DOUBLE_CLICK_RADIUS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_DOUBLE_CLICK_RADIUS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_NORMAL_SPEED_SCALE"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_NORMAL_SPEED_SCALE"><span class="Identifier">HINT_MOUSE_NORMAL_SPEED_SCALE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_NORMAL_SPEED_SCALE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_RELATIVE_SPEED_SCALE"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_RELATIVE_SPEED_SCALE"><span class="Identifier">HINT_MOUSE_RELATIVE_SPEED_SCALE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_RELATIVE_SPEED_SCALE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_RELATIVE_MODE_WARP"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_RELATIVE_MODE_WARP"><span class="Identifier">HINT_MOUSE_RELATIVE_MODE_WARP</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_RELATIVE_MODE_WARP&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_FOCUS_CLICKTHROUGH"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_FOCUS_CLICKTHROUGH"><span class="Identifier">HINT_MOUSE_FOCUS_CLICKTHROUGH</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_FOCUS_CLICKTHROUGH&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_TOUCH_MOUSE_EVENTS"></a>
<dt><pre><a href="sdl2.html#HINT_TOUCH_MOUSE_EVENTS"><span class="Identifier">HINT_TOUCH_MOUSE_EVENTS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_TOUCH_MOUSE_EVENTS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MOUSE_TOUCH_EVENTS"></a>
<dt><pre><a href="sdl2.html#HINT_MOUSE_TOUCH_EVENTS"><span class="Identifier">HINT_MOUSE_TOUCH_EVENTS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MOUSE_TOUCH_EVENTS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS"><span class="Identifier">HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_IDLE_TIMER_DISABLED"></a>
<dt><pre><a href="sdl2.html#HINT_IDLE_TIMER_DISABLED"><span class="Identifier">HINT_IDLE_TIMER_DISABLED</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_IOS_IDLE_TIMER_DISABLED&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ORIENTATIONS"></a>
<dt><pre><a href="sdl2.html#HINT_ORIENTATIONS"><span class="Identifier">HINT_ORIENTATIONS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_IOS_ORIENTATIONS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_APPLE_TV_CONTROLLER_UI_EVENTS"></a>
<dt><pre><a href="sdl2.html#HINT_APPLE_TV_CONTROLLER_UI_EVENTS"><span class="Identifier">HINT_APPLE_TV_CONTROLLER_UI_EVENTS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_APPLE_TV_CONTROLLER_UI_EVENTS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_APPLE_TV_REMOTE_ALLOW_ROTATION"></a>
<dt><pre><a href="sdl2.html#HINT_APPLE_TV_REMOTE_ALLOW_ROTATION"><span class="Identifier">HINT_APPLE_TV_REMOTE_ALLOW_ROTATION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_APPLE_TV_REMOTE_ALLOW_ROTATION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_IOS_HIDE_HOME_INDICATOR"></a>
<dt><pre><a href="sdl2.html#HINT_IOS_HIDE_HOME_INDICATOR"><span class="Identifier">HINT_IOS_HIDE_HOME_INDICATOR</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_IOS_HIDE_HOME_INDICATOR&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ACCELEROMETER_AS_JOYSTICK"></a>
<dt><pre><a href="sdl2.html#HINT_ACCELEROMETER_AS_JOYSTICK"><span class="Identifier">HINT_ACCELEROMETER_AS_JOYSTICK</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ACCELEROMETER_AS_JOYSTICK&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_TV_REMOTE_AS_JOYSTICK"></a>
<dt><pre><a href="sdl2.html#HINT_TV_REMOTE_AS_JOYSTICK"><span class="Identifier">HINT_TV_REMOTE_AS_JOYSTICK</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_TV_REMOTE_AS_JOYSTICK&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_XINPUT_ENABLED"></a>
<dt><pre><a href="sdl2.html#HINT_XINPUT_ENABLED"><span class="Identifier">HINT_XINPUT_ENABLED</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_XINPUT_ENABLED&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING"></a>
<dt><pre><a href="sdl2.html#HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING"><span class="Identifier">HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLERTYPE"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLERTYPE"><span class="Identifier">HINT_GAMECONTROLLERTYPE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLERTYPE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLERCONFIG"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLERCONFIG"><span class="Identifier">HINT_GAMECONTROLLERCONFIG</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLERCONFIG&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLERCONFIG_FILE"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLERCONFIG_FILE"><span class="Identifier">HINT_GAMECONTROLLERCONFIG_FILE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLERCONFIG_FILE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLER_IGNORE_DEVICES"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLER_IGNORE_DEVICES"><span class="Identifier">HINT_GAMECONTROLLER_IGNORE_DEVICES</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLER_IGNORE_DEVICES&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"><span class="Identifier">HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_GAMECONTROLLER_USE_BUTTON_LABELS"></a>
<dt><pre><a href="sdl2.html#HINT_GAMECONTROLLER_USE_BUTTON_LABELS"><span class="Identifier">HINT_GAMECONTROLLER_USE_BUTTON_LABELS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_GAMECONTROLLER_USE_BUTTON_LABELS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS"><span class="Identifier">HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI"><span class="Identifier">HINT_JOYSTICK_HIDAPI</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_PS4"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_PS4"><span class="Identifier">HINT_JOYSTICK_HIDAPI_PS4</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_PS4&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_PS4_RUMBLE"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_PS4_RUMBLE"><span class="Identifier">HINT_JOYSTICK_HIDAPI_PS4_RUMBLE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_PS4_RUMBLE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_STEAM"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_STEAM"><span class="Identifier">HINT_JOYSTICK_HIDAPI_STEAM</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_STEAM&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_SWITCH"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_SWITCH"><span class="Identifier">HINT_JOYSTICK_HIDAPI_SWITCH</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_SWITCH&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_XBOX"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_XBOX"><span class="Identifier">HINT_JOYSTICK_HIDAPI_XBOX</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_XBOX&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_JOYSTICK_HIDAPI_GAMECUBE"></a>
<dt><pre><a href="sdl2.html#HINT_JOYSTICK_HIDAPI_GAMECUBE"><span class="Identifier">HINT_JOYSTICK_HIDAPI_GAMECUBE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_JOYSTICK_HIDAPI_GAMECUBE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ENABLE_STEAM_CONTROLLERS"></a>
<dt><pre><a href="sdl2.html#HINT_ENABLE_STEAM_CONTROLLERS"><span class="Identifier">HINT_ENABLE_STEAM_CONTROLLERS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ENABLE_STEAM_CONTROLLERS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ALLOW_TOPMOST"></a>
<dt><pre><a href="sdl2.html#HINT_ALLOW_TOPMOST"><span class="Identifier">HINT_ALLOW_TOPMOST</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ALLOW_TOPMOST&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_TIMER_RESOLUTION"></a>
<dt><pre><a href="sdl2.html#HINT_TIMER_RESOLUTION"><span class="Identifier">HINT_TIMER_RESOLUTION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_TIMER_RESOLUTION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_QTWAYLAND_CONTENT_ORIENTATION"></a>
<dt><pre><a href="sdl2.html#HINT_QTWAYLAND_CONTENT_ORIENTATION"><span class="Identifier">HINT_QTWAYLAND_CONTENT_ORIENTATION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_QTWAYLAND_CONTENT_ORIENTATION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_QTWAYLAND_WINDOW_FLAGS"></a>
<dt><pre><a href="sdl2.html#HINT_QTWAYLAND_WINDOW_FLAGS"><span class="Identifier">HINT_QTWAYLAND_WINDOW_FLAGS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_QTWAYLAND_WINDOW_FLAGS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_THREAD_STACK_SIZE"></a>
<dt><pre><a href="sdl2.html#HINT_THREAD_STACK_SIZE"><span class="Identifier">HINT_THREAD_STACK_SIZE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_THREAD_STACK_SIZE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_HIGHDPI_DISABLED"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_HIGHDPI_DISABLED"><span class="Identifier">HINT_VIDEO_HIGHDPI_DISABLED</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_HIGHDPI_DISABLED&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"></a>
<dt><pre><a href="sdl2.html#HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"><span class="Identifier">HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_WIN_D3DCOMPILER"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_WIN_D3DCOMPILER"><span class="Identifier">HINT_VIDEO_WIN_D3DCOMPILER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_WIN_D3DCOMPILER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"><span class="Identifier">HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINRT_PRIVACY_POLICY_URL"></a>
<dt><pre><a href="sdl2.html#HINT_WINRT_PRIVACY_POLICY_URL"><span class="Identifier">HINT_WINRT_PRIVACY_POLICY_URL</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINRT_PRIVACY_POLICY_URL&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINRT_PRIVACY_POLICY_LABEL"></a>
<dt><pre><a href="sdl2.html#HINT_WINRT_PRIVACY_POLICY_LABEL"><span class="Identifier">HINT_WINRT_PRIVACY_POLICY_LABEL</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINRT_PRIVACY_POLICY_LABEL&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINRT_HANDLE_BACK_BUTTON"></a>
<dt><pre><a href="sdl2.html#HINT_WINRT_HANDLE_BACK_BUTTON"><span class="Identifier">HINT_WINRT_HANDLE_BACK_BUTTON</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINRT_HANDLE_BACK_BUTTON&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_MAC_FULLSCREEN_SPACES"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_MAC_FULLSCREEN_SPACES"><span class="Identifier">HINT_VIDEO_MAC_FULLSCREEN_SPACES</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_MAC_FULLSCREEN_SPACES&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_MAC_BACKGROUND_APP"></a>
<dt><pre><a href="sdl2.html#HINT_MAC_BACKGROUND_APP"><span class="Identifier">HINT_MAC_BACKGROUND_APP</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_MAC_BACKGROUND_APP&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"></a>
<dt><pre><a href="sdl2.html#HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"><span class="Identifier">HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"></a>
<dt><pre><a href="sdl2.html#HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"><span class="Identifier">HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_IME_INTERNAL_EDITING"></a>
<dt><pre><a href="sdl2.html#HINT_IME_INTERNAL_EDITING"><span class="Identifier">HINT_IME_INTERNAL_EDITING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_IME_INTERNAL_EDITING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ANDROID_TRAP_BACK_BUTTON"></a>
<dt><pre><a href="sdl2.html#HINT_ANDROID_TRAP_BACK_BUTTON"><span class="Identifier">HINT_ANDROID_TRAP_BACK_BUTTON</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ANDROID_TRAP_BACK_BUTTON&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_ANDROID_BLOCK_ON_PAUSE"></a>
<dt><pre><a href="sdl2.html#HINT_ANDROID_BLOCK_ON_PAUSE"><span class="Identifier">HINT_ANDROID_BLOCK_ON_PAUSE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_ANDROID_BLOCK_ON_PAUSE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RETURN_KEY_HIDES_IME"></a>
<dt><pre><a href="sdl2.html#HINT_RETURN_KEY_HIDES_IME"><span class="Identifier">HINT_RETURN_KEY_HIDES_IME</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RETURN_KEY_HIDES_IME&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_EMSCRIPTEN_KEYBOARD_ELEMENT"></a>
<dt><pre><a href="sdl2.html#HINT_EMSCRIPTEN_KEYBOARD_ELEMENT"><span class="Identifier">HINT_EMSCRIPTEN_KEYBOARD_ELEMENT</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_EMSCRIPTEN_KEYBOARD_ELEMENT&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_NO_SIGNAL_HANDLERS"></a>
<dt><pre><a href="sdl2.html#HINT_NO_SIGNAL_HANDLERS"><span class="Identifier">HINT_NO_SIGNAL_HANDLERS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_NO_SIGNAL_HANDLERS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOWS_NO_CLOSE_ON_ALT_F4"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOWS_NO_CLOSE_ON_ALT_F4"><span class="Identifier">HINT_WINDOWS_NO_CLOSE_ON_ALT_F4</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOWS_NO_CLOSE_ON_ALT_F4&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_BMP_SAVE_LEGACY_FORMAT"></a>
<dt><pre><a href="sdl2.html#HINT_BMP_SAVE_LEGACY_FORMAT"><span class="Identifier">HINT_BMP_SAVE_LEGACY_FORMAT</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_BMP_SAVE_LEGACY_FORMAT&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WINDOWS_DISABLE_THREAD_NAMING"></a>
<dt><pre><a href="sdl2.html#HINT_WINDOWS_DISABLE_THREAD_NAMING"><span class="Identifier">HINT_WINDOWS_DISABLE_THREAD_NAMING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WINDOWS_DISABLE_THREAD_NAMING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RPI_VIDEO_LAYER"></a>
<dt><pre><a href="sdl2.html#HINT_RPI_VIDEO_LAYER"><span class="Identifier">HINT_RPI_VIDEO_LAYER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RPI_VIDEO_LAYER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_VIDEO_DOUBLE_BUFFER"></a>
<dt><pre><a href="sdl2.html#HINT_VIDEO_DOUBLE_BUFFER"><span class="Identifier">HINT_VIDEO_DOUBLE_BUFFER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_VIDEO_DOUBLE_BUFFER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_OPENGL_ES_DRIVER"></a>
<dt><pre><a href="sdl2.html#HINT_OPENGL_ES_DRIVER"><span class="Identifier">HINT_OPENGL_ES_DRIVER</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_OPENGL_ES_DRIVER&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_AUDIO_RESAMPLING_MODE"></a>
<dt><pre><a href="sdl2.html#HINT_AUDIO_RESAMPLING_MODE"><span class="Identifier">HINT_AUDIO_RESAMPLING_MODE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_AUDIO_RESAMPLING_MODE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_AUDIO_CATEGORY"></a>
<dt><pre><a href="sdl2.html#HINT_AUDIO_CATEGORY"><span class="Identifier">HINT_AUDIO_CATEGORY</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_AUDIO_CATEGORY&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_RENDER_BATCHING"></a>
<dt><pre><a href="sdl2.html#HINT_RENDER_BATCHING"><span class="Identifier">HINT_RENDER_BATCHING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_RENDER_BATCHING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_EVENT_LOGGING"></a>
<dt><pre><a href="sdl2.html#HINT_EVENT_LOGGING"><span class="Identifier">HINT_EVENT_LOGGING</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_EVENT_LOGGING&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WAVE_RIFF_CHUNK_SIZE"></a>
<dt><pre><a href="sdl2.html#HINT_WAVE_RIFF_CHUNK_SIZE"><span class="Identifier">HINT_WAVE_RIFF_CHUNK_SIZE</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WAVE_RIFF_CHUNK_SIZE&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WAVE_TRUNCATION"></a>
<dt><pre><a href="sdl2.html#HINT_WAVE_TRUNCATION"><span class="Identifier">HINT_WAVE_TRUNCATION</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WAVE_TRUNCATION&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_WAVE_FACT_CHUNK"></a>
<dt><pre><a href="sdl2.html#HINT_WAVE_FACT_CHUNK"><span class="Identifier">HINT_WAVE_FACT_CHUNK</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_WAVE_FACT_CHUNK&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_DISPLAY_USABLE_BOUNDS"></a>
<dt><pre><a href="sdl2.html#HINT_DISPLAY_USABLE_BOUNDS"><span class="Identifier">HINT_DISPLAY_USABLE_BOUNDS</span></a> <span class="Other">=</span> <span class="StringLit">&quot;SDL_DISPLAY_USABLE_BOUNDS&quot;</span></pre></dt>
<dd>
</dd>
<a id="HINT_DEFAULT"></a>
<dt><pre><a href="sdl2.html#HINT_DEFAULT"><span class="Identifier">HINT_DEFAULT</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="HINT_NORMAL"></a>
<dt><pre><a href="sdl2.html#HINT_NORMAL"><span class="Identifier">HINT_NORMAL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="HINT_OVERRIDE"></a>
<dt><pre><a href="sdl2.html#HINT_OVERRIDE"><span class="Identifier">HINT_OVERRIDE</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="MAX_LOG_MESSAGE"></a>
<dt><pre><a href="sdl2.html#MAX_LOG_MESSAGE"><span class="Identifier">MAX_LOG_MESSAGE</span></a> <span class="Other">=</span> <span class="DecNumber">4096</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_APPLICATION"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_APPLICATION"><span class="Identifier">LOG_CATEGORY_APPLICATION</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_ERROR"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_ERROR"><span class="Identifier">LOG_CATEGORY_ERROR</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_ASSERT"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_ASSERT"><span class="Identifier">LOG_CATEGORY_ASSERT</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_SYSTEM"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_SYSTEM"><span class="Identifier">LOG_CATEGORY_SYSTEM</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_AUDIO"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_AUDIO"><span class="Identifier">LOG_CATEGORY_AUDIO</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_VIDEO"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_VIDEO"><span class="Identifier">LOG_CATEGORY_VIDEO</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RENDER"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RENDER"><span class="Identifier">LOG_CATEGORY_RENDER</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_INPUT"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_INPUT"><span class="Identifier">LOG_CATEGORY_INPUT</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_TEST"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_TEST"><span class="Identifier">LOG_CATEGORY_TEST</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
<pre>Reserved for future SDL library use</pre>
</dd>
<a id="LOG_CATEGORY_RESERVED1"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED1"><span class="Identifier">LOG_CATEGORY_RESERVED1</span></a> <span class="Other">=</span> <span class="DecNumber">9</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED2"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED2"><span class="Identifier">LOG_CATEGORY_RESERVED2</span></a> <span class="Other">=</span> <span class="DecNumber">10</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED3"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED3"><span class="Identifier">LOG_CATEGORY_RESERVED3</span></a> <span class="Other">=</span> <span class="DecNumber">11</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED4"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED4"><span class="Identifier">LOG_CATEGORY_RESERVED4</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED5"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED5"><span class="Identifier">LOG_CATEGORY_RESERVED5</span></a> <span class="Other">=</span> <span class="DecNumber">13</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED6"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED6"><span class="Identifier">LOG_CATEGORY_RESERVED6</span></a> <span class="Other">=</span> <span class="DecNumber">14</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED7"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED7"><span class="Identifier">LOG_CATEGORY_RESERVED7</span></a> <span class="Other">=</span> <span class="DecNumber">15</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED8"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED8"><span class="Identifier">LOG_CATEGORY_RESERVED8</span></a> <span class="Other">=</span> <span class="DecNumber">16</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED9"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED9"><span class="Identifier">LOG_CATEGORY_RESERVED9</span></a> <span class="Other">=</span> <span class="DecNumber">17</span></pre></dt>
<dd>
</dd>
<a id="LOG_CATEGORY_RESERVED10"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_RESERVED10"><span class="Identifier">LOG_CATEGORY_RESERVED10</span></a> <span class="Other">=</span> <span class="DecNumber">18</span></pre></dt>
<dd>
<pre>Beyond this point is reserved for application use, e.g.
enum {
MYAPP_CATEGORY_AWESOME1 = SDL_LOG_CATEGORY_CUSTOM,
MYAPP_CATEGORY_AWESOME2,
MYAPP_CATEGORY_AWESOME3,
...
};</pre>
</dd>
<a id="LOG_CATEGORY_CUSTOM"></a>
<dt><pre><a href="sdl2.html#LOG_CATEGORY_CUSTOM"><span class="Identifier">LOG_CATEGORY_CUSTOM</span></a> <span class="Other">=</span> <span class="DecNumber">19</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_VERBOSE"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_VERBOSE"><span class="Identifier">LOG_PRIORITY_VERBOSE</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_DEBUG"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_DEBUG"><span class="Identifier">LOG_PRIORITY_DEBUG</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_INFO"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_INFO"><span class="Identifier">LOG_PRIORITY_INFO</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_WARN"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_WARN"><span class="Identifier">LOG_PRIORITY_WARN</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_ERROR"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_ERROR"><span class="Identifier">LOG_PRIORITY_ERROR</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="LOG_PRIORITY_CRITICAL"></a>
<dt><pre><a href="sdl2.html#LOG_PRIORITY_CRITICAL"><span class="Identifier">LOG_PRIORITY_CRITICAL</span></a> <span class="Other">=</span> <span class="DecNumber">6</span></pre></dt>
<dd>
</dd>
<a id="NUM_LOG_PRIORITIES"></a>
<dt><pre><a href="sdl2.html#NUM_LOG_PRIORITIES"><span class="Identifier">NUM_LOG_PRIORITIES</span></a> <span class="Other">=</span> <span class="DecNumber">7</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_ERROR"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_ERROR"><span class="Identifier">MESSAGEBOX_ERROR</span></a> <span class="Other">=</span> <span class="DecNumber">16'i32</span></pre></dt>
<dd>
<pre>&lt; error dialog</pre>
</dd>
<a id="MESSAGEBOX_WARNING"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_WARNING"><span class="Identifier">MESSAGEBOX_WARNING</span></a> <span class="Other">=</span> <span class="DecNumber">32'i32</span></pre></dt>
<dd>
<pre>&lt; warning dialog</pre>
</dd>
<a id="MESSAGEBOX_INFORMATION"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_INFORMATION"><span class="Identifier">MESSAGEBOX_INFORMATION</span></a> <span class="Other">=</span> <span class="DecNumber">64'i32</span></pre></dt>
<dd>
<pre>&lt; informational dialog</pre>
</dd>
<a id="MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT"><span class="Identifier">MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT</span></a> <span class="Other">=</span> <span class="DecNumber">128'i32</span></pre></dt>
<dd>
<pre>&lt; buttons placed left to right</pre>
</dd>
<a id="MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT"><span class="Identifier">MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT</span></a> <span class="Other">=</span> <span class="DecNumber">256'i32</span></pre></dt>
<dd>
<pre>&lt; buttons placed right to left</pre>
</dd>
<a id="MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT"><span class="Identifier">MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; Marks the default button when return is hit</pre>
</dd>
<a id="MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT"><span class="Identifier">MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; Marks the default button when escape is hit</pre>
</dd>
<a id="MESSAGEBOX_COLOR_BACKGROUND"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_BACKGROUND"><span class="Identifier">MESSAGEBOX_COLOR_BACKGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_COLOR_TEXT"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_TEXT"><span class="Identifier">MESSAGEBOX_COLOR_TEXT</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_COLOR_BUTTON_BORDER"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_BUTTON_BORDER"><span class="Identifier">MESSAGEBOX_COLOR_BUTTON_BORDER</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_COLOR_BUTTON_BACKGROUND"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_BUTTON_BACKGROUND"><span class="Identifier">MESSAGEBOX_COLOR_BUTTON_BACKGROUND</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_COLOR_BUTTON_SELECTED"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_BUTTON_SELECTED"><span class="Identifier">MESSAGEBOX_COLOR_BUTTON_SELECTED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="MESSAGEBOX_COLOR_MAX"></a>
<dt><pre><a href="sdl2.html#MESSAGEBOX_COLOR_MAX"><span class="Identifier">MESSAGEBOX_COLOR_MAX</span></a> <span class="Other">=</span> <span class="DecNumber">5</span></pre></dt>
<dd>
</dd>
<a id="POWERSTATE_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#POWERSTATE_UNKNOWN"><span class="Identifier">POWERSTATE_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; cannot determine power status</pre>
</dd>
<a id="POWERSTATE_ON_BATTERY"></a>
<dt><pre><a href="sdl2.html#POWERSTATE_ON_BATTERY"><span class="Identifier">POWERSTATE_ON_BATTERY</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Not plugged in, running on the battery</pre>
</dd>
<a id="POWERSTATE_NO_BATTERY"></a>
<dt><pre><a href="sdl2.html#POWERSTATE_NO_BATTERY"><span class="Identifier">POWERSTATE_NO_BATTERY</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Plugged in, no battery available</pre>
</dd>
<a id="POWERSTATE_CHARGING"></a>
<dt><pre><a href="sdl2.html#POWERSTATE_CHARGING"><span class="Identifier">POWERSTATE_CHARGING</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
<pre>&lt; Plugged in, charging battery</pre>
</dd>
<a id="POWERSTATE_CHARGED"></a>
<dt><pre><a href="sdl2.html#POWERSTATE_CHARGED"><span class="Identifier">POWERSTATE_CHARGED</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
<pre>&lt; Plugged in, battery charged</pre>
</dd>
<a id="RENDERER_SOFTWARE"></a>
<dt><pre><a href="sdl2.html#RENDERER_SOFTWARE"><span class="Identifier">RENDERER_SOFTWARE</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; The renderer is a software fallback</pre>
</dd>
<a id="RENDERER_ACCELERATED"></a>
<dt><pre><a href="sdl2.html#RENDERER_ACCELERATED"><span class="Identifier">RENDERER_ACCELERATED</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; The renderer uses hardware
acceleration</pre>
</dd>
<a id="RENDERER_PRESENTVSYNC"></a>
<dt><pre><a href="sdl2.html#RENDERER_PRESENTVSYNC"><span class="Identifier">RENDERER_PRESENTVSYNC</span></a> <span class="Other">=</span> <span class="DecNumber">4'i32</span></pre></dt>
<dd>
<pre>&lt; Present is synchronized
with the refresh rate</pre>
</dd>
<a id="RENDERER_TARGETTEXTURE"></a>
<dt><pre><a href="sdl2.html#RENDERER_TARGETTEXTURE"><span class="Identifier">RENDERER_TARGETTEXTURE</span></a> <span class="Other">=</span> <span class="DecNumber">8'i32</span></pre></dt>
<dd>
<pre>&lt; The renderer supports
rendering to texture</pre>
</dd>
<a id="ScaleModeNearest"></a>
<dt><pre><a href="sdl2.html#ScaleModeNearest"><span class="Identifier">ScaleModeNearest</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; nearest pixel sampling</pre>
</dd>
<a id="ScaleModeLinear"></a>
<dt><pre><a href="sdl2.html#ScaleModeLinear"><span class="Identifier">ScaleModeLinear</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; linear filtering</pre>
</dd>
<a id="ScaleModeBest"></a>
<dt><pre><a href="sdl2.html#ScaleModeBest"><span class="Identifier">ScaleModeBest</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; anisotropic filtering</pre>
</dd>
<a id="TEXTUREACCESS_STATIC"></a>
<dt><pre><a href="sdl2.html#TEXTUREACCESS_STATIC"><span class="Identifier">TEXTUREACCESS_STATIC</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Changes rarely, not lockable</pre>
</dd>
<a id="TEXTUREACCESS_STREAMING"></a>
<dt><pre><a href="sdl2.html#TEXTUREACCESS_STREAMING"><span class="Identifier">TEXTUREACCESS_STREAMING</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Changes frequently, lockable</pre>
</dd>
<a id="TEXTUREACCESS_TARGET"></a>
<dt><pre><a href="sdl2.html#TEXTUREACCESS_TARGET"><span class="Identifier">TEXTUREACCESS_TARGET</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Texture can be used as a render target</pre>
</dd>
<a id="TEXTUREMODULATE_NONE"></a>
<dt><pre><a href="sdl2.html#TEXTUREMODULATE_NONE"><span class="Identifier">TEXTUREMODULATE_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; No modulation</pre>
</dd>
<a id="TEXTUREMODULATE_COLOR"></a>
<dt><pre><a href="sdl2.html#TEXTUREMODULATE_COLOR"><span class="Identifier">TEXTUREMODULATE_COLOR</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; srcC = srcC color</pre>
</dd>
<a id="TEXTUREMODULATE_ALPHA"></a>
<dt><pre><a href="sdl2.html#TEXTUREMODULATE_ALPHA"><span class="Identifier">TEXTUREMODULATE_ALPHA</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; srcA = srcA alpha</pre>
</dd>
<a id="FLIP_NONE"></a>
<dt><pre><a href="sdl2.html#FLIP_NONE"><span class="Identifier">FLIP_NONE</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>&lt; Do not flip</pre>
</dd>
<a id="FLIP_HORIZONTAL"></a>
<dt><pre><a href="sdl2.html#FLIP_HORIZONTAL"><span class="Identifier">FLIP_HORIZONTAL</span></a> <span class="Other">=</span> <span class="DecNumber">1'i32</span></pre></dt>
<dd>
<pre>&lt; flip horizontally</pre>
</dd>
<a id="FLIP_VERTICAL"></a>
<dt><pre><a href="sdl2.html#FLIP_VERTICAL"><span class="Identifier">FLIP_VERTICAL</span></a> <span class="Other">=</span> <span class="DecNumber">2'i32</span></pre></dt>
<dd>
<pre>&lt; flip vertically</pre>
</dd>
<a id="SENSOR_INVALID"></a>
<dt><pre><a href="sdl2.html#SENSOR_INVALID"><span class="Identifier">SENSOR_INVALID</span></a> <span class="Other">=</span> <span class="DecNumber">-1'i32</span></pre></dt>
<dd>
<pre>&lt; Returned for an invalid sensor</pre>
</dd>
<a id="SENSOR_UNKNOWN"></a>
<dt><pre><a href="sdl2.html#SENSOR_UNKNOWN"><span class="Identifier">SENSOR_UNKNOWN</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
<pre>&lt; Unknown sensor type</pre>
</dd>
<a id="SENSOR_ACCEL"></a>
<dt><pre><a href="sdl2.html#SENSOR_ACCEL"><span class="Identifier">SENSOR_ACCEL</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>&lt; Accelerometer</pre>
</dd>
<a id="SENSOR_GYRO"></a>
<dt><pre><a href="sdl2.html#SENSOR_GYRO"><span class="Identifier">SENSOR_GYRO</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>&lt; Gyroscope</pre>
</dd>
<a id="STANDARD_GRAVITY"></a>
<dt><pre><a href="sdl2.html#STANDARD_GRAVITY"><span class="Identifier">STANDARD_GRAVITY</span></a> <span class="Other">=</span> <span class="FloatNumber">9.806649999999999'f64</span></pre></dt>
<dd>
</dd>
<a id="NONSHAPEABLE_WINDOW"></a>
<dt><pre><a href="sdl2.html#NONSHAPEABLE_WINDOW"><span class="Identifier">NONSHAPEABLE_WINDOW</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
<dd>
</dd>
<a id="INVALID_SHAPE_ARGUMENT"></a>
<dt><pre><a href="sdl2.html#INVALID_SHAPE_ARGUMENT"><span class="Identifier">INVALID_SHAPE_ARGUMENT</span></a> <span class="Other">=</span> <span class="DecNumber">-2</span></pre></dt>
<dd>
</dd>
<a id="WINDOW_LACKS_SHAPE"></a>
<dt><pre><a href="sdl2.html#WINDOW_LACKS_SHAPE"><span class="Identifier">WINDOW_LACKS_SHAPE</span></a> <span class="Other">=</span> <span class="DecNumber">-3</span></pre></dt>
<dd>
</dd>
<a id="ShapeModeDefault"></a>
<dt><pre><a href="sdl2.html#ShapeModeDefault"><span class="Identifier">ShapeModeDefault</span></a> <span class="Other">=</span> <span class="DecNumber">0'i32</span></pre></dt>
<dd>
<pre>\brief A binarized alpha cutoff with a given integer value.</pre>
</dd>
<a id="ShapeModeBinarizeAlpha"></a>
<dt><pre><a href="sdl2.html#ShapeModeBinarizeAlpha"><span class="Identifier">ShapeModeBinarizeAlpha</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
<pre>\brief A binarized alpha cutoff with a given integer value, but with the opposite comparison.</pre>
</dd>
<a id="ShapeModeReverseBinarizeAlpha"></a>
<dt><pre><a href="sdl2.html#ShapeModeReverseBinarizeAlpha"><span class="Identifier">ShapeModeReverseBinarizeAlpha</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
<pre>\brief A color key is applied.</pre>
</dd>
<a id="ShapeModeColorKey"></a>
<dt><pre><a href="sdl2.html#ShapeModeColorKey"><span class="Identifier">ShapeModeColorKey</span></a> <span class="Other">=</span> <span class="DecNumber">3</span></pre></dt>
<dd>
</dd>
<a id="MAJOR_VERSION"></a>
<dt><pre><a href="sdl2.html#MAJOR_VERSION"><span class="Identifier">MAJOR_VERSION</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="MINOR_VERSION"></a>
<dt><pre><a href="sdl2.html#MINOR_VERSION"><span class="Identifier">MINOR_VERSION</span></a> <span class="Other">=</span> <span class="DecNumber">0</span></pre></dt>
<dd>
</dd>
<a id="PATCHLEVEL"></a>
<dt><pre><a href="sdl2.html#PATCHLEVEL"><span class="Identifier">PATCHLEVEL</span></a> <span class="Other">=</span> <span class="DecNumber">12</span></pre></dt>
<dd>
</dd>
<a id="INIT_TIMER"></a>
<dt><pre><a href="sdl2.html#INIT_TIMER"><span class="Identifier">INIT_TIMER</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000001'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_AUDIO"></a>
<dt><pre><a href="sdl2.html#INIT_AUDIO"><span class="Identifier">INIT_AUDIO</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000010'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_VIDEO"></a>
<dt><pre><a href="sdl2.html#INIT_VIDEO"><span class="Identifier">INIT_VIDEO</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000020'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_JOYSTICK"></a>
<dt><pre><a href="sdl2.html#INIT_JOYSTICK"><span class="Identifier">INIT_JOYSTICK</span></a> <span class="Other">=</span> <span class="DecNumber">0x00000200'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_HAPTIC"></a>
<dt><pre><a href="sdl2.html#INIT_HAPTIC"><span class="Identifier">INIT_HAPTIC</span></a> <span class="Other">=</span> <span class="DecNumber">0x00001000'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_GAMECONTROLLER"></a>
<dt><pre><a href="sdl2.html#INIT_GAMECONTROLLER"><span class="Identifier">INIT_GAMECONTROLLER</span></a> <span class="Other">=</span> <span class="DecNumber">0x00002000'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_EVENTS"></a>
<dt><pre><a href="sdl2.html#INIT_EVENTS"><span class="Identifier">INIT_EVENTS</span></a> <span class="Other">=</span> <span class="DecNumber">0x00004000'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_SENSOR"></a>
<dt><pre><a href="sdl2.html#INIT_SENSOR"><span class="Identifier">INIT_SENSOR</span></a> <span class="Other">=</span> <span class="DecNumber">0x00008000'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_NOPARACHUTE"></a>
<dt><pre><a href="sdl2.html#INIT_NOPARACHUTE"><span class="Identifier">INIT_NOPARACHUTE</span></a> <span class="Other">=</span> <span class="DecNumber">0x00100000'u</span></pre></dt>
<dd>
</dd>
<a id="INIT_EVERYTHING"></a>
<dt><pre><a href="sdl2.html#INIT_EVERYTHING"><span class="Identifier">INIT_EVERYTHING</span></a> <span class="Other">=</span> <span class="DecNumber">62001'u</span></pre></dt>
<dd>
</dd>
<a id="SDLDyLibPath"></a>
<dt><pre><a href="sdl2.html#SDLDyLibPath"><span class="Identifier">SDLDyLibPath</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2-2.0.dylib&quot;</span></pre></dt>
<dd>
</dd>
<a id="SDLMainLib"></a>
<dt><pre><a href="sdl2.html#SDLMainLib"><span class="Identifier">SDLMainLib</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2main.a&quot;</span></pre></dt>
<dd>
</dd>
<a id="SDLStaticLib"></a>
<dt><pre><a href="sdl2.html#SDLStaticLib"><span class="Identifier">SDLStaticLib</span></a> <span class="Other">=</span> <span class="StringLit">&quot;/Users/joey/Projects/nim-sdl2/src/build/sdl2/buildcache/libSDL2.a&quot;</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_UNDEFINED"></a>
<dt><pre><a href="sdl2.html#WINDOWPOS_UNDEFINED"><span class="Identifier">WINDOWPOS_UNDEFINED</span></a> <span class="Other">=</span> <span class="DecNumber">536805376'u</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_CENTERED"></a>
<dt><pre><a href="sdl2.html#WINDOWPOS_CENTERED"><span class="Identifier">WINDOWPOS_CENTERED</span></a> <span class="Other">=</span> <span class="DecNumber">805240832'u</span></pre></dt>
<dd>
</dd>
<a id="SCANCODE_MASK"></a>
<dt><pre><a href="sdl2.html#SCANCODE_MASK"><span class="Identifier">SCANCODE_MASK</span></a> <span class="Other">=</span> <span class="DecNumber">1073741824</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_LMASK"></a>
<dt><pre><a href="sdl2.html#BUTTON_LMASK"><span class="Identifier">BUTTON_LMASK</span></a> <span class="Other">=</span> <span class="DecNumber">1</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_MMASK"></a>
<dt><pre><a href="sdl2.html#BUTTON_MMASK"><span class="Identifier">BUTTON_MMASK</span></a> <span class="Other">=</span> <span class="DecNumber">2</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_RMASK"></a>
<dt><pre><a href="sdl2.html#BUTTON_RMASK"><span class="Identifier">BUTTON_RMASK</span></a> <span class="Other">=</span> <span class="DecNumber">4</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_X1MASK"></a>
<dt><pre><a href="sdl2.html#BUTTON_X1MASK"><span class="Identifier">BUTTON_X1MASK</span></a> <span class="Other">=</span> <span class="DecNumber">8</span></pre></dt>
<dd>
</dd>
<a id="BUTTON_X2MASK"></a>
<dt><pre><a href="sdl2.html#BUTTON_X2MASK"><span class="Identifier">BUTTON_X2MASK</span></a> <span class="Other">=</span> <span class="DecNumber">16</span></pre></dt>
<dd>
</dd>
</dl></div>
<div class="section" id="12">
<h1><a class="toc-backref" href="#12">Procs</a></h1>
<dl class="item">
<a id="getPlatform"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPlatform"><span class="Identifier">getPlatform</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPlatform&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief Gets the name of the platform.</pre>
</dd>
<a id="malloc,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#malloc%2Cuint"><span class="Identifier">malloc</span></a><span class="Other">(</span><span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_malloc&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="calloc,uint,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#calloc%2Cuint%2Cuint"><span class="Identifier">calloc</span></a><span class="Other">(</span><span class="Identifier">nmemb</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_calloc&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="realloc,pointer,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#realloc%2Cpointer%2Cuint"><span class="Identifier">realloc</span></a><span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_realloc&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="free,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#free%2Cpointer"><span class="Identifier">free</span></a><span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_free&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="getMemoryFunctions,ptr.malloc_func,ptr.calloc_func,ptr.realloc_func,ptr.free_func"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getMemoryFunctions%2Cptr.malloc_func%2Cptr.calloc_func%2Cptr.realloc_func%2Cptr.free_func"><span class="Identifier">getMemoryFunctions</span></a><span class="Other">(</span><span class="Identifier">mallocFunc</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#malloc_func"><span class="Identifier">malloc_func</span></a><span class="Other">;</span> <span class="Identifier">callocFunc</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#calloc_func"><span class="Identifier">calloc_func</span></a><span class="Other">;</span>
<span class="Identifier">reallocFunc</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#realloc_func"><span class="Identifier">realloc_func</span></a><span class="Other">;</span> <span class="Identifier">freeFunc</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#free_func"><span class="Identifier">free_func</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetMemoryFunctions&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current set of SDL memory functions</pre>
</dd>
<a id="setMemoryFunctions,malloc_func,calloc_func,realloc_func,free_func"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setMemoryFunctions%2Cmalloc_func%2Ccalloc_func%2Crealloc_func%2Cfree_func"><span class="Identifier">setMemoryFunctions</span></a><span class="Other">(</span><span class="Identifier">mallocFunc</span><span class="Other">:</span> <a href="sdl2.html#malloc_func"><span class="Identifier">malloc_func</span></a><span class="Other">;</span> <span class="Identifier">callocFunc</span><span class="Other">:</span> <a href="sdl2.html#calloc_func"><span class="Identifier">calloc_func</span></a><span class="Other">;</span>
<span class="Identifier">reallocFunc</span><span class="Other">:</span> <a href="sdl2.html#realloc_func"><span class="Identifier">realloc_func</span></a><span class="Other">;</span> <span class="Identifier">freeFunc</span><span class="Other">:</span> <a href="sdl2.html#free_func"><span class="Identifier">free_func</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetMemoryFunctions&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Replace SDL's memory allocation functions with a custom set
\note If you are replacing SDL's memory functions, you should call
SDL_GetNumAllocations() and be very careful if it returns non-zero.
That means that your free function will be called with memory
allocated by the previous memory allocation functions.</pre>
</dd>
<a id="getNumAllocations"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumAllocations"><span class="Identifier">getNumAllocations</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumAllocations&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the number of outstanding (unfreed) allocations</pre>
</dd>
<a id="getenv,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getenv%2Ccstring"><span class="Identifier">getenv</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_getenv&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="setenv,cstring,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setenv%2Ccstring%2Ccstring%2Ccint"><span class="Identifier">setenv</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">overwrite</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_setenv&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="qsort,pointer,uint,uint,proc(pointer,pointer)"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#qsort%2Cpointer%2Cuint%2Cuint%2Cproc%28pointer%2Cpointer%29"><span class="Identifier">qsort</span></a><span class="Other">(</span><span class="Identifier">base</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">nmemb</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span>
<span class="Identifier">compare</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">a1</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">a2</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_qsort&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="abs,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#abs%2Ccint"><span class="Identifier">abs</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_abs&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="isdigit,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isdigit%2Ccint"><span class="Identifier">isdigit</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_isdigit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="isspace,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isspace%2Ccint"><span class="Identifier">isspace</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_isspace&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="isupper,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isupper%2Ccint"><span class="Identifier">isupper</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_isupper&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="islower,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#islower%2Ccint"><span class="Identifier">islower</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_islower&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="toupper,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#toupper%2Ccint"><span class="Identifier">toupper</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_toupper&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="tolower,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tolower%2Ccint"><span class="Identifier">tolower</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_tolower&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="memset,pointer,cint,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memset%2Cpointer%2Ccint%2Cuint"><span class="Identifier">memset</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_memset&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="memcpy,pointer,pointer,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memcpy%2Cpointer%2Cpointer%2Cuint"><span class="Identifier">memcpy</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_memcpy&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="memmove,pointer,pointer,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memmove%2Cpointer%2Cpointer%2Cuint"><span class="Identifier">memmove</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_memmove&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="memcmp,pointer,pointer,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memcmp%2Cpointer%2Cpointer%2Cuint"><span class="Identifier">memcmp</span></a><span class="Other">(</span><span class="Identifier">s1</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">s2</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_memcmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcslen,ptr.wchar_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcslen%2Cptr.wchar_t"><span class="Identifier">wcslen</span></a><span class="Other">(</span><span class="Identifier">wstr</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcslen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcslcpy,ptr.wchar_t,ptr.wchar_t,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcslcpy%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"><span class="Identifier">wcslcpy</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcslcpy&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcslcat,ptr.wchar_t,ptr.wchar_t,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcslcat%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"><span class="Identifier">wcslcat</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcslcat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcsdup,ptr.wchar_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcsdup%2Cptr.wchar_t"><span class="Identifier">wcsdup</span></a><span class="Other">(</span><span class="Identifier">wstr</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcsdup&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcsstr,ptr.wchar_t,ptr.wchar_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcsstr%2Cptr.wchar_t%2Cptr.wchar_t"><span class="Identifier">wcsstr</span></a><span class="Other">(</span><span class="Identifier">haystack</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">needle</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcsstr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcscmp,ptr.wchar_t,ptr.wchar_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcscmp%2Cptr.wchar_t%2Cptr.wchar_t"><span class="Identifier">wcscmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcscmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="wcsncmp,ptr.wchar_t,ptr.wchar_t,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wcsncmp%2Cptr.wchar_t%2Cptr.wchar_t%2Cuint"><span class="Identifier">wcsncmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">wchar_t</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_wcsncmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strlen,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strlen%2Ccstring"><span class="Identifier">strlen</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strlen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strlcpy,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strlcpy%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">strlcpy</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strlcpy&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="utf8strlcpy,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#utf8strlcpy%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">utf8strlcpy</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">dstBytes</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_utf8strlcpy&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strlcat,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strlcat%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">strlcat</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strlcat&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strdup,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strdup%2Ccstring"><span class="Identifier">strdup</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strdup&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strrev,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strrev%2Ccstring"><span class="Identifier">strrev</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strrev&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strupr,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strupr%2Ccstring"><span class="Identifier">strupr</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strupr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strlwr,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strlwr%2Ccstring"><span class="Identifier">strlwr</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strlwr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strchr,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strchr%2Ccstring%2Ccint"><span class="Identifier">strchr</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strchr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strrchr,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strrchr%2Ccstring%2Ccint"><span class="Identifier">strrchr</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">c</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strrchr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strstr,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strstr%2Ccstring%2Ccstring"><span class="Identifier">strstr</span></a><span class="Other">(</span><span class="Identifier">haystack</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">needle</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strstr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtokr,cstring,cstring,ptr.cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtokr%2Ccstring%2Ccstring%2Cptr.cstring"><span class="Identifier">strtokr</span></a><span class="Other">(</span><span class="Identifier">s1</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">s2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">saveptr</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtokr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="utf8strlen,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#utf8strlen%2Ccstring"><span class="Identifier">utf8strlen</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_utf8strlen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="itoa,cint,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#itoa%2Ccint%2Ccstring%2Ccint"><span class="Identifier">itoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_itoa&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="uitoa,cuint,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#uitoa%2Ccuint%2Ccstring%2Ccint"><span class="Identifier">uitoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cuint</span><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_uitoa&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="ltoa,clong,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ltoa%2Cclong%2Ccstring%2Ccint"><span class="Identifier">ltoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">clong</span><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ltoa&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="ultoa,culong,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ultoa%2Cculong%2Ccstring%2Ccint"><span class="Identifier">ultoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">culong</span><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ultoa&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="lltoa,Sint64,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lltoa%2CSint64%2Ccstring%2Ccint"><span class="Identifier">lltoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_lltoa&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="ulltoa,Uint64,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ulltoa%2CUint64%2Ccstring%2Ccint"><span class="Identifier">ulltoa</span></a><span class="Other">(</span><span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a><span class="Other">;</span> <span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">radix</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ulltoa&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atoi,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atoi%2Ccstring"><span class="Identifier">atoi</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atoi&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atof,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atof%2Ccstring"><span class="Identifier">atof</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atof&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtol,cstring,ptr.cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtol%2Ccstring%2Cptr.cstring%2Ccint"><span class="Identifier">strtol</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">endp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">base</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">clong</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtol&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtoul,cstring,ptr.cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtoul%2Ccstring%2Cptr.cstring%2Ccint"><span class="Identifier">strtoul</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">endp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">base</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">culong</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtoul&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtoll,cstring,ptr.cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtoll%2Ccstring%2Cptr.cstring%2Ccint"><span class="Identifier">strtoll</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">endp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">base</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtoll&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtoull,cstring,ptr.cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtoull%2Ccstring%2Cptr.cstring%2Ccint"><span class="Identifier">strtoull</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">endp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">base</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtoull&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strtod,cstring,ptr.cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strtod%2Ccstring%2Cptr.cstring"><span class="Identifier">strtod</span></a><span class="Other">(</span><span class="Identifier">str</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">endp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strtod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strcmp,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strcmp%2Ccstring%2Ccstring"><span class="Identifier">strcmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strcmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strncmp,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strncmp%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">strncmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strncmp&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strcasecmp,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strcasecmp%2Ccstring%2Ccstring"><span class="Identifier">strcasecmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strcasecmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="strncasecmp,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strncasecmp%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">strncasecmp</span></a><span class="Other">(</span><span class="Identifier">str1</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">str2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_strncasecmp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="sscanf,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sscanf%2Ccstring%2Ccstring"><span class="Identifier">sscanf</span></a><span class="Other">(</span><span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_sscanf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="vsscanf,cstring,cstring,va_list"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#vsscanf%2Ccstring%2Ccstring%2Cva_list"><span class="Identifier">vsscanf</span></a><span class="Other">(</span><span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">ap</span><span class="Other">:</span> <span class="Identifier">va_list</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_vsscanf&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="snprintf,cstring,uint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#snprintf%2Ccstring%2Cuint%2Ccstring"><span class="Identifier">snprintf</span></a><span class="Other">(</span><span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_snprintf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="vsnprintf,cstring,uint,cstring,va_list"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#vsnprintf%2Ccstring%2Cuint%2Ccstring%2Cva_list"><span class="Identifier">vsnprintf</span></a><span class="Other">(</span><span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">maxlen</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">ap</span><span class="Other">:</span> <span class="Identifier">va_list</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_vsnprintf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="acos,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#acos%2Ccdouble"><span class="Identifier">acos</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_acos&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="acosf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#acosf%2Ccfloat"><span class="Identifier">acosf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_acosf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="asin,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#asin%2Ccdouble"><span class="Identifier">asin</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_asin&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="asinf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#asinf%2Ccfloat"><span class="Identifier">asinf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_asinf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atan,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atan%2Ccdouble"><span class="Identifier">atan</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atan&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atanf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atanf%2Ccfloat"><span class="Identifier">atanf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atanf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atan2,cdouble,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atan2%2Ccdouble%2Ccdouble"><span class="Identifier">atan2</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atan2&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atan2f,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atan2f%2Ccfloat%2Ccfloat"><span class="Identifier">atan2f</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_atan2f&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="ceil,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ceil%2Ccdouble"><span class="Identifier">ceil</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ceil&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="ceilf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ceilf%2Ccfloat"><span class="Identifier">ceilf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ceilf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="copysign,cdouble,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#copysign%2Ccdouble%2Ccdouble"><span class="Identifier">copysign</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_copysign&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="copysignf,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#copysignf%2Ccfloat%2Ccfloat"><span class="Identifier">copysignf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_copysignf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="cos,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#cos%2Ccdouble"><span class="Identifier">cos</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_cos&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="cosf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#cosf%2Ccfloat"><span class="Identifier">cosf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_cosf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="exp,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#exp%2Ccdouble"><span class="Identifier">exp</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_exp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="expf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#expf%2Ccfloat"><span class="Identifier">expf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_expf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="fabs,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fabs%2Ccdouble"><span class="Identifier">fabs</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_fabs&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="fabsf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fabsf%2Ccfloat"><span class="Identifier">fabsf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_fabsf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="floor,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#floor%2Ccdouble"><span class="Identifier">floor</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_floor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="floorf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#floorf%2Ccfloat"><span class="Identifier">floorf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_floorf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="fmod,cdouble,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fmod%2Ccdouble%2Ccdouble"><span class="Identifier">fmod</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_fmod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="fmodf,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fmodf%2Ccfloat%2Ccfloat"><span class="Identifier">fmodf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_fmodf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="log,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#log%2Ccdouble"><span class="Identifier">log</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_log&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="logf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logf%2Ccfloat"><span class="Identifier">logf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_logf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="log10,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#log10%2Ccdouble"><span class="Identifier">log10</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_log10&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="log10f,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#log10f%2Ccfloat"><span class="Identifier">log10f</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_log10f&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="pow,cdouble,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pow%2Ccdouble%2Ccdouble"><span class="Identifier">pow</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_pow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="powf,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#powf%2Ccfloat%2Ccfloat"><span class="Identifier">powf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_powf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="scalbn,cdouble,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#scalbn%2Ccdouble%2Ccint"><span class="Identifier">scalbn</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_scalbn&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="scalbnf,cfloat,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#scalbnf%2Ccfloat%2Ccint"><span class="Identifier">scalbnf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_scalbnf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="sin,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sin%2Ccdouble"><span class="Identifier">sin</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_sin&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="sinf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sinf%2Ccfloat"><span class="Identifier">sinf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_sinf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="sqrt,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sqrt%2Ccdouble"><span class="Identifier">sqrt</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_sqrt&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="sqrtf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sqrtf%2Ccfloat"><span class="Identifier">sqrtf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_sqrtf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="tan,cdouble"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tan%2Ccdouble"><span class="Identifier">tan</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cdouble</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_tan&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="tanf,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tanf%2Ccfloat"><span class="Identifier">tanf</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_tanf&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="iconv_open,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#iconv_open%2Ccstring%2Ccstring"><span class="Identifier">iconv_open</span></a><span class="Other">(</span><span class="Identifier">tocode</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">fromcode</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#iconv_t"><span class="Identifier">iconv_t</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_iconv_open&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="iconv_close,iconv_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#iconv_close%2Ciconv_t"><span class="Identifier">iconv_close</span></a><span class="Other">(</span><span class="Identifier">cd</span><span class="Other">:</span> <a href="sdl2.html#iconv_t"><span class="Identifier">iconv_t</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_iconv_close&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="iconv,iconv_t,ptr.cstring,ptr.uint,ptr.cstring,ptr.uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#iconv%2Ciconv_t%2Cptr.cstring%2Cptr.uint%2Cptr.cstring%2Cptr.uint"><span class="Identifier">iconv</span></a><span class="Other">(</span><span class="Identifier">cd</span><span class="Other">:</span> <a href="sdl2.html#iconv_t"><span class="Identifier">iconv_t</span></a><span class="Other">;</span> <span class="Identifier">inbuf</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">inbytesleft</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">outbuf</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cstring</span><span class="Other">;</span>
<span class="Identifier">outbytesleft</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_iconv&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="iconv_string,cstring,cstring,cstring,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#iconv_string%2Ccstring%2Ccstring%2Ccstring%2Cuint"><span class="Identifier">iconv_string</span></a><span class="Other">(</span><span class="Identifier">tocode</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">fromcode</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">inbuf</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">inbytesleft</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_iconv_string&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function converts a string between encodings in one pass, returning a
string that must be freed with SDL_free() or NULL on error.</pre>
</dd>
<a id="main,cint,UncheckedArray[cstring]"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#main%2Ccint%2CUncheckedArray%5Bcstring%5D"><span class="Identifier">main</span></a><span class="Other">(</span><span class="Identifier">argc</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">argv</span><span class="Other">:</span> <span class="Identifier">UncheckedArray</span><span class="Other">[</span><span class="Identifier">cstring</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_main&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="setMainReady"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setMainReady"><span class="Identifier">setMainReady</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetMainReady&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This is called by the real SDL main function to let the rest of the
library know that initialization was done properly.
Calling this yourself without knowing what you're doing can cause
crashes and hard to diagnose problems with your application.</pre>
</dd>
<a id="reportAssertion,ptr.AssertData,cstring,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#reportAssertion%2Cptr.AssertData%2Ccstring%2Ccstring%2Ccint"><span class="Identifier">reportAssertion</span></a><span class="Other">(</span><span class="Identifier">a1</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AssertData"><span class="Identifier">AssertData</span></a><span class="Other">;</span> <span class="Identifier">a2</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">a3</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">a4</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AssertState"><span class="Identifier">AssertState</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReportAssertion&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Never call this directly. Use the SDL_assert macros.</pre>
</dd>
<a id="setAssertionHandler,AssertionHandler,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setAssertionHandler%2CAssertionHandler%2Cpointer"><span class="Identifier">setAssertionHandler</span></a><span class="Other">(</span><span class="Identifier">handler</span><span class="Other">:</span> <a href="sdl2.html#AssertionHandler"><span class="Identifier">AssertionHandler</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetAssertionHandler&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an application-defined assertion handler.
This allows an app to show its own assertion UI and/or force the
response to an assertion failure. If the app doesn't provide this, SDL
will try to do the right thing, popping up a system-specific GUI dialog,
and probably minimizing any fullscreen windows.
This callback may fire from any thread, but it runs wrapped in a mutex, so
it will only fire from one thread at a time.
Setting the callback to NULL restores SDL's original internal handler.
This callback is NOT reset to SDL's internal handler upon SDL_Quit()!
Return SDL_AssertState value of how to handle the assertion failure.
\param handler Callback function, called when an assertion fails.
\param userdata A pointer passed to the callback as-is.</pre>
</dd>
<a id="getDefaultAssertionHandler"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDefaultAssertionHandler"><span class="Identifier">getDefaultAssertionHandler</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AssertionHandler"><span class="Identifier">AssertionHandler</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDefaultAssertionHandler&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the default assertion handler.
This returns the function pointer that is called by default when an
assertion is triggered. This is an internal function provided by SDL,
that is used for assertions when SDL_SetAssertionHandler() hasn't been
used to provide a different function.
\return The default SDL_AssertionHandler that is called when an assert triggers.</pre>
</dd>
<a id="getAssertionHandler,ptr.pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAssertionHandler%2Cptr.pointer"><span class="Identifier">getAssertionHandler</span></a><span class="Other">(</span><span class="Identifier">puserdata</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AssertionHandler"><span class="Identifier">AssertionHandler</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAssertionHandler&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current assertion handler.
This returns the function pointer that is called when an assertion is
triggered. This is either the value last passed to
SDL_SetAssertionHandler(), or if no application-specified function is
set, is equivalent to calling SDL_GetDefaultAssertionHandler().
\param puserdata Pointer to a void, which will store the &quot;userdata&quot;
pointer that was passed to SDL_SetAssertionHandler().
This value will always be NULL for the default handler.
If you don't care about this data, it is safe to pass
a NULL pointer to this function to ignore it.
\return The SDL_AssertionHandler that is called when an assert triggers.</pre>
</dd>
<a id="getAssertionReport"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAssertionReport"><span class="Identifier">getAssertionReport</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AssertData"><span class="Identifier">AssertData</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAssertionReport&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a list of all assertion failures.
Get all assertions triggered since last call to SDL_ResetAssertionReport(),
or the start of the program.
The proper way to examine this data looks something like this:
&lt;code&gt;
const SDL_AssertDataitem = SDL_GetAssertionReport();
while (item) {
printf(&quot;'%s', %s (%s:%d), triggered %u times, always ignore: %s.\\n&quot;,
item-&gt;condition, item-&gt;function, item-&gt;filename,
item-&gt;linenum, item-&gt;trigger_count,
item-&gt;always_ignore ? &quot;yes&quot; : &quot;no&quot;);
item = item-&gt;next;
}
&lt;/code&gt;
\return List of all assertions.
\sa SDL_ResetAssertionReport</pre>
</dd>
<a id="resetAssertionReport"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#resetAssertionReport"><span class="Identifier">resetAssertionReport</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ResetAssertionReport&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Reset the list of all assertion failures.
Reset list of all assertions triggered.
\sa SDL_GetAssertionReport</pre>
</dd>
<a id="atomicTryLock,ptr.SpinLock"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicTryLock%2Cptr.SpinLock"><span class="Identifier">atomicTryLock</span></a><span class="Other">(</span><span class="Identifier">lock</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#SpinLock"><span class="Identifier">SpinLock</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicTryLock&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Try to lock a spin lock by setting it to a non-zero value.
\param lock Points to the lock.
\return SDL_TRUE if the lock succeeded, SDL_FALSE if the lock is already held.</pre>
</dd>
<a id="atomicLock,ptr.SpinLock"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicLock%2Cptr.SpinLock"><span class="Identifier">atomicLock</span></a><span class="Other">(</span><span class="Identifier">lock</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#SpinLock"><span class="Identifier">SpinLock</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicLock&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Lock a spin lock by setting it to a non-zero value.
\param lock Points to the lock.</pre>
</dd>
<a id="atomicUnlock,ptr.SpinLock"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicUnlock%2Cptr.SpinLock"><span class="Identifier">atomicUnlock</span></a><span class="Other">(</span><span class="Identifier">lock</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#SpinLock"><span class="Identifier">SpinLock</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicUnlock&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Unlock a spin lock by setting it to 0. Always returns immediately
\param lock Points to the lock.</pre>
</dd>
<a id="memoryBarrierReleaseFunction"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memoryBarrierReleaseFunction"><span class="Identifier">memoryBarrierReleaseFunction</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MemoryBarrierReleaseFunction&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Memory barriers are designed to prevent reads and writes from being
reordered by the compiler and being seen out of order on multi-core CPUs.
A typical pattern would be for thread A to write some data and a flag,
and for thread B to read the flag and get the data. In this case you
would insert a release barrier between writing the data and the flag,
guaranteeing that the data write completes no later than the flag is
written, and you would insert an acquire barrier between reading the
flag and reading the data, to ensure that all the reads associated
with the flag have completed.
In this pattern you should always see a release barrier paired with
an acquire barrier and you should gate the data reads/writes with a
single flag variable.
For more information on these semantics, take a look at the blog post:
http:preshing.com/20120913/acquire-and-release-semantics</pre>
</dd>
<a id="memoryBarrierAcquireFunction"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#memoryBarrierAcquireFunction"><span class="Identifier">memoryBarrierAcquireFunction</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MemoryBarrierAcquireFunction&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="atomicCAS,ptr.atomic_t,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicCAS%2Cptr.atomic_t%2Ccint%2Ccint"><span class="Identifier">atomicCAS</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#atomic_t"><span class="Identifier">atomic_t</span></a><span class="Other">;</span> <span class="Identifier">oldval</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">newval</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicCAS&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an atomic variable to a new value if it is currently an old value.
\return SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise.
\note If you don't know what this function is for, you shouldn't use it!</pre>
</dd>
<a id="atomicSet,ptr.atomic_t,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicSet%2Cptr.atomic_t%2Ccint"><span class="Identifier">atomicSet</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#atomic_t"><span class="Identifier">atomic_t</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicSet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an atomic variable to a value.
\return The previous value of the atomic variable.</pre>
</dd>
<a id="atomicGet,ptr.atomic_t"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicGet%2Cptr.atomic_t"><span class="Identifier">atomicGet</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#atomic_t"><span class="Identifier">atomic_t</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicGet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the value of an atomic variable</pre>
</dd>
<a id="atomicAdd,ptr.atomic_t,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicAdd%2Cptr.atomic_t%2Ccint"><span class="Identifier">atomicAdd</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#atomic_t"><span class="Identifier">atomic_t</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicAdd&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Add to an atomic variable.
\return The previous value of the atomic variable.
\note This same style can be used for any number operation</pre>
</dd>
<a id="atomicCASPtr,ptr.pointer,pointer,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicCASPtr%2Cptr.pointer%2Cpointer%2Cpointer"><span class="Identifier">atomicCASPtr</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">oldval</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">newval</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicCASPtr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a pointer to a new value if it is currently an old value.
\return SDL_TRUE if the pointer was set, SDL_FALSE otherwise.
\note If you don't know what this function is for, you shouldn't use it!</pre>
</dd>
<a id="atomicSetPtr,ptr.pointer,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicSetPtr%2Cptr.pointer%2Cpointer"><span class="Identifier">atomicSetPtr</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicSetPtr&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a pointer to a value atomically.
\return The previous value of the pointer.</pre>
</dd>
<a id="atomicGetPtr,ptr.pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#atomicGetPtr%2Cptr.pointer"><span class="Identifier">atomicGetPtr</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AtomicGetPtr&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the value of a pointer atomically.</pre>
</dd>
<a id="setError,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setError%2Ccstring"><span class="Identifier">setError</span></a><span class="Other">(</span><span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetError&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
Public functions
SDL_SetError() unconditionally returns -1.</pre>
</dd>
<a id="getError"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getError"><span class="Identifier">getError</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetError&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="clearError"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#clearError"><span class="Identifier">clearError</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ClearError&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="error,errorcode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#error%2Cerrorcode"><span class="Identifier">error</span></a><span class="Other">(</span><span class="Identifier">code</span><span class="Other">:</span> <a href="sdl2.html#errorcode"><span class="Identifier">errorcode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Error&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>SDL_Error() unconditionally returns -1.</pre>
</dd>
<a id="createMutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createMutex"><span class="Identifier">createMutex</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateMutex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a mutex, initialized unlocked.</pre>
</dd>
<a id="lockMutex,ptr.mutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockMutex%2Cptr.mutex"><span class="Identifier">lockMutex</span></a><span class="Other">(</span><span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockMutex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="tryLockMutex,ptr.mutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tryLockMutex%2Cptr.mutex"><span class="Identifier">tryLockMutex</span></a><span class="Other">(</span><span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_TryLockMutex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Try to lock the mutex
\return 0, SDL_MUTEX_TIMEDOUT, or -1 on error</pre>
</dd>
<a id="unlockMutex,ptr.mutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockMutex%2Cptr.mutex"><span class="Identifier">unlockMutex</span></a><span class="Other">(</span><span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockMutex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="destroyMutex,ptr.mutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroyMutex%2Cptr.mutex"><span class="Identifier">destroyMutex</span></a><span class="Other">(</span><span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroyMutex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Destroy a mutex.</pre>
</dd>
<a id="createSemaphore,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createSemaphore%2CUint32"><span class="Identifier">createSemaphore</span></a><span class="Other">(</span><span class="Identifier">initialValue</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateSemaphore&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a semaphore, initialized with value, returns NULL on failure.</pre>
</dd>
<a id="destroySemaphore,ptr.semaphore"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroySemaphore%2Cptr.semaphore"><span class="Identifier">destroySemaphore</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroySemaphore&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Destroy a semaphore.</pre>
</dd>
<a id="semWait,ptr.semaphore"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#semWait%2Cptr.semaphore"><span class="Identifier">semWait</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SemWait&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function suspends the calling thread until the semaphore pointed
to by \c sem has a positive count. It then atomically decreases the
semaphore count.</pre>
</dd>
<a id="semTryWait,ptr.semaphore"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#semTryWait%2Cptr.semaphore"><span class="Identifier">semTryWait</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SemTryWait&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Non-blocking variant of SDL_SemWait().
\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait would
block, and -1 on error.</pre>
</dd>
<a id="semWaitTimeout,ptr.semaphore,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#semWaitTimeout%2Cptr.semaphore%2CUint32"><span class="Identifier">semWaitTimeout</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">;</span> <span class="Identifier">ms</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SemWaitTimeout&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Variant of SDL_SemWait() with a timeout in milliseconds.
\return 0 if the wait succeeds, ::SDL_MUTEX_TIMEDOUT if the wait does not
succeed in the allotted time, and -1 on error.
\warning On some platforms this function is implemented by looping with a
delay of 1 ms, and so should be avoided if possible.</pre>
</dd>
<a id="semPost,ptr.semaphore"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#semPost%2Cptr.semaphore"><span class="Identifier">semPost</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SemPost&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Atomically increases the semaphore's count (not blocking).
\return 0, or -1 on error.</pre>
</dd>
<a id="semValue,ptr.semaphore"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#semValue%2Cptr.semaphore"><span class="Identifier">semValue</span></a><span class="Other">(</span><span class="Identifier">sem</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#sem"><span class="Identifier">sem</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SemValue&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Returns the current count of the semaphore.</pre>
</dd>
<a id="createCond"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createCond"><span class="Identifier">createCond</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateCond&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a condition variable.
Typical use of condition variables:
Thread A:
SDL_LockMutex(lock);
while ( ! condition ) {
SDL_CondWait(cond, lock);
}
SDL_UnlockMutex(lock);
Thread B:
SDL_LockMutex(lock);
...
condition = true;
...
SDL_CondSignal(cond);
SDL_UnlockMutex(lock);
There is some discussion whether to signal the condition variable
with the mutex locked or not. There is some potential performance
benefit to unlocking first on some platforms, but there are some
potential race conditions depending on how your code is structured.
In general it's safer to signal the condition variable while the
mutex is locked.</pre>
</dd>
<a id="destroyCond,ptr.cond"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroyCond%2Cptr.cond"><span class="Identifier">destroyCond</span></a><span class="Other">(</span><span class="Identifier">cond</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroyCond&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Destroy a condition variable.</pre>
</dd>
<a id="condSignal,ptr.cond"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#condSignal%2Cptr.cond"><span class="Identifier">condSignal</span></a><span class="Other">(</span><span class="Identifier">cond</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CondSignal&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Restart one of the threads that are waiting on the condition variable.
\return 0 or -1 on error.</pre>
</dd>
<a id="condBroadcast,ptr.cond"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#condBroadcast%2Cptr.cond"><span class="Identifier">condBroadcast</span></a><span class="Other">(</span><span class="Identifier">cond</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CondBroadcast&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Restart all threads that are waiting on the condition variable.
\return 0 or -1 on error.</pre>
</dd>
<a id="condWait,ptr.cond,ptr.mutex"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#condWait%2Cptr.cond%2Cptr.mutex"><span class="Identifier">condWait</span></a><span class="Other">(</span><span class="Identifier">cond</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a><span class="Other">;</span> <span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CondWait&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Wait on the condition variable, unlocking the provided mutex.
\warning The mutex must be locked before entering this function!
The mutex is re-locked once the condition variable is signaled.
\return 0 when it is signaled, or -1 on error.</pre>
</dd>
<a id="condWaitTimeout,ptr.cond,ptr.mutex,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#condWaitTimeout%2Cptr.cond%2Cptr.mutex%2CUint32"><span class="Identifier">condWaitTimeout</span></a><span class="Other">(</span><span class="Identifier">cond</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#cond"><span class="Identifier">cond</span></a><span class="Other">;</span> <span class="Identifier">mutex</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#mutex"><span class="Identifier">mutex</span></a><span class="Other">;</span> <span class="Identifier">ms</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CondWaitTimeout&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Waits for at most \c ms milliseconds, and returns 0 if the condition
variable is signaled, ::SDL_MUTEX_TIMEDOUT if the condition is not
signaled in the allotted time, and -1 on error.
\warning On some platforms this function is implemented by looping with a
delay of 1 ms, and so should be avoided if possible.</pre>
</dd>
<a id="createThread,ThreadFunction,cstring,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createThread%2CThreadFunction%2Ccstring%2Cpointer"><span class="Identifier">createThread</span></a><span class="Other">(</span><span class="Identifier">fn</span><span class="Other">:</span> <a href="sdl2.html#ThreadFunction"><span class="Identifier">ThreadFunction</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateThread&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a thread with a default stack size.
This is equivalent to calling:
SDL_CreateThreadWithStackSize(fn, name, 0, data);</pre>
</dd>
<a id="createThreadWithStackSize,ThreadFunction,cstring,uint,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createThreadWithStackSize%2CThreadFunction%2Ccstring%2Cuint%2Cpointer"><span class="Identifier">createThreadWithStackSize</span></a><span class="Other">(</span><span class="Identifier">fn</span><span class="Other">:</span> <a href="sdl2.html#ThreadFunction"><span class="Identifier">ThreadFunction</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">stacksize</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span>
<span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateThreadWithStackSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a thread.
Thread naming is a little complicated: Most systems have very small
limits for the string length (Haiku has 32 bytes, Linux currently has 16,
Visual C++ 6.0 has nine!), and possibly other arbitrary rules. You'll
have to see what happens with your system's debugger. The name should be
UTF-8 (but using the naming limits of C identifiers is a better bet).
There are no requirements for thread naming conventions, so long as the
string is null-terminated UTF-8, but these guidelines are helpful in
choosing a name:
http:stackoverflow.com/questions/149932/naming-conventions-for-threads
If a system imposes requirements, SDL will try to munge the string for
it (truncate, etc), but the original string contents will be available
from SDL_GetThreadName().
The size (in bytes) of the new stack can be specified. Zero means &quot;use
the system default&quot; which might be wildly different between platforms
(x86 Linux generally defaults to eight megabytes, an embedded device
might be a few kilobytes instead).
In SDL 2.1, stacksize will be folded into the original SDL_CreateThread
function.</pre>
</dd>
<a id="getThreadName,ptr.Thread"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getThreadName%2Cptr.Thread"><span class="Identifier">getThreadName</span></a><span class="Other">(</span><span class="Identifier">thread</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetThreadName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the thread name, as it was specified in SDL_CreateThread().
This function returns a pointer to a UTF-8 string that names the
specified thread, or NULL if it doesn't have a name. This is internal
memory, not to be free()'d by the caller, and remains valid until the
specified thread is cleaned up by SDL_WaitThread().</pre>
</dd>
<a id="getThreadID,ptr.Thread"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getThreadID%2Cptr.Thread"><span class="Identifier">getThreadID</span></a><span class="Other">(</span><span class="Identifier">thread</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#threadID"><span class="Identifier">threadID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetThreadID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the thread identifier for the specified thread.
Equivalent to SDL_ThreadID() if the specified thread is NULL.</pre>
</dd>
<a id="setThreadPriority,ThreadPriority"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setThreadPriority%2CThreadPriority"><span class="Identifier">setThreadPriority</span></a><span class="Other">(</span><span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#ThreadPriority"><span class="Identifier">ThreadPriority</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetThreadPriority&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Set the priority for the current thread</pre>
</dd>
<a id="waitThread,ptr.Thread,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#waitThread%2Cptr.Thread%2Cptr.cint"><span class="Identifier">waitThread</span></a><span class="Other">(</span><span class="Identifier">thread</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a><span class="Other">;</span> <span class="Identifier">status</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WaitThread&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Wait for a thread to finish. Threads that haven't been detached will
remain (as a &quot;zombie&quot;) until this function cleans them up. Not doing so
is a resource leak.
Once a thread has been cleaned up through this function, the SDL_Thread
that references it becomes invalid and should not be referenced again.
As such, only one thread may call SDL_WaitThread() on another.
The return code for the thread function is placed in the area
pointed to by \c status, if \c status is not NULL.
You may not wait on a thread that has been used in a call to
SDL_DetachThread(). Use either that function or this one, but not
both, or behavior is undefined.
It is safe to pass NULL to this function; it is a no-op.</pre>
</dd>
<a id="detachThread,ptr.Thread"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#detachThread%2Cptr.Thread"><span class="Identifier">detachThread</span></a><span class="Other">(</span><span class="Identifier">thread</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Thread"><span class="Identifier">Thread</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DetachThread&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>A thread may be &quot;detached&quot; to signify that it should not remain until
another thread has called SDL_WaitThread() on it. Detaching a thread
is useful for long-running threads that nothing needs to synchronize
with or further manage. When a detached thread is done, it simply
goes away.
There is no way to recover the return code of a detached thread. If you
need this, don't detach the thread and instead use SDL_WaitThread().
Once a thread is detached, you should usually assume the SDL_Thread isn't
safe to reference again, as it will become invalid immediately upon
the detached thread's exit, instead of remaining until someone has called
SDL_WaitThread() to finally clean it up. As such, don't detach the same
thread more than once.
If a thread has already exited when passed to SDL_DetachThread(), it will
stop waiting for a call to SDL_WaitThread() and clean up immediately.
It is not safe to detach a thread that might be used with SDL_WaitThread().
You may not call SDL_WaitThread() on a thread that has been detached.
Use either that function or this one, but not both, or behavior is
undefined.
It is safe to pass NULL to this function; it is a no-op.</pre>
</dd>
<a id="tLSCreate"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tLSCreate"><span class="Identifier">tLSCreate</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#TLSID"><span class="Identifier">TLSID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_TLSCreate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create an identifier that is globally visible to all threads but refers to data that is thread-specific.
\return The newly created thread local storage identifier, or 0 on error
\code
static SDL_SpinLock tls_lock;
static SDL_TLSID thread_local_storage;
void SetMyThreadData(voidvalue)
{
if (!thread_local_storage) {
SDL_AtomicLock(&amp;tls_lock);
if (!thread_local_storage) {
thread_local_storage = SDL_TLSCreate();
}
SDL_AtomicUnlock(&amp;tls_lock);
}
SDL_TLSSet(thread_local_storage, value, 0);
}
voidGetMyThreadData(void)
{
return SDL_TLSGet(thread_local_storage);
}
\endcode
\sa SDL_TLSGet()
\sa SDL_TLSSet()</pre>
</dd>
<a id="tLSGet,TLSID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tLSGet%2CTLSID"><span class="Identifier">tLSGet</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="sdl2.html#TLSID"><span class="Identifier">TLSID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_TLSGet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the value associated with a thread local storage ID for the current thread.
\param id The thread local storage ID
\return The value associated with the ID for the current thread, or NULL if no value has been set.
\sa SDL_TLSCreate()
\sa SDL_TLSSet()</pre>
</dd>
<a id="tLSSet,TLSID,pointer,proc(pointer)"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#tLSSet%2CTLSID%2Cpointer%2Cproc%28pointer%29"><span class="Identifier">tLSSet</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="sdl2.html#TLSID"><span class="Identifier">TLSID</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">destructor</span><span class="Other">:</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">a1</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">cdecl</span></span><span class="Other">.}</span></span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_TLSSet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the value associated with a thread local storage ID for the current thread.
\param id The thread local storage ID
\param value The value to associate with the ID for the current thread
\param destructor A function called when the thread exits, to free the value.
\return 0 on success, -1 on error
\sa SDL_TLSCreate()
\sa SDL_TLSGet()</pre>
</dd>
<a id="rWFromFile,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWFromFile%2Ccstring%2Ccstring"><span class="Identifier">rWFromFile</span></a><span class="Other">(</span><span class="Identifier">file</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWFromFile&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\name RWFrom functions
Functions to create SDL_RWops structures from various data streams.
@{</pre>
</dd>
<a id="rWFromFP,File,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWFromFP%2CFile%2Cbool"><span class="Identifier">rWFromFP</span></a><span class="Other">(</span><span class="Identifier">fp</span><span class="Other">:</span> <span class="Identifier">File</span><span class="Other">;</span> <span class="Identifier">autoclose</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWFromFP&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="rWFromMem,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWFromMem%2Cpointer%2Ccint"><span class="Identifier">rWFromMem</span></a><span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWFromMem&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="rWFromConstMem,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWFromConstMem%2Cpointer%2Ccint"><span class="Identifier">rWFromConstMem</span></a><span class="Other">(</span><span class="Identifier">mem</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWFromConstMem&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="allocRW"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#allocRW"><span class="Identifier">allocRW</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AllocRW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
RWFrom functions</pre>
</dd>
<a id="freeRW,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeRW%2Cptr.RWops"><span class="Identifier">freeRW</span></a><span class="Other">(</span><span class="Identifier">area</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeRW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="rWsize,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWsize%2Cptr.RWops"><span class="Identifier">rWsize</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWsize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the size of the file in this rwops, or -1 if unknown</pre>
</dd>
<a id="rWseek,ptr.RWops,Sint64,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWseek%2Cptr.RWops%2CSint64%2Ccint"><span class="Identifier">rWseek</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">offset</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a><span class="Other">;</span> <span class="Identifier">whence</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWseek&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Seek to \c offset relative to \c whence, one of stdio's whence values:
RW_SEEK_SET, RW_SEEK_CUR, RW_SEEK_END
\return the final offset in the data stream, or -1 on error.</pre>
</dd>
<a id="rWtell,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWtell%2Cptr.RWops"><span class="Identifier">rWtell</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint64"><span class="Identifier">Sint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWtell&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the current offset in the data stream, or -1 on error.</pre>
</dd>
<a id="rWread,ptr.RWops,pointer,uint,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWread%2Cptr.RWops%2Cpointer%2Cuint%2Cuint"><span class="Identifier">rWread</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Other">`</span><span class="Keyword">ptr</span><span class="Other">`</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">maxnum</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWread&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Read up to \c maxnum objects each of size \c size from the data
stream to the area pointed at by \c ptr.
\return the number of objects read, or 0 at error or end of file.</pre>
</dd>
<a id="rWwrite,ptr.RWops,pointer,uint,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWwrite%2Cptr.RWops%2Cpointer%2Cuint%2Cuint"><span class="Identifier">rWwrite</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Other">`</span><span class="Keyword">ptr</span><span class="Other">`</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">num</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWwrite&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Write exactly \c num objects each of size \c size from the area
pointed at by \c ptr to data stream.
\return the number of objects written, or 0 at error or end of file.</pre>
</dd>
<a id="rWclose,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rWclose%2Cptr.RWops"><span class="Identifier">rWclose</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RWclose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Close and free an allocated SDL_RWops structure.
\return 0 if successful or -1 on write error when flushing data.</pre>
</dd>
<a id="loadFile_RW,ptr.RWops,ptr.uint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadFile_RW%2Cptr.RWops%2Cptr.uint%2Ccint"><span class="Identifier">loadFile_RW</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">datasize</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">uint</span><span class="Other">;</span> <span class="Identifier">freesrc</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadFile_RW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Load all the data from an SDL data stream.
The data is allocated with a zero byte at the end (null terminated)
If \c datasize is not NULL, it is filled with the size of the data read.
If \c freesrc is non-zero, the stream will be closed after being read.
The data should be freed with SDL_free().
\return the data, or NULL if there was an error.</pre>
</dd>
<a id="loadFile,cstring,ptr.uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadFile%2Ccstring%2Cptr.uint"><span class="Identifier">loadFile</span></a><span class="Other">(</span><span class="Identifier">file</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">datasize</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadFile&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Load an entire file.
The data is allocated with a zero byte at the end (null terminated)
If \c datasize is not NULL, it is filled with the size of the data read.
If \c freesrc is non-zero, the stream will be closed after being read.
The data should be freed with SDL_free().
\return the data, or NULL if there was an error.</pre>
</dd>
<a id="readU8,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readU8%2Cptr.RWops"><span class="Identifier">readU8</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadU8&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\name Read endian functions
Read an item of the specified endianness and return in native format.
@{</pre>
</dd>
<a id="readLE16,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readLE16%2Cptr.RWops"><span class="Identifier">readLE16</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadLE16&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="readBE16,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readBE16%2Cptr.RWops"><span class="Identifier">readBE16</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadBE16&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="readLE32,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readLE32%2Cptr.RWops"><span class="Identifier">readLE32</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadLE32&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="readBE32,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readBE32%2Cptr.RWops"><span class="Identifier">readBE32</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadBE32&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="readLE64,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readLE64%2Cptr.RWops"><span class="Identifier">readLE64</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadLE64&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="readBE64,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#readBE64%2Cptr.RWops"><span class="Identifier">readBE64</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ReadBE64&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeU8,ptr.RWops,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeU8%2Cptr.RWops%2CUint8"><span class="Identifier">writeU8</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteU8&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Read endian functions
\name Write endian functions
Write an item of native format to the specified endianness.
@{</pre>
</dd>
<a id="writeLE16,ptr.RWops,Uint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeLE16%2Cptr.RWops%2CUint16"><span class="Identifier">writeLE16</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteLE16&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeBE16,ptr.RWops,Uint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeBE16%2Cptr.RWops%2CUint16"><span class="Identifier">writeBE16</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteBE16&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeLE32,ptr.RWops,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeLE32%2Cptr.RWops%2CUint32"><span class="Identifier">writeLE32</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteLE32&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeBE32,ptr.RWops,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeBE32%2Cptr.RWops%2CUint32"><span class="Identifier">writeBE32</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteBE32&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeLE64,ptr.RWops,Uint64"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeLE64%2Cptr.RWops%2CUint64"><span class="Identifier">writeLE64</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteLE64&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="writeBE64,ptr.RWops,Uint64"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#writeBE64%2Cptr.RWops%2CUint64"><span class="Identifier">writeBE64</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WriteBE64&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="getNumAudioDrivers"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumAudioDrivers"><span class="Identifier">getNumAudioDrivers</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumAudioDrivers&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\name Driver discovery functions
These functions return the list of built in audio drivers, in the
order that they are normally initialized by default.
@{</pre>
</dd>
<a id="getAudioDriver,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAudioDriver%2Ccint"><span class="Identifier">getAudioDriver</span></a><span class="Other">(</span><span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAudioDriver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="audioInit,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioInit%2Ccstring"><span class="Identifier">audioInit</span></a><span class="Other">(</span><span class="Identifier">driverName</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioInit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
\name Initialization and cleanup
\internal These functions are used internally, and should not be used unless
you have a specific need to specify the audio driver you want to
use. You should normally use SDL_Init() or SDL_InitSubSystem().
@{</pre>
</dd>
<a id="audioQuit"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioQuit"><span class="Identifier">audioQuit</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioQuit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="getCurrentAudioDriver"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCurrentAudioDriver"><span class="Identifier">getCurrentAudioDriver</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCurrentAudioDriver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
This function returns the name of the current audio driver, or NULL
if no driver has been initialized.</pre>
</dd>
<a id="openAudio,ptr.AudioSpec,ptr.AudioSpec"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#openAudio%2Cptr.AudioSpec%2Cptr.AudioSpec"><span class="Identifier">openAudio</span></a><span class="Other">(</span><span class="Identifier">desired</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a><span class="Other">;</span> <span class="Identifier">obtained</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OpenAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function opens the audio device with the desired parameters, and
returns 0 if successful, placing the actual hardware parameters in the
structure pointed to by \c obtained. If \c obtained is NULL, the audio
data passed to the callback function will be guaranteed to be in the
requested format, and will be automatically converted to the hardware
audio format if necessary. This function returns -1 if it failed
to open the audio device, or couldn't set up the audio thread.
When filling in the desired audio spec structure,
- \c desired-&gt;freq should be the desired audio frequency in samples-per-
second.
- \c desired-&gt;format should be the desired audio format.
- \c desired-&gt;samples is the desired size of the audio buffer, in
samples. This number should be a power of two, and may be adjusted by
the audio driver to a value more suitable for the hardware. Good values
seem to range between 512 and 8096 inclusive, depending on the
application and CPU speed. Smaller values yield faster response time,
but can lead to underflow if the application is doing heavy processing
and cannot fill the audio buffer in time. A stereo sample consists of
both right and left channels in LR ordering.
Note that the number of samples is directly related to time by the
following formula: \code ms = (samples1000)/freq \endcode
- \c desired-&gt;size is the size in bytes of the audio buffer, and is
calculated by SDL_OpenAudio().
- \c desired-&gt;silence is the value used to set the buffer to silence,
and is calculated by SDL_OpenAudio().
- \c desired-&gt;callback should be set to a function that will be called
when the audio device is ready for more data. It is passed a pointer
to the audio buffer, and the length in bytes of the audio buffer.
This function usually runs in a separate thread, and so you should
protect data structures that it accesses by calling SDL_LockAudio()
and SDL_UnlockAudio() in your code. Alternately, you may pass a NULL
pointer here, and call SDL_QueueAudio() with some frequency, to queue
more audio samples to be played (or for capture devices, call
SDL_DequeueAudio() with some frequency, to obtain audio samples).
- \c desired-&gt;userdata is passed as the first parameter to your callback
function. If you passed a NULL callback, this value is ignored.
The audio device starts out playing silence when it's opened, and should
be enabled for playing by calling \c SDL_PauseAudio(0) when you are ready
for your audio callback function to be called. Since the audio driver
may modify the requested size of the audio buffer, you should allocate
any local mixing buffers after you open the audio device.</pre>
</dd>
<a id="getNumAudioDevices,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumAudioDevices%2Ccint"><span class="Identifier">getNumAudioDevices</span></a><span class="Other">(</span><span class="Identifier">iscapture</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumAudioDevices&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of available devices exposed by the current driver.
Only valid after a successfully initializing the audio subsystem.
Returns -1 if an explicit list of devices can't be determined; this is
not an error. For example, if SDL is set up to talk to a remote audio
server, it can't list every one available on the Internet, but it will
still allow a specific host to be specified to SDL_OpenAudioDevice().
In many common cases, when this function returns a value &lt;= 0, it can still
successfully open the default device (NULL for first argument of
SDL_OpenAudioDevice()).</pre>
</dd>
<a id="getAudioDeviceName,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAudioDeviceName%2Ccint%2Ccint"><span class="Identifier">getAudioDeviceName</span></a><span class="Other">(</span><span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">iscapture</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAudioDeviceName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the human-readable name of a specific audio device.
Must be a value between 0 and (number of audio devices-1).
Only valid after a successfully initializing the audio subsystem.
The values returned by this function reflect the latest call to
SDL_GetNumAudioDevices(); recall that function to redetect available
hardware.
The string returned by this function is UTF-8 encoded, read-only, and
managed internally. You are not to free it. If you need to keep the
string for any length of time, you should make your own copy of it, as it
will be invalid next time any of several other SDL functions is called.</pre>
</dd>
<a id="openAudioDevice,cstring,cint,ptr.AudioSpec,ptr.AudioSpec,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#openAudioDevice%2Ccstring%2Ccint%2Cptr.AudioSpec%2Cptr.AudioSpec%2Ccint"><span class="Identifier">openAudioDevice</span></a><span class="Other">(</span><span class="Identifier">device</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">iscapture</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">desired</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a><span class="Other">;</span>
<span class="Identifier">obtained</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a><span class="Other">;</span> <span class="Identifier">allowedChanges</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OpenAudioDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Open a specific audio device. Passing in a device name of NULL requests
the most reasonable default (and is equivalent to calling SDL_OpenAudio()).
The device name is a UTF-8 string reported by SDL_GetAudioDeviceName(), but
some drivers allow arbitrary and driver-specific strings, such as a
hostname/IP address for a remote audio server, or a filename in the
diskaudio driver.
\return 0 on error, a valid device ID that is &gt;= 2 on success.
SDL_OpenAudio(), unlike this function, always acts on device ID 1.</pre>
</dd>
<a id="getAudioStatus"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAudioStatus"><span class="Identifier">getAudioStatus</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AudioStatus"><span class="Identifier">AudioStatus</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAudioStatus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="getAudioDeviceStatus,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getAudioDeviceStatus%2CAudioDeviceID"><span class="Identifier">getAudioDeviceStatus</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#AudioStatus"><span class="Identifier">AudioStatus</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetAudioDeviceStatus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="pauseAudio,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pauseAudio%2Ccint"><span class="Identifier">pauseAudio</span></a><span class="Other">(</span><span class="Identifier">pauseOn</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PauseAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Audio State
\name Pause audio functions
These functions pause and unpause the audio callback processing.
They should be called with a parameter of 0 after opening the audio
device to start playing sound. This is so you can safely initialize
data for your callback function after opening the audio device.
Silence will be written to the audio device during the pause.
@{</pre>
</dd>
<a id="pauseAudioDevice,AudioDeviceID,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pauseAudioDevice%2CAudioDeviceID%2Ccint"><span class="Identifier">pauseAudioDevice</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">;</span> <span class="Identifier">pauseOn</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PauseAudioDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="loadWAV_RW,ptr.RWops,cint,ptr.AudioSpec,ptr.ptr.Uint8,ptr.Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadWAV_RW%2Cptr.RWops%2Ccint%2Cptr.AudioSpec%2Cptr.ptr.Uint8%2Cptr.Uint32"><span class="Identifier">loadWAV_RW</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">freesrc</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">spec</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a><span class="Other">;</span>
<span class="Identifier">audioBuf</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">audioLen</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioSpec"><span class="Identifier">AudioSpec</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadWAV_RW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Pause audio functions
\brief Load the audio data of a WAVE file into memory
Loading a WAVE file requires \c src, \c spec, \c audio_buf and \c audio_len
to be valid pointers. The entire data portion of the file is then loaded
into memory and decoded if necessary.
If \c freesrc is non-zero, the data source gets automatically closed and
freed before the function returns.
Supported are RIFF WAVE files with the formats PCM (8, 16, 24, and 32 bits),
IEEE Float (32 bits), Microsoft ADPCM and IMA ADPCM (4 bits), and A-law and
µ-law (8 bits). Other formats are currently unsupported and cause an error.
If this function succeeds, the pointer returned by it is equal to \c spec
and the pointer to the audio data allocated by the function is written to
\c audio_buf and its length in bytes to \c audio_len. The \ref SDL_AudioSpec
members \c freq, \c channels, and \c format are set to the values of the
audio data in the buffer. The \c samples member is set to a sane default and
all others are set to zero.
It's necessary to use SDL_FreeWAV() to free the audio data returned in
\c audio_buf when it is no longer used.
Because of the underspecification of the Waveform format, there are many
problematic files in the wild that cause issues with strict decoders. To
provide compatibility with these files, this decoder is lenient in regards
to the truncation of the file, the fact chunk, and the size of the RIFF
chunk. The hints SDL_HINT_WAVE_RIFF_CHUNK_SIZE, SDL_HINT_WAVE_TRUNCATION,
and SDL_HINT_WAVE_FACT_CHUNK can be used to tune the behavior of the
loading process.
Any file that is invalid (due to truncation, corruption, or wrong values in
the headers), too big, or unsupported causes an error. Additionally, any
critical I/O error from the data source will terminate the loading process
with an error. The function returns NULL on error and in all cases (with the
exception of \c src being NULL), an appropriate error message will be set.
It is required that the data source supports seeking.
Example:
\code
SDL_LoadWAV_RW(SDL_RWFromFile(&quot;sample.wav&quot;, &quot;rb&quot;), 1, ...);
\endcode
\param src The data source with the WAVE data
\param freesrc A integer value that makes the function close the data source if non-zero
\param spec A pointer filled with the audio format of the audio data
\param audio_buf A pointer filled with the audio data allocated by the function
\param audio_len A pointer filled with the length of the audio data buffer in bytes
\return NULL on error, or non-NULL on success.</pre>
</dd>
<a id="freeWAV,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeWAV%2Cptr.Uint8"><span class="Identifier">freeWAV</span></a><span class="Other">(</span><span class="Identifier">audioBuf</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeWAV&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function frees data previously allocated with SDL_LoadWAV_RW()</pre>
</dd>
<a id="buildAudioCVT,ptr.AudioCVT,AudioFormat,Uint8,cint,AudioFormat,Uint8,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#buildAudioCVT%2Cptr.AudioCVT%2CAudioFormat%2CUint8%2Ccint%2CAudioFormat%2CUint8%2Ccint"><span class="Identifier">buildAudioCVT</span></a><span class="Other">(</span><span class="Identifier">cvt</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioCVT"><span class="Identifier">AudioCVT</span></a><span class="Other">;</span> <span class="Identifier">srcFormat</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">;</span> <span class="Identifier">srcChannels</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">srcRate</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">dstFormat</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">;</span> <span class="Identifier">dstChannels</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">dstRate</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_BuildAudioCVT&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function takes a source format and rate and a destination format
and rate, and initializes the \c cvt structure with information needed
by SDL_ConvertAudio() to convert a buffer of audio data from one format
to the other. An unsupported format causes an error and -1 will be returned.
\return 0 if no conversion is needed, 1 if the audio filter is set up,
or -1 on error.</pre>
</dd>
<a id="convertAudio,ptr.AudioCVT"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#convertAudio%2Cptr.AudioCVT"><span class="Identifier">convertAudio</span></a><span class="Other">(</span><span class="Identifier">cvt</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioCVT"><span class="Identifier">AudioCVT</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ConvertAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Once you have initialized the \c cvt structure using SDL_BuildAudioCVT(),
created an audio buffer \c cvt-&gt;buf, and filled it with \c cvt-&gt;len bytes of
audio data in the source format, this function will convert it in-place
to the desired format.
The data conversion may expand the size of the audio data, so the buffer
\c cvt-&gt;buf should be allocated after the \c cvt structure is initialized by
SDL_BuildAudioCVT(), and should be \c cvt-&gt;lencvt-&gt;len_mult bytes long.
\return 0 on success or -1 if \c cvt-&gt;buf is NULL.</pre>
</dd>
<a id="newAudioStream,AudioFormat,Uint8,cint,AudioFormat,Uint8,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#newAudioStream%2CAudioFormat%2CUint8%2Ccint%2CAudioFormat%2CUint8%2Ccint"><span class="Identifier">newAudioStream</span></a><span class="Other">(</span><span class="Identifier">srcFormat</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">;</span> <span class="Identifier">srcChannels</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">srcRate</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">dstFormat</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">;</span> <span class="Identifier">dstChannels</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">dstRate</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_NewAudioStream&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Create a new audio stream
\param src_format The format of the source audio
\param src_channels The number of channels of the source audio
\param src_rate The sampling rate of the source audio
\param dst_format The format of the desired audio output
\param dst_channels The number of channels of the desired audio output
\param dst_rate The sampling rate of the desired audio output
\return 0 on success, or -1 on error.
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamFlush
\sa SDL_AudioStreamClear
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="audioStreamPut,ptr.AudioStream,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioStreamPut%2Cptr.AudioStream%2Cpointer%2Ccint"><span class="Identifier">audioStreamPut</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">;</span> <span class="Identifier">buf</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioStreamPut&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Add data to be converted/resampled to the stream
\param stream The stream the audio data is being added to
\param buf A pointer to the audio data to add
\param len The number of bytes to write to the stream
\return 0 on success, or -1 on error.
\sa SDL_NewAudioStream
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamFlush
\sa SDL_AudioStreamClear
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="audioStreamGet,ptr.AudioStream,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioStreamGet%2Cptr.AudioStream%2Cpointer%2Ccint"><span class="Identifier">audioStreamGet</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">;</span> <span class="Identifier">buf</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioStreamGet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get converted/resampled data from the stream
\param stream The stream the audio is being requested from
\param buf A buffer to fill with audio data
\param len The maximum number of bytes to fill
\return The number of bytes read from the stream, or -1 on error
\sa SDL_NewAudioStream
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamFlush
\sa SDL_AudioStreamClear
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="audioStreamAvailable,ptr.AudioStream"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioStreamAvailable%2Cptr.AudioStream"><span class="Identifier">audioStreamAvailable</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioStreamAvailable&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of converted/resampled bytes available. The stream may be
buffering data behind the scenes until it has enough to resample
correctly, so this number might be lower than what you expect, or even
be zero. Add more data or flush the stream if you need the data now.
\sa SDL_NewAudioStream
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamFlush
\sa SDL_AudioStreamClear
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="audioStreamFlush,ptr.AudioStream"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioStreamFlush%2Cptr.AudioStream"><span class="Identifier">audioStreamFlush</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioStreamFlush&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Tell the stream that you're done sending data, and anything being buffered
should be converted/resampled and made available immediately.
It is legal to add more data to a stream after flushing, but there will
be audio gaps in the output. Generally this is intended to signal the
end of input, so the complete output becomes available.
\sa SDL_NewAudioStream
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamClear
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="audioStreamClear,ptr.AudioStream"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#audioStreamClear%2Cptr.AudioStream"><span class="Identifier">audioStreamClear</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AudioStreamClear&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Clear any pending data in the stream without converting it
\sa SDL_NewAudioStream
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamFlush
\sa SDL_FreeAudioStream</pre>
</dd>
<a id="freeAudioStream,ptr.AudioStream"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeAudioStream%2Cptr.AudioStream"><span class="Identifier">freeAudioStream</span></a><span class="Other">(</span><span class="Identifier">stream</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#AudioStream"><span class="Identifier">AudioStream</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeAudioStream&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Free an audio stream
\sa SDL_NewAudioStream
\sa SDL_AudioStreamPut
\sa SDL_AudioStreamGet
\sa SDL_AudioStreamAvailable
\sa SDL_AudioStreamFlush
\sa SDL_AudioStreamClear</pre>
</dd>
<a id="mixAudio,ptr.Uint8,ptr.Uint8,Uint32,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#mixAudio%2Cptr.Uint8%2Cptr.Uint8%2CUint32%2Ccint"><span class="Identifier">mixAudio</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">volume</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MixAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This takes two audio buffers of the playing audio format and mixes
them, performing addition, volume adjustment, and overflow clipping.
The volume ranges from 0 - 128, and should be set to ::SDL_MIX_MAXVOLUME
for full audio volume. Note this does not change hardware volume.
This is provided for convenience -- you can mix your own audio data.</pre>
</dd>
<a id="mixAudioFormat,ptr.Uint8,ptr.Uint8,AudioFormat,Uint32,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#mixAudioFormat%2Cptr.Uint8%2Cptr.Uint8%2CAudioFormat%2CUint32%2Ccint"><span class="Identifier">mixAudioFormat</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#AudioFormat"><span class="Identifier">AudioFormat</span></a><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">volume</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MixAudioFormat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This works like SDL_MixAudio(), but you specify the audio format instead of
using the format of audio device 1. Thus it can be used when no audio
device is open at all.</pre>
</dd>
<a id="queueAudio,AudioDeviceID,pointer,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#queueAudio%2CAudioDeviceID%2Cpointer%2CUint32"><span class="Identifier">queueAudio</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_QueueAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Queue more audio on non-callback devices.
(If you are looking to retrieve queued audio from a non-callback capture
device, you want SDL_DequeueAudio() instead. This will return -1 to
signify an error if you use it with capture devices.)
SDL offers two ways to feed audio to the device: you can either supply a
callback that SDL triggers with some frequency to obtain more audio
(pull method), or you can supply no callback, and then SDL will expect
you to supply data at regular intervals (push method) with this function.
There are no limits on the amount of data you can queue, short of
exhaustion of address space. Queued data will drain to the device as
necessary without further intervention from you. If the device needs
audio but there is not enough queued, it will play silence to make up
the difference. This means you will have skips in your audio playback
if you aren't routinely queueing sufficient data.
This function copies the supplied data, so you are safe to free it when
the function returns. This function is thread-safe, but queueing to the
same device from two threads at once does not promise which buffer will
be queued first.
You may not queue audio on a device that is using an application-supplied
callback; doing so returns an error. You have to use the audio callback
or queue audio with this function, but not both.
You should not call SDL_LockAudio() on the device before queueing; SDL
handles locking internally for this function.
\param dev The device ID to which we will queue audio.
\param data The data to queue to the device for later playback.
\param len The number of bytes (not samples!) to which (data) points.
\return 0 on success, or -1 on error.
\sa SDL_GetQueuedAudioSize
\sa SDL_ClearQueuedAudio</pre>
</dd>
<a id="dequeueAudio,AudioDeviceID,pointer,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#dequeueAudio%2CAudioDeviceID%2Cpointer%2CUint32"><span class="Identifier">dequeueAudio</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">len</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DequeueAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Dequeue more audio on non-callback devices.
(If you are looking to queue audio for output on a non-callback playback
device, you want SDL_QueueAudio() instead. This will always return 0
if you use it with playback devices.)
SDL offers two ways to retrieve audio from a capture device: you can
either supply a callback that SDL triggers with some frequency as the
device records more audio data, (push method), or you can supply no
callback, and then SDL will expect you to retrieve data at regular
intervals (pull method) with this function.
There are no limits on the amount of data you can queue, short of
exhaustion of address space. Data from the device will keep queuing as
necessary without further intervention from you. This means you will
eventually run out of memory if you aren't routinely dequeueing data.
Capture devices will not queue data when paused; if you are expecting
to not need captured audio for some length of time, use
SDL_PauseAudioDevice() to stop the capture device from queueing more
data. This can be useful during, say, level loading times. When
unpaused, capture devices will start queueing data from that point,
having flushed any capturable data available while paused.
This function is thread-safe, but dequeueing from the same device from
two threads at once does not promise which thread will dequeued data
first.
You may not dequeue audio from a device that is using an
application-supplied callback; doing so returns an error. You have to use
the audio callback, or dequeue audio with this function, but not both.
You should not call SDL_LockAudio() on the device before queueing; SDL
handles locking internally for this function.
\param dev The device ID from which we will dequeue audio.
\param data A pointer into where audio data should be copied.
\param len The number of bytes (not samples!) to which (data) points.
\return number of bytes dequeued, which could be less than requested.
\sa SDL_GetQueuedAudioSize
\sa SDL_ClearQueuedAudio</pre>
</dd>
<a id="getQueuedAudioSize,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getQueuedAudioSize%2CAudioDeviceID"><span class="Identifier">getQueuedAudioSize</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetQueuedAudioSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of bytes of still-queued audio.
For playback device:
This is the number of bytes that have been queued for playback with
SDL_QueueAudio(), but have not yet been sent to the hardware. This
number may shrink at any time, so this only informs of pending data.
Once we've sent it to the hardware, this function can not decide the
exact byte boundary of what has been played. It's possible that we just
gave the hardware several kilobytes right before you called this
function, but it hasn't played any of it yet, or maybe half of it, etc.
For capture devices:
This is the number of bytes that have been captured by the device and
are waiting for you to dequeue. This number may grow at any time, so
this only informs of the lower-bound of available data.
You may not queue audio on a device that is using an application-supplied
callback; calling this function on such a device always returns 0.
You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use
the audio callback, but not both.
You should not call SDL_LockAudio() on the device before querying; SDL
handles locking internally for this function.
\param dev The device ID of which we will query queued audio size.
\return Number of bytes (not samples!) of queued audio.
\sa SDL_QueueAudio
\sa SDL_ClearQueuedAudio</pre>
</dd>
<a id="clearQueuedAudio,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#clearQueuedAudio%2CAudioDeviceID"><span class="Identifier">clearQueuedAudio</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ClearQueuedAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Drop any queued audio data. For playback devices, this is any queued data
still waiting to be submitted to the hardware. For capture devices, this
is any data that was queued by the device that hasn't yet been dequeued by
the application.
Immediately after this call, SDL_GetQueuedAudioSize() will return 0. For
playback devices, the hardware will start playing silence if more audio
isn't queued. Unpaused capture devices will start filling the queue again
as soon as they have more data available (which, depending on the state
of the hardware and the thread, could be before this function call
returns!).
This will not prevent playback of queued audio that's already been sent
to the hardware, as we can not undo that, so expect there to be some
fraction of a second of audio that might still be heard. This can be
useful if you want to, say, drop any pending music during a level change
in your game.
You may not queue audio on a device that is using an application-supplied
callback; calling this function on such a device is always a no-op.
You have to queue audio with SDL_QueueAudio()/SDL_DequeueAudio(), or use
the audio callback, but not both.
You should not call SDL_LockAudio() on the device before clearing the
queue; SDL handles locking internally for this function.
This function always succeeds and thus returns void.
\param dev The device ID of which to clear the audio queue.
\sa SDL_QueueAudio
\sa SDL_GetQueuedAudioSize</pre>
</dd>
<a id="lockAudio"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockAudio"><span class="Identifier">lockAudio</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\name Audio lock functions
The lock manipulated by these functions protects the callback function.
During a SDL_LockAudio()/SDL_UnlockAudio() pair, you can be guaranteed that
the callback function is not running. Do not call these from the callback
function or you will cause deadlock.
@{</pre>
</dd>
<a id="lockAudioDevice,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockAudioDevice%2CAudioDeviceID"><span class="Identifier">lockAudioDevice</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockAudioDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="unlockAudio"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockAudio"><span class="Identifier">unlockAudio</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="unlockAudioDevice,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockAudioDevice%2CAudioDeviceID"><span class="Identifier">unlockAudioDevice</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockAudioDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="closeAudio"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#closeAudio"><span class="Identifier">closeAudio</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CloseAudio&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Audio lock functions
This function shuts down audio processing and closes the audio device.</pre>
</dd>
<a id="closeAudioDevice,AudioDeviceID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#closeAudioDevice%2CAudioDeviceID"><span class="Identifier">closeAudioDevice</span></a><span class="Other">(</span><span class="Identifier">dev</span><span class="Other">:</span> <a href="sdl2.html#AudioDeviceID"><span class="Identifier">AudioDeviceID</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CloseAudioDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="setClipboardText,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setClipboardText%2Ccstring"><span class="Identifier">setClipboardText</span></a><span class="Other">(</span><span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetClipboardText&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
Function prototypes
\brief Put UTF-8 text into the clipboard
\sa SDL_GetClipboardText()</pre>
</dd>
<a id="getClipboardText"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getClipboardText"><span class="Identifier">getClipboardText</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetClipboardText&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get UTF-8 text from the clipboard, which must be freed with SDL_free()
\sa SDL_SetClipboardText()</pre>
</dd>
<a id="hasClipboardText"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasClipboardText"><span class="Identifier">hasClipboardText</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasClipboardText&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty
\sa SDL_GetClipboardText()</pre>
</dd>
<a id="getCPUCount"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCPUCount"><span class="Identifier">getCPUCount</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCPUCount&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns the number of CPU cores available.</pre>
</dd>
<a id="getCPUCacheLineSize"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCPUCacheLineSize"><span class="Identifier">getCPUCacheLineSize</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCPUCacheLineSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns the L1 cache line size of the CPU
This is useful for determining multi-threaded structure padding
or SIMD prefetch sizes.</pre>
</dd>
<a id="hasRDTSC"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasRDTSC"><span class="Identifier">hasRDTSC</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasRDTSC&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has the RDTSC instruction.</pre>
</dd>
<a id="hasAltiVec"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasAltiVec"><span class="Identifier">hasAltiVec</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasAltiVec&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has AltiVec features.</pre>
</dd>
<a id="hasMMX"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasMMX"><span class="Identifier">hasMMX</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasMMX&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has MMX features.</pre>
</dd>
<a id="has3DNow"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#has3DNow"><span class="Identifier">has3DNow</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Has3DNow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has 3DNow! features.</pre>
</dd>
<a id="hasSSE"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasSSE"><span class="Identifier">hasSSE</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasSSE&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has SSE features.</pre>
</dd>
<a id="hasSSE2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasSSE2"><span class="Identifier">hasSSE2</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasSSE2&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has SSE2 features.</pre>
</dd>
<a id="hasSSE3"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasSSE3"><span class="Identifier">hasSSE3</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasSSE3&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has SSE3 features.</pre>
</dd>
<a id="hasSSE41"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasSSE41"><span class="Identifier">hasSSE41</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasSSE41&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has SSE4.1 features.</pre>
</dd>
<a id="hasSSE42"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasSSE42"><span class="Identifier">hasSSE42</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasSSE42&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has SSE4.2 features.</pre>
</dd>
<a id="hasAVX"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasAVX"><span class="Identifier">hasAVX</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasAVX&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has AVX features.</pre>
</dd>
<a id="hasAVX2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasAVX2"><span class="Identifier">hasAVX2</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasAVX2&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has AVX2 features.</pre>
</dd>
<a id="hasAVX512F"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasAVX512F"><span class="Identifier">hasAVX512F</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasAVX512F&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has AVX-512F (foundation) features.</pre>
</dd>
<a id="hasARMSIMD"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasARMSIMD"><span class="Identifier">hasARMSIMD</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasARMSIMD&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has ARM SIMD (ARMv6) features.</pre>
</dd>
<a id="hasNEON"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasNEON"><span class="Identifier">hasNEON</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasNEON&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns true if the CPU has NEON (ARM SIMD) features.</pre>
</dd>
<a id="getSystemRAM"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getSystemRAM"><span class="Identifier">getSystemRAM</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetSystemRAM&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns the amount of RAM configured in the system, in MB.</pre>
</dd>
<a id="sIMDGetAlignment"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sIMDGetAlignment"><span class="Identifier">sIMDGetAlignment</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">uint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SIMDGetAlignment&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Report the alignment this system needs for SIMD allocations.
This will return the minimum number of bytes to which a pointer must be
aligned to be compatible with SIMD instructions on the current machine.
For example, if the machine supports SSE only, it will return 16, but if
it supports AVX-512F, it'll return 64 (etc). This only reports values for
instruction sets SDL knows about, so if your SDL build doesn't have
SDL_HasAVX512F(), then it might return 16 for the SSE support it sees and
not 64 for the AVX-512 instructions that exist but SDL doesn't know about.
Plan accordingly.</pre>
</dd>
<a id="sIMDAlloc,uint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sIMDAlloc%2Cuint"><span class="Identifier">sIMDAlloc</span></a><span class="Other">(</span><span class="Identifier">len</span><span class="Other">:</span> <span class="Identifier">uint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SIMDAlloc&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Allocate memory in a SIMD-friendly way.
This will allocate a block of memory that is suitable for use with SIMD
instructions. Specifically, it will be properly aligned and padded for
the system's supported vector instructions.
The memory returned will be padded such that it is safe to read or write
an incomplete vector at the end of the memory block. This can be useful
so you don't have to drop back to a scalar fallback at the end of your
SIMD processing loop to deal with the final elements without overflowing
the allocated buffer.
You must free this memory with SDL_FreeSIMD(), not free() or SDL_free()
or delete[], etc.
Note that SDL will only deal with SIMD instruction sets it is aware of;
for example, SDL 2.0.8 knows that SSE wants 16-byte vectors
(SDL_HasSSE()), and AVX2 wants 32 bytes (SDL_HasAVX2()), but doesn't
know that AVX-512 wants 64. To be clear: if you can't decide to use an
instruction set with an SDL_Has() function, don't use that instruction
set with memory allocated through here.
SDL_AllocSIMD(0) will return a non-NULL pointer, assuming the system isn't
out of memory.
\param len The length, in bytes, of the block to allocated. The actual
allocated block might be larger due to padding, etc.
\return Pointer to newly-allocated block, NULL if out of memory.
\sa SDL_SIMDAlignment
\sa SDL_SIMDFree</pre>
</dd>
<a id="sIMDFree,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sIMDFree%2Cpointer"><span class="Identifier">sIMDFree</span></a><span class="Other">(</span><span class="Other">`</span><span class="Keyword">ptr</span><span class="Other">`</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SIMDFree&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Deallocate memory obtained from SDL_SIMDAlloc
It is not valid to use this function on a pointer from anything but
SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc,
SDL_malloc, memalign, new[], etc.
However, SDL_SIMDFree(NULL) is a legal no-op.
\sa SDL_SIMDAlloc</pre>
</dd>
<a id="getPixelFormatName,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPixelFormatName%2CUint32"><span class="Identifier">getPixelFormatName</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPixelFormatName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the human readable name of a pixel format</pre>
</dd>
<a id="pixelFormatEnumToMasks,Uint32,ptr.cint,ptr.Uint32,ptr.Uint32,ptr.Uint32,ptr.Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pixelFormatEnumToMasks%2CUint32%2Cptr.cint%2Cptr.Uint32%2Cptr.Uint32%2Cptr.Uint32%2Cptr.Uint32"><span class="Identifier">pixelFormatEnumToMasks</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">bpp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Rmask</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">Gmask</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Bmask</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Amask</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PixelFormatEnumToMasks&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Convert one of the enumerated pixel formats to a bpp and RGBA masks.
\return SDL_TRUE, or SDL_FALSE if the conversion wasn't possible.
\sa SDL_MasksToPixelFormatEnum()</pre>
</dd>
<a id="masksToPixelFormatEnum,cint,Uint32,Uint32,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#masksToPixelFormatEnum%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"><span class="Identifier">masksToPixelFormatEnum</span></a><span class="Other">(</span><span class="Identifier">bpp</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Rmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Gmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Bmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">Amask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MasksToPixelFormatEnum&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Convert a bpp and RGBA masks to an enumerated pixel format.
\return The pixel format, or ::SDL_PIXELFORMAT_UNKNOWN if the conversion
wasn't possible.
\sa SDL_PixelFormatEnumToMasks()</pre>
</dd>
<a id="allocFormat,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#allocFormat%2CUint32"><span class="Identifier">allocFormat</span></a><span class="Other">(</span><span class="Identifier">pixelFormat</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AllocFormat&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create an SDL_PixelFormat structure from a pixel format enum.</pre>
</dd>
<a id="freeFormat,ptr.PixelFormat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeFormat%2Cptr.PixelFormat"><span class="Identifier">freeFormat</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeFormat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Free an SDL_PixelFormat structure.</pre>
</dd>
<a id="allocPalette,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#allocPalette%2Ccint"><span class="Identifier">allocPalette</span></a><span class="Other">(</span><span class="Identifier">ncolors</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AllocPalette&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a palette structure with the specified number of color
entries.
\return A new palette, or NULL if there wasn't enough memory.
\note The palette entries are initialized to white.
\sa SDL_FreePalette()</pre>
</dd>
<a id="setPixelFormatPalette,ptr.PixelFormat,ptr.Palette"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setPixelFormatPalette%2Cptr.PixelFormat%2Cptr.Palette"><span class="Identifier">setPixelFormatPalette</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">palette</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetPixelFormatPalette&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the palette for a pixel format structure.</pre>
</dd>
<a id="setPaletteColors,ptr.Palette,ptr.Color,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setPaletteColors%2Cptr.Palette%2Cptr.Color%2Ccint%2Ccint"><span class="Identifier">setPaletteColors</span></a><span class="Other">(</span><span class="Identifier">palette</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a><span class="Other">;</span> <span class="Identifier">colors</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Color"><span class="Identifier">Color</span></a><span class="Other">;</span> <span class="Identifier">firstcolor</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">ncolors</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetPaletteColors&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a range of colors in a palette.
\param palette The palette to modify.
\param colors An array of colors to copy into the palette.
\param firstcolor The index of the first palette entry to modify.
\param ncolors The number of entries to modify.
\return 0 on success, or -1 if not all of the colors could be set.</pre>
</dd>
<a id="freePalette,ptr.Palette"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freePalette%2Cptr.Palette"><span class="Identifier">freePalette</span></a><span class="Other">(</span><span class="Identifier">palette</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreePalette&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Free a palette created with SDL_AllocPalette().
\sa SDL_AllocPalette()</pre>
</dd>
<a id="mapRGB,ptr.PixelFormat,Uint8,Uint8,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#mapRGB%2Cptr.PixelFormat%2CUint8%2CUint8%2CUint8"><span class="Identifier">mapRGB</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MapRGB&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Maps an RGB triple to an opaque pixel value for a given pixel format.
\sa SDL_MapRGBA</pre>
</dd>
<a id="mapRGBA,ptr.PixelFormat,Uint8,Uint8,Uint8,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#mapRGBA%2Cptr.PixelFormat%2CUint8%2CUint8%2CUint8%2CUint8"><span class="Identifier">mapRGBA</span></a><span class="Other">(</span><span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MapRGBA&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Maps an RGBA quadruple to a pixel value for a given pixel format.
\sa SDL_MapRGB</pre>
</dd>
<a id="getRGB,Uint32,ptr.PixelFormat,ptr.Uint8,ptr.Uint8,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRGB%2CUint32%2Cptr.PixelFormat%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"><span class="Identifier">getRGB</span></a><span class="Other">(</span><span class="Identifier">pixel</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRGB&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the RGB components from a pixel of the specified format.
\sa SDL_GetRGBA</pre>
</dd>
<a id="getRGBA,Uint32,ptr.PixelFormat,ptr.Uint8,ptr.Uint8,ptr.Uint8,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRGBA%2CUint32%2Cptr.PixelFormat%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"><span class="Identifier">getRGBA</span></a><span class="Other">(</span><span class="Identifier">pixel</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRGBA&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the RGBA components from a pixel of the specified format.
\sa SDL_GetRGB</pre>
</dd>
<a id="calculateGammaRamp,cfloat,ptr.Uint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#calculateGammaRamp%2Ccfloat%2Cptr.Uint16"><span class="Identifier">calculateGammaRamp</span></a><span class="Other">(</span><span class="Identifier">gamma</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">ramp</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CalculateGammaRamp&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Calculate a 256 entry gamma ramp for a gamma value.</pre>
</dd>
<a id="hasIntersection,ptr.Rect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasIntersection%2Cptr.Rect%2Cptr.Rect"><span class="Identifier">hasIntersection</span></a><span class="Other">(</span><span class="Identifier">A</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">B</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasIntersection&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Determine whether two rectangles intersect.
\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.</pre>
</dd>
<a id="intersectRect,ptr.Rect,ptr.Rect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#intersectRect%2Cptr.Rect%2Cptr.Rect%2Cptr.Rect"><span class="Identifier">intersectRect</span></a><span class="Other">(</span><span class="Identifier">A</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">B</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IntersectRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Calculate the intersection of two rectangles.
\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.</pre>
</dd>
<a id="unionRect,ptr.Rect,ptr.Rect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unionRect%2Cptr.Rect%2Cptr.Rect%2Cptr.Rect"><span class="Identifier">unionRect</span></a><span class="Other">(</span><span class="Identifier">A</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">B</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnionRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Calculate the union of two rectangles.</pre>
</dd>
<a id="enclosePoints,ptr.Point,cint,ptr.Rect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#enclosePoints%2Cptr.Point%2Ccint%2Cptr.Rect%2Cptr.Rect"><span class="Identifier">enclosePoints</span></a><span class="Other">(</span><span class="Identifier">points</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Point"><span class="Identifier">Point</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">clip</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_EnclosePoints&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Calculate a minimal rectangle enclosing a set of points
\return SDL_TRUE if any points were within the clipping rect</pre>
</dd>
<a id="intersectRectAndLine,ptr.Rect,ptr.cint,ptr.cint,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#intersectRectAndLine%2Cptr.Rect%2Cptr.cint%2Cptr.cint%2Cptr.cint%2Cptr.cint"><span class="Identifier">intersectRectAndLine</span></a><span class="Other">(</span><span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">X1</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Y1</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">X2</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">Y2</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IntersectRectAndLine&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Calculate the intersection of a rectangle and line segment.
\return SDL_TRUE if there is an intersection, SDL_FALSE otherwise.</pre>
</dd>
<a id="composeCustomBlendMode,BlendFactor,BlendFactor,BlendOperation,BlendFactor,BlendFactor,BlendOperation"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#composeCustomBlendMode%2CBlendFactor%2CBlendFactor%2CBlendOperation%2CBlendFactor%2CBlendFactor%2CBlendOperation"><span class="Identifier">composeCustomBlendMode</span></a><span class="Other">(</span><span class="Identifier">srcColorFactor</span><span class="Other">:</span> <a href="sdl2.html#BlendFactor"><span class="Identifier">BlendFactor</span></a><span class="Other">;</span>
<span class="Identifier">dstColorFactor</span><span class="Other">:</span> <a href="sdl2.html#BlendFactor"><span class="Identifier">BlendFactor</span></a><span class="Other">;</span>
<span class="Identifier">colorOperation</span><span class="Other">:</span> <a href="sdl2.html#BlendOperation"><span class="Identifier">BlendOperation</span></a><span class="Other">;</span>
<span class="Identifier">srcAlphaFactor</span><span class="Other">:</span> <a href="sdl2.html#BlendFactor"><span class="Identifier">BlendFactor</span></a><span class="Other">;</span>
<span class="Identifier">dstAlphaFactor</span><span class="Other">:</span> <a href="sdl2.html#BlendFactor"><span class="Identifier">BlendFactor</span></a><span class="Other">;</span>
<span class="Identifier">alphaOperation</span><span class="Other">:</span> <a href="sdl2.html#BlendOperation"><span class="Identifier">BlendOperation</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ComposeCustomBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a custom blend mode, which may or may not be supported by a given renderer
\param srcColorFactor source color factor
\param dstColorFactor destination color factor
\param colorOperation color operation
\param srcAlphaFactor source alpha factor
\param dstAlphaFactor destination alpha factor
\param alphaOperation alpha operation
The result of the blend mode operation will be:
dstRGB = dstRGB dstColorFactor colorOperation srcRGB srcColorFactor
and
dstA = dstA dstAlphaFactor alphaOperation srcA srcAlphaFactor</pre>
</dd>
<a id="createRGBSurface,Uint32,cint,cint,cint,Uint32,Uint32,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createRGBSurface%2CUint32%2Ccint%2Ccint%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"><span class="Identifier">createRGBSurface</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">depth</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">Rmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Gmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Bmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Amask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateRGBSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Allocate and free an RGB surface.
If the depth is 4 or 8 bits, an empty palette is allocated for the surface.
If the depth is greater than 8 bits, the pixel format is set using the
flags '[RGB]mask'.
If the function runs out of memory, it will return NULL.
\param flags The \c flags are obsolete and should be set to 0.
\param width The width in pixels of the surface to create.
\param height The height in pixels of the surface to create.
\param depth The depth in bits of the surface to create.
\param Rmask The red mask of the surface to create.
\param Gmask The green mask of the surface to create.
\param Bmask The blue mask of the surface to create.
\param Amask The alpha mask of the surface to create.</pre>
</dd>
<a id="createRGBSurfaceWithFormat,Uint32,cint,cint,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createRGBSurfaceWithFormat%2CUint32%2Ccint%2Ccint%2Ccint%2CUint32"><span class="Identifier">createRGBSurfaceWithFormat</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">depth</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateRGBSurfaceWithFormat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>!!! FIXME for 2.1: why does this ask for depth? Format provides that.</pre>
</dd>
<a id="createRGBSurfaceFrom,pointer,cint,cint,cint,cint,Uint32,Uint32,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createRGBSurfaceFrom%2Cpointer%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32%2CUint32%2CUint32%2CUint32"><span class="Identifier">createRGBSurfaceFrom</span></a><span class="Other">(</span><span class="Identifier">pixels</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">depth</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">pitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Rmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Gmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">Bmask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">Amask</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateRGBSurfaceFrom&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="createRGBSurfaceWithFormatFrom,pointer,cint,cint,cint,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createRGBSurfaceWithFormatFrom%2Cpointer%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32"><span class="Identifier">createRGBSurfaceWithFormatFrom</span></a><span class="Other">(</span><span class="Identifier">pixels</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">depth</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">pitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateRGBSurfaceWithFormatFrom&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="freeSurface,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeSurface%2Cptr.Surface"><span class="Identifier">freeSurface</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="setSurfacePalette,ptr.Surface,ptr.Palette"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setSurfacePalette%2Cptr.Surface%2Cptr.Palette"><span class="Identifier">setSurfacePalette</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">palette</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Palette"><span class="Identifier">Palette</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetSurfacePalette&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the palette used by a surface.
\return 0, or -1 if the surface format doesn't use a palette.
\note A single palette can be shared with many surfaces.</pre>
</dd>
<a id="lockSurface,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockSurface%2Cptr.Surface"><span class="Identifier">lockSurface</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets up a surface for directly accessing the pixels.
Between calls to SDL_LockSurface() / SDL_UnlockSurface(), you can write
to and read from \c surface-&gt;pixels, using the pixel format stored in
\c surface-&gt;format. Once you are done accessing the surface, you should
use SDL_UnlockSurface() to release it.
Not all surfaces require locking. If SDL_MUSTLOCK(surface) evaluates
to 0, then you can read and write to the surface at any time, and the
pixel format of the surface will not change.
No operating system or library calls should be made between lock/unlock
pairs, as critical system locks may be held during this time.
SDL_LockSurface() returns 0, or -1 if the surface couldn't be locked.
\sa SDL_UnlockSurface()</pre>
</dd>
<a id="unlockSurface,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockSurface%2Cptr.Surface"><span class="Identifier">unlockSurface</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\sa SDL_LockSurface()</pre>
</dd>
<a id="loadBMP_RW,ptr.RWops,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadBMP_RW%2Cptr.RWops%2Ccint"><span class="Identifier">loadBMP_RW</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">freesrc</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadBMP_RW&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Load a surface from a seekable SDL data stream (memory or file).
If \c freesrc is non-zero, the stream will be closed after being read.
The new surface should be freed with SDL_FreeSurface().
\return the new surface, or NULL if there was an error.</pre>
</dd>
<a id="saveBMP_RW,ptr.Surface,ptr.RWops,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#saveBMP_RW%2Cptr.Surface%2Cptr.RWops%2Ccint"><span class="Identifier">saveBMP_RW</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">freedst</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SaveBMP_RW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Save a surface to a seekable SDL data stream (memory or file).
Surfaces with a 24-bit, 32-bit and paletted 8-bit format get saved in the
BMP directly. Other RGB formats with 8-bit or higher get converted to a
24-bit surface or, if they have an alpha mask or a colorkey, to a 32-bit
surface before they are saved. YUV and paletted 1-bit and 4-bit formats are
not supported.
If \c freedst is non-zero, the stream will be closed after being written.
\return 0 if successful or -1 if there was an error.</pre>
</dd>
<a id="setSurfaceRLE,ptr.Surface,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setSurfaceRLE%2Cptr.Surface%2Ccint"><span class="Identifier">setSurfaceRLE</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">flag</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetSurfaceRLE&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets the RLE acceleration hint for a surface.
\return 0 on success, or -1 if the surface is not valid
\note If RLE is enabled, colorkey and alpha blending blits are much faster,
but the surface must be locked before directly accessing the pixels.</pre>
</dd>
<a id="setColorKey,ptr.Surface,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setColorKey%2Cptr.Surface%2Ccint%2CUint32"><span class="Identifier">setColorKey</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">flag</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetColorKey&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets the color key (transparent pixel) in a blittable surface.
\param surface The surface to update
\param flag Non-zero to enable colorkey and 0 to disable colorkey
\param key The transparent pixel in the native surface format
\return 0 on success, or -1 if the surface is not valid
You can pass SDL_RLEACCEL to enable RLE accelerated blits.</pre>
</dd>
<a id="hasColorKey,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasColorKey%2Cptr.Surface"><span class="Identifier">hasColorKey</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasColorKey&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns whether the surface has a color key
\return SDL_TRUE if the surface has a color key, or SDL_FALSE if the surface is NULL or has no color key</pre>
</dd>
<a id="getColorKey,ptr.Surface,ptr.Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getColorKey%2Cptr.Surface%2Cptr.Uint32"><span class="Identifier">getColorKey</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">key</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetColorKey&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets the color key (transparent pixel) in a blittable surface.
\param surface The surface to update
\param key A pointer filled in with the transparent pixel in the native
surface format
\return 0 on success, or -1 if the surface is not valid or colorkey is not
enabled.</pre>
</dd>
<a id="setSurfaceColorMod,ptr.Surface,Uint8,Uint8,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setSurfaceColorMod%2Cptr.Surface%2CUint8%2CUint8%2CUint8"><span class="Identifier">setSurfaceColorMod</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetSurfaceColorMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an additional color value used in blit operations.
\param surface The surface to update.
\param r The red color value multiplied into blit operations.
\param g The green color value multiplied into blit operations.
\param b The blue color value multiplied into blit operations.
\return 0 on success, or -1 if the surface is not valid.
\sa SDL_GetSurfaceColorMod()</pre>
</dd>
<a id="getSurfaceColorMod,ptr.Surface,ptr.Uint8,ptr.Uint8,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getSurfaceColorMod%2Cptr.Surface%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"><span class="Identifier">getSurfaceColorMod</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetSurfaceColorMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the additional color value used in blit operations.
\param surface The surface to query.
\param r A pointer filled in with the current red color value.
\param g A pointer filled in with the current green color value.
\param b A pointer filled in with the current blue color value.
\return 0 on success, or -1 if the surface is not valid.
\sa SDL_SetSurfaceColorMod()</pre>
</dd>
<a id="setSurfaceAlphaMod,ptr.Surface,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setSurfaceAlphaMod%2Cptr.Surface%2CUint8"><span class="Identifier">setSurfaceAlphaMod</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">alpha</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetSurfaceAlphaMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an additional alpha value used in blit operations.
\param surface The surface to update.
\param alpha The alpha value multiplied into blit operations.
\return 0 on success, or -1 if the surface is not valid.
\sa SDL_GetSurfaceAlphaMod()</pre>
</dd>
<a id="getSurfaceAlphaMod,ptr.Surface,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getSurfaceAlphaMod%2Cptr.Surface%2Cptr.Uint8"><span class="Identifier">getSurfaceAlphaMod</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">alpha</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetSurfaceAlphaMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the additional alpha value used in blit operations.
\param surface The surface to query.
\param alpha A pointer filled in with the current alpha value.
\return 0 on success, or -1 if the surface is not valid.
\sa SDL_SetSurfaceAlphaMod()</pre>
</dd>
<a id="setSurfaceBlendMode,ptr.Surface,BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setSurfaceBlendMode%2Cptr.Surface%2CBlendMode"><span class="Identifier">setSurfaceBlendMode</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetSurfaceBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the blend mode used for blit operations.
\param surface The surface to update.
\param blendMode ::SDL_BlendMode to use for blit blending.
\return 0 on success, or -1 if the parameters are not valid.
\sa SDL_GetSurfaceBlendMode()</pre>
</dd>
<a id="getSurfaceBlendMode,ptr.Surface,ptr.BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getSurfaceBlendMode%2Cptr.Surface%2Cptr.BlendMode"><span class="Identifier">getSurfaceBlendMode</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetSurfaceBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the blend mode used for blit operations.
\param surface The surface to query.
\param blendMode A pointer filled in with the current blend mode.
\return 0 on success, or -1 if the surface is not valid.
\sa SDL_SetSurfaceBlendMode()</pre>
</dd>
<a id="setClipRect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setClipRect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">setClipRect</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetClipRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Sets the clipping rectangle for the destination surface in a blit.
If the clip rectangle is NULL, clipping will be disabled.
If the clip rectangle doesn't intersect the surface, the function will
return SDL_FALSE and blits will be completely clipped. Otherwise the
function returns SDL_TRUE and blits to the surface will be clipped to
the intersection of the surface area and the clipping rectangle.
Note that blits are automatically clipped to the edges of the source
and destination surfaces.</pre>
</dd>
<a id="getClipRect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getClipRect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">getClipRect</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetClipRect&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Gets the clipping rectangle for the destination surface in a blit.
\c rect must be a pointer to a valid rectangle which will be filled
with the correct values.</pre>
</dd>
<a id="duplicateSurface,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#duplicateSurface%2Cptr.Surface"><span class="Identifier">duplicateSurface</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DuplicateSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Creates a new surface identical to the existing surface</pre>
</dd>
<a id="convertSurface,ptr.Surface,ptr.PixelFormat,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#convertSurface%2Cptr.Surface%2Cptr.PixelFormat%2CUint32"><span class="Identifier">convertSurface</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#PixelFormat"><span class="Identifier">PixelFormat</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ConvertSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Creates a new surface of the specified format, and then copies and maps
the given surface to it so the blit of the converted surface will be as
fast as possible. If this function fails, it returns NULL.
The \c flags parameter is passed to SDL_CreateRGBSurface() and has those
semantics. You can also pass ::SDL_RLEACCEL in the flags parameter and
SDL will try to RLE accelerate colorkey and alpha blits in the resulting
surface.</pre>
</dd>
<a id="convertSurfaceFormat,ptr.Surface,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#convertSurfaceFormat%2Cptr.Surface%2CUint32%2CUint32"><span class="Identifier">convertSurfaceFormat</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">pixelFormat</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ConvertSurfaceFormat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="convertPixels,cint,cint,Uint32,pointer,cint,Uint32,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#convertPixels%2Ccint%2Ccint%2CUint32%2Cpointer%2Ccint%2CUint32%2Cpointer%2Ccint"><span class="Identifier">convertPixels</span></a><span class="Other">(</span><span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">srcFormat</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span>
<span class="Identifier">srcPitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">dstFormat</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">dstPitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ConvertPixels&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a block of pixels of one format to another format
\return 0 on success, or -1 if there was an error</pre>
</dd>
<a id="fillRect,ptr.Surface,ptr.Rect,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillRect%2Cptr.Surface%2Cptr.Rect%2CUint32"><span class="Identifier">fillRect</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FillRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Performs a fast fill of the given rectangle with \c color.
If \c rect is NULL, the whole surface will be filled with \c color.
The color should be a pixel of the format used by the surface, and
can be generated by the SDL_MapRGB() function.
\return 0 on success, or -1 on error.</pre>
</dd>
<a id="fillRects,ptr.Surface,ptr.Rect,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillRects%2Cptr.Surface%2Cptr.Rect%2Ccint%2CUint32"><span class="Identifier">fillRects</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FillRects&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="upperBlit,ptr.Surface,ptr.Rect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#upperBlit%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">upperBlit</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpperBlit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This is the public blit function, SDL_BlitSurface(), and it performs
rectangle validation and clipping before passing it to SDL_LowerBlit()</pre>
</dd>
<a id="lowerBlit,ptr.Surface,ptr.Rect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lowerBlit%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">lowerBlit</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LowerBlit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This is a semi-private blit function and it performs low-level surface
blitting only.</pre>
</dd>
<a id="softStretch,ptr.Surface,ptr.Rect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#softStretch%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">softStretch</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SoftStretch&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Perform a fast, low quality, stretch blit between two surfaces of the
same pixel format.
\note This function uses a static buffer, and is not thread-safe.</pre>
</dd>
<a id="upperBlitScaled,ptr.Surface,ptr.Rect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#upperBlitScaled%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">upperBlitScaled</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpperBlitScaled&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This is the public scaled blit function, SDL_BlitScaled(), and it performs
rectangle validation and clipping before passing it to SDL_LowerBlitScaled()</pre>
</dd>
<a id="lowerBlitScaled,ptr.Surface,ptr.Rect,ptr.Surface,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lowerBlitScaled%2Cptr.Surface%2Cptr.Rect%2Cptr.Surface%2Cptr.Rect"><span class="Identifier">lowerBlitScaled</span></a><span class="Other">(</span><span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LowerBlitScaled&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This is a semi-private blit function and it performs low-level surface
scaled blitting only.</pre>
</dd>
<a id="setYUVConversionMode,YUV_CONVERSION_MODE"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setYUVConversionMode%2CYUV_CONVERSION_MODE"><span class="Identifier">setYUVConversionMode</span></a><span class="Other">(</span><span class="Identifier">mode</span><span class="Other">:</span> <a href="sdl2.html#YUV_CONVERSION_MODE"><span class="Identifier">YUV_CONVERSION_MODE</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetYUVConversionMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the YUV conversion mode</pre>
</dd>
<a id="getYUVConversionMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getYUVConversionMode"><span class="Identifier">getYUVConversionMode</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#YUV_CONVERSION_MODE"><span class="Identifier">YUV_CONVERSION_MODE</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetYUVConversionMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the YUV conversion mode</pre>
</dd>
<a id="getYUVConversionModeForResolution,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getYUVConversionModeForResolution%2Ccint%2Ccint"><span class="Identifier">getYUVConversionModeForResolution</span></a><span class="Other">(</span><span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#YUV_CONVERSION_MODE"><span class="Identifier">YUV_CONVERSION_MODE</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetYUVConversionModeForResolution&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the YUV conversion mode, returning the correct mode for the resolution when the current conversion mode is SDL_YUV_CONVERSION_AUTOMATIC</pre>
</dd>
<a id="getNumVideoDrivers"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumVideoDrivers"><span class="Identifier">getNumVideoDrivers</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumVideoDrivers&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Get the number of video drivers compiled into SDL
\sa SDL_GetVideoDriver()</pre>
</dd>
<a id="getVideoDriver,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getVideoDriver%2Ccint"><span class="Identifier">getVideoDriver</span></a><span class="Other">(</span><span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetVideoDriver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the name of a built in video driver.
\note The video drivers are presented in the order in which they are
normally checked during initialization.
\sa SDL_GetNumVideoDrivers()</pre>
</dd>
<a id="videoInit,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#videoInit%2Ccstring"><span class="Identifier">videoInit</span></a><span class="Other">(</span><span class="Identifier">driverName</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_VideoInit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Initialize the video subsystem, optionally specifying a video driver.
\param driver_name Initialize a specific driver by name, or NULL for the
default video driver.
\return 0 on success, -1 on error
This function initializes the video subsystem; setting up a connection
to the window manager, etc, and determines the available display modes
and pixel formats, but does not initialize a window or graphics mode.
\sa SDL_VideoQuit()</pre>
</dd>
<a id="videoQuit"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#videoQuit"><span class="Identifier">videoQuit</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_VideoQuit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Shuts down the video subsystem.
This function closes all windows, and restores the original video mode.
\sa SDL_VideoInit()</pre>
</dd>
<a id="getCurrentVideoDriver"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCurrentVideoDriver"><span class="Identifier">getCurrentVideoDriver</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCurrentVideoDriver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns the name of the currently initialized video driver.
\return The name of the current video driver or NULL if no driver
has been initialized
\sa SDL_GetNumVideoDrivers()
\sa SDL_GetVideoDriver()</pre>
</dd>
<a id="getNumVideoDisplays"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumVideoDisplays"><span class="Identifier">getNumVideoDisplays</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumVideoDisplays&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns the number of available video displays.
\sa SDL_GetDisplayBounds()</pre>
</dd>
<a id="getDisplayName,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayName%2Ccint"><span class="Identifier">getDisplayName</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayName&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the name of a display in UTF-8 encoding
\return The name of a display, or NULL for an invalid display index.
\sa SDL_GetNumVideoDisplays()</pre>
</dd>
<a id="getDisplayBounds,cint,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayBounds%2Ccint%2Cptr.Rect"><span class="Identifier">getDisplayBounds</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayBounds&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the desktop area represented by a display, with the primary
display located at 0,0
\return 0 on success, or -1 if the index is out of range.
\sa SDL_GetNumVideoDisplays()</pre>
</dd>
<a id="getDisplayUsableBounds,cint,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayUsableBounds%2Ccint%2Cptr.Rect"><span class="Identifier">getDisplayUsableBounds</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayUsableBounds&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the usable desktop area represented by a display, with the
primary display located at 0,0
This is the same area as SDL_GetDisplayBounds() reports, but with portions
reserved by the system removed. For example, on Mac OS X, this subtracts
the area occupied by the menu bar and dock.
Setting a window to be fullscreen generally bypasses these unusable areas,
so these are good guidelines for the maximum space available to a
non-fullscreen window.
\return 0 on success, or -1 if the index is out of range.
\sa SDL_GetDisplayBounds()
\sa SDL_GetNumVideoDisplays()</pre>
</dd>
<a id="getDisplayDPI,cint,ptr.cfloat,ptr.cfloat,ptr.cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayDPI%2Ccint%2Cptr.cfloat%2Cptr.cfloat%2Cptr.cfloat"><span class="Identifier">getDisplayDPI</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">ddpi</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">hdpi</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">;</span>
<span class="Identifier">vdpi</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayDPI&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the dots/pixels-per-inch for a display
\note Diagonal, horizontal and vertical DPI can all be optionally
returned if the parameter is non-NULL.
\return 0 on success, or -1 if no DPI information is available or the index is out of range.
\sa SDL_GetNumVideoDisplays()</pre>
</dd>
<a id="getDisplayOrientation,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayOrientation%2Ccint"><span class="Identifier">getDisplayOrientation</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#DisplayOrientation"><span class="Identifier">DisplayOrientation</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayOrientation&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the orientation of a display
\return The orientation of the display, or SDL_ORIENTATION_UNKNOWN if it isn't available.
\sa SDL_GetNumVideoDisplays()</pre>
</dd>
<a id="getNumDisplayModes,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumDisplayModes%2Ccint"><span class="Identifier">getNumDisplayModes</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumDisplayModes&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns the number of available display modes.
\sa SDL_GetDisplayMode()</pre>
</dd>
<a id="getDisplayMode,cint,cint,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDisplayMode%2Ccint%2Ccint%2Cptr.DisplayMode"><span class="Identifier">getDisplayMode</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">modeIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill in information about a specific display mode.
\note The display modes are sorted in this priority:
\li bits per pixel -&gt; more colors to fewer colors
\li width -&gt; largest to smallest
\li height -&gt; largest to smallest
\li refresh rate -&gt; highest to lowest
\sa SDL_GetNumDisplayModes()</pre>
</dd>
<a id="getDesktopDisplayMode,cint,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDesktopDisplayMode%2Ccint%2Cptr.DisplayMode"><span class="Identifier">getDesktopDisplayMode</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDesktopDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill in information about the desktop display mode.</pre>
</dd>
<a id="getCurrentDisplayMode,cint,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCurrentDisplayMode%2Ccint%2Cptr.DisplayMode"><span class="Identifier">getCurrentDisplayMode</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCurrentDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill in information about the current display mode.</pre>
</dd>
<a id="getClosestDisplayMode,cint,ptr.DisplayMode,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getClosestDisplayMode%2Ccint%2Cptr.DisplayMode%2Cptr.DisplayMode"><span class="Identifier">getClosestDisplayMode</span></a><span class="Other">(</span><span class="Identifier">displayIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">;</span>
<span class="Identifier">closest</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetClosestDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the closest match to the requested display mode.
\param displayIndex The index of display from which mode should be queried.
\param mode The desired display mode
\param closest A pointer to a display mode to be filled in with the closest
match of the available display modes.
\return The passed in value \c closest, or NULL if no matching video mode
was available.
The available display modes are scanned, and \c closest is filled in with the
closest mode matching the requested mode and returned. The mode format and
refresh_rate default to the desktop mode if they are 0. The modes are
scanned with size being first priority, format being second priority, and
finally checking the refresh_rate. If all the available modes are too
small, then NULL is returned.
\sa SDL_GetNumDisplayModes()
\sa SDL_GetDisplayMode()</pre>
</dd>
<a id="getWindowDisplayIndex,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowDisplayIndex%2Cptr.Window"><span class="Identifier">getWindowDisplayIndex</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowDisplayIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the display index associated with a window.
\return the display index of the display containing the center of the
window, or -1 on error.</pre>
</dd>
<a id="setWindowDisplayMode,ptr.Window,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowDisplayMode%2Cptr.Window%2Cptr.DisplayMode"><span class="Identifier">setWindowDisplayMode</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the display mode used when a fullscreen window is visible.
By default the window's dimensions and the desktop format and refresh rate
are used.
\param window The window for which the display mode should be set.
\param mode The mode to use, or NULL for the default mode.
\return 0 on success, or -1 if setting the display mode failed.
\sa SDL_GetWindowDisplayMode()
\sa SDL_SetWindowFullscreen()</pre>
</dd>
<a id="getWindowDisplayMode,ptr.Window,ptr.DisplayMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowDisplayMode%2Cptr.Window%2Cptr.DisplayMode"><span class="Identifier">getWindowDisplayMode</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">mode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#DisplayMode"><span class="Identifier">DisplayMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowDisplayMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill in information about the display mode used when a fullscreen
window is visible.
\sa SDL_SetWindowDisplayMode()
\sa SDL_SetWindowFullscreen()</pre>
</dd>
<a id="getWindowPixelFormat,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowPixelFormat%2Cptr.Window"><span class="Identifier">getWindowPixelFormat</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowPixelFormat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the pixel format associated with the window.</pre>
</dd>
<a id="createWindow,cstring,cint,cint,cint,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createWindow%2Ccstring%2Ccint%2Ccint%2Ccint%2Ccint%2CUint32"><span class="Identifier">createWindow</span></a><span class="Other">(</span><span class="Identifier">title</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a window with the specified position, dimensions, and flags.
\param title The title of the window, in UTF-8 encoding.
\param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or
::SDL_WINDOWPOS_UNDEFINED.
\param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or
::SDL_WINDOWPOS_UNDEFINED.
\param w The width of the window, in screen coordinates.
\param h The height of the window, in screen coordinates.
\param flags The flags for the window, a mask of any of the following:
::SDL_WINDOW_FULLSCREEN, ::SDL_WINDOW_OPENGL,
::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS,
::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED,
::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED,
::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN.
\return The created window, or NULL if window creation failed.
If the window is created with the SDL_WINDOW_ALLOW_HIGHDPI flag, its size
in pixels may differ from its size in screen coordinates on platforms with
high-DPI support (e.g. iOS and Mac OS X). Use SDL_GetWindowSize() to query
the client area's size in screen coordinates, and SDL_GL_GetDrawableSize(),
SDL_Vulkan_GetDrawableSize(), or SDL_GetRendererOutputSize() to query the
drawable size in pixels.
If the window is created with any of the SDL_WINDOW_OPENGL or
SDL_WINDOW_VULKAN flags, then the corresponding LoadLibrary function
(SDL_GL_LoadLibrary or SDL_Vulkan_LoadLibrary) is called and the
corresponding UnloadLibrary function is called by SDL_DestroyWindow().
If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver,
SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail.
\note On non-Apple devices, SDL requires you to either not link to the
Vulkan loader or link to a dynamic library version. This limitation
may be removed in a future version of SDL.
\sa SDL_DestroyWindow()
\sa SDL_GL_LoadLibrary()
\sa SDL_Vulkan_LoadLibrary()</pre>
</dd>
<a id="createWindowFrom,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createWindowFrom%2Cpointer"><span class="Identifier">createWindowFrom</span></a><span class="Other">(</span><span class="Identifier">data</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateWindowFrom&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create an SDL window from an existing native window.
\param data A pointer to driver-dependent window creation data
\return The created window, or NULL if window creation failed.
\sa SDL_DestroyWindow()</pre>
</dd>
<a id="getWindowID,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowID%2Cptr.Window"><span class="Identifier">getWindowID</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the numeric ID of a window, for logging purposes.</pre>
</dd>
<a id="getWindowFromID,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowFromID%2CUint32"><span class="Identifier">getWindowFromID</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowFromID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a window from a stored ID, or NULL if it doesn't exist.</pre>
</dd>
<a id="getWindowFlags,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowFlags%2Cptr.Window"><span class="Identifier">getWindowFlags</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowFlags&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the window flags.</pre>
</dd>
<a id="setWindowTitle,ptr.Window,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowTitle%2Cptr.Window%2Ccstring"><span class="Identifier">setWindowTitle</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">title</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowTitle&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the title of a window, in UTF-8 format.
\sa SDL_GetWindowTitle()</pre>
</dd>
<a id="getWindowTitle,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowTitle%2Cptr.Window"><span class="Identifier">getWindowTitle</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowTitle&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the title of a window, in UTF-8 format.
\sa SDL_SetWindowTitle()</pre>
</dd>
<a id="setWindowIcon,ptr.Window,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowIcon%2Cptr.Window%2Cptr.Surface"><span class="Identifier">setWindowIcon</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">icon</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowIcon&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the icon for a window.
\param window The window for which the icon should be set.
\param icon The icon for the window.</pre>
</dd>
<a id="setWindowData,ptr.Window,cstring,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowData%2Cptr.Window%2Ccstring%2Cpointer"><span class="Identifier">setWindowData</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowData&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Associate an arbitrary named pointer with a window.
\param window The window to associate with the pointer.
\param name The name of the pointer.
\param userdata The associated pointer.
\return The previous value associated with 'name'
\note The name is case-sensitive.
\sa SDL_GetWindowData()</pre>
</dd>
<a id="getWindowData,ptr.Window,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowData%2Cptr.Window%2Ccstring"><span class="Identifier">getWindowData</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowData&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Retrieve the data pointer associated with a window.
\param window The window to query.
\param name The name of the pointer.
\return The value associated with 'name'
\sa SDL_SetWindowData()</pre>
</dd>
<a id="setWindowPosition,ptr.Window,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowPosition%2Cptr.Window%2Ccint%2Ccint"><span class="Identifier">setWindowPosition</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowPosition&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the position of a window.
\param window The window to reposition.
\param x The x coordinate of the window in screen coordinates, or
::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED.
\param y The y coordinate of the window in screen coordinates, or
::SDL_WINDOWPOS_CENTERED or ::SDL_WINDOWPOS_UNDEFINED.
\note The window coordinate origin is the upper left of the display.
\sa SDL_GetWindowPosition()</pre>
</dd>
<a id="getWindowPosition,ptr.Window,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowPosition%2Cptr.Window%2Cptr.cint%2Cptr.cint"><span class="Identifier">getWindowPosition</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowPosition&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the position of a window.
\param window The window to query.
\param x Pointer to variable for storing the x position, in screen
coordinates. May be NULL.
\param y Pointer to variable for storing the y position, in screen
coordinates. May be NULL.
\sa SDL_SetWindowPosition()</pre>
</dd>
<a id="setWindowSize,ptr.Window,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowSize%2Cptr.Window%2Ccint%2Ccint"><span class="Identifier">setWindowSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowSize&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the size of a window's client area.
\param window The window to resize.
\param w The width of the window, in screen coordinates. Must be &gt;0.
\param h The height of the window, in screen coordinates. Must be &gt;0.
\note Fullscreen windows automatically match the size of the display mode,
and you should use SDL_SetWindowDisplayMode() to change their size.
The window size in screen coordinates may differ from the size in pixels, if
the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with
high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or
SDL_GetRendererOutputSize() to get the real client area size in pixels.
\sa SDL_GetWindowSize()
\sa SDL_SetWindowDisplayMode()</pre>
</dd>
<a id="getWindowSize,ptr.Window,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"><span class="Identifier">getWindowSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the size of a window's client area.
\param window The window to query.
\param w Pointer to variable for storing the width, in screen
coordinates. May be NULL.
\param h Pointer to variable for storing the height, in screen
coordinates. May be NULL.
The window size in screen coordinates may differ from the size in pixels, if
the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a platform with
high-dpi support (e.g. iOS or OS X). Use SDL_GL_GetDrawableSize() or
SDL_GetRendererOutputSize() to get the real client area size in pixels.
\sa SDL_SetWindowSize()</pre>
</dd>
<a id="getWindowBordersSize,ptr.Window,ptr.cint,ptr.cint,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowBordersSize%2Cptr.Window%2Cptr.cint%2Cptr.cint%2Cptr.cint%2Cptr.cint"><span class="Identifier">getWindowBordersSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">top</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">left</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">bottom</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">right</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowBordersSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the size of a window's borders (decorations) around the client area.
\param window The window to query.
\param top Pointer to variable for storing the size of the top border. NULL is permitted.
\param left Pointer to variable for storing the size of the left border. NULL is permitted.
\param bottom Pointer to variable for storing the size of the bottom border. NULL is permitted.
\param right Pointer to variable for storing the size of the right border. NULL is permitted.
\return 0 on success, or -1 if getting this information is not supported.
\note if this function fails (returns -1), the size values will be
initialized to 0, 0, 0, 0 (if a non-NULL pointer is provided), as
if the window in question was borderless.</pre>
</dd>
<a id="setWindowMinimumSize,ptr.Window,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowMinimumSize%2Cptr.Window%2Ccint%2Ccint"><span class="Identifier">setWindowMinimumSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">minW</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">minH</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowMinimumSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the minimum size of a window's client area.
\param window The window to set a new minimum size.
\param min_w The minimum width of the window, must be &gt;0
\param min_h The minimum height of the window, must be &gt;0
\note You can't change the minimum size of a fullscreen window, it
automatically matches the size of the display mode.
\sa SDL_GetWindowMinimumSize()
\sa SDL_SetWindowMaximumSize()</pre>
</dd>
<a id="getWindowMinimumSize,ptr.Window,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowMinimumSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"><span class="Identifier">getWindowMinimumSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowMinimumSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the minimum size of a window's client area.
\param window The window to query.
\param w Pointer to variable for storing the minimum width, may be NULL
\param h Pointer to variable for storing the minimum height, may be NULL
\sa SDL_GetWindowMaximumSize()
\sa SDL_SetWindowMinimumSize()</pre>
</dd>
<a id="setWindowMaximumSize,ptr.Window,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowMaximumSize%2Cptr.Window%2Ccint%2Ccint"><span class="Identifier">setWindowMaximumSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">maxW</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">maxH</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowMaximumSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the maximum size of a window's client area.
\param window The window to set a new maximum size.
\param max_w The maximum width of the window, must be &gt;0
\param max_h The maximum height of the window, must be &gt;0
\note You can't change the maximum size of a fullscreen window, it
automatically matches the size of the display mode.
\sa SDL_GetWindowMaximumSize()
\sa SDL_SetWindowMinimumSize()</pre>
</dd>
<a id="getWindowMaximumSize,ptr.Window,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowMaximumSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"><span class="Identifier">getWindowMaximumSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowMaximumSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the maximum size of a window's client area.
\param window The window to query.
\param w Pointer to variable for storing the maximum width, may be NULL
\param h Pointer to variable for storing the maximum height, may be NULL
\sa SDL_GetWindowMinimumSize()
\sa SDL_SetWindowMaximumSize()</pre>
</dd>
<a id="setWindowBordered,ptr.Window,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowBordered%2Cptr.Window%2Cbool"><span class="Identifier">setWindowBordered</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">bordered</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowBordered&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the border state of a window.
This will add or remove the window's SDL_WINDOW_BORDERLESS flag and
add or remove the border from the actual window. This is a no-op if the
window's border already matches the requested state.
\param window The window of which to change the border state.
\param bordered SDL_FALSE to remove border, SDL_TRUE to add border.
\note You can't change the border state of a fullscreen window.
\sa SDL_GetWindowFlags()</pre>
</dd>
<a id="setWindowResizable,ptr.Window,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowResizable%2Cptr.Window%2Cbool"><span class="Identifier">setWindowResizable</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">resizable</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowResizable&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the user-resizable state of a window.
This will add or remove the window's SDL_WINDOW_RESIZABLE flag and
allow/disallow user resizing of the window. This is a no-op if the
window's resizable state already matches the requested state.
\param window The window of which to change the resizable state.
\param resizable SDL_TRUE to allow resizing, SDL_FALSE to disallow.
\note You can't change the resizable state of a fullscreen window.
\sa SDL_GetWindowFlags()</pre>
</dd>
<a id="showWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#showWindow%2Cptr.Window"><span class="Identifier">showWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ShowWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Show a window.
\sa SDL_HideWindow()</pre>
</dd>
<a id="hideWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hideWindow%2Cptr.Window"><span class="Identifier">hideWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HideWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Hide a window.
\sa SDL_ShowWindow()</pre>
</dd>
<a id="raiseWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#raiseWindow%2Cptr.Window"><span class="Identifier">raiseWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RaiseWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Raise a window above other windows and set the input focus.</pre>
</dd>
<a id="maximizeWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#maximizeWindow%2Cptr.Window"><span class="Identifier">maximizeWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MaximizeWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Make a window as large as possible.
\sa SDL_RestoreWindow()</pre>
</dd>
<a id="minimizeWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#minimizeWindow%2Cptr.Window"><span class="Identifier">minimizeWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MinimizeWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Minimize a window to an iconic representation.
\sa SDL_RestoreWindow()</pre>
</dd>
<a id="restoreWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#restoreWindow%2Cptr.Window"><span class="Identifier">restoreWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RestoreWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Restore the size and position of a minimized or maximized window.
\sa SDL_MaximizeWindow()
\sa SDL_MinimizeWindow()</pre>
</dd>
<a id="setWindowFullscreen,ptr.Window,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowFullscreen%2Cptr.Window%2CUint32"><span class="Identifier">setWindowFullscreen</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowFullscreen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a window's fullscreen state.
\return 0 on success, or -1 if setting the display mode failed.
\sa SDL_SetWindowDisplayMode()
\sa SDL_GetWindowDisplayMode()</pre>
</dd>
<a id="getWindowSurface,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowSurface%2Cptr.Window"><span class="Identifier">getWindowSurface</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the SDL surface associated with the window.
\return The window's framebuffer surface, or NULL on error.
A new surface will be created with the optimal format for the window,
if necessary. This surface will be freed when the window is destroyed.
\note You may not combine this with 3D or the rendering API on this window.
\sa SDL_UpdateWindowSurface()
\sa SDL_UpdateWindowSurfaceRects()</pre>
</dd>
<a id="updateWindowSurface,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#updateWindowSurface%2Cptr.Window"><span class="Identifier">updateWindowSurface</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpdateWindowSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy the window surface to the screen.
\return 0 on success, or -1 on error.
\sa SDL_GetWindowSurface()
\sa SDL_UpdateWindowSurfaceRects()</pre>
</dd>
<a id="updateWindowSurfaceRects,ptr.Window,ptr.Rect,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#updateWindowSurfaceRects%2Cptr.Window%2Cptr.Rect%2Ccint"><span class="Identifier">updateWindowSurfaceRects</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">numrects</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpdateWindowSurfaceRects&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a number of rectangles on the window surface to the screen.
\return 0 on success, or -1 on error.
\sa SDL_GetWindowSurface()
\sa SDL_UpdateWindowSurface()</pre>
</dd>
<a id="setWindowGrab,ptr.Window,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowGrab%2Cptr.Window%2Cbool"><span class="Identifier">setWindowGrab</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">grabbed</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowGrab&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a window's input grab mode.
\param window The window for which the input grab mode should be set.
\param grabbed This is SDL_TRUE to grab input, and SDL_FALSE to release input.
If the caller enables a grab while another window is currently grabbed,
the other window loses its grab in favor of the caller's window.
\sa SDL_GetWindowGrab()</pre>
</dd>
<a id="getWindowGrab,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowGrab%2Cptr.Window"><span class="Identifier">getWindowGrab</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowGrab&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a window's input grab mode.
\return This returns SDL_TRUE if input is grabbed, and SDL_FALSE otherwise.
\sa SDL_SetWindowGrab()</pre>
</dd>
<a id="getGrabbedWindow"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getGrabbedWindow"><span class="Identifier">getGrabbedWindow</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetGrabbedWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the window that currently has an input grab enabled.
\return This returns the window if input is grabbed, and NULL otherwise.
\sa SDL_SetWindowGrab()</pre>
</dd>
<a id="setWindowBrightness,ptr.Window,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowBrightness%2Cptr.Window%2Ccfloat"><span class="Identifier">setWindowBrightness</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">brightness</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowBrightness&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the brightness (gamma correction) for a window.
\return 0 on success, or -1 if setting the brightness isn't supported.
\sa SDL_GetWindowBrightness()
\sa SDL_SetWindowGammaRamp()</pre>
</dd>
<a id="getWindowBrightness,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowBrightness%2Cptr.Window"><span class="Identifier">getWindowBrightness</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cfloat</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowBrightness&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the brightness (gamma correction) for a window.
\return The last brightness value passed to SDL_SetWindowBrightness()
\sa SDL_SetWindowBrightness()</pre>
</dd>
<a id="setWindowOpacity,ptr.Window,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowOpacity%2Cptr.Window%2Ccfloat"><span class="Identifier">setWindowOpacity</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">opacity</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowOpacity&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the opacity for a window
\param window The window which will be made transparent or opaque
\param opacity Opacity (0.0f - transparent, 1.0f - opaque) This will be
clamped internally between 0.0f and 1.0f.
\return 0 on success, or -1 if setting the opacity isn't supported.
\sa SDL_GetWindowOpacity()</pre>
</dd>
<a id="getWindowOpacity,ptr.Window,ptr.cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowOpacity%2Cptr.Window%2Cptr.cfloat"><span class="Identifier">getWindowOpacity</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">outOpacity</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowOpacity&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the opacity of a window.
If transparency isn't supported on this platform, opacity will be reported
as 1.0f without error.
\param window The window in question.
\param out_opacity Opacity (0.0f - transparent, 1.0f - opaque)
\return 0 on success, or -1 on error (invalid window, etc).
\sa SDL_SetWindowOpacity()</pre>
</dd>
<a id="setWindowModalFor,ptr.Window,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowModalFor%2Cptr.Window%2Cptr.Window"><span class="Identifier">setWindowModalFor</span></a><span class="Other">(</span><span class="Identifier">modalWindow</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">parentWindow</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowModalFor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets the window as a modal for another window (TODO: reconsider this function and/or its name)
\param modal_window The window that should be modal
\param parent_window The parent window
\return 0 on success, or -1 otherwise.</pre>
</dd>
<a id="setWindowInputFocus,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowInputFocus%2Cptr.Window"><span class="Identifier">setWindowInputFocus</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowInputFocus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Explicitly sets input focus to the window.
You almost certainly want SDL_RaiseWindow() instead of this function. Use
this with caution, as you might give focus to a window that's completely
obscured by other windows.
\param window The window that should get the input focus
\return 0 on success, or -1 otherwise.
\sa SDL_RaiseWindow()</pre>
</dd>
<a id="setWindowGammaRamp,ptr.Window,ptr.Uint16,ptr.Uint16,ptr.Uint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowGammaRamp%2Cptr.Window%2Cptr.Uint16%2Cptr.Uint16%2Cptr.Uint16"><span class="Identifier">setWindowGammaRamp</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">red</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span> <span class="Identifier">green</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span>
<span class="Identifier">blue</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowGammaRamp&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the gamma ramp for a window.
\param window The window for which the gamma ramp should be set.
\param red The translation table for the red channel, or NULL.
\param green The translation table for the green channel, or NULL.
\param blue The translation table for the blue channel, or NULL.
\return 0 on success, or -1 if gamma ramps are unsupported.
Set the gamma translation table for the red, green, and blue channels
of the video hardware. Each table is an array of 256 16-bit quantities,
representing a mapping between the input and output for that channel.
The input is the index into the array, and the output is the 16-bit
gamma value at that index, scaled to the output color precision.
\sa SDL_GetWindowGammaRamp()</pre>
</dd>
<a id="getWindowGammaRamp,ptr.Window,ptr.Uint16,ptr.Uint16,ptr.Uint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getWindowGammaRamp%2Cptr.Window%2Cptr.Uint16%2Cptr.Uint16%2Cptr.Uint16"><span class="Identifier">getWindowGammaRamp</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">red</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span> <span class="Identifier">green</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span>
<span class="Identifier">blue</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetWindowGammaRamp&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the gamma ramp for a window.
\param window The window from which the gamma ramp should be queried.
\param red A pointer to a 256 element array of 16-bit quantities to hold
the translation table for the red channel, or NULL.
\param green A pointer to a 256 element array of 16-bit quantities to hold
the translation table for the green channel, or NULL.
\param blue A pointer to a 256 element array of 16-bit quantities to hold
the translation table for the blue channel, or NULL.
\return 0 on success, or -1 if gamma ramps are unsupported.
\sa SDL_SetWindowGammaRamp()</pre>
</dd>
<a id="setWindowHitTest,ptr.Window,HitTest,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowHitTest%2Cptr.Window%2CHitTest%2Cpointer"><span class="Identifier">setWindowHitTest</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">callback</span><span class="Other">:</span> <a href="sdl2.html#HitTest"><span class="Identifier">HitTest</span></a><span class="Other">;</span> <span class="Identifier">callbackData</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowHitTest&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Provide a callback that decides if a window region has special properties.
Normally windows are dragged and resized by decorations provided by the
system window manager (a title bar, borders, etc), but for some apps, it
makes sense to drag them from somewhere else inside the window itself; for
example, one might have a borderless window that wants to be draggable
from any part, or simulate its own title bar, etc.
This function lets the app provide a callback that designates pieces of
a given window as special. This callback is run during event processing
if we need to tell the OS to treat a region of the window specially; the
use of this callback is known as &quot;hit testing.&quot;
Mouse input may not be delivered to your application if it is within
a special area; the OS will often apply that input to moving the window or
resizing the window and not deliver it to the application.
Specifying NULL for a callback disables hit-testing. Hit-testing is
disabled by default.
Platforms that don't support this functionality will return -1
unconditionally, even if you're attempting to disable hit-testing.
Your callback may fire at any time, and its firing does not indicate any
specific behavior (for example, on Windows, this certainly might fire
when the OS is deciding whether to drag your window, but it fires for lots
of other reasons, too, some unrelated to anything you probably care about
_and when the mouse isn't actually at the location it is testing_).
Since this can fire at any time, you should try to keep your callback
efficient, devoid of allocations, etc.
\param window The window to set hit-testing on.
\param callback The callback to call when doing a hit-test.
\param callback_data An app-defined void pointer passed to the callback.
\return 0 on success, -1 on error (including unsupported).</pre>
</dd>
<a id="destroyWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroyWindow%2Cptr.Window"><span class="Identifier">destroyWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroyWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Destroy a window.</pre>
</dd>
<a id="isScreenSaverEnabled"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isScreenSaverEnabled"><span class="Identifier">isScreenSaverEnabled</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsScreenSaverEnabled&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns whether the screensaver is currently enabled (default off).
\sa SDL_EnableScreenSaver()
\sa SDL_DisableScreenSaver()</pre>
</dd>
<a id="enableScreenSaver"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#enableScreenSaver"><span class="Identifier">enableScreenSaver</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_EnableScreenSaver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Allow the screen to be blanked by a screensaver
\sa SDL_IsScreenSaverEnabled()
\sa SDL_DisableScreenSaver()</pre>
</dd>
<a id="disableScreenSaver"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#disableScreenSaver"><span class="Identifier">disableScreenSaver</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DisableScreenSaver&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Prevent the screen from being blanked by a screensaver
\sa SDL_IsScreenSaverEnabled()
\sa SDL_EnableScreenSaver()</pre>
</dd>
<a id="gL_LoadLibrary,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_LoadLibrary%2Ccstring"><span class="Identifier">gL_LoadLibrary</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_LoadLibrary&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\name OpenGL support functions
@{
\brief Dynamically load an OpenGL library.
\param path The platform dependent OpenGL library name, or NULL to open the
default OpenGL library.
\return 0 on success, or -1 if the library couldn't be loaded.
This should be done after initializing the video driver, but before
creating any OpenGL windows. If no OpenGL library is loaded, the default
library will be loaded upon creation of the first OpenGL window.
\note If you do this, you need to retrieve all of the GL functions used in
your program from the dynamic library using SDL_GL_GetProcAddress().
\sa SDL_GL_GetProcAddress()
\sa SDL_GL_UnloadLibrary()</pre>
</dd>
<a id="gL_GetProcAddress,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetProcAddress%2Ccstring"><span class="Identifier">gL_GetProcAddress</span></a><span class="Other">(</span><span class="Other">`</span><span class="Keyword">proc</span><span class="Other">`</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetProcAddress&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the address of an OpenGL function.</pre>
</dd>
<a id="gL_UnloadLibrary"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_UnloadLibrary"><span class="Identifier">gL_UnloadLibrary</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_UnloadLibrary&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().
\sa SDL_GL_LoadLibrary()</pre>
</dd>
<a id="gL_ExtensionSupported,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_ExtensionSupported%2Ccstring"><span class="Identifier">gL_ExtensionSupported</span></a><span class="Other">(</span><span class="Identifier">extension</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_ExtensionSupported&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Return true if an OpenGL extension is supported for the current
context.</pre>
</dd>
<a id="gL_ResetAttributes"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_ResetAttributes"><span class="Identifier">gL_ResetAttributes</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_ResetAttributes&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Reset all previously set OpenGL context attributes to their default values</pre>
</dd>
<a id="gL_SetAttribute,GLattr,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_SetAttribute%2CGLattr%2Ccint"><span class="Identifier">gL_SetAttribute</span></a><span class="Other">(</span><span class="Identifier">attr</span><span class="Other">:</span> <a href="sdl2.html#GLattr"><span class="Identifier">GLattr</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_SetAttribute&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an OpenGL window attribute before window creation.
\return 0 on success, or -1 if the attribute could not be set.</pre>
</dd>
<a id="gL_GetAttribute,GLattr,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetAttribute%2CGLattr%2Cptr.cint"><span class="Identifier">gL_GetAttribute</span></a><span class="Other">(</span><span class="Identifier">attr</span><span class="Other">:</span> <a href="sdl2.html#GLattr"><span class="Identifier">GLattr</span></a><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetAttribute&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the actual value for an attribute from the current context.
\return 0 on success, or -1 if the attribute could not be retrieved.
The integer at \c value will be modified in either case.</pre>
</dd>
<a id="gL_CreateContext,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_CreateContext%2Cptr.Window"><span class="Identifier">gL_CreateContext</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GLContext"><span class="Identifier">GLContext</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_CreateContext&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create an OpenGL context for use with an OpenGL window, and make it
current.
\sa SDL_GL_DeleteContext()</pre>
</dd>
<a id="gL_MakeCurrent,ptr.Window,GLContext"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_MakeCurrent%2Cptr.Window%2CGLContext"><span class="Identifier">gL_MakeCurrent</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">context</span><span class="Other">:</span> <a href="sdl2.html#GLContext"><span class="Identifier">GLContext</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_MakeCurrent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set up an OpenGL context for rendering into an OpenGL window.
\note The context must have been created with a compatible window.</pre>
</dd>
<a id="gL_GetCurrentWindow"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetCurrentWindow"><span class="Identifier">gL_GetCurrentWindow</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetCurrentWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the currently active OpenGL window.</pre>
</dd>
<a id="gL_GetCurrentContext"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetCurrentContext"><span class="Identifier">gL_GetCurrentContext</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GLContext"><span class="Identifier">GLContext</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetCurrentContext&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the currently active OpenGL context.</pre>
</dd>
<a id="gL_GetDrawableSize,ptr.Window,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetDrawableSize%2Cptr.Window%2Cptr.cint%2Cptr.cint"><span class="Identifier">gL_GetDrawableSize</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetDrawableSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the size of a window's underlying drawable in pixels (for use
with glViewport).
\param window Window from which the drawable size should be queried
\param w Pointer to variable for storing the width in pixels, may be NULL
\param h Pointer to variable for storing the height in pixels, may be NULL
This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI
drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a
platform with high-DPI support (Apple calls this &quot;Retina&quot;), and not disabled
by the SDL_HINT_VIDEO_HIGHDPI_DISABLED hint.
\sa SDL_GetWindowSize()
\sa SDL_CreateWindow()</pre>
</dd>
<a id="gL_SetSwapInterval,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_SetSwapInterval%2Ccint"><span class="Identifier">gL_SetSwapInterval</span></a><span class="Other">(</span><span class="Identifier">interval</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_SetSwapInterval&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the swap interval for the current OpenGL context.
\param interval 0 for immediate updates, 1 for updates synchronized with the
vertical retrace. If the system supports it, you may
specify -1 to allow late swaps to happen immediately
instead of waiting for the next retrace.
\return 0 on success, or -1 if setting the swap interval is not supported.
\sa SDL_GL_GetSwapInterval()</pre>
</dd>
<a id="gL_GetSwapInterval"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_GetSwapInterval"><span class="Identifier">gL_GetSwapInterval</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_GetSwapInterval&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the swap interval for the current OpenGL context.
\return 0 if there is no vertical retrace synchronization, 1 if the buffer
swap is synchronized with the vertical retrace, and -1 if late
swaps happen immediately instead of waiting for the next retrace.
If the system can't determine the swap interval, or there isn't a
valid current context, this will return 0 as a safe default.
\sa SDL_GL_SetSwapInterval()</pre>
</dd>
<a id="gL_SwapWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_SwapWindow%2Cptr.Window"><span class="Identifier">gL_SwapWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_SwapWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Swap the OpenGL buffers for a window, if double-buffering is
supported.</pre>
</dd>
<a id="gL_DeleteContext,GLContext"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_DeleteContext%2CGLContext"><span class="Identifier">gL_DeleteContext</span></a><span class="Other">(</span><span class="Identifier">context</span><span class="Other">:</span> <a href="sdl2.html#GLContext"><span class="Identifier">GLContext</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_DeleteContext&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Delete an OpenGL context.
\sa SDL_GL_CreateContext()</pre>
</dd>
<a id="getKeyboardFocus"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyboardFocus"><span class="Identifier">getKeyboardFocus</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetKeyboardFocus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Get the window which currently has keyboard focus.</pre>
</dd>
<a id="getKeyboardState,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyboardState%2Cptr.cint"><span class="Identifier">getKeyboardState</span></a><span class="Other">(</span><span class="Identifier">numkeys</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetKeyboardState&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a snapshot of the current state of the keyboard.
\param numkeys if non-NULL, receives the length of the returned array.
\return An array of key states. Indexes into this array are obtained by using ::SDL_Scancode values.
\b Example:
\code
const Uint8state = SDL_GetKeyboardState(NULL);
if ( state[SDL_SCANCODE_RETURN] ) {
printf(&quot;&lt;RETURN&gt; is pressed.\n&quot;);
}
\endcode</pre>
</dd>
<a id="getModState"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getModState"><span class="Identifier">getModState</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Keymod"><span class="Identifier">Keymod</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetModState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current key modifier state for the keyboard.</pre>
</dd>
<a id="setModState,Keymod"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setModState%2CKeymod"><span class="Identifier">setModState</span></a><span class="Other">(</span><span class="Identifier">modstate</span><span class="Other">:</span> <a href="sdl2.html#Keymod"><span class="Identifier">Keymod</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetModState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the current key modifier state for the keyboard.
\note This does not change the keyboard state, only the key modifier flags.</pre>
</dd>
<a id="getKeyFromScancode,Scancode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyFromScancode%2CScancode"><span class="Identifier">getKeyFromScancode</span></a><span class="Other">(</span><span class="Identifier">scancode</span><span class="Other">:</span> <a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetKeyFromScancode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the key code corresponding to the given scancode according
to the current keyboard layout.
See ::SDL_Keycode for details.
\sa SDL_GetKeyName()</pre>
</dd>
<a id="getScancodeFromKey,Keycode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getScancodeFromKey%2CKeycode"><span class="Identifier">getScancodeFromKey</span></a><span class="Other">(</span><span class="Identifier">key</span><span class="Other">:</span> <a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetScancodeFromKey&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the scancode corresponding to the given key code according to the
current keyboard layout.
See ::SDL_Scancode for details.
\sa SDL_GetScancodeName()</pre>
</dd>
<a id="getScancodeName,Scancode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getScancodeName%2CScancode"><span class="Identifier">getScancodeName</span></a><span class="Other">(</span><span class="Identifier">scancode</span><span class="Other">:</span> <a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetScancodeName&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a human-readable name for a scancode.
\return A pointer to the name for the scancode.
If the scancode doesn't have a name, this function returns
an empty string (&quot;&quot;).
\sa SDL_Scancode</pre>
</dd>
<a id="getScancodeFromName,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getScancodeFromName%2Ccstring"><span class="Identifier">getScancodeFromName</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Scancode"><span class="Identifier">Scancode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetScancodeFromName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a scancode from a human-readable name
\return scancode, or SDL_SCANCODE_UNKNOWN if the name wasn't recognized
\sa SDL_Scancode</pre>
</dd>
<a id="getKeyName,Keycode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyName%2CKeycode"><span class="Identifier">getKeyName</span></a><span class="Other">(</span><span class="Identifier">key</span><span class="Other">:</span> <a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetKeyName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a human-readable name for a key.
\return A pointer to a UTF-8 string that stays valid at least until the next
call to this function. If you need it around any longer, you must
copy it. If the key doesn't have a name, this function returns an
empty string (&quot;&quot;).
\sa SDL_Keycode</pre>
</dd>
<a id="getKeyFromName,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getKeyFromName%2Ccstring"><span class="Identifier">getKeyFromName</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Keycode"><span class="Identifier">Keycode</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetKeyFromName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a key code from a human-readable name
\return key code, or SDLK_UNKNOWN if the name wasn't recognized
\sa SDL_Keycode</pre>
</dd>
<a id="startTextInput"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#startTextInput"><span class="Identifier">startTextInput</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_StartTextInput&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Start accepting Unicode text input events.
This function will show the on-screen keyboard if supported.
\sa SDL_StopTextInput()
\sa SDL_SetTextInputRect()
\sa SDL_HasScreenKeyboardSupport()</pre>
</dd>
<a id="isTextInputActive"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isTextInputActive"><span class="Identifier">isTextInputActive</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsTextInputActive&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Return whether or not Unicode text input events are enabled.
\sa SDL_StartTextInput()
\sa SDL_StopTextInput()</pre>
</dd>
<a id="stopTextInput"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#stopTextInput"><span class="Identifier">stopTextInput</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_StopTextInput&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Stop receiving any text input events.
This function will hide the on-screen keyboard if supported.
\sa SDL_StartTextInput()
\sa SDL_HasScreenKeyboardSupport()</pre>
</dd>
<a id="setTextInputRect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setTextInputRect%2Cptr.Rect"><span class="Identifier">setTextInputRect</span></a><span class="Other">(</span><span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetTextInputRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the rectangle used to type Unicode text inputs.
This is used as a hint for IME and on-screen keyboard placement.
\sa SDL_StartTextInput()</pre>
</dd>
<a id="hasScreenKeyboardSupport"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasScreenKeyboardSupport"><span class="Identifier">hasScreenKeyboardSupport</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasScreenKeyboardSupport&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns whether the platform has some screen keyboard support.
\return SDL_TRUE if some keyboard support is available else SDL_FALSE.
\note Not all screen keyboard functions are supported on all platforms.
\sa SDL_IsScreenKeyboardShown()</pre>
</dd>
<a id="isScreenKeyboardShown,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isScreenKeyboardShown%2Cptr.Window"><span class="Identifier">isScreenKeyboardShown</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsScreenKeyboardShown&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns whether the screen keyboard is shown for given window.
\param window The window for which screen keyboard should be queried.
\return SDL_TRUE if screen keyboard is shown else SDL_FALSE.
\sa SDL_HasScreenKeyboardSupport()</pre>
</dd>
<a id="getMouseFocus"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getMouseFocus"><span class="Identifier">getMouseFocus</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetMouseFocus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Get the window which currently has mouse focus.</pre>
</dd>
<a id="getMouseState,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getMouseState%2Cptr.cint%2Cptr.cint"><span class="Identifier">getMouseState</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetMouseState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Retrieve the current state of the mouse.
The current button state is returned as a button bitmask, which can
be tested using the SDL_BUTTON(X) macros, and x and y are set to the
mouse cursor position relative to the focus window for the currently
selected mouse. You can pass NULL for either x or y.</pre>
</dd>
<a id="getGlobalMouseState,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getGlobalMouseState%2Cptr.cint%2Cptr.cint"><span class="Identifier">getGlobalMouseState</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetGlobalMouseState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current state of the mouse, in relation to the desktop
This works just like SDL_GetMouseState(), but the coordinates will be
reported relative to the top-left of the desktop. This can be useful if
you need to track the mouse outside of a specific window and
SDL_CaptureMouse() doesn't fit your needs. For example, it could be
useful if you need to track the mouse while dragging a window, where
coordinates relative to a window might not be in sync at all times.
\note SDL_GetMouseState() returns the mouse position as SDL understands
it from the last pump of the event queue. This function, however,
queries the OS for the current mouse position, and as such, might
be a slightly less efficient function. Unless you know what you're
doing and have a good reason to use this function, you probably want
SDL_GetMouseState() instead.
\param x Returns the current X coord, relative to the desktop. Can be NULL.
\param y Returns the current Y coord, relative to the desktop. Can be NULL.
\return The current button state as a bitmask, which can be tested using the SDL_BUTTON(X) macros.
\sa SDL_GetMouseState</pre>
</dd>
<a id="getRelativeMouseState,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRelativeMouseState%2Cptr.cint%2Cptr.cint"><span class="Identifier">getRelativeMouseState</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRelativeMouseState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Retrieve the relative state of the mouse.
The current button state is returned as a button bitmask, which can
be tested using the SDL_BUTTON(X) macros, and x and y are set to the
mouse deltas since the last call to SDL_GetRelativeMouseState().</pre>
</dd>
<a id="warpMouseInWindow,ptr.Window,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#warpMouseInWindow%2Cptr.Window%2Ccint%2Ccint"><span class="Identifier">warpMouseInWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WarpMouseInWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Moves the mouse to the given position within the window.
\param window The window to move the mouse into, or NULL for the current mouse focus
\param x The x coordinate within the window
\param y The y coordinate within the window
\note This function generates a mouse motion event</pre>
</dd>
<a id="warpMouseGlobal,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#warpMouseGlobal%2Ccint%2Ccint"><span class="Identifier">warpMouseGlobal</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WarpMouseGlobal&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Moves the mouse to the given position in global screen space.
\param x The x coordinate
\param y The y coordinate
\return 0 on success, -1 on error (usually: unsupported by a platform).
\note This function generates a mouse motion event</pre>
</dd>
<a id="setRelativeMouseMode,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setRelativeMouseMode%2Cbool"><span class="Identifier">setRelativeMouseMode</span></a><span class="Other">(</span><span class="Identifier">enabled</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetRelativeMouseMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set relative mouse mode.
\param enabled Whether or not to enable relative mode
\return 0 on success, or -1 if relative mode is not supported.
While the mouse is in relative mode, the cursor is hidden, and the
driver will try to report continuous motion in the current window.
Only relative motion events will be delivered, the mouse position
will not change.
\note This function will flush any pending mouse motion.
\sa SDL_GetRelativeMouseMode()</pre>
</dd>
<a id="captureMouse,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#captureMouse%2Cbool"><span class="Identifier">captureMouse</span></a><span class="Other">(</span><span class="Identifier">enabled</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CaptureMouse&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Capture the mouse, to track input outside an SDL window.
\param enabled Whether or not to enable capturing
Capturing enables your app to obtain mouse events globally, instead of
just within your window. Not all video targets support this function.
When capturing is enabled, the current window will get all mouse events,
but unlike relative mode, no change is made to the cursor and it is
not restrained to your window.
This function may also deny mouse input to other windows--both those in
your application and others on the system--so you should use this
function sparingly, and in small bursts. For example, you might want to
track the mouse while the user is dragging something, until the user
releases a mouse button. It is not recommended that you capture the mouse
for long periods of time, such as the entire time your app is running.
While captured, mouse events still report coordinates relative to the
current (foreground) window, but those coordinates may be outside the
bounds of the window (including negative values). Capturing is only
allowed for the foreground window. If the window loses focus while
capturing, the capture will be disabled automatically.
While capturing is enabled, the current window will have the
SDL_WINDOW_MOUSE_CAPTURE flag set.
\return 0 on success, or -1 if not supported.</pre>
</dd>
<a id="getRelativeMouseMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRelativeMouseMode"><span class="Identifier">getRelativeMouseMode</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRelativeMouseMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Query whether relative mouse mode is enabled.
\sa SDL_SetRelativeMouseMode()</pre>
</dd>
<a id="createCursor,ptr.Uint8,ptr.Uint8,cint,cint,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createCursor%2Cptr.Uint8%2Cptr.Uint8%2Ccint%2Ccint%2Ccint%2Ccint"><span class="Identifier">createCursor</span></a><span class="Other">(</span><span class="Identifier">data</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">mask</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">hotX</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">hotY</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a cursor, using the specified bitmap data and
mask (in MSB format).
The cursor width must be a multiple of 8 bits.
The cursor is created in black and white according to the following:
&lt;table&gt;
&lt;tr&gt;&lt;td&gt; data &lt;/td&gt;&lt;td&gt; mask &lt;/td&gt;&lt;td&gt; resulting pixel on screen &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; White &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; Black &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; Transparent &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; Inverted color if possible, black
if not. &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
\sa SDL_FreeCursor()</pre>
</dd>
<a id="createColorCursor,ptr.Surface,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createColorCursor%2Cptr.Surface%2Ccint%2Ccint"><span class="Identifier">createColorCursor</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span> <span class="Identifier">hotX</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">hotY</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateColorCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a color cursor.
\sa SDL_FreeCursor()</pre>
</dd>
<a id="createSystemCursor,SystemCursor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createSystemCursor%2CSystemCursor"><span class="Identifier">createSystemCursor</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="sdl2.html#SystemCursor"><span class="Identifier">SystemCursor</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateSystemCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a system cursor.
\sa SDL_FreeCursor()</pre>
</dd>
<a id="setCursor,ptr.Cursor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setCursor%2Cptr.Cursor"><span class="Identifier">setCursor</span></a><span class="Other">(</span><span class="Identifier">cursor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the active cursor.</pre>
</dd>
<a id="getCursor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getCursor"><span class="Identifier">getCursor</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Return the active cursor.</pre>
</dd>
<a id="getDefaultCursor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getDefaultCursor"><span class="Identifier">getDefaultCursor</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetDefaultCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Return the default cursor.</pre>
</dd>
<a id="freeCursor,ptr.Cursor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#freeCursor%2Cptr.Cursor"><span class="Identifier">freeCursor</span></a><span class="Other">(</span><span class="Identifier">cursor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Cursor"><span class="Identifier">Cursor</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FreeCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Frees a cursor created with SDL_CreateCursor() or similar functions.
\sa SDL_CreateCursor()
\sa SDL_CreateColorCursor()
\sa SDL_CreateSystemCursor()</pre>
</dd>
<a id="showCursor,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#showCursor%2Ccint"><span class="Identifier">showCursor</span></a><span class="Other">(</span><span class="Identifier">toggle</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ShowCursor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Toggle whether or not the cursor is shown.
\param toggle 1 to show the cursor, 0 to hide it, -1 to query the current
state.
\return 1 if the cursor is shown, or 0 if the cursor is hidden.</pre>
</dd>
<a id="lockJoysticks"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockJoysticks"><span class="Identifier">lockJoysticks</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockJoysticks&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
Locking for multi-threaded access to the joystick API
If you are using the joystick API or handling events from multiple threads
you should use these locking functions to protect access to the joysticks.
In particular, you are guaranteed that the joystick list won't change, so
the API functions that take a joystick index will be valid, and joystick
and game controller events will not be delivered.</pre>
</dd>
<a id="unlockJoysticks"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockJoysticks"><span class="Identifier">unlockJoysticks</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockJoysticks&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="numJoysticks"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#numJoysticks"><span class="Identifier">numJoysticks</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_NumJoysticks&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Count the number of joysticks attached to the system right now</pre>
</dd>
<a id="joystickNameForIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickNameForIndex%2Ccint"><span class="Identifier">joystickNameForIndex</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickNameForIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the implementation dependent name of a joystick.
This can be called before any joysticks are opened.
If no name can be found, this function returns NULL.</pre>
</dd>
<a id="joystickGetDevicePlayerIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDevicePlayerIndex%2Ccint"><span class="Identifier">joystickGetDevicePlayerIndex</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDevicePlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the player index of a joystick, or -1 if it's not available
This can be called before any joysticks are opened.</pre>
</dd>
<a id="joystickGetDeviceGUID,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceGUID%2Ccint"><span class="Identifier">joystickGetDeviceGUID</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceGUID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the GUID for the joystick at this index
This can be called before any joysticks are opened.</pre>
</dd>
<a id="joystickGetDeviceVendor,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceVendor%2Ccint"><span class="Identifier">joystickGetDeviceVendor</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceVendor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB vendor ID of a joystick, if available.
This can be called before any joysticks are opened.
If the vendor ID isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetDeviceProduct,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceProduct%2Ccint"><span class="Identifier">joystickGetDeviceProduct</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceProduct&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB product ID of a joystick, if available.
This can be called before any joysticks are opened.
If the product ID isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetDeviceProductVersion,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceProductVersion%2Ccint"><span class="Identifier">joystickGetDeviceProductVersion</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceProductVersion&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the product version of a joystick, if available.
This can be called before any joysticks are opened.
If the product version isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetDeviceType,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceType%2Ccint"><span class="Identifier">joystickGetDeviceType</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickType"><span class="Identifier">JoystickType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the type of a joystick, if available.
This can be called before any joysticks are opened.</pre>
</dd>
<a id="joystickGetDeviceInstanceID,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetDeviceInstanceID%2Ccint"><span class="Identifier">joystickGetDeviceInstanceID</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetDeviceInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the instance ID of a joystick.
This can be called before any joysticks are opened.
If the index is out of range, this function will return -1.</pre>
</dd>
<a id="joystickOpen,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickOpen%2Ccint"><span class="Identifier">joystickOpen</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickOpen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Open a joystick for use.
The index passed as an argument refers to the N'th joystick on the system.
This index is not the value which will identify this joystick in future
joystick events. The joystick's instance id (::SDL_JoystickID) will be used
there instead.
\return A joystick identifier, or NULL if an error occurred.</pre>
</dd>
<a id="joystickFromInstanceID,JoystickID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickFromInstanceID%2CJoystickID"><span class="Identifier">joystickFromInstanceID</span></a><span class="Other">(</span><span class="Identifier">instanceId</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickFromInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the SDL_Joystick associated with an instance id.</pre>
</dd>
<a id="joystickFromPlayerIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickFromPlayerIndex%2Ccint"><span class="Identifier">joystickFromPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">playerIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickFromPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the SDL_Joystick associated with a player index.</pre>
</dd>
<a id="joystickName,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickName%2Cptr.Joystick"><span class="Identifier">joystickName</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the name for this currently opened joystick.
If no name can be found, this function returns NULL.</pre>
</dd>
<a id="joystickGetPlayerIndex,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetPlayerIndex%2Cptr.Joystick"><span class="Identifier">joystickGetPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the player index of an opened joystick, or -1 if it's not available
For XInput controllers this returns the XInput user index.</pre>
</dd>
<a id="joystickSetPlayerIndex,ptr.Joystick,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickSetPlayerIndex%2Cptr.Joystick%2Ccint"><span class="Identifier">joystickSetPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">playerIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickSetPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Set the player index of an opened joystick</pre>
</dd>
<a id="joystickGetGUID,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetGUID%2Cptr.Joystick"><span class="Identifier">joystickGetGUID</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetGUID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the GUID for this opened joystick</pre>
</dd>
<a id="joystickGetVendor,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetVendor%2Cptr.Joystick"><span class="Identifier">joystickGetVendor</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetVendor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB vendor ID of an opened joystick, if available.
If the vendor ID isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetProduct,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetProduct%2Cptr.Joystick"><span class="Identifier">joystickGetProduct</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetProduct&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB product ID of an opened joystick, if available.
If the product ID isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetProductVersion,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetProductVersion%2Cptr.Joystick"><span class="Identifier">joystickGetProductVersion</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetProductVersion&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the product version of an opened joystick, if available.
If the product version isn't available this function returns 0.</pre>
</dd>
<a id="joystickGetType,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetType%2Cptr.Joystick"><span class="Identifier">joystickGetType</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickType"><span class="Identifier">JoystickType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the type of an opened joystick.</pre>
</dd>
<a id="joystickGetGUIDString,JoystickGUID,cstring,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetGUIDString%2CJoystickGUID%2Ccstring%2Ccint"><span class="Identifier">joystickGetGUIDString</span></a><span class="Other">(</span><span class="Identifier">guid</span><span class="Other">:</span> <a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a><span class="Other">;</span> <span class="Identifier">pszGUID</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">cbGUID</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetGUIDString&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return a string representation for this guid. pszGUID must point to at least 33 bytes
(32 for the string plus a NULL terminator).</pre>
</dd>
<a id="joystickGetGUIDFromString,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetGUIDFromString%2Ccstring"><span class="Identifier">joystickGetGUIDFromString</span></a><span class="Other">(</span><span class="Identifier">pchGUID</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetGUIDFromString&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Convert a string into a joystick guid</pre>
</dd>
<a id="joystickGetAttached,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetAttached%2Cptr.Joystick"><span class="Identifier">joystickGetAttached</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetAttached&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not.</pre>
</dd>
<a id="joystickInstanceID,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickInstanceID%2Cptr.Joystick"><span class="Identifier">joystickInstanceID</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the instance ID of an opened joystick or -1 if the joystick is invalid.</pre>
</dd>
<a id="joystickNumAxes,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickNumAxes%2Cptr.Joystick"><span class="Identifier">joystickNumAxes</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickNumAxes&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of general axis controls on a joystick.</pre>
</dd>
<a id="joystickNumBalls,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickNumBalls%2Cptr.Joystick"><span class="Identifier">joystickNumBalls</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickNumBalls&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of trackballs on a joystick.
Joystick trackballs have only relative motion events associated
with them and their state cannot be polled.</pre>
</dd>
<a id="joystickNumHats,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickNumHats%2Cptr.Joystick"><span class="Identifier">joystickNumHats</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickNumHats&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of POV hats on a joystick.</pre>
</dd>
<a id="joystickNumButtons,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickNumButtons%2Cptr.Joystick"><span class="Identifier">joystickNumButtons</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickNumButtons&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of buttons on a joystick.</pre>
</dd>
<a id="joystickUpdate"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickUpdate"><span class="Identifier">joystickUpdate</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickUpdate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Update the current state of the open joysticks.
This is called automatically by the event loop if any joystick
events are enabled.</pre>
</dd>
<a id="joystickEventState,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickEventState%2Ccint"><span class="Identifier">joystickEventState</span></a><span class="Other">(</span><span class="Identifier">state</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickEventState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Enable/disable joystick event polling.
If joystick events are disabled, you must call SDL_JoystickUpdate()
yourself and check the state of the joystick when you want joystick
information.
The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE.</pre>
</dd>
<a id="joystickGetAxis,ptr.Joystick,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetAxis%2Cptr.Joystick%2Ccint"><span class="Identifier">joystickGetAxis</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">axis</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetAxis&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the current state of an axis control on a joystick.
The state is a value ranging from -32768 to 32767.
The axis indices start at index 0.</pre>
</dd>
<a id="joystickGetAxisInitialState,ptr.Joystick,cint,ptr.Sint16"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetAxisInitialState%2Cptr.Joystick%2Ccint%2Cptr.Sint16"><span class="Identifier">joystickGetAxisInitialState</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">axis</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">state</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetAxisInitialState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the initial state of an axis control on a joystick.
The state is a value ranging from -32768 to 32767.
The axis indices start at index 0.
\return SDL_TRUE if this axis has any initial value, or SDL_FALSE if not.</pre>
</dd>
<a id="joystickGetHat,ptr.Joystick,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetHat%2Cptr.Joystick%2Ccint"><span class="Identifier">joystickGetHat</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">hat</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetHat&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Get the current state of a POV hat on a joystick.
The hat indices start at index 0.
\return The return value is one of the following positions:
- ::SDL_HAT_CENTERED
- ::SDL_HAT_UP
- ::SDL_HAT_RIGHT
- ::SDL_HAT_DOWN
- ::SDL_HAT_LEFT
- ::SDL_HAT_RIGHTUP
- ::SDL_HAT_RIGHTDOWN
- ::SDL_HAT_LEFTUP
- ::SDL_HAT_LEFTDOWN</pre>
</dd>
<a id="joystickGetBall,ptr.Joystick,cint,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetBall%2Cptr.Joystick%2Ccint%2Cptr.cint%2Cptr.cint"><span class="Identifier">joystickGetBall</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">ball</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">dx</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">dy</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetBall&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the ball axis change since the last poll.
\return 0, or -1 if you passed it invalid parameters.
The ball indices start at index 0.</pre>
</dd>
<a id="joystickGetButton,ptr.Joystick,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickGetButton%2Cptr.Joystick%2Ccint"><span class="Identifier">joystickGetButton</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">button</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickGetButton&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the current state of a button on a joystick.
The button indices start at index 0.</pre>
</dd>
<a id="joystickRumble,ptr.Joystick,Uint16,Uint16,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickRumble%2Cptr.Joystick%2CUint16%2CUint16%2CUint32"><span class="Identifier">joystickRumble</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">;</span> <span class="Identifier">lowFrequencyRumble</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span>
<span class="Identifier">highFrequencyRumble</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span> <span class="Identifier">durationMs</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickRumble&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Trigger a rumble effect
Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.
\param joystick The joystick to vibrate
\param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF
\param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF
\param duration_ms The duration of the rumble effect, in milliseconds
\return 0, or -1 if rumble isn't supported on this joystick</pre>
</dd>
<a id="joystickClose,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickClose%2Cptr.Joystick"><span class="Identifier">joystickClose</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickClose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Close a joystick previously opened with SDL_JoystickOpen().</pre>
</dd>
<a id="joystickCurrentPowerLevel,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickCurrentPowerLevel%2Cptr.Joystick"><span class="Identifier">joystickCurrentPowerLevel</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#JoystickPowerLevel"><span class="Identifier">JoystickPowerLevel</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickCurrentPowerLevel&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the battery level of this joystick</pre>
</dd>
<a id="gameControllerAddMappingsFromRW,ptr.RWops,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerAddMappingsFromRW%2Cptr.RWops%2Ccint"><span class="Identifier">gameControllerAddMappingsFromRW</span></a><span class="Other">(</span><span class="Identifier">rw</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">;</span> <span class="Identifier">freerw</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerAddMappingsFromRW&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>To count the number of game controllers in the system for the following:
int nJoysticks = SDL_NumJoysticks();
int nGameControllers = 0;
for (int i = 0; i &lt; nJoysticks; i++) {
if (SDL_IsGameController(i)) {
nGameControllers++;
}
}
Using the SDL_HINT_GAMECONTROLLERCONFIG hint or the SDL_GameControllerAddMapping() you can add support for controllers SDL is unaware of or cause an existing controller to have a different binding. The format is:
guid,name,mappings
Where GUID is the string value from SDL_JoystickGetGUIDString(), name is the human readable string for the device and mappings are controller mappings to joystick ones.
Under Windows there is a reserved GUID of &quot;xinput&quot; that covers any XInput devices.
The mapping format for joystick is:
bX - a joystick button, index X
hX.Y - hat X with value Y
aX - axis X of the joystick
Buttons can be used as a controller axis and vice versa.
This string shows an example of a valid mapping for a controller
&quot;03000000341a00003608000000000000,PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7&quot;,
Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current SDL_GetPlatform()
A community sourced database of controllers is available at https:raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
If \c freerw is non-zero, the stream will be closed after being read.
\return number of mappings added, -1 on error</pre>
</dd>
<a id="gameControllerAddMapping,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerAddMapping%2Ccstring"><span class="Identifier">gameControllerAddMapping</span></a><span class="Other">(</span><span class="Identifier">mappingString</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerAddMapping&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Add or update an existing mapping configuration
\return 1 if mapping is added, 0 if updated, -1 on error</pre>
</dd>
<a id="gameControllerNumMappings"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerNumMappings"><span class="Identifier">gameControllerNumMappings</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerNumMappings&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the number of mappings installed
\return the number of mappings</pre>
</dd>
<a id="gameControllerMappingForIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerMappingForIndex%2Ccint"><span class="Identifier">gameControllerMappingForIndex</span></a><span class="Other">(</span><span class="Identifier">mappingIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerMappingForIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the mapping at a particular index.
\return the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range.</pre>
</dd>
<a id="gameControllerMappingForGUID,JoystickGUID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerMappingForGUID%2CJoystickGUID"><span class="Identifier">gameControllerMappingForGUID</span></a><span class="Other">(</span><span class="Identifier">guid</span><span class="Other">:</span> <a href="sdl2.html#JoystickGUID"><span class="Identifier">JoystickGUID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerMappingForGUID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get a mapping string for a GUID
\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available</pre>
</dd>
<a id="gameControllerMapping,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerMapping%2Cptr.GameController"><span class="Identifier">gameControllerMapping</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerMapping&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get a mapping string for an open GameController
\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available</pre>
</dd>
<a id="isGameController,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isGameController%2Ccint"><span class="Identifier">isGameController</span></a><span class="Other">(</span><span class="Identifier">joystickIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsGameController&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Is the joystick on this index supported by the game controller interface?</pre>
</dd>
<a id="gameControllerNameForIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerNameForIndex%2Ccint"><span class="Identifier">gameControllerNameForIndex</span></a><span class="Other">(</span><span class="Identifier">joystickIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerNameForIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the implementation dependent name of a game controller.
This can be called before any controllers are opened.
If no name can be found, this function returns NULL.</pre>
</dd>
<a id="gameControllerTypeForIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerTypeForIndex%2Ccint"><span class="Identifier">gameControllerTypeForIndex</span></a><span class="Other">(</span><span class="Identifier">joystickIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerType"><span class="Identifier">GameControllerType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerTypeForIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the type of a game controller.
This can be called before any controllers are opened.</pre>
</dd>
<a id="gameControllerMappingForDeviceIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerMappingForDeviceIndex%2Ccint"><span class="Identifier">gameControllerMappingForDeviceIndex</span></a><span class="Other">(</span><span class="Identifier">joystickIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerMappingForDeviceIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the mapping of a game controller.
This can be called before any controllers are opened.
\return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available</pre>
</dd>
<a id="gameControllerOpen,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerOpen%2Ccint"><span class="Identifier">gameControllerOpen</span></a><span class="Other">(</span><span class="Identifier">joystickIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerOpen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Open a game controller for use.
The index passed as an argument refers to the N'th game controller on the system.
This index is not the value which will identify this controller in future
controller events. The joystick's instance id (::SDL_JoystickID) will be
used there instead.
\return A controller identifier, or NULL if an error occurred.</pre>
</dd>
<a id="gameControllerFromInstanceID,JoystickID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerFromInstanceID%2CJoystickID"><span class="Identifier">gameControllerFromInstanceID</span></a><span class="Other">(</span><span class="Identifier">joyid</span><span class="Other">:</span> <a href="sdl2.html#JoystickID"><span class="Identifier">JoystickID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerFromInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the SDL_GameController associated with an instance id.</pre>
</dd>
<a id="gameControllerFromPlayerIndex,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerFromPlayerIndex%2Ccint"><span class="Identifier">gameControllerFromPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">playerIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerFromPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the SDL_GameController associated with a player index.</pre>
</dd>
<a id="gameControllerName,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerName%2Cptr.GameController"><span class="Identifier">gameControllerName</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the name for this currently opened controller</pre>
</dd>
<a id="gameControllerGetType,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetType%2Cptr.GameController"><span class="Identifier">gameControllerGetType</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerType"><span class="Identifier">GameControllerType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the type of this currently opened controller</pre>
</dd>
<a id="gameControllerGetPlayerIndex,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetPlayerIndex%2Cptr.GameController"><span class="Identifier">gameControllerGetPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the player index of an opened game controller, or -1 if it's not available
For XInput controllers this returns the XInput user index.</pre>
</dd>
<a id="gameControllerSetPlayerIndex,ptr.GameController,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerSetPlayerIndex%2Cptr.GameController%2Ccint"><span class="Identifier">gameControllerSetPlayerIndex</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">playerIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerSetPlayerIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Set the player index of an opened game controller</pre>
</dd>
<a id="gameControllerGetVendor,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetVendor%2Cptr.GameController"><span class="Identifier">gameControllerGetVendor</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetVendor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB vendor ID of an opened controller, if available.
If the vendor ID isn't available this function returns 0.</pre>
</dd>
<a id="gameControllerGetProduct,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetProduct%2Cptr.GameController"><span class="Identifier">gameControllerGetProduct</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetProduct&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the USB product ID of an opened controller, if available.
If the product ID isn't available this function returns 0.</pre>
</dd>
<a id="gameControllerGetProductVersion,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetProductVersion%2Cptr.GameController"><span class="Identifier">gameControllerGetProductVersion</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetProductVersion&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the product version of an opened controller, if available.
If the product version isn't available this function returns 0.</pre>
</dd>
<a id="gameControllerGetAttached,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetAttached%2Cptr.GameController"><span class="Identifier">gameControllerGetAttached</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetAttached&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Returns SDL_TRUE if the controller has been opened and currently connected,
or SDL_FALSE if it has not.</pre>
</dd>
<a id="gameControllerGetJoystick,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetJoystick%2Cptr.GameController"><span class="Identifier">gameControllerGetJoystick</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetJoystick&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the underlying joystick object used by a controller</pre>
</dd>
<a id="gameControllerEventState,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerEventState%2Ccint"><span class="Identifier">gameControllerEventState</span></a><span class="Other">(</span><span class="Identifier">state</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerEventState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Enable/disable controller event polling.
If controller events are disabled, you must call SDL_GameControllerUpdate()
yourself and check the state of the controller when you want controller
information.
The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE.</pre>
</dd>
<a id="gameControllerUpdate"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerUpdate"><span class="Identifier">gameControllerUpdate</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerUpdate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Update the current state of the open game controllers.
This is called automatically by the event loop if any game controller
events are enabled.</pre>
</dd>
<a id="gameControllerGetAxisFromString,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetAxisFromString%2Ccstring"><span class="Identifier">gameControllerGetAxisFromString</span></a><span class="Other">(</span><span class="Identifier">pchString</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerAxis"><span class="Identifier">GameControllerAxis</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetAxisFromString&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>turn this string into a axis mapping</pre>
</dd>
<a id="gameControllerGetStringForAxis,GameControllerAxis"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetStringForAxis%2CGameControllerAxis"><span class="Identifier">gameControllerGetStringForAxis</span></a><span class="Other">(</span><span class="Identifier">axis</span><span class="Other">:</span> <a href="sdl2.html#GameControllerAxis"><span class="Identifier">GameControllerAxis</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetStringForAxis&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>turn this axis enum into a string mapping</pre>
</dd>
<a id="gameControllerGetBindForAxis,ptr.GameController,GameControllerAxis"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetBindForAxis%2Cptr.GameController%2CGameControllerAxis"><span class="Identifier">gameControllerGetBindForAxis</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">axis</span><span class="Other">:</span> <a href="sdl2.html#GameControllerAxis"><span class="Identifier">GameControllerAxis</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButtonBind"><span class="Identifier">GameControllerButtonBind</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetBindForAxis&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the SDL joystick layer binding for this controller button mapping</pre>
</dd>
<a id="gameControllerGetAxis,ptr.GameController,GameControllerAxis"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetAxis%2Cptr.GameController%2CGameControllerAxis"><span class="Identifier">gameControllerGetAxis</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">axis</span><span class="Other">:</span> <a href="sdl2.html#GameControllerAxis"><span class="Identifier">GameControllerAxis</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Sint16"><span class="Identifier">Sint16</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetAxis&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the current state of an axis control on a game controller.
The state is a value ranging from -32768 to 32767 (except for the triggers,
which range from 0 to 32767).
The axis indices start at index 0.</pre>
</dd>
<a id="gameControllerGetButtonFromString,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetButtonFromString%2Ccstring"><span class="Identifier">gameControllerGetButtonFromString</span></a><span class="Other">(</span><span class="Identifier">pchString</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButton"><span class="Identifier">GameControllerButton</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetButtonFromString&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>turn this string into a button mapping</pre>
</dd>
<a id="gameControllerGetStringForButton,GameControllerButton"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetStringForButton%2CGameControllerButton"><span class="Identifier">gameControllerGetStringForButton</span></a><span class="Other">(</span><span class="Identifier">button</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButton"><span class="Identifier">GameControllerButton</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetStringForButton&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>turn this button enum into a string mapping</pre>
</dd>
<a id="gameControllerGetBindForButton,ptr.GameController,GameControllerButton"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetBindForButton%2Cptr.GameController%2CGameControllerButton"><span class="Identifier">gameControllerGetBindForButton</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">button</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButton"><span class="Identifier">GameControllerButton</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButtonBind"><span class="Identifier">GameControllerButtonBind</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetBindForButton&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the SDL joystick layer binding for this controller button mapping</pre>
</dd>
<a id="gameControllerGetButton,ptr.GameController,GameControllerButton"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerGetButton%2Cptr.GameController%2CGameControllerButton"><span class="Identifier">gameControllerGetButton</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">button</span><span class="Other">:</span> <a href="sdl2.html#GameControllerButton"><span class="Identifier">GameControllerButton</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerGetButton&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the current state of a button on a game controller.
The button indices start at index 0.</pre>
</dd>
<a id="gameControllerRumble,ptr.GameController,Uint16,Uint16,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerRumble%2Cptr.GameController%2CUint16%2CUint16%2CUint32"><span class="Identifier">gameControllerRumble</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">;</span>
<span class="Identifier">lowFrequencyRumble</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span> <span class="Identifier">highFrequencyRumble</span><span class="Other">:</span> <a href="sdl2.html#Uint16"><span class="Identifier">Uint16</span></a><span class="Other">;</span>
<span class="Identifier">durationMs</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerRumble&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Trigger a rumble effect
Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.
\param gamecontroller The controller to vibrate
\param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF
\param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF
\param duration_ms The duration of the rumble effect, in milliseconds
\return 0, or -1 if rumble isn't supported on this joystick</pre>
</dd>
<a id="gameControllerClose,ptr.GameController"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gameControllerClose%2Cptr.GameController"><span class="Identifier">gameControllerClose</span></a><span class="Other">(</span><span class="Identifier">gamecontroller</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#GameController"><span class="Identifier">GameController</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GameControllerClose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Close a controller previously opened with SDL_GameControllerOpen().</pre>
</dd>
<a id="getNumTouchDevices"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumTouchDevices"><span class="Identifier">getNumTouchDevices</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumTouchDevices&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Get the number of registered touch devices.</pre>
</dd>
<a id="getTouchDevice,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTouchDevice%2Ccint"><span class="Identifier">getTouchDevice</span></a><span class="Other">(</span><span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTouchDevice&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the touch ID with the given index, or 0 if the index is invalid.</pre>
</dd>
<a id="getTouchDeviceType,TouchID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTouchDeviceType%2CTouchID"><span class="Identifier">getTouchDeviceType</span></a><span class="Other">(</span><span class="Identifier">touchID</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#TouchDeviceType"><span class="Identifier">TouchDeviceType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTouchDeviceType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the type of the given touch device.</pre>
</dd>
<a id="getNumTouchFingers,TouchID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumTouchFingers%2CTouchID"><span class="Identifier">getNumTouchFingers</span></a><span class="Other">(</span><span class="Identifier">touchID</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumTouchFingers&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the number of active fingers for a given touch device.</pre>
</dd>
<a id="getTouchFinger,TouchID,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTouchFinger%2CTouchID%2Ccint"><span class="Identifier">getTouchFinger</span></a><span class="Other">(</span><span class="Identifier">touchID</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a><span class="Other">;</span> <span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Finger"><span class="Identifier">Finger</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTouchFinger&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the finger object of the given touch, with the given index.</pre>
</dd>
<a id="recordGesture,TouchID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#recordGesture%2CTouchID"><span class="Identifier">recordGesture</span></a><span class="Other">(</span><span class="Identifier">touchId</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RecordGesture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Begin Recording a gesture on the specified touch, or all touches (-1)</pre>
</dd>
<a id="saveAllDollarTemplates,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#saveAllDollarTemplates%2Cptr.RWops"><span class="Identifier">saveAllDollarTemplates</span></a><span class="Other">(</span><span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SaveAllDollarTemplates&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Save all currently loaded Dollar Gesture templates</pre>
</dd>
<a id="saveDollarTemplate,GestureID,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#saveDollarTemplate%2CGestureID%2Cptr.RWops"><span class="Identifier">saveDollarTemplate</span></a><span class="Other">(</span><span class="Identifier">gestureId</span><span class="Other">:</span> <a href="sdl2.html#GestureID"><span class="Identifier">GestureID</span></a><span class="Other">;</span> <span class="Identifier">dst</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SaveDollarTemplate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Save a currently loaded Dollar Gesture template</pre>
</dd>
<a id="loadDollarTemplates,TouchID,ptr.RWops"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadDollarTemplates%2CTouchID%2Cptr.RWops"><span class="Identifier">loadDollarTemplates</span></a><span class="Other">(</span><span class="Identifier">touchId</span><span class="Other">:</span> <a href="sdl2.html#TouchID"><span class="Identifier">TouchID</span></a><span class="Other">;</span> <span class="Identifier">src</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RWops"><span class="Identifier">RWops</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadDollarTemplates&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Load Dollar Gesture templates from a file</pre>
</dd>
<a id="pumpEvents"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pumpEvents"><span class="Identifier">pumpEvents</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PumpEvents&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
Pumps the event loop, gathering events from the input devices.
This function updates the event queue and internal input device state.
This should only be run in the thread that sets the video mode.</pre>
</dd>
<a id="peepEvents,ptr.Event,cint,eventaction,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#peepEvents%2Cptr.Event%2Ccint%2Ceventaction%2CUint32%2CUint32"><span class="Identifier">peepEvents</span></a><span class="Other">(</span><span class="Identifier">events</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">;</span> <span class="Identifier">numevents</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">action</span><span class="Other">:</span> <a href="sdl2.html#eventaction"><span class="Identifier">eventaction</span></a><span class="Other">;</span>
<span class="Identifier">minType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">maxType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PeepEvents&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Checks the event queue for messages and optionally returns them.
If \c action is ::SDL_ADDEVENT, up to \c numevents events will be added to
the back of the event queue.
If \c action is ::SDL_PEEKEVENT, up to \c numevents events at the front
of the event queue, within the specified minimum and maximum type,
will be returned and will not be removed from the queue.
If \c action is ::SDL_GETEVENT, up to \c numevents events at the front
of the event queue, within the specified minimum and maximum type,
will be returned and will be removed from the queue.
\return The number of events actually stored, or -1 if there was an error.
This function is thread-safe.</pre>
</dd>
<a id="hasEvent,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasEvent%2CUint32"><span class="Identifier">hasEvent</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasEvent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
Checks to see if certain event types are in the event queue.</pre>
</dd>
<a id="hasEvents,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hasEvents%2CUint32%2CUint32"><span class="Identifier">hasEvents</span></a><span class="Other">(</span><span class="Identifier">minType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">maxType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HasEvents&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="flushEvent,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#flushEvent%2CUint32"><span class="Identifier">flushEvent</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FlushEvent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function clears events from the event queue
This function only affects currently queued events. If you want to make
sure that all pending OS events are flushed, you can call SDL_PumpEvents()
on the main thread immediately before the flush call.</pre>
</dd>
<a id="flushEvents,Uint32,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#flushEvents%2CUint32%2CUint32"><span class="Identifier">flushEvents</span></a><span class="Other">(</span><span class="Identifier">minType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">maxType</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FlushEvents&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="pollEvent,ptr.Event"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pollEvent%2Cptr.Event"><span class="Identifier">pollEvent</span></a><span class="Other">(</span><span class="Identifier">event</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PollEvent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Polls for currently pending events.
\return 1 if there are any pending events, or 0 if there are none available.
\param event If not NULL, the next event is removed from the queue and
stored in that area.</pre>
</dd>
<a id="waitEvent,ptr.Event"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#waitEvent%2Cptr.Event"><span class="Identifier">waitEvent</span></a><span class="Other">(</span><span class="Identifier">event</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WaitEvent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Waits indefinitely for the next available event.
\return 1, or 0 if there was an error while waiting for events.
\param event If not NULL, the next event is removed from the queue and
stored in that area.</pre>
</dd>
<a id="waitEventTimeout,ptr.Event,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#waitEventTimeout%2Cptr.Event%2Ccint"><span class="Identifier">waitEventTimeout</span></a><span class="Other">(</span><span class="Identifier">event</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">;</span> <span class="Identifier">timeout</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WaitEventTimeout&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Waits until the specified timeout (in milliseconds) for the next
available event.
\return 1, or 0 if there was an error while waiting for events.
\param event If not NULL, the next event is removed from the queue and
stored in that area.
\param timeout The timeout (in milliseconds) to wait for next event.</pre>
</dd>
<a id="pushEvent,ptr.Event"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#pushEvent%2Cptr.Event"><span class="Identifier">pushEvent</span></a><span class="Other">(</span><span class="Identifier">event</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Event"><span class="Identifier">Event</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_PushEvent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Add an event to the event queue.
\return 1 on success, 0 if the event was filtered, or -1 if the event queue
was full or there was some other error.</pre>
</dd>
<a id="setEventFilter,EventFilter,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setEventFilter%2CEventFilter%2Cpointer"><span class="Identifier">setEventFilter</span></a><span class="Other">(</span><span class="Identifier">filter</span><span class="Other">:</span> <a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetEventFilter&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Sets up a filter to process all events before they change internal state and
are posted to the internal event queue.
The filter is prototyped as:
\code
int SDL_EventFilter(voiduserdata, SDL_Event event);
\endcode
If the filter returns 1, then the event will be added to the internal queue.
If it returns 0, then the event will be dropped from the queue, but the
internal state will still be updated. This allows selective filtering of
dynamically arriving events.
\warning Be very careful of what you do in the event filter function, as
it may run in a different thread!
There is one caveat when dealing with the ::SDL_QuitEvent event type. The
event filter is only called when the window manager desires to close the
application window. If the event filter returns 1, then the window will
be closed, otherwise the window will remain open if possible.
If the quit event is generated by an interrupt signal, it will bypass the
internal queue and be delivered to the application at the next event poll.</pre>
</dd>
<a id="getEventFilter,ptr.EventFilter,ptr.pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getEventFilter%2Cptr.EventFilter%2Cptr.pointer"><span class="Identifier">getEventFilter</span></a><span class="Other">(</span><span class="Identifier">filter</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetEventFilter&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the current event filter - can be used to &quot;chain&quot; filters.
If there is no event filter set, this function returns SDL_FALSE.</pre>
</dd>
<a id="addEventWatch,EventFilter,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#addEventWatch%2CEventFilter%2Cpointer"><span class="Identifier">addEventWatch</span></a><span class="Other">(</span><span class="Identifier">filter</span><span class="Other">:</span> <a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AddEventWatch&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Add a function which is called when an event is added to the queue.</pre>
</dd>
<a id="delEventWatch,EventFilter,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#delEventWatch%2CEventFilter%2Cpointer"><span class="Identifier">delEventWatch</span></a><span class="Other">(</span><span class="Identifier">filter</span><span class="Other">:</span> <a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DelEventWatch&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Remove an event watch function added with SDL_AddEventWatch()</pre>
</dd>
<a id="filterEvents,EventFilter,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#filterEvents%2CEventFilter%2Cpointer"><span class="Identifier">filterEvents</span></a><span class="Other">(</span><span class="Identifier">filter</span><span class="Other">:</span> <a href="sdl2.html#EventFilter"><span class="Identifier">EventFilter</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_FilterEvents&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Run the filter function on the current event queue, removing any
events for which the filter returns 0.</pre>
</dd>
<a id="eventState,Uint32,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#eventState%2CUint32%2Ccint"><span class="Identifier">eventState</span></a><span class="Other">(</span><span class="Identifier">kind</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">state</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_EventState&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function allows you to set the state of processing certain events.
- If \c state is set to ::SDL_IGNORE, that event will be automatically
dropped from the event queue and will not be filtered.
- If \c state is set to ::SDL_ENABLE, that event will be processed
normally.
- If \c state is set to ::SDL_QUERY, SDL_EventState() will return the
current processing state of the specified event.</pre>
</dd>
<a id="registerEvents,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#registerEvents%2Ccint"><span class="Identifier">registerEvents</span></a><span class="Other">(</span><span class="Identifier">numevents</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RegisterEvents&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function allocates a set of user-defined events, and returns
the beginning event number for that set of events.
If there aren't enough user-defined events left, this function
returns (Uint32)-1</pre>
</dd>
<a id="getBasePath"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getBasePath"><span class="Identifier">getBasePath</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetBasePath&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief Get the path where the application resides.
Get the &quot;base path&quot;. This is the directory where the application was run
from, which is probably the installation directory, and may or may not
be the process's current working directory.
This returns an absolute path in UTF-8 encoding, and is guaranteed to
end with a path separator ('\\' on Windows, '/' most other places).
The pointer returned by this function is owned by you. Please call
SDL_free() on the pointer when you are done with it, or it will be a
memory leak. This is not necessarily a fast call, though, so you should
call this once near startup and save the string if you need it.
Some platforms can't determine the application's path, and on other
platforms, this might be meaningless. In such cases, this function will
return NULL.
\return String of base dir in UTF-8 encoding, or NULL on error.
\sa SDL_GetPrefPath</pre>
</dd>
<a id="getPrefPath,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPrefPath%2Ccstring%2Ccstring"><span class="Identifier">getPrefPath</span></a><span class="Other">(</span><span class="Identifier">org</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">app</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPrefPath&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the user-and-app-specific path where files can be written.
Get the &quot;pref dir&quot;. This is meant to be where users can write personal
files (preferences and save games, etc) that are specific to your
application. This directory is unique per user, per application.
This function will decide the appropriate location in the native filesystem,
create the directory if necessary, and return a string of the absolute
path to the directory in UTF-8 encoding.
On Windows, the string might look like:
&quot;C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\&quot;
On Linux, the string might look like:
&quot;/home/bob/.local/share/My Program Name/&quot;
On Mac OS X, the string might look like:
&quot;/Users/bob/Library/Application Support/My Program Name/&quot;
(etc.)
You specify the name of your organization (if it's not a real organization,
your name or an Internet domain you own might do) and the name of your
application. These should be untranslated proper names.
Both the org and app strings may become part of a directory name, so
please follow these rules:
- Try to use the same org string (including case-sensitivity) for
all your applications that use this function.
- Always use a unique app string for each one, and make sure it never
changes for an app once you've decided on it.
- Unicode characters are legal, as long as it's UTF-8 encoded, but...
- ...only use letters, numbers, and spaces. Avoid punctuation like
&quot;Game Name 2: Bad Guy's Revenge!&quot; ... &quot;Game Name 2&quot; is sufficient.
This returns an absolute path in UTF-8 encoding, and is guaranteed to
end with a path separator ('\\' on Windows, '/' most other places).
The pointer returned by this function is owned by you. Please call
SDL_free() on the pointer when you are done with it, or it will be a
memory leak. This is not necessarily a fast call, though, so you should
call this once near startup and save the string if you need it.
You should assume the path returned by this function is the only safe
place to write files (and that SDL_GetBasePath(), while it might be
writable, or even the parent of the returned path, aren't where you
should be writing things).
Some platforms can't determine the pref path, and on other
platforms, this might be meaningless. In such cases, this function will
return NULL.
\param org The name of your organization.
\param app The name of your application.
\return UTF-8 string of user dir in platform-dependent notation. NULL
if there's a problem (creating directory failed, etc).
\sa SDL_GetBasePath</pre>
</dd>
<a id="numHaptics"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#numHaptics"><span class="Identifier">numHaptics</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_NumHaptics&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Count the number of haptic devices attached to the system.
\return Number of haptic devices detected on the system.</pre>
</dd>
<a id="hapticName,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticName%2Ccint"><span class="Identifier">hapticName</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the implementation dependent name of a haptic device.
This can be called before any joysticks are opened.
If no name can be found, this function returns NULL.
\param device_index Index of the device to get its name.
\return Name of the device or NULL on error.
\sa SDL_NumHaptics</pre>
</dd>
<a id="hapticOpen,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticOpen%2Ccint"><span class="Identifier">hapticOpen</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticOpen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Opens a haptic device for use.
The index passed as an argument refers to the N'th haptic device on this
system.
When opening a haptic device, its gain will be set to maximum and
autocenter will be disabled. To modify these values use
SDL_HapticSetGain() and SDL_HapticSetAutocenter().
\param device_index Index of the device to open.
\return Device identifier or NULL on error.
\sa SDL_HapticIndex
\sa SDL_HapticOpenFromMouse
\sa SDL_HapticOpenFromJoystick
\sa SDL_HapticClose
\sa SDL_HapticSetGain
\sa SDL_HapticSetAutocenter
\sa SDL_HapticPause
\sa SDL_HapticStopAll</pre>
</dd>
<a id="hapticOpened,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticOpened%2Ccint"><span class="Identifier">hapticOpened</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticOpened&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Checks if the haptic device at index has been opened.
\param device_index Index to check to see if it has been opened.
\return 1 if it has been opened or 0 if it hasn't.
\sa SDL_HapticOpen
\sa SDL_HapticIndex</pre>
</dd>
<a id="hapticIndex,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticIndex%2Cptr.PHaptic"><span class="Identifier">hapticIndex</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticIndex&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets the index of a haptic device.
\param haptic Haptic device to get the index of.
\return The index of the haptic device or -1 on error.
\sa SDL_HapticOpen
\sa SDL_HapticOpened</pre>
</dd>
<a id="mouseIsHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#mouseIsHaptic"><span class="Identifier">mouseIsHaptic</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_MouseIsHaptic&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets whether or not the current mouse has haptic capabilities.
\return SDL_TRUE if the mouse is haptic, SDL_FALSE if it isn't.
\sa SDL_HapticOpenFromMouse</pre>
</dd>
<a id="hapticOpenFromMouse"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticOpenFromMouse"><span class="Identifier">hapticOpenFromMouse</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticOpenFromMouse&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Tries to open a haptic device from the current mouse.
\return The haptic device identifier or NULL on error.
\sa SDL_MouseIsHaptic
\sa SDL_HapticOpen</pre>
</dd>
<a id="joystickIsHaptic,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#joystickIsHaptic%2Cptr.Joystick"><span class="Identifier">joystickIsHaptic</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_JoystickIsHaptic&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Checks to see if a joystick has haptic features.
\param joystick Joystick to test for haptic capabilities.
\return SDL_TRUE if the joystick is haptic, SDL_FALSE if it isn't
or -1 if an error occurred.
\sa SDL_HapticOpenFromJoystick</pre>
</dd>
<a id="hapticOpenFromJoystick,ptr.Joystick"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticOpenFromJoystick%2Cptr.Joystick"><span class="Identifier">hapticOpenFromJoystick</span></a><span class="Other">(</span><span class="Identifier">joystick</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Joystick"><span class="Identifier">Joystick</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticOpenFromJoystick&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Opens a haptic device for use from a joystick device.
You must still close the haptic device separately. It will not be closed
with the joystick.
When opening from a joystick you should first close the haptic device before
closing the joystick device. If not, on some implementations the haptic
device will also get unallocated and you'll be unable to use force feedback
on that device.
\param joystick Joystick to create a haptic device from.
\return A valid haptic device identifier on success or NULL on error.
\sa SDL_HapticOpen
\sa SDL_HapticClose</pre>
</dd>
<a id="hapticClose,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticClose%2Cptr.PHaptic"><span class="Identifier">hapticClose</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticClose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Closes a haptic device previously opened with SDL_HapticOpen().
\param haptic Haptic device to close.</pre>
</dd>
<a id="hapticNumEffects,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticNumEffects%2Cptr.PHaptic"><span class="Identifier">hapticNumEffects</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticNumEffects&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns the number of effects a haptic device can store.
On some platforms this isn't fully supported, and therefore is an
approximation. Always check to see if your created effect was actually
created and do not rely solely on SDL_HapticNumEffects().
\param haptic The haptic device to query effect max.
\return The number of effects the haptic device can store or
-1 on error.
\sa SDL_HapticNumEffectsPlaying
\sa SDL_HapticQuery</pre>
</dd>
<a id="hapticNumEffectsPlaying,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticNumEffectsPlaying%2Cptr.PHaptic"><span class="Identifier">hapticNumEffectsPlaying</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticNumEffectsPlaying&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Returns the number of effects a haptic device can play at the same
time.
This is not supported on all platforms, but will always return a value.
Added here for the sake of completeness.
\param haptic The haptic device to query maximum playing effects.
\return The number of effects the haptic device can play at the same time
or -1 on error.
\sa SDL_HapticNumEffects
\sa SDL_HapticQuery</pre>
</dd>
<a id="hapticQuery,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticQuery%2Cptr.PHaptic"><span class="Identifier">hapticQuery</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cuint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticQuery&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets the haptic device's supported features in bitwise manner.
Example:
\code
if (SDL_HapticQuery(haptic) &amp; SDL_HAPTIC_CONSTANT) {
printf(&quot;We have constant haptic effect!\n&quot;);
}
\endcode
\param haptic The haptic device to query.
\return Haptic features in bitwise manner (OR'd).
\sa SDL_HapticNumEffects
\sa SDL_HapticEffectSupported</pre>
</dd>
<a id="hapticNumAxes,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticNumAxes%2Cptr.PHaptic"><span class="Identifier">hapticNumAxes</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticNumAxes&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets the number of haptic axes the device has.
\sa SDL_HapticDirection</pre>
</dd>
<a id="hapticEffectSupported,ptr.PHaptic,ptr.HapticEffect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticEffectSupported%2Cptr.PHaptic%2Cptr.HapticEffect"><span class="Identifier">hapticEffectSupported</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#HapticEffect"><span class="Identifier">HapticEffect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticEffectSupported&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Checks to see if effect is supported by haptic.
\param haptic Haptic device to check on.
\param effect Effect to check to see if it is supported.
\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error.
\sa SDL_HapticQuery
\sa SDL_HapticNewEffect</pre>
</dd>
<a id="hapticNewEffect,ptr.PHaptic,ptr.HapticEffect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticNewEffect%2Cptr.PHaptic%2Cptr.HapticEffect"><span class="Identifier">hapticNewEffect</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#HapticEffect"><span class="Identifier">HapticEffect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticNewEffect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Creates a new haptic effect on the device.
\param haptic Haptic device to create the effect on.
\param effect Properties of the effect to create.
\return The identifier of the effect on success or -1 on error.
\sa SDL_HapticUpdateEffect
\sa SDL_HapticRunEffect
\sa SDL_HapticDestroyEffect</pre>
</dd>
<a id="hapticUpdateEffect,ptr.PHaptic,cint,ptr.HapticEffect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticUpdateEffect%2Cptr.PHaptic%2Ccint%2Cptr.HapticEffect"><span class="Identifier">hapticUpdateEffect</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#HapticEffect"><span class="Identifier">HapticEffect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticUpdateEffect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Updates the properties of an effect.
Can be used dynamically, although behavior when dynamically changing
direction may be strange. Specifically the effect may reupload itself
and start playing from the start. You cannot change the type either when
running SDL_HapticUpdateEffect().
\param haptic Haptic device that has the effect.
\param effect Identifier of the effect to update.
\param data New effect properties to use.
\return 0 on success or -1 on error.
\sa SDL_HapticNewEffect
\sa SDL_HapticRunEffect
\sa SDL_HapticDestroyEffect</pre>
</dd>
<a id="hapticRunEffect,ptr.PHaptic,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticRunEffect%2Cptr.PHaptic%2Ccint%2CUint32"><span class="Identifier">hapticRunEffect</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">iterations</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticRunEffect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Runs the haptic effect on its associated haptic device.
If iterations are ::SDL_HAPTIC_INFINITY, it'll run the effect over and over
repeating the envelope (attack and fade) every time. If you only want the
effect to last forever, set ::SDL_HAPTIC_INFINITY in the effect's length
parameter.
\param haptic Haptic device to run the effect on.
\param effect Identifier of the haptic effect to run.
\param iterations Number of iterations to run the effect. Use
::SDL_HAPTIC_INFINITY for infinity.
\return 0 on success or -1 on error.
\sa SDL_HapticStopEffect
\sa SDL_HapticDestroyEffect
\sa SDL_HapticGetEffectStatus</pre>
</dd>
<a id="hapticStopEffect,ptr.PHaptic,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticStopEffect%2Cptr.PHaptic%2Ccint"><span class="Identifier">hapticStopEffect</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticStopEffect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Stops the haptic effect on its associated haptic device.
\param haptic Haptic device to stop the effect on.
\param effect Identifier of the effect to stop.
\return 0 on success or -1 on error.
\sa SDL_HapticRunEffect
\sa SDL_HapticDestroyEffect</pre>
</dd>
<a id="hapticDestroyEffect,ptr.PHaptic,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticDestroyEffect%2Cptr.PHaptic%2Ccint"><span class="Identifier">hapticDestroyEffect</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticDestroyEffect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Destroys a haptic effect on the device.
This will stop the effect if it's running. Effects are automatically
destroyed when the device is closed.
\param haptic Device to destroy the effect on.
\param effect Identifier of the effect to destroy.
\sa SDL_HapticNewEffect</pre>
</dd>
<a id="hapticGetEffectStatus,ptr.PHaptic,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticGetEffectStatus%2Cptr.PHaptic%2Ccint"><span class="Identifier">hapticGetEffectStatus</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">effect</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticGetEffectStatus&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Gets the status of the current effect on the haptic device.
Device must support the ::SDL_HAPTIC_STATUS feature.
\param haptic Haptic device to query the effect status on.
\param effect Identifier of the effect to query its status.
\return 0 if it isn't playing, 1 if it is playing or -1 on error.
\sa SDL_HapticRunEffect
\sa SDL_HapticStopEffect</pre>
</dd>
<a id="hapticSetGain,ptr.PHaptic,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticSetGain%2Cptr.PHaptic%2Ccint"><span class="Identifier">hapticSetGain</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">gain</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticSetGain&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets the global gain of the device.
Device must support the ::SDL_HAPTIC_GAIN feature.
The user may specify the maximum gain by setting the environment variable
SDL_HAPTIC_GAIN_MAX which should be between 0 and 100. All calls to
SDL_HapticSetGain() will scale linearly using SDL_HAPTIC_GAIN_MAX as the
maximum.
\param haptic Haptic device to set the gain on.
\param gain Value to set the gain to, should be between 0 and 100.
\return 0 on success or -1 on error.
\sa SDL_HapticQuery</pre>
</dd>
<a id="hapticSetAutocenter,ptr.PHaptic,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticSetAutocenter%2Cptr.PHaptic%2Ccint"><span class="Identifier">hapticSetAutocenter</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">autocenter</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticSetAutocenter&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Sets the global autocenter of the device.
Autocenter should be between 0 and 100. Setting it to 0 will disable
autocentering.
Device must support the ::SDL_HAPTIC_AUTOCENTER feature.
\param haptic Haptic device to set autocentering on.
\param autocenter Value to set autocenter to, 0 disables autocentering.
\return 0 on success or -1 on error.
\sa SDL_HapticQuery</pre>
</dd>
<a id="hapticPause,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticPause%2Cptr.PHaptic"><span class="Identifier">hapticPause</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticPause&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Pauses a haptic device.
Device must support the ::SDL_HAPTIC_PAUSE feature. Call
SDL_HapticUnpause() to resume playback.
Do not modify the effects nor add new ones while the device is paused.
That can cause all sorts of weird errors.
\param haptic Haptic device to pause.
\return 0 on success or -1 on error.
\sa SDL_HapticUnpause</pre>
</dd>
<a id="hapticUnpause,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticUnpause%2Cptr.PHaptic"><span class="Identifier">hapticUnpause</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticUnpause&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Unpauses a haptic device.
Call to unpause after SDL_HapticPause().
\param haptic Haptic device to unpause.
\return 0 on success or -1 on error.
\sa SDL_HapticPause</pre>
</dd>
<a id="hapticStopAll,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticStopAll%2Cptr.PHaptic"><span class="Identifier">hapticStopAll</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticStopAll&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Stops all the currently playing effects on a haptic device.
\param haptic Haptic device to stop.
\return 0 on success or -1 on error.</pre>
</dd>
<a id="hapticRumbleSupported,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticRumbleSupported%2Cptr.PHaptic"><span class="Identifier">hapticRumbleSupported</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticRumbleSupported&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Checks to see if rumble is supported on a haptic device.
\param haptic Haptic device to check to see if it supports rumble.
\return SDL_TRUE if effect is supported, SDL_FALSE if it isn't or -1 on error.
\sa SDL_HapticRumbleInit
\sa SDL_HapticRumblePlay
\sa SDL_HapticRumbleStop</pre>
</dd>
<a id="hapticRumbleInit,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticRumbleInit%2Cptr.PHaptic"><span class="Identifier">hapticRumbleInit</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticRumbleInit&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Initializes the haptic device for simple rumble playback.
\param haptic Haptic device to initialize for simple rumble playback.
\return 0 on success or -1 on error.
\sa SDL_HapticOpen
\sa SDL_HapticRumbleSupported
\sa SDL_HapticRumblePlay
\sa SDL_HapticRumbleStop</pre>
</dd>
<a id="hapticRumblePlay,ptr.PHaptic,cfloat,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticRumblePlay%2Cptr.PHaptic%2Ccfloat%2CUint32"><span class="Identifier">hapticRumblePlay</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">;</span> <span class="Identifier">strength</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">length</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticRumblePlay&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Runs simple rumble on a haptic device
\param haptic Haptic device to play rumble effect on.
\param strength Strength of the rumble to play as a 0-1 float value.
\param length Length of the rumble to play in milliseconds.
\return 0 on success or -1 on error.
\sa SDL_HapticRumbleSupported
\sa SDL_HapticRumbleInit
\sa SDL_HapticRumbleStop</pre>
</dd>
<a id="hapticRumbleStop,ptr.PHaptic"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#hapticRumbleStop%2Cptr.PHaptic"><span class="Identifier">hapticRumbleStop</span></a><span class="Other">(</span><span class="Identifier">haptic</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Haptic"><span class="Identifier">Haptic</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_HapticRumbleStop&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Stops the simple rumble on a haptic device.
\param haptic Haptic to stop the rumble on.
\return 0 on success or -1 on error.
\sa SDL_HapticRumbleSupported
\sa SDL_HapticRumbleInit
\sa SDL_HapticRumblePlay</pre>
</dd>
<a id="setHintWithPriority,cstring,cstring,HintPriority"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setHintWithPriority%2Ccstring%2Ccstring%2CHintPriority"><span class="Identifier">setHintWithPriority</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#HintPriority"><span class="Identifier">HintPriority</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetHintWithPriority&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a hint with a specific priority
The priority controls the behavior when setting a hint that already
has a value. Hints will replace existing hints of their priority and
lower. Environment variables are considered to have override priority.
\return SDL_TRUE if the hint was set, SDL_FALSE otherwise</pre>
</dd>
<a id="setHint,cstring,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setHint%2Ccstring%2Ccstring"><span class="Identifier">setHint</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">value</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetHint&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a hint with normal priority
\return SDL_TRUE if the hint was set, SDL_FALSE otherwise</pre>
</dd>
<a id="getHint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getHint%2Ccstring"><span class="Identifier">getHint</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetHint&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a hint
\return The string value of a hint variable.</pre>
</dd>
<a id="getHintBoolean,cstring,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getHintBoolean%2Ccstring%2Cbool"><span class="Identifier">getHintBoolean</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">defaultValue</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetHintBoolean&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get a hint
\return The boolean value of a hint variable.</pre>
</dd>
<a id="addHintCallback,cstring,HintCallback,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#addHintCallback%2Ccstring%2CHintCallback%2Cpointer"><span class="Identifier">addHintCallback</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">callback</span><span class="Other">:</span> <a href="sdl2.html#HintCallback"><span class="Identifier">HintCallback</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AddHintCallback&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Add a function to watch a particular hint
\param name The hint to watch
\param callback The function to call when the hint value changes
\param userdata A pointer to pass to the callback function</pre>
</dd>
<a id="delHintCallback,cstring,HintCallback,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#delHintCallback%2Ccstring%2CHintCallback%2Cpointer"><span class="Identifier">delHintCallback</span></a><span class="Other">(</span><span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">callback</span><span class="Other">:</span> <a href="sdl2.html#HintCallback"><span class="Identifier">HintCallback</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DelHintCallback&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Remove a function watching a particular hint
\param name The hint being watched
\param callback The function being called when the hint value changes
\param userdata A pointer being passed to the callback function</pre>
</dd>
<a id="clearHints"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#clearHints"><span class="Identifier">clearHints</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ClearHints&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Clear all hints
This function is called during SDL_Quit() to free stored hints.</pre>
</dd>
<a id="loadObject,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadObject%2Ccstring"><span class="Identifier">loadObject</span></a><span class="Other">(</span><span class="Identifier">sofile</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadObject&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
This function dynamically loads a shared object and returns a pointer
to the object handle (or NULL if there was an error).
The 'sofile' parameter is a system dependent name of the object file.</pre>
</dd>
<a id="loadFunction,pointer,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#loadFunction%2Cpointer%2Ccstring"><span class="Identifier">loadFunction</span></a><span class="Other">(</span><span class="Identifier">handle</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">name</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LoadFunction&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Given an object handle, this function looks up the address of the
named function in the shared object and returns it. This address
is no longer valid after calling SDL_UnloadObject().</pre>
</dd>
<a id="unloadObject,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unloadObject%2Cpointer"><span class="Identifier">unloadObject</span></a><span class="Other">(</span><span class="Identifier">handle</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnloadObject&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Unload a shared object from memory.</pre>
</dd>
<a id="logSetAllPriority,LogPriority"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logSetAllPriority%2CLogPriority"><span class="Identifier">logSetAllPriority</span></a><span class="Other">(</span><span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogSetAllPriority&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the priority of all log categories</pre>
</dd>
<a id="logSetPriority,cint,LogPriority"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logSetPriority%2Ccint%2CLogPriority"><span class="Identifier">logSetPriority</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogSetPriority&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the priority of a particular log category</pre>
</dd>
<a id="logGetPriority,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logGetPriority%2Ccint"><span class="Identifier">logGetPriority</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogGetPriority&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the priority of a particular log category</pre>
</dd>
<a id="logResetPriorities"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logResetPriorities"><span class="Identifier">logResetPriorities</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogResetPriorities&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Reset all priorities to default.
\note This is called in SDL_Quit().</pre>
</dd>
<a id="logVerbose,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logVerbose%2Ccint%2Ccstring"><span class="Identifier">logVerbose</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogVerbose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span>
<span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_VERBOSE</pre>
</dd>
<a id="logDebug,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logDebug%2Ccint%2Ccstring"><span class="Identifier">logDebug</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogDebug&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_DEBUG</pre>
</dd>
<a id="logInfo,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logInfo%2Ccint%2Ccstring"><span class="Identifier">logInfo</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogInfo&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_INFO</pre>
</dd>
<a id="logWarn,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logWarn%2Ccint%2Ccstring"><span class="Identifier">logWarn</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogWarn&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_WARN</pre>
</dd>
<a id="logError,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logError%2Ccint%2Ccstring"><span class="Identifier">logError</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogError&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_ERROR</pre>
</dd>
<a id="logCritical,cint,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logCritical%2Ccint%2Ccstring"><span class="Identifier">logCritical</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogCritical&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span>
<span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with SDL_LOG_PRIORITY_CRITICAL</pre>
</dd>
<a id="logMessage,cint,LogPriority,cstring"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logMessage%2Ccint%2CLogPriority%2Ccstring"><span class="Identifier">logMessage</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogMessage&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span><span class="Other">,</span> <span class="Identifier">varargs</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with the specified category and priority.</pre>
</dd>
<a id="logMessageV,cint,LogPriority,cstring,va_list"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logMessageV%2Ccint%2CLogPriority%2Ccstring%2Cva_list"><span class="Identifier">logMessageV</span></a><span class="Other">(</span><span class="Identifier">category</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">priority</span><span class="Other">:</span> <a href="sdl2.html#LogPriority"><span class="Identifier">LogPriority</span></a><span class="Other">;</span> <span class="Identifier">fmt</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">ap</span><span class="Other">:</span> <span class="Identifier">va_list</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogMessageV&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Log a message with the specified category and priority.</pre>
</dd>
<a id="logGetOutputFunction,ptr.LogOutputFunction,ptr.pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logGetOutputFunction%2Cptr.LogOutputFunction%2Cptr.pointer"><span class="Identifier">logGetOutputFunction</span></a><span class="Other">(</span><span class="Identifier">callback</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#LogOutputFunction"><span class="Identifier">LogOutputFunction</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogGetOutputFunction&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current log output function.</pre>
</dd>
<a id="logSetOutputFunction,LogOutputFunction,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#logSetOutputFunction%2CLogOutputFunction%2Cpointer"><span class="Identifier">logSetOutputFunction</span></a><span class="Other">(</span><span class="Identifier">callback</span><span class="Other">:</span> <a href="sdl2.html#LogOutputFunction"><span class="Identifier">LogOutputFunction</span></a><span class="Other">;</span> <span class="Identifier">userdata</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LogSetOutputFunction&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief This function allows you to replace the default log output
function with one of your own.</pre>
</dd>
<a id="showMessageBox,ptr.MessageBoxData,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#showMessageBox%2Cptr.MessageBoxData%2Cptr.cint"><span class="Identifier">showMessageBox</span></a><span class="Other">(</span><span class="Identifier">messageboxdata</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#MessageBoxData"><span class="Identifier">MessageBoxData</span></a><span class="Other">;</span> <span class="Identifier">buttonid</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ShowMessageBox&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a modal message box.
\param messageboxdata The SDL_MessageBoxData structure with title, text, etc.
\param buttonid The pointer to which user id of hit button should be copied.
\return -1 on error, otherwise 0 and buttonid contains user id of button
hit or -1 if dialog was closed.
\note This function should be called on the thread that created the parent
window, or on the main thread if the messagebox has no parent. It will
block execution of that thread until the user clicks a button or
closes the messagebox.</pre>
</dd>
<a id="showSimpleMessageBox,Uint32,cstring,cstring,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#showSimpleMessageBox%2CUint32%2Ccstring%2Ccstring%2Cptr.Window"><span class="Identifier">showSimpleMessageBox</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">title</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">message</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span>
<span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_ShowSimpleMessageBox&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a simple modal message box
\param flags ::SDL_MessageBoxFlags
\param title UTF-8 title text
\param message UTF-8 message text
\param window The parent window, or NULL for no parent
\return 0 on success, -1 on error
\sa SDL_ShowMessageBox</pre>
</dd>
<a id="metal_CreateView,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#metal_CreateView%2Cptr.Window"><span class="Identifier">metal_CreateView</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#MetalView"><span class="Identifier">MetalView</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Metal_CreateView&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\name Metal support functions
@{
\brief Create a CAMetalLayer-backed NSView/UIView and attach it to the
specified window.
On macOS, this doesnot associate a MTLDevice with the CAMetalLayer on its
own. It is up to user code to do that.
The returned handle can be casted directly to a NSView or UIView, and the
CAMetalLayer can be accessed from the view's 'layer' property.
\code
SDL_MetalView metalview = SDL_Metal_CreateView(window);
UIViewuiview = (__bridge UIView)metalview;
CAMetalLayermetallayer = (CAMetalLayer)uiview.layer;
[...]
SDL_Metal_DestroyView(metalview);
\endcode
\sa SDL_Metal_DestroyView</pre>
</dd>
<a id="metal_DestroyView,MetalView"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#metal_DestroyView%2CMetalView"><span class="Identifier">metal_DestroyView</span></a><span class="Other">(</span><span class="Identifier">view</span><span class="Other">:</span> <a href="sdl2.html#MetalView"><span class="Identifier">MetalView</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Metal_DestroyView&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Destroy an existing SDL_MetalView object.
This should be called before SDL_DestroyWindow, if SDL_Metal_CreateView was
called after SDL_CreateWindow.
\sa SDL_Metal_CreateView</pre>
</dd>
<a id="getPowerInfo,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPowerInfo%2Cptr.cint%2Cptr.cint"><span class="Identifier">getPowerInfo</span></a><span class="Other">(</span><span class="Identifier">secs</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">pct</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#PowerState"><span class="Identifier">PowerState</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPowerInfo&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current power supply details.
\param secs Seconds of battery life left. You can pass a NULL here if
you don't care. Will return -1 if we can't determine a
value, or we're not running on a battery.
\param pct Percentage of battery life left, between 0 and 100. You can
pass a NULL here if you don't care. Will return -1 if we
can't determine a value, or we're not running on a battery.
\return The state of the battery (if any).</pre>
</dd>
<a id="getNumRenderDrivers"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getNumRenderDrivers"><span class="Identifier">getNumRenderDrivers</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetNumRenderDrivers&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Function prototypes
\brief Get the number of 2D rendering drivers available for the current
display.
A render driver is a set of code that handles rendering and texture
management on a particular display. Normally there is only one, but
some drivers may have several available with different capabilities.
\sa SDL_GetRenderDriverInfo()
\sa SDL_CreateRenderer()</pre>
</dd>
<a id="getRenderDriverInfo,cint,ptr.RendererInfo"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRenderDriverInfo%2Ccint%2Cptr.RendererInfo"><span class="Identifier">getRenderDriverInfo</span></a><span class="Other">(</span><span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RendererInfo"><span class="Identifier">RendererInfo</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRenderDriverInfo&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get information about a specific 2D rendering driver for the current
display.
\param index The index of the driver to query information about.
\param info A pointer to an SDL_RendererInfo struct to be filled with
information on the rendering driver.
\return 0 on success, -1 if the index was out of range.
\sa SDL_CreateRenderer()</pre>
</dd>
<a id="createWindowAndRenderer,cint,cint,Uint32,ptr.ptr.Window,ptr.ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createWindowAndRenderer%2Ccint%2Ccint%2CUint32%2Cptr.ptr.Window%2Cptr.ptr.Renderer"><span class="Identifier">createWindowAndRenderer</span></a><span class="Other">(</span><span class="Identifier">width</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">height</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">windowFlags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateWindowAndRenderer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a window and default renderer
\param width The width of the window
\param height The height of the window
\param window_flags The flags used to create the window
\param window A pointer filled with the window, or NULL on error
\param renderer A pointer filled with the renderer, or NULL on error
\return 0 on success, or -1 on error</pre>
</dd>
<a id="createRenderer,ptr.Window,cint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createRenderer%2Cptr.Window%2Ccint%2CUint32"><span class="Identifier">createRenderer</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">index</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateRenderer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a 2D rendering context for a window.
\param window The window where rendering is displayed.
\param index The index of the rendering driver to initialize, or -1 to
initialize the first one supporting the requested flags.
\param flags ::SDL_RendererFlags.
\return A valid rendering context or NULL if there was an error.
\sa SDL_CreateSoftwareRenderer()
\sa SDL_GetRendererInfo()
\sa SDL_DestroyRenderer()</pre>
</dd>
<a id="createSoftwareRenderer,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createSoftwareRenderer%2Cptr.Surface"><span class="Identifier">createSoftwareRenderer</span></a><span class="Other">(</span><span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateSoftwareRenderer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a 2D software rendering context for a surface.
\param surface The surface where rendering is done.
\return A valid rendering context or NULL if there was an error.
\sa SDL_CreateRenderer()
\sa SDL_DestroyRenderer()</pre>
</dd>
<a id="getRenderer,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRenderer%2Cptr.Window"><span class="Identifier">getRenderer</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRenderer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the renderer associated with a window.</pre>
</dd>
<a id="getRendererInfo,ptr.Renderer,ptr.RendererInfo"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRendererInfo%2Cptr.Renderer%2Cptr.RendererInfo"><span class="Identifier">getRendererInfo</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#RendererInfo"><span class="Identifier">RendererInfo</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRendererInfo&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get information about a rendering context.</pre>
</dd>
<a id="getRendererOutputSize,ptr.Renderer,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRendererOutputSize%2Cptr.Renderer%2Cptr.cint%2Cptr.cint"><span class="Identifier">getRendererOutputSize</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRendererOutputSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the output size in pixels of a rendering context.</pre>
</dd>
<a id="createTexture,ptr.Renderer,Uint32,cint,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createTexture%2Cptr.Renderer%2CUint32%2Ccint%2Ccint%2Ccint"><span class="Identifier">createTexture</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">access</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a texture for a rendering context.
\param renderer The renderer.
\param format The format of the texture.
\param access One of the enumerated values in ::SDL_TextureAccess.
\param w The width of the texture in pixels.
\param h The height of the texture in pixels.
\return The created texture is returned, or NULL if no rendering context was
active, the format was unsupported, or the width or height were out
of range.
\note The contents of the texture are not defined at creation.
\sa SDL_QueryTexture()
\sa SDL_UpdateTexture()
\sa SDL_DestroyTexture()</pre>
</dd>
<a id="createTextureFromSurface,ptr.Renderer,ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createTextureFromSurface%2Cptr.Renderer%2Cptr.Surface"><span class="Identifier">createTextureFromSurface</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateTextureFromSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a texture from an existing surface.
\param renderer The renderer.
\param surface The surface containing pixel data used to fill the texture.
\return The created texture is returned, or NULL on error.
\note The surface is not modified or freed by this function.
\sa SDL_QueryTexture()
\sa SDL_DestroyTexture()</pre>
</dd>
<a id="queryTexture,ptr.Texture,ptr.Uint32,ptr.cint,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#queryTexture%2Cptr.Texture%2Cptr.Uint32%2Cptr.cint%2Cptr.cint%2Cptr.cint"><span class="Identifier">queryTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">access</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span>
<span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_QueryTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Query the attributes of a texture
\param texture A texture to be queried.
\param format A pointer filled in with the raw format of the texture. The
actual format may differ, but pixel transfers will use this
format.
\param access A pointer filled in with the actual access to the texture.
\param w A pointer filled in with the width of the texture in pixels.
\param h A pointer filled in with the height of the texture in pixels.
\return 0 on success, or -1 if the texture is not valid.</pre>
</dd>
<a id="setTextureColorMod,ptr.Texture,Uint8,Uint8,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setTextureColorMod%2Cptr.Texture%2CUint8%2CUint8%2CUint8"><span class="Identifier">setTextureColorMod</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetTextureColorMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an additional color value used in render copy operations.
\param texture The texture to update.
\param r The red color value multiplied into copy operations.
\param g The green color value multiplied into copy operations.
\param b The blue color value multiplied into copy operations.
\return 0 on success, or -1 if the texture is not valid or color modulation
is not supported.
\sa SDL_GetTextureColorMod()</pre>
</dd>
<a id="getTextureColorMod,ptr.Texture,ptr.Uint8,ptr.Uint8,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTextureColorMod%2Cptr.Texture%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"><span class="Identifier">getTextureColorMod</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTextureColorMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the additional color value used in render copy operations.
\param texture The texture to query.
\param r A pointer filled in with the current red color value.
\param g A pointer filled in with the current green color value.
\param b A pointer filled in with the current blue color value.
\return 0 on success, or -1 if the texture is not valid.
\sa SDL_SetTextureColorMod()</pre>
</dd>
<a id="setTextureAlphaMod,ptr.Texture,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setTextureAlphaMod%2Cptr.Texture%2CUint8"><span class="Identifier">setTextureAlphaMod</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">alpha</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetTextureAlphaMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set an additional alpha value used in render copy operations.
\param texture The texture to update.
\param alpha The alpha value multiplied into copy operations.
\return 0 on success, or -1 if the texture is not valid or alpha modulation
is not supported.
\sa SDL_GetTextureAlphaMod()</pre>
</dd>
<a id="getTextureAlphaMod,ptr.Texture,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTextureAlphaMod%2Cptr.Texture%2Cptr.Uint8"><span class="Identifier">getTextureAlphaMod</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">alpha</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTextureAlphaMod&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the additional alpha value used in render copy operations.
\param texture The texture to query.
\param alpha A pointer filled in with the current alpha value.
\return 0 on success, or -1 if the texture is not valid.
\sa SDL_SetTextureAlphaMod()</pre>
</dd>
<a id="setTextureBlendMode,ptr.Texture,BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setTextureBlendMode%2Cptr.Texture%2CBlendMode"><span class="Identifier">setTextureBlendMode</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetTextureBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the blend mode used for texture copy operations.
\param texture The texture to update.
\param blendMode ::SDL_BlendMode to use for texture blending.
\return 0 on success, or -1 if the texture is not valid or the blend mode is
not supported.
\note If the blend mode is not supported, the closest supported mode is
chosen.
\sa SDL_GetTextureBlendMode()</pre>
</dd>
<a id="getTextureBlendMode,ptr.Texture,ptr.BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTextureBlendMode%2Cptr.Texture%2Cptr.BlendMode"><span class="Identifier">getTextureBlendMode</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTextureBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the blend mode used for texture copy operations.
\param texture The texture to query.
\param blendMode A pointer filled in with the current blend mode.
\return 0 on success, or -1 if the texture is not valid.
\sa SDL_SetTextureBlendMode()</pre>
</dd>
<a id="setTextureScaleMode,ptr.Texture,ScaleMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setTextureScaleMode%2Cptr.Texture%2CScaleMode"><span class="Identifier">setTextureScaleMode</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">scaleMode</span><span class="Other">:</span> <a href="sdl2.html#ScaleMode"><span class="Identifier">ScaleMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetTextureScaleMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the scale mode used for texture scale operations.
\param texture The texture to update.
\param scaleMode ::SDL_ScaleMode to use for texture scaling.
\return 0 on success, or -1 if the texture is not valid.
\note If the scale mode is not supported, the closest supported mode is
chosen.
\sa SDL_GetTextureScaleMode()</pre>
</dd>
<a id="getTextureScaleMode,ptr.Texture,ptr.ScaleMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTextureScaleMode%2Cptr.Texture%2Cptr.ScaleMode"><span class="Identifier">getTextureScaleMode</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">scaleMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#ScaleMode"><span class="Identifier">ScaleMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTextureScaleMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the scale mode used for texture scale operations.
\param texture The texture to query.
\param scaleMode A pointer filled in with the current scale mode.
\return 0 on success, or -1 if the texture is not valid.
\sa SDL_SetTextureScaleMode()</pre>
</dd>
<a id="updateTexture,ptr.Texture,ptr.Rect,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#updateTexture%2Cptr.Texture%2Cptr.Rect%2Cpointer%2Ccint"><span class="Identifier">updateTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">pixels</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">pitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpdateTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Update the given texture rectangle with new pixel data.
\param texture The texture to update
\param rect A pointer to the rectangle of pixels to update, or NULL to
update the entire texture.
\param pixels The raw pixel data in the format of the texture.
\param pitch The number of bytes in a row of pixel data, including padding between lines.
The pixel data must be in the format of the texture. The pixel format can be
queried with SDL_QueryTexture.
\return 0 on success, or -1 if the texture is not valid.
\note This is a fairly slow function.</pre>
</dd>
<a id="updateYUVTexture,ptr.Texture,ptr.Rect,ptr.Uint8,cint,ptr.Uint8,cint,ptr.Uint8,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#updateYUVTexture%2Cptr.Texture%2Cptr.Rect%2Cptr.Uint8%2Ccint%2Cptr.Uint8%2Ccint%2Cptr.Uint8%2Ccint"><span class="Identifier">updateYUVTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">Yplane</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">Ypitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Uplane</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">Upitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">Vplane</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">Vpitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UpdateYUVTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Update a rectangle within a planar YV12 or IYUV texture with new pixel data.
\param texture The texture to update
\param rect A pointer to the rectangle of pixels to update, or NULL to
update the entire texture.
\param Yplane The raw pixel data for the Y plane.
\param Ypitch The number of bytes between rows of pixel data for the Y plane.
\param Uplane The raw pixel data for the U plane.
\param Upitch The number of bytes between rows of pixel data for the U plane.
\param Vplane The raw pixel data for the V plane.
\param Vpitch The number of bytes between rows of pixel data for the V plane.
\return 0 on success, or -1 if the texture is not valid.
\note You can use SDL_UpdateTexture() as long as your pixel data is
a contiguous block of Y and U/V planes in the proper order, but
this function is available if your pixel data is not contiguous.</pre>
</dd>
<a id="lockTexture,ptr.Texture,ptr.Rect,ptr.pointer,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockTexture%2Cptr.Texture%2Cptr.Rect%2Cptr.pointer%2Cptr.cint"><span class="Identifier">lockTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">pixels</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">pointer</span><span class="Other">;</span>
<span class="Identifier">pitch</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Lock a portion of the texture for write-only pixel access.
\param texture The texture to lock for access, which was created with
::SDL_TEXTUREACCESS_STREAMING.
\param rect A pointer to the rectangle to lock for access. If the rect
is NULL, the entire texture will be locked.
\param pixels This is filled in with a pointer to the locked pixels,
appropriately offset by the locked area.
\param pitch This is filled in with the pitch of the locked pixels.
\return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING.
\sa SDL_UnlockTexture()</pre>
</dd>
<a id="lockTextureToSurface,ptr.Texture,ptr.Rect,ptr.ptr.Surface"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lockTextureToSurface%2Cptr.Texture%2Cptr.Rect%2Cptr.ptr.Surface"><span class="Identifier">lockTextureToSurface</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span>
<span class="Identifier">surface</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_LockTextureToSurface&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Lock a portion of the texture for write-only pixel access.
Expose it as a SDL surface.
\param texture The texture to lock for access, which was created with
::SDL_TEXTUREACCESS_STREAMING.
\param rect A pointer to the rectangle to lock for access. If the rect
is NULL, the entire texture will be locked.
\param surface This is filled in with a SDL surface representing the locked area
Surface is freed internally after calling SDL_UnlockTexture or SDL_DestroyTexture.
\return 0 on success, or -1 if the texture is not valid or was not created with ::SDL_TEXTUREACCESS_STREAMING.
\sa SDL_UnlockTexture()</pre>
</dd>
<a id="unlockTexture,ptr.Texture"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#unlockTexture%2Cptr.Texture"><span class="Identifier">unlockTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_UnlockTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Unlock a texture, uploading the changes to video memory, if needed.
If SDL_LockTextureToSurface() was called for locking, the SDL surface is freed.
\sa SDL_LockTexture()
\sa SDL_LockTextureToSurface()</pre>
</dd>
<a id="renderTargetSupported,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderTargetSupported%2Cptr.Renderer"><span class="Identifier">renderTargetSupported</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderTargetSupported&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Determines whether a window supports the use of render targets
\param renderer The renderer that will be checked
\return SDL_TRUE if supported, SDL_FALSE if not.</pre>
</dd>
<a id="setRenderTarget,ptr.Renderer,ptr.Texture"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setRenderTarget%2Cptr.Renderer%2Cptr.Texture"><span class="Identifier">setRenderTarget</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetRenderTarget&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set a texture as the current rendering target.
\param renderer The renderer.
\param texture The targeted texture, which must be created with the SDL_TEXTUREACCESS_TARGET flag, or NULL for the default render target
\return 0 on success, or -1 on error
\sa SDL_GetRenderTarget()</pre>
</dd>
<a id="getRenderTarget,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRenderTarget%2Cptr.Renderer"><span class="Identifier">getRenderTarget</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRenderTarget&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current render target or NULL for the default render target.
\return The current render target
\sa SDL_SetRenderTarget()</pre>
</dd>
<a id="renderSetLogicalSize,ptr.Renderer,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderSetLogicalSize%2Cptr.Renderer%2Ccint%2Ccint"><span class="Identifier">renderSetLogicalSize</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderSetLogicalSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set device independent resolution for rendering
\param renderer The renderer for which resolution should be set.
\param w The width of the logical resolution
\param h The height of the logical resolution
This function uses the viewport and scaling functionality to allow a fixed logical
resolution for rendering, regardless of the actual output resolution. If the actual
output resolution doesn't have the same aspect ratio the output rendering will be
centered within the output display.
If the output display is a window, mouse events in the window will be filtered
and scaled so they seem to arrive within the logical resolution.
\note If this function results in scaling or subpixel drawing by the
rendering backend, it will be handled using the appropriate
quality hints.
\sa SDL_RenderGetLogicalSize()
\sa SDL_RenderSetScale()
\sa SDL_RenderSetViewport()</pre>
</dd>
<a id="renderGetLogicalSize,ptr.Renderer,ptr.cint,ptr.cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetLogicalSize%2Cptr.Renderer%2Cptr.cint%2Cptr.cint"><span class="Identifier">renderGetLogicalSize</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cint</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetLogicalSize&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get device independent resolution for rendering
\param renderer The renderer from which resolution should be queried.
\param w A pointer filled with the width of the logical resolution
\param h A pointer filled with the height of the logical resolution
\sa SDL_RenderSetLogicalSize()</pre>
</dd>
<a id="renderSetIntegerScale,ptr.Renderer,bool"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderSetIntegerScale%2Cptr.Renderer%2Cbool"><span class="Identifier">renderSetIntegerScale</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">enable</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderSetIntegerScale&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set whether to force integer scales for resolution-independent rendering
\param renderer The renderer for which integer scaling should be set.
\param enable Enable or disable integer scaling
This function restricts the logical viewport to integer values - that is, when
a resolution is between two multiples of a logical size, the viewport size is
rounded down to the lower multiple.
\sa SDL_RenderSetLogicalSize()</pre>
</dd>
<a id="renderGetIntegerScale,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetIntegerScale%2Cptr.Renderer"><span class="Identifier">renderGetIntegerScale</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetIntegerScale&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get whether integer scales are forced for resolution-independent rendering
\param renderer The renderer from which integer scaling should be queried.
\sa SDL_RenderSetIntegerScale()</pre>
</dd>
<a id="renderSetViewport,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderSetViewport%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderSetViewport</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderSetViewport&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the drawing area for rendering on the current target.
\param renderer The renderer for which the drawing area should be set.
\param rect The rectangle representing the drawing area, or NULL to set the viewport to the entire target.
The x,y of the viewport rect represents the origin for rendering.
\return 0 on success, or -1 on error
\note If the window associated with the renderer is resized, the viewport is automatically reset.
\sa SDL_RenderGetViewport()
\sa SDL_RenderSetLogicalSize()</pre>
</dd>
<a id="renderGetViewport,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetViewport%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderGetViewport</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetViewport&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the drawing area for the current target.
\sa SDL_RenderSetViewport()</pre>
</dd>
<a id="renderSetClipRect,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderSetClipRect%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderSetClipRect</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderSetClipRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the clip rectangle for the current target.
\param renderer The renderer for which clip rectangle should be set.
\param rect A pointer to the rectangle to set as the clip rectangle,
relative to the viewport, or NULL to disable clipping.
\return 0 on success, or -1 on error
\sa SDL_RenderGetClipRect()</pre>
</dd>
<a id="renderGetClipRect,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetClipRect%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderGetClipRect</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetClipRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the clip rectangle for the current target.
\param renderer The renderer from which clip rectangle should be queried.
\param rect A pointer filled in with the current clip rectangle, or
an empty rectangle if clipping is disabled.
\sa SDL_RenderSetClipRect()</pre>
</dd>
<a id="renderIsClipEnabled,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderIsClipEnabled%2Cptr.Renderer"><span class="Identifier">renderIsClipEnabled</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderIsClipEnabled&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get whether clipping is enabled on the given renderer.
\param renderer The renderer from which clip state should be queried.
\sa SDL_RenderGetClipRect()</pre>
</dd>
<a id="renderSetScale,ptr.Renderer,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderSetScale%2Cptr.Renderer%2Ccfloat%2Ccfloat"><span class="Identifier">renderSetScale</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">scaleX</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">scaleY</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderSetScale&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the drawing scale for rendering on the current target.
\param renderer The renderer for which the drawing scale should be set.
\param scaleX The horizontal scaling factor
\param scaleY The vertical scaling factor
The drawing coordinates are scaled by the x/y scaling factors
before they are used by the renderer. This allows resolution
independent drawing with a single coordinate system.
\note If this results in scaling or subpixel drawing by the
rendering backend, it will be handled using the appropriate
quality hints. For best results use integer scaling factors.
\sa SDL_RenderGetScale()
\sa SDL_RenderSetLogicalSize()</pre>
</dd>
<a id="renderGetScale,ptr.Renderer,ptr.cfloat,ptr.cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetScale%2Cptr.Renderer%2Cptr.cfloat%2Cptr.cfloat"><span class="Identifier">renderGetScale</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">scaleX</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">scaleY</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetScale&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the drawing scale for the current target.
\param renderer The renderer from which drawing scale should be queried.
\param scaleX A pointer filled in with the horizontal scaling factor
\param scaleY A pointer filled in with the vertical scaling factor
\sa SDL_RenderSetScale()</pre>
</dd>
<a id="setRenderDrawColor,ptr.Renderer,Uint8,Uint8,Uint8,Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setRenderDrawColor%2Cptr.Renderer%2CUint8%2CUint8%2CUint8%2CUint8"><span class="Identifier">setRenderDrawColor</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">a</span><span class="Other">:</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetRenderDrawColor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the color used for drawing operations (Rect, Line and Clear).
\param renderer The renderer for which drawing color should be set.
\param r The red value used to draw on the rendering target.
\param g The green value used to draw on the rendering target.
\param b The blue value used to draw on the rendering target.
\param a The alpha value used to draw on the rendering target, usually
::SDL_ALPHA_OPAQUE (255).
\return 0 on success, or -1 on error</pre>
</dd>
<a id="getRenderDrawColor,ptr.Renderer,ptr.Uint8,ptr.Uint8,ptr.Uint8,ptr.Uint8"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRenderDrawColor%2Cptr.Renderer%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8%2Cptr.Uint8"><span class="Identifier">getRenderDrawColor</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">r</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span> <span class="Identifier">b</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">;</span>
<span class="Identifier">a</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Uint8"><span class="Identifier">Uint8</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRenderDrawColor&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the color used for drawing operations (Rect, Line and Clear).
\param renderer The renderer from which drawing color should be queried.
\param r A pointer to the red value used to draw on the rendering target.
\param g A pointer to the green value used to draw on the rendering target.
\param b A pointer to the blue value used to draw on the rendering target.
\param a A pointer to the alpha value used to draw on the rendering target,
usually ::SDL_ALPHA_OPAQUE (255).
\return 0 on success, or -1 on error</pre>
</dd>
<a id="setRenderDrawBlendMode,ptr.Renderer,BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setRenderDrawBlendMode%2Cptr.Renderer%2CBlendMode"><span class="Identifier">setRenderDrawBlendMode</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetRenderDrawBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the blend mode used for drawing operations (Fill and Line).
\param renderer The renderer for which blend mode should be set.
\param blendMode ::SDL_BlendMode to use for blending.
\return 0 on success, or -1 on error
\note If the blend mode is not supported, the closest supported mode is
chosen.
\sa SDL_GetRenderDrawBlendMode()</pre>
</dd>
<a id="getRenderDrawBlendMode,ptr.Renderer,ptr.BlendMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRenderDrawBlendMode%2Cptr.Renderer%2Cptr.BlendMode"><span class="Identifier">getRenderDrawBlendMode</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">blendMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#BlendMode"><span class="Identifier">BlendMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRenderDrawBlendMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the blend mode used for drawing operations.
\param renderer The renderer from which blend mode should be queried.
\param blendMode A pointer filled in with the current blend mode.
\return 0 on success, or -1 on error
\sa SDL_SetRenderDrawBlendMode()</pre>
</dd>
<a id="renderClear,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderClear%2Cptr.Renderer"><span class="Identifier">renderClear</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderClear&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Clear the current rendering target with the drawing color
This function clears the entire rendering target, ignoring the viewport and
the clip rectangle.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawPoint,ptr.Renderer,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawPoint%2Cptr.Renderer%2Ccint%2Ccint"><span class="Identifier">renderDrawPoint</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawPoint&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a point on the current rendering target.
\param renderer The renderer which should draw a point.
\param x The x coordinate of the point.
\param y The y coordinate of the point.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawPoints,ptr.Renderer,ptr.Point,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawPoints%2Cptr.Renderer%2Cptr.Point%2Ccint"><span class="Identifier">renderDrawPoints</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">points</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Point"><span class="Identifier">Point</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawPoints&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw multiple points on the current rendering target.
\param renderer The renderer which should draw multiple points.
\param points The points to draw
\param count The number of points to draw
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawLine,ptr.Renderer,cint,cint,cint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawLine%2Cptr.Renderer%2Ccint%2Ccint%2Ccint%2Ccint"><span class="Identifier">renderDrawLine</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y1</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">x2</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">;</span> <span class="Identifier">y2</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawLine&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a line on the current rendering target.
\param renderer The renderer which should draw a line.
\param x1 The x coordinate of the start point.
\param y1 The y coordinate of the start point.
\param x2 The x coordinate of the end point.
\param y2 The y coordinate of the end point.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawLines,ptr.Renderer,ptr.Point,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawLines%2Cptr.Renderer%2Cptr.Point%2Ccint"><span class="Identifier">renderDrawLines</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">points</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Point"><span class="Identifier">Point</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawLines&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a series of connected lines on the current rendering target.
\param renderer The renderer which should draw multiple lines.
\param points The points along the lines
\param count The number of points, drawing count-1 lines
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawRect,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawRect%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderDrawRect</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a rectangle on the current rendering target.
\param renderer The renderer which should draw a rectangle.
\param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawRects,ptr.Renderer,ptr.Rect,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawRects%2Cptr.Renderer%2Cptr.Rect%2Ccint"><span class="Identifier">renderDrawRects</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawRects&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw some number of rectangles on the current rendering target.
\param renderer The renderer which should draw multiple rectangles.
\param rects A pointer to an array of destination rectangles.
\param count The number of rectangles.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderFillRect,ptr.Renderer,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderFillRect%2Cptr.Renderer%2Cptr.Rect"><span class="Identifier">renderFillRect</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderFillRect&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill a rectangle on the current rendering target with the drawing color.
\param renderer The renderer which should fill a rectangle.
\param rect A pointer to the destination rectangle, or NULL for the entire
rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderFillRects,ptr.Renderer,ptr.Rect,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderFillRects%2Cptr.Renderer%2Cptr.Rect%2Ccint"><span class="Identifier">renderFillRects</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderFillRects&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill some number of rectangles on the current rendering target with the drawing color.
\param renderer The renderer which should fill multiple rectangles.
\param rects A pointer to an array of destination rectangles.
\param count The number of rectangles.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderCopy,ptr.Renderer,ptr.Texture,ptr.Rect,ptr.Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderCopy%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.Rect"><span class="Identifier">renderCopy</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderCopy&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a portion of the texture to the current rendering target.
\param renderer The renderer which should copy parts of a texture.
\param texture The source texture.
\param srcrect A pointer to the source rectangle, or NULL for the entire
texture.
\param dstrect A pointer to the destination rectangle, or NULL for the
entire rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderCopyEx,ptr.Renderer,ptr.Texture,ptr.Rect,ptr.Rect,cdouble,ptr.Point,RendererFlip"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderCopyEx%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.Rect%2Ccdouble%2Cptr.Point%2CRendererFlip"><span class="Identifier">renderCopyEx</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">angle</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Point"><span class="Identifier">Point</span></a><span class="Other">;</span>
<span class="Identifier">flip</span><span class="Other">:</span> <a href="sdl2.html#RendererFlip"><span class="Identifier">RendererFlip</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderCopyEx&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
\param renderer The renderer which should copy parts of a texture.
\param texture The source texture.
\param srcrect A pointer to the source rectangle, or NULL for the entire
texture.
\param dstrect A pointer to the destination rectangle, or NULL for the
entire rendering target.
\param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
\param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).
\param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawPointF,ptr.Renderer,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawPointF%2Cptr.Renderer%2Ccfloat%2Ccfloat"><span class="Identifier">renderDrawPointF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawPointF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a point on the current rendering target.
\param renderer The renderer which should draw a point.
\param x The x coordinate of the point.
\param y The y coordinate of the point.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawPointsF,ptr.Renderer,ptr.FPoint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawPointsF%2Cptr.Renderer%2Cptr.FPoint%2Ccint"><span class="Identifier">renderDrawPointsF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">points</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FPoint"><span class="Identifier">FPoint</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawPointsF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw multiple points on the current rendering target.
\param renderer The renderer which should draw multiple points.
\param points The points to draw
\param count The number of points to draw
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawLineF,ptr.Renderer,cfloat,cfloat,cfloat,cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawLineF%2Cptr.Renderer%2Ccfloat%2Ccfloat%2Ccfloat%2Ccfloat"><span class="Identifier">renderDrawLineF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">y1</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">x2</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">;</span>
<span class="Identifier">y2</span><span class="Other">:</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawLineF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a line on the current rendering target.
\param renderer The renderer which should draw a line.
\param x1 The x coordinate of the start point.
\param y1 The y coordinate of the start point.
\param x2 The x coordinate of the end point.
\param y2 The y coordinate of the end point.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawLinesF,ptr.Renderer,ptr.FPoint,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawLinesF%2Cptr.Renderer%2Cptr.FPoint%2Ccint"><span class="Identifier">renderDrawLinesF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">points</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FPoint"><span class="Identifier">FPoint</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawLinesF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a series of connected lines on the current rendering target.
\param renderer The renderer which should draw multiple lines.
\param points The points along the lines
\param count The number of points, drawing count-1 lines
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawRectF,ptr.Renderer,ptr.FRect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawRectF%2Cptr.Renderer%2Cptr.FRect"><span class="Identifier">renderDrawRectF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawRectF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw a rectangle on the current rendering target.
\param renderer The renderer which should draw a rectangle.
\param rect A pointer to the destination rectangle, or NULL to outline the entire rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderDrawRectsF,ptr.Renderer,ptr.FRect,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderDrawRectsF%2Cptr.Renderer%2Cptr.FRect%2Ccint"><span class="Identifier">renderDrawRectsF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderDrawRectsF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Draw some number of rectangles on the current rendering target.
\param renderer The renderer which should draw multiple rectangles.
\param rects A pointer to an array of destination rectangles.
\param count The number of rectangles.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderFillRectF,ptr.Renderer,ptr.FRect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderFillRectF%2Cptr.Renderer%2Cptr.FRect"><span class="Identifier">renderFillRectF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderFillRectF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill a rectangle on the current rendering target with the drawing color.
\param renderer The renderer which should fill a rectangle.
\param rect A pointer to the destination rectangle, or NULL for the entire
rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderFillRectsF,ptr.Renderer,ptr.FRect,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderFillRectsF%2Cptr.Renderer%2Cptr.FRect%2Ccint"><span class="Identifier">renderFillRectsF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rects</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">;</span> <span class="Identifier">count</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderFillRectsF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Fill some number of rectangles on the current rendering target with the drawing color.
\param renderer The renderer which should fill multiple rectangles.
\param rects A pointer to an array of destination rectangles.
\param count The number of rectangles.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderCopyF,ptr.Renderer,ptr.Texture,ptr.Rect,ptr.FRect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderCopyF%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.FRect"><span class="Identifier">renderCopyF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderCopyF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a portion of the texture to the current rendering target.
\param renderer The renderer which should copy parts of a texture.
\param texture The source texture.
\param srcrect A pointer to the source rectangle, or NULL for the entire
texture.
\param dstrect A pointer to the destination rectangle, or NULL for the
entire rendering target.
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderCopyExF,ptr.Renderer,ptr.Texture,ptr.Rect,ptr.FRect,cdouble,ptr.FPoint,RendererFlip"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderCopyExF%2Cptr.Renderer%2Cptr.Texture%2Cptr.Rect%2Cptr.FRect%2Ccdouble%2Cptr.FPoint%2CRendererFlip"><span class="Identifier">renderCopyExF</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">srcrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span>
<span class="Identifier">dstrect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FRect"><span class="Identifier">FRect</span></a><span class="Other">;</span> <span class="Identifier">angle</span><span class="Other">:</span> <span class="Identifier">cdouble</span><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#FPoint"><span class="Identifier">FPoint</span></a><span class="Other">;</span>
<span class="Identifier">flip</span><span class="Other">:</span> <a href="sdl2.html#RendererFlip"><span class="Identifier">RendererFlip</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderCopyExF&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Copy a portion of the source texture to the current rendering target, rotating it by angle around the given center
\param renderer The renderer which should copy parts of a texture.
\param texture The source texture.
\param srcrect A pointer to the source rectangle, or NULL for the entire
texture.
\param dstrect A pointer to the destination rectangle, or NULL for the
entire rendering target.
\param angle An angle in degrees that indicates the rotation that will be applied to dstrect, rotating it in a clockwise direction
\param center A pointer to a point indicating the point around which dstrect will be rotated (if NULL, rotation will be done around dstrect.w/2, dstrect.h/2).
\param flip An SDL_RendererFlip value stating which flipping actions should be performed on the texture
\return 0 on success, or -1 on error</pre>
</dd>
<a id="renderReadPixels,ptr.Renderer,ptr.Rect,Uint32,pointer,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderReadPixels%2Cptr.Renderer%2Cptr.Rect%2CUint32%2Cpointer%2Ccint"><span class="Identifier">renderReadPixels</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Rect"><span class="Identifier">Rect</span></a><span class="Other">;</span> <span class="Identifier">format</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span>
<span class="Identifier">pixels</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">;</span> <span class="Identifier">pitch</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderReadPixels&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Read pixels from the current rendering target.
\param renderer The renderer from which pixels should be read.
\param rect A pointer to the rectangle to read, or NULL for the entire
render target.
\param format The desired format of the pixel data, or 0 to use the format
of the rendering target
\param pixels A pointer to be filled in with the pixel data
\param pitch The pitch of the pixels parameter.
\return 0 on success, or -1 if pixel reading is not supported.
\warning This is a very slow operation, and should not be used frequently.</pre>
</dd>
<a id="renderPresent,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderPresent%2Cptr.Renderer"><span class="Identifier">renderPresent</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderPresent&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Update the screen with rendering performed.</pre>
</dd>
<a id="destroyTexture,ptr.Texture"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroyTexture%2Cptr.Texture"><span class="Identifier">destroyTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroyTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Destroy the specified texture.
\sa SDL_CreateTexture()
\sa SDL_CreateTextureFromSurface()</pre>
</dd>
<a id="destroyRenderer,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#destroyRenderer%2Cptr.Renderer"><span class="Identifier">destroyRenderer</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_DestroyRenderer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Destroy the rendering context for a window and free associated
textures.
\sa SDL_CreateRenderer()</pre>
</dd>
<a id="renderFlush,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderFlush%2Cptr.Renderer"><span class="Identifier">renderFlush</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderFlush&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Force the rendering context to flush any pending commands to the
underlying rendering API.
You do not need to (and in fact, shouldn't) call this function unless
you are planning to call into OpenGL/Direct3D/Metal/whatever directly
in addition to using an SDL_Renderer.
This is for a very-specific case: if you are using SDL's render API,
you asked for a specific renderer backend (OpenGL, Direct3D, etc),
you set SDL_HINT_RENDER_BATCHING to &quot;1&quot;, and you plan to make
OpenGL/D3D/whatever calls in addition to SDL render API calls. If all of
this applies, you should call SDL_RenderFlush() between calls to SDL's
render API and the low-level API you're using in cooperation.
In all other cases, you can ignore this function. This is only here to
get maximum performance out of a specific situation. In all other cases,
SDL will do the right thing, perhaps at a performance loss.
This function is first available in SDL 2.0.10, and is not needed in
2.0.9 and earlier, as earlier versions did not queue rendering commands
at all, instead flushing them to the OS immediately.</pre>
</dd>
<a id="gL_BindTexture,ptr.Texture,ptr.cfloat,ptr.cfloat"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_BindTexture%2Cptr.Texture%2Cptr.cfloat%2Cptr.cfloat"><span class="Identifier">gL_BindTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">;</span> <span class="Identifier">texw</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">texh</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_BindTexture&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Bind the texture to the current OpenGL/ES/ES2 context for use with
OpenGL instructions.
\param texture The SDL texture to bind
\param texw A pointer to a float that will be filled with the texture width
\param texh A pointer to a float that will be filled with the texture height
\return 0 on success, or -1 if the operation is not supported</pre>
</dd>
<a id="gL_UnbindTexture,ptr.Texture"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#gL_UnbindTexture%2Cptr.Texture"><span class="Identifier">gL_UnbindTexture</span></a><span class="Other">(</span><span class="Identifier">texture</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Texture"><span class="Identifier">Texture</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GL_UnbindTexture&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Unbind a texture from the current OpenGL/ES/ES2 context.
\param texture The SDL texture to unbind
\return 0 on success, or -1 if the operation is not supported</pre>
</dd>
<a id="renderGetMetalLayer,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetMetalLayer%2Cptr.Renderer"><span class="Identifier">renderGetMetalLayer</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetMetalLayer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the CAMetalLayer associated with the given Metal renderer
\param renderer The renderer to query
\return CAMetalLayer on success, or NULL if the renderer isn't a Metal renderer
\sa SDL_RenderGetMetalCommandEncoder()</pre>
</dd>
<a id="renderGetMetalCommandEncoder,ptr.Renderer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#renderGetMetalCommandEncoder%2Cptr.Renderer"><span class="Identifier">renderGetMetalCommandEncoder</span></a><span class="Other">(</span><span class="Identifier">renderer</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Renderer"><span class="Identifier">Renderer</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">pointer</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RenderGetMetalCommandEncoder&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the Metal command encoder for the current frame
\param renderer The renderer to query
\return id&lt;MTLRenderCommandEncoder&gt; on success, or NULL if the renderer isn't a Metal renderer
\sa SDL_RenderGetMetalLayer()</pre>
</dd>
<a id="numSensors"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#numSensors"><span class="Identifier">numSensors</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_NumSensors&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Gyroscope sensor
The gyroscope returns the current rate of rotation in radians per second.
The rotation is positive in the counter-clockwise direction. That is,
an observer looking from a positive location on one of the axes would
see positive rotation on that axis when it appeared to be rotating
counter-clockwise.
values[0]: Angular speed around the x axis
values[1]: Angular speed around the y axis
values[2]: Angular speed around the z axis
For phones held in portrait mode, the axes are defined as follows:
-X ... +X : left ... right
-Y ... +Y : bottom ... top
-Z ... +Z : farther ... closer
The axis data is not changed when the phone is rotated.
\sa SDL_GetDisplayOrientation()
Function prototypes
\brief Count the number of sensors attached to the system right now</pre>
</dd>
<a id="sensorGetDeviceName,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetDeviceName%2Ccint"><span class="Identifier">sensorGetDeviceName</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetDeviceName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the implementation dependent name of a sensor.
This can be called before any sensors are opened.
\return The sensor name, or NULL if device_index is out of range.</pre>
</dd>
<a id="sensorGetDeviceType,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetDeviceType%2Ccint"><span class="Identifier">sensorGetDeviceType</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#SensorType"><span class="Identifier">SensorType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetDeviceType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the type of a sensor.
This can be called before any sensors are opened.
\return The sensor type, or SDL_SENSOR_INVALID if device_index is out of range.</pre>
</dd>
<a id="sensorGetDeviceNonPortableType,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetDeviceNonPortableType%2Ccint"><span class="Identifier">sensorGetDeviceNonPortableType</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetDeviceNonPortableType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the platform dependent type of a sensor.
This can be called before any sensors are opened.
\return The sensor platform dependent type, or -1 if device_index is out of range.</pre>
</dd>
<a id="sensorGetDeviceInstanceID,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetDeviceInstanceID%2Ccint"><span class="Identifier">sensorGetDeviceInstanceID</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#SensorID"><span class="Identifier">SensorID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetDeviceInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the instance ID of a sensor.
This can be called before any sensors are opened.
\return The sensor instance ID, or -1 if device_index is out of range.</pre>
</dd>
<a id="sensorOpen,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorOpen%2Ccint"><span class="Identifier">sensorOpen</span></a><span class="Other">(</span><span class="Identifier">deviceIndex</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorOpen&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Open a sensor for use.
The index passed as an argument refers to the N'th sensor on the system.
\return A sensor identifier, or NULL if an error occurred.</pre>
</dd>
<a id="sensorFromInstanceID,SensorID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorFromInstanceID%2CSensorID"><span class="Identifier">sensorFromInstanceID</span></a><span class="Other">(</span><span class="Identifier">instanceId</span><span class="Other">:</span> <a href="sdl2.html#SensorID"><span class="Identifier">SensorID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorFromInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Return the SDL_Sensor associated with an instance id.</pre>
</dd>
<a id="sensorGetName,ptr.Sensor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetName%2Cptr.Sensor"><span class="Identifier">sensorGetName</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetName&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the implementation dependent name of a sensor.
\return The sensor name, or NULL if the sensor is NULL.</pre>
</dd>
<a id="sensorGetType,ptr.Sensor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetType%2Cptr.Sensor"><span class="Identifier">sensorGetType</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#SensorType"><span class="Identifier">SensorType</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetType&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the type of a sensor.
This can be called before any sensors are opened.
\return The sensor type, or SDL_SENSOR_INVALID if the sensor is NULL.</pre>
</dd>
<a id="sensorGetNonPortableType,ptr.Sensor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetNonPortableType%2Cptr.Sensor"><span class="Identifier">sensorGetNonPortableType</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetNonPortableType&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the platform dependent type of a sensor.
This can be called before any sensors are opened.
\return The sensor platform dependent type, or -1 if the sensor is NULL.</pre>
</dd>
<a id="sensorGetInstanceID,ptr.Sensor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetInstanceID%2Cptr.Sensor"><span class="Identifier">sensorGetInstanceID</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#SensorID"><span class="Identifier">SensorID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetInstanceID&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the instance ID of a sensor.
This can be called before any sensors are opened.
\return The sensor instance ID, or -1 if the sensor is NULL.</pre>
</dd>
<a id="sensorGetData,ptr.Sensor,ptr.cfloat,cint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorGetData%2Cptr.Sensor%2Cptr.cfloat%2Ccint"><span class="Identifier">sensorGetData</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">;</span> <span class="Identifier">data</span><span class="Other">:</span> <span class="Keyword">ptr</span> <span class="Identifier">cfloat</span><span class="Other">;</span> <span class="Identifier">numValues</span><span class="Other">:</span> <span class="Identifier">cint</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorGetData&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Get the current state of an opened sensor.
The number of values and interpretation of the data is sensor dependent.
\param sensor The sensor to query
\param data A pointer filled with the current sensor state
\param num_values The number of values to write to data
\return 0 or -1 if an error occurred.</pre>
</dd>
<a id="sensorClose,ptr.Sensor"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorClose%2Cptr.Sensor"><span class="Identifier">sensorClose</span></a><span class="Other">(</span><span class="Identifier">sensor</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Sensor"><span class="Identifier">Sensor</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorClose&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Close a sensor previously opened with SDL_SensorOpen()</pre>
</dd>
<a id="sensorUpdate"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#sensorUpdate"><span class="Identifier">sensorUpdate</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SensorUpdate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Update the current state of the open sensors.
This is called automatically by the event loop if sensor events are enabled.
This needs to be called from the thread that initialized the sensor subsystem.</pre>
</dd>
<a id="createShapedWindow,cstring,cuint,cuint,cuint,cuint,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#createShapedWindow%2Ccstring%2Ccuint%2Ccuint%2Ccuint%2Ccuint%2CUint32"><span class="Identifier">createShapedWindow</span></a><span class="Other">(</span><span class="Identifier">title</span><span class="Other">:</span> <span class="Identifier">cstring</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">cuint</span><span class="Other">;</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">cuint</span><span class="Other">;</span> <span class="Identifier">w</span><span class="Other">:</span> <span class="Identifier">cuint</span><span class="Other">;</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">cuint</span><span class="Other">;</span>
<span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_CreateShapedWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Create a window that can be shaped with the specified position, dimensions, and flags.
\param title The title of the window, in UTF-8 encoding.
\param x The x position of the window, ::SDL_WINDOWPOS_CENTERED, or
::SDL_WINDOWPOS_UNDEFINED.
\param y The y position of the window, ::SDL_WINDOWPOS_CENTERED, or
::SDL_WINDOWPOS_UNDEFINED.
\param w The width of the window.
\param h The height of the window.
\param flags The flags for the window, a mask of SDL_WINDOW_BORDERLESS with any of the following:
::SDL_WINDOW_OPENGL, ::SDL_WINDOW_INPUT_GRABBED,
::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_RESIZABLE,
::SDL_WINDOW_MAXIMIZED, ::SDL_WINDOW_MINIMIZED,
::SDL_WINDOW_BORDERLESS is always set, and ::SDL_WINDOW_FULLSCREEN is always unset.
\return The window created, or NULL if window creation failed.
\sa SDL_DestroyWindow()</pre>
</dd>
<a id="isShapedWindow,ptr.Window"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isShapedWindow%2Cptr.Window"><span class="Identifier">isShapedWindow</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsShapedWindow&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Return whether the given window is a shaped window.
\param window The window to query for being shaped.
\return SDL_TRUE if the window is a window that can be shaped, SDL_FALSE if the window is unshaped or NULL.
\sa SDL_CreateShapedWindow</pre>
</dd>
<a id="setWindowShape,ptr.Window,ptr.Surface,ptr.WindowShapeMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#setWindowShape%2Cptr.Window%2Cptr.Surface%2Cptr.WindowShapeMode"><span class="Identifier">setWindowShape</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">shape</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Surface"><span class="Identifier">Surface</span></a><span class="Other">;</span>
<span class="Identifier">shapeMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#WindowShapeMode"><span class="Identifier">WindowShapeMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_SetWindowShape&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Set the shape and parameters of a shaped window.
\param window The shaped window whose parameters should be set.
\param shape A surface encoding the desired shape for the window.
\param shape_mode The parameters to set for the shaped window.
\return 0 on success, SDL_INVALID_SHAPE_ARGUMENT on an invalid shape argument, or SDL_NONSHAPEABLE_WINDOW
if the SDL_Window given does not reference a valid shaped window.
\sa SDL_WindowShapeMode
\sa SDL_GetShapedWindowMode.</pre>
</dd>
<a id="getShapedWindowMode,ptr.Window,ptr.WindowShapeMode"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getShapedWindowMode%2Cptr.Window%2Cptr.WindowShapeMode"><span class="Identifier">getShapedWindowMode</span></a><span class="Other">(</span><span class="Identifier">window</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Window"><span class="Identifier">Window</span></a><span class="Other">;</span> <span class="Identifier">shapeMode</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#WindowShapeMode"><span class="Identifier">WindowShapeMode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetShapedWindowMode&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the shape parameters of a shaped window.
\param window The shaped window whose parameters should be retrieved.
\param shape_mode An empty shape-mode structure to fill, or NULL to check whether the window has a shape.
\return 0 if the window has a shape and, provided shape_mode was not NULL, shape_mode has been filled with the mode
data, SDL_NONSHAPEABLE_WINDOW if the SDL_Window given is not a shaped window, or SDL_WINDOW_LACKS_SHAPE if
the SDL_Window given is a shapeable window currently lacking a shape.
\sa SDL_WindowShapeMode
\sa SDL_SetWindowShape</pre>
</dd>
<a id="isTablet"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#isTablet"><span class="Identifier">isTablet</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_IsTablet&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
Platform specific functions for Windows
Platform specific functions for Linux
Platform specific functions for iOS
Platform specific functions for Android
Platform specific functions for WinRT
\brief Return true if the current device is a tablet.</pre>
</dd>
<a id="onApplicationWillTerminate"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationWillTerminate"><span class="Identifier">onApplicationWillTerminate</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationWillTerminate&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Functions used by iOS application delegates to notify SDL about state changes</pre>
</dd>
<a id="onApplicationDidReceiveMemoryWarning"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationDidReceiveMemoryWarning"><span class="Identifier">onApplicationDidReceiveMemoryWarning</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationDidReceiveMemoryWarning&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="onApplicationWillResignActive"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationWillResignActive"><span class="Identifier">onApplicationWillResignActive</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationWillResignActive&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="onApplicationDidEnterBackground"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationDidEnterBackground"><span class="Identifier">onApplicationDidEnterBackground</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationDidEnterBackground&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="onApplicationWillEnterForeground"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationWillEnterForeground"><span class="Identifier">onApplicationWillEnterForeground</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationWillEnterForeground&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="onApplicationDidBecomeActive"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#onApplicationDidBecomeActive"><span class="Identifier">onApplicationDidBecomeActive</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_OnApplicationDidBecomeActive&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="getTicks"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getTicks"><span class="Identifier">getTicks</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetTicks&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>Some compilers use a special export keyword
By default SDL uses the C calling convention
Removed DECLSPEC on Symbian OS because SDL cannot be a DLL in EPOC
Force structure packing at 4 byte alignment.
This is necessary if the header is included in code which has structure
packing set to an alternate value, say for loading structures from disk.
The packing is reset to the previous value in close_code.h
Apparently this is needed by several Windows compilers
Set up for C function definitions, even when using C++
\brief Get the number of milliseconds since the SDL library initialization.
\note This value wraps if the program runs for more than ~49 days.</pre>
</dd>
<a id="getPerformanceCounter"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPerformanceCounter"><span class="Identifier">getPerformanceCounter</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPerformanceCounter&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the current value of the high resolution counter</pre>
</dd>
<a id="getPerformanceFrequency"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getPerformanceFrequency"><span class="Identifier">getPerformanceFrequency</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint64"><span class="Identifier">Uint64</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetPerformanceFrequency&quot;</span><span class="Other">,</span>
<span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the count per second of the high resolution counter</pre>
</dd>
<a id="delay,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#delay%2CUint32"><span class="Identifier">delay</span></a><span class="Other">(</span><span class="Identifier">ms</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Delay&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Wait a specified number of milliseconds before returning.</pre>
</dd>
<a id="addTimer,Uint32,TimerCallback,pointer"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#addTimer%2CUint32%2CTimerCallback%2Cpointer"><span class="Identifier">addTimer</span></a><span class="Other">(</span><span class="Identifier">interval</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">;</span> <span class="Identifier">callback</span><span class="Other">:</span> <a href="sdl2.html#TimerCallback"><span class="Identifier">TimerCallback</span></a><span class="Other">;</span> <span class="Identifier">param</span><span class="Other">:</span> <span class="Identifier">pointer</span><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#TimerID"><span class="Identifier">TimerID</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_AddTimer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Add a new timer to the pool of timers already running.
\return A timer ID, or 0 when an error occurs.</pre>
</dd>
<a id="removeTimer,TimerID"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#removeTimer%2CTimerID"><span class="Identifier">removeTimer</span></a><span class="Other">(</span><span class="Identifier">id</span><span class="Other">:</span> <a href="sdl2.html#TimerID"><span class="Identifier">TimerID</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_RemoveTimer&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Remove a timer knowing its ID.
\return A boolean value indicating success or failure.
\warning It is not safe to remove a timer multiple times.</pre>
</dd>
<a id="getVersion,ptr.Version"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getVersion%2Cptr.Version"><span class="Identifier">getVersion</span></a><span class="Other">(</span><span class="Identifier">ver</span><span class="Other">:</span> <span class="Keyword">ptr</span> <a href="sdl2.html#Version"><span class="Identifier">Version</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetVersion&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the version of SDL that is linked against your program.
If you are linking to SDL dynamically, then it is possible that the
current version will be different than the version you compiled against.
This function returns the current version, while SDL_VERSION() is a
macro that tells you what version you compiled with.
\code
SDL_version compiled;
SDL_version linked;
SDL_VERSION(&amp;compiled);
SDL_GetVersion(&amp;linked);
printf(&quot;We compiled against SDL version %d.%d.%d ...\n&quot;,
compiled.major, compiled.minor, compiled.patch);
printf(&quot;But we linked against SDL version %d.%d.%d.\n&quot;,
linked.major, linked.minor, linked.patch);
\endcode
This function may be called safely at any time, even before SDL_Init().
\sa SDL_VERSION</pre>
</dd>
<a id="getRevision"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRevision"><span class="Identifier">getRevision</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cstring</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRevision&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the code revision of SDL that is linked against your program.
Returns an arbitrary string (a hash value) uniquely identifying the
exact revision of the SDL library in use, and is only useful in comparing
against other revisions. It is NOT an incrementing number.</pre>
</dd>
<a id="getRevisionNumber"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#getRevisionNumber"><span class="Identifier">getRevisionNumber</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_GetRevisionNumber&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>\brief Get the revision number of SDL that is linked against your program.
Returns a number uniquely identifying the exact revision of the SDL
library in use. It is an incrementing number based on commits to
hg.libsdl.org.</pre>
</dd>
<a id="init,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#init%2CUint32"><span class="Identifier">init</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Init&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>@}
This function initializes the subsystems specified by \c flags</pre>
</dd>
<a id="initSubSystem,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#initSubSystem%2CUint32"><span class="Identifier">initSubSystem</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">cint</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_InitSubSystem&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function initializes specific SDL subsystems
Subsystem initialization is ref-counted, you must call
SDL_QuitSubSystem() for each SDL_InitSubSystem() to correctly
shutdown a subsystem manually (or call SDL_Quit() to force shutdown).
If a subsystem is already loaded then this call will
increase the ref-count and return.</pre>
</dd>
<a id="quitSubSystem,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#quitSubSystem%2CUint32"><span class="Identifier">quitSubSystem</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_QuitSubSystem&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function cleans up specific SDL subsystems</pre>
</dd>
<a id="wasInit,Uint32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#wasInit%2CUint32"><span class="Identifier">wasInit</span></a><span class="Other">(</span><span class="Identifier">flags</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a><span class="Other">)</span><span class="Other">:</span> <a href="sdl2.html#Uint32"><span class="Identifier">Uint32</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_WasInit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function returns a mask of the specified subsystems which have
previously been initialized.
If \c flags is 0, it returns a mask of all initialized subsystems.</pre>
</dd>
<a id="quit"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#quit"><span class="Identifier">quit</span></a><span class="Other">(</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">importc</span><span class="Other">:</span> <span class="StringLit">&quot;SDL_Quit&quot;</span><span class="Other">,</span> <span class="Identifier">cdecl</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
<pre>This function cleans up all initialized subsystems. You should
call it upon all exit conditions.</pre>
</dd>
</dl></div>
<div class="section" id="18">
<h1><a class="toc-backref" href="#18">Templates</a></h1>
<dl class="item">
<a id="sdl_button.t,untyped"></a>
<dt><pre><span class="Keyword">template</span> <a href="#sdl_button.t%2Cuntyped"><span class="Identifier">sdl_button</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_UNDEFINED_DISPLAY.t,untyped"></a>
<dt><pre><span class="Keyword">template</span> <a href="#WINDOWPOS_UNDEFINED_DISPLAY.t%2Cuntyped"><span class="Identifier">WINDOWPOS_UNDEFINED_DISPLAY</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_ISUNDEFINED.t,untyped"></a>
<dt><pre><span class="Keyword">template</span> <a href="#WINDOWPOS_ISUNDEFINED.t%2Cuntyped"><span class="Identifier">WINDOWPOS_ISUNDEFINED</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_CENTERED_DISPLAY.t,untyped"></a>
<dt><pre><span class="Keyword">template</span> <a href="#WINDOWPOS_CENTERED_DISPLAY.t%2Cuntyped"><span class="Identifier">WINDOWPOS_CENTERED_DISPLAY</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
</dd>
<a id="WINDOWPOS_ISCENTERED.t,untyped"></a>
<dt><pre><span class="Keyword">template</span> <a href="#WINDOWPOS_ISCENTERED.t%2Cuntyped"><span class="Identifier">WINDOWPOS_ISCENTERED</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">untyped</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">untyped</span></pre></dt>
<dd>
</dd>
</dl></div>
</div>
</div>
<div class="row">
<div class="twelve-columns footer">
<span class="nim-sprite"></span>
<br/>
<small style="color: var(--hint);">Made with Nim. Generated: 2020-04-26 21:10:28 UTC</small>
</div>
</div>
</div>
</div>
</body>
</html>