!f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1! 2! 3! 4! 5! 6! 7! 8! 9! :! ;! <! =! >! ?! @! A! B! C! D! E! F! G! H! I! J! K! L! M! N! O! P! Q! R! S! T! U! V! W! X! Y! Z! [! \! ]! ^! _! `! a! b! c! d! e! f! g! h! i! j! k! l! m! n! o! p! q! r! s! t! u! v! w! x! y! z! {! |! }! ~! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # !# "# ## $# %# &# '# (# )# *# +# ,# -# .# /# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# :# ;# <# =# ># ?# @# A# B# C# D# E# F# G# H# I# J# K# L# M# N# O# P# Q# R# S# T# U# V# W# X# Y# Z# [# \# ]# ^# _# `# a# b# c# d# e# f# g# h# i# j# k# l# m# n# o# p# q# r# s# t# u# v# w# x# y# z# {# |# }# ~# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ########## # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~###########################$$$$$$'%SafeYSafe27. sdl2Error details about a failure to call an SDL routine. Almost all functions in this library have the ability to produce exceptions of this type. Inspection should help you learn more about what has gone wrong.sdl29A call to a low-level SDL C function failed unexpectedly.sdl29An SDL C function was called with an unexpected argument.sdl2FA hint was attempted to be set, but SDL does not know about this hint.sdl28The Haskell routine that was trying to call a C functionsdl24The C function that was called and produced an errorsdl2*SDL's understanding of what has gone wrongsdl2*The argument that SDL failed to understandsdl2The hint that could not be set  Safe@AC  (C) 2012-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> experimental non-portable Trustworthy24567>@AHMVXg!sdl2A 4-dimensional vector.#sdl2A 3-dimensional vector%sdl2A 2-dimensional vectorpure 1 :: V2 IntV2 1 1V2 1 2 + V2 3 4V2 4 6V2 1 2 * V2 3 4V2 3 8 sum (V2 1 2)3'sdl2JA handy wrapper to help distinguish points from vectors at the type level!"#$%&'('(%&#$!"SafeXgB      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~B~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      Safe27@Agk      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      Safe2sdl2 Note: the o is only valid until the next SDL function call. If you need to preserve the error message, make a copy of it. Safe6 Safet Safe2 'sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.(sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.)sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.*sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.+sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.,sdl2*The storage associated with the resulting  has to be released with  when it is no longer required.k      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,k&%$#"! ,+*)('     tuvwxyz{|}~nopqrsefghijklm_`abcd !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^      Safeuvwxyzuvwxyz Safe({|}~({|}~Safe|SafeSafei      !"#$%&'()*+,-./0123456789:;<=>?@ABi      !"#$%&'()*+,-./0123456789:;<=>?@ABSafeCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`SafeDabcdefghijklmnopqrstuvwxyz{|}abcdefghijklmnopqrstuvwxyz{|}Safeb~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;&Safe#{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,uvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;Safe27@AgJ <sdl20Information about how much charge a battery has. >sdl2(How many seconds of battery life is left ?sdl2!The percentage of battery charged @sdl2>Information on battery consumption for battery powered devices Asdl2'The battery is currently being drained. Bsdl2The battery is fully charged. Csdl25The device is plugged in and the battery is charging. Dsdl2=Information about the power supply for the user's environment Esdl2-The user is on a battery powered device. See  @ for charge information, and  < for charge information Fsdl2/The user is on a device connected to the mains. Gsdl21SDL could not determine the power for the device. Hsdl2Current power supply details.Throws  SDLException2 if the current power state can not be determined.See  (https://wiki.libsdl.org/SDL_GetPowerInfoSDL_GetPowerInfo for C documentation. < = > ? @ A C B D E F G H H D E F G @ A C B < = > ?Safe27Lf [sdl22An SDL rendering device. This can be created with !'. [ \ ] ^ _ ` a _ ` a ] ^ [ \None27@Ag~ qsdl23Information about a key press or key release event. ssdl2 The keyboard  tsdl2-SDL's virtual key representation for this key usdl2EA set of modifiers that were held at the time this data was generated vsdl2:Information about which keys are currently held down. Use   to generate this information. sdl2vGet the current key modifier state for the keyboard. The key modifier state is a mask special keys that are held down.See  'https://wiki.libsdl.org/SDL_GetModStateSDL_GetModState for C documentation. sdl2RSet the rectangle used to type text inputs and start accepting text input events.See  *https://wiki.libsdl.org/SDL_StartTextInputSDL_StartTextInput for C documentation. sdl2%Stop receiving any text input events.See  )https://wiki.libsdl.org/SDL_StopTextInputSDL_StopTextInput for C documentation. sdl27Check whether the platform has screen keyboard support.See  4https://wiki.libsdl.org/SDL_HasScreenKeyboardSupportSDL_HasScreenKeyboardSupport for C documentation. sdl2@Check whether the screen keyboard is shown for the given window.See  1https://wiki.libsdl.org/SDL_IsScreenKeyboardShownSDL_IsScreenKeyboardShown for C documentation. sdl2uGet a human-readable name for a scancode. If the scancode doesn't have a name this function returns the empty string.See  +https://wiki.libsdl.org/SDL_GetScancodeNameSDL_GetScancodeName for C documentation. sdl24Get a snapshot of the current state of the keyboard.*This computation generates a mapping from  to ' - evaluating the function at specific Cs will inform you as to whether or not that key was held down when   was called.See  ,https://wiki.libsdl.org/SDL_GetKeyboardStateSDL_GetKeyboardState for C documentation.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ q r s t u v w x y z { | } ~   v w x y z { | } ~   q r s t uSafep, Safey sdl23An absolute path to the application data directory.4The path is guaranteed to end with a path separator.Throws  SDLExceptionG on failure, or if the platform does not implement this functionality. sdl2A path to a unique per user and per application directory for the given organization and application name, intended for writing preferences and other personal files.4The path is guaranteed to end with a path separator._You should assume the path returned by this function is the only safe place to write files to.Throws  SDLException on failure.  None"#&',124567HSXg1 sdl2?An abstract description of an audio driver on the host machine. sdl2Opened devices are always   or  E in normal circumstances. A failing device may change its status to  5 at any time, and closing a device will progress to   too. sdl2The   is playing. sdl2The   is paused. sdl2The   is stopped. sdl2Whether to allow an   to play sound or remain paused. sdl2 Pause the  ,, which will stop producing/capturing audio. sdl2 Resume the  . sdl2.Whether a device should be locked or unlocked. sdl2=Lock the device, preventing the callback from producing data. sdl22Unlock the device, resuming calls to the callback. sdl2hUsed to indicate to SDL whether it is allowed to open other audio devices (if a property is marked as a  5) or if it should fail if the device is unavailable ( ). sdl2 P this exact property value, and fail if a matching audio device cannot be found. sdl2 A this property value, but allow other audio devices to be opened. sdl2How you intend to use an  sdl2,The device will be used for sample playback. sdl2+The device will be used for sample capture. sdl2 ) is the concrete specification of how an  ! was sucessfully opened. Unlike  , which specifies what you want,   specifies what you have. sdl2"DSP frequency (samples per second) sdl2Audio data format sdl2!Number of separate sound channels sdl2$Calculated udio buffer silence valuesdl2)Audio buffer size in samples (power of 2) sdl2%Calculated audio buffer size in bytes sdl2:The function to call when the audio device needs more data sdl2+How many channels audio should be played on sdl2A single speaker configuration sdl2&A traditional left/right stereo system sdl2 1 surround sound sdl2IInformation about what format an audio bytestream is. The type variable tc indicates the type used for audio buffer samples. It is determined by the choice of the provided  SampleBitSize. For example: BAudioFormat UnsignedInteger Sample8Bit Native :: AudioFormat Word8[Indicating that an 8-bit audio format in the platforms native endianness uses a buffer of  values. sdl2/An open audio device. These can be created via   and should be closed with  sdl2A specification to  P, indicating the desired output format. Note that many of these properties are  r, meaning that you can choose whether or not SDL should interpret your specification as an unbreakable request ( ), or as an approximation  . sdl2$The output audio frequency in herts. sdl2@The format of audio that will be sampled from the output buffer. sdl2The amount of audio channels. sdl2AOutput audio buffer size in samples. This should be a power of 2. sdl2aA callback to invoke whenever new sample data is required. The callback will be passed a single % that must be filled with audio data. sdl2!How you intend to use the opened  - - either for outputting or capturing audio. sdl2The name of the   that should be opened. If , any suitable   will be used. sdl2%Attempt to open the closest matching  , as specified by the given  .See  +https://wiki.libsdl.org/SDL_OpenAudioDeviceSDL_OpenAudioDevice for C documentation. sdl2See  ,https://wiki.libsdl.org/SDL_CloseAudioDeviceSDL_CloseAudioDevice for C documentation. sdl2Enumerate all  Gs attached to this system, that can be used as specified by the given  M. SDL cannot always guarantee that this list can be produced, in which case  will be returned. sdl2Lock an  T such that its associated callback will not be called until the device is unlocked. sdl2 Change the playback state of an  . sdl2Query the state of an  . sdl2"Get the human readable name of an  sdl2Obtain a list of all possible audio drivers for this system. These drivers can be used to specificially initialize the audio system. sdl2;Explicitly initialize the audio system against a specific  . Note that most users will not need to do this, as the normal initialization routines will already take care of this for you. sdl2aQuery SDL for the name of the currently initialized audio driver, if possible. This will return # if no driver has been initialized.@ @ Safe27@Ag sdl2GIdentified whether the game controller was added, removed, or remapped. sdl2,Identifies the state of a controller button. "sdl2Identifies a gamepad button.       ! " # $ % & ' ( ) * + , - . / 0 1 2 " # $ % & ' ( ) * + , - . / 0 1 2   !    Safe27@A Qsdl2Initializes SDL and the given subsystems. Do not call any SDL functions prior to this one, unless otherwise documented that you may do so.JYou may call this function again with additional subsystems to initialize.Throws () if initialization fails. Rsdl2Equivalent to  Q [ .. ]. Ssdl2Quit and shutdown SDL, freeing any resources that may have been in use. Do not call any SDL functions after you've called this function, unless otherwise documented that you may do so. Tsdl2fThe major, minor, and patch versions of the SDL library linked with. Does not require initialization. I J K L M N O P Q R S T Q R I J K L M N O P S TSafe &'27=?@AH_I% ^sdl2]How to deal with setting hints when an existing override or environment variable is present. _sdl2%Low priority, used for default values `sdl2Medium priority asdl2 High priority bsdl2The  b: type exports a well-typed interface to SDL's concept of  %https://wiki.libsdl.org/CategoryHintshints$. This type has instances for both  and 4, allowing you to get and set hints. Note that the  interface is fairly relaxed - if a hint cannot be set, the failure will be silently discarded. For more feedback and control when setting hints, see  . lsdl2iA hint that specifies which shader compiler to preload when using the Chrome ANGLE binaries. By default d3dcompiler_46.dll will be used. msdl2Use d3dcompiler_46.dll, best for Vista or later nsdl2Use d3dcompiler_43.dll for XP support osdl2lDo not load any library, useful if you compiled ANGLE from source and included the compiler in your binaries psdl2A hint that specifies whether sync to vertical refresh is enabled or disabled to avoid tearing. By default SDL uses the flag passed into calls to create renderers. ssdl2RA hint that specifies scaling quality. By default nearest pixel sampling is used. tsdl2Nearest pixel sampling usdl23linear filtering (supported by OpenGL and Direct3D) vsdl2-Anisotropic filtering (supported by Direct3D) wsdl2zA hint that specifies whether the OpenGL render driver uses shaders. By default shaders are used if OpenGL supports them. xsdl2Disable shaders ysdl2%Enable shaders, if they are available zsdl2A hint that specifies which render driver to use. By default the first one in the list that is available on the current platform is chosen. sdl2A hint that specifies whether relative mouse mode is implemented using mouse warping. By default SDL will use raw input for relative mouse mode sdl2&Relative mouse mode uses the raw input sdl2&Relative mouse mode uses mouse warping sdl2A hint that specifies whether ctrl+click should generate a right-click event on Mac. By default holding ctrl while left clicking will not generate a right click event when on Mac. sdl2Disable emulating right click sdl2Enable emulating right click sdl2A hint that specifies how 3D acceleration is used to accelerate the SDL screen surface. By default SDL tries to make a best guess whether to use acceleration or not on each platform. sdl2Disable 3D acceleration sdl22Enable 3D acceleration, using the default renderer sdl2%Enable 3D acceleration using Direct3D sdl2#Enable 3D acceleration using OpenGL sdl2%Enable 3D acceleration using OpenGLES sdl2&Enable 3D acceleration using OpenGLES2 sdl2/Enable 3D acceleration using software rendering sdl2A hint that specifies whether the Android/iOS built-in accelerometer should be listed as a joystick device, rather than listing actual joysticks only. By default SDL will list real joysticks along with the accelerometer as if it were a 3 axis joystick. sdl23List only real joysticks and accept input from them sdl2_List real joysticks along with the accelerometer as if it were a 3 axis joystick (the default) sdl2Set the value of a hint, applying priority rules for when there is a conflict. Ordinarily, a hint will not be set if there is an existing override hint or environment variable that takes precedence.sdl2BRetrieve and map the current value associated with the given hint.5 ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z | { } ~  5 b c d e f g h i j k ^ _ ` a z | { } ~  w x y s t u v p q r l m n oSafe27[ sdl2A timer created by  . This   can be removed with  . sdl2A   is called with the interval size of the callback. It can return information as to whether or not the timer should continue to exist. sdl2 P allows a callback to inform SDL if the timer should be retriggered or cancelled sdl2<Retrigger the timer again in a given number of milliseconds. sdl2(Cancel future invocations of this timer. sdl24Number of milliseconds since library initialization.See  $https://wiki.libsdl.org/SDL_GetTicks SDL_GetTicks for C documentation. sdl2kThe current time in seconds since some arbitrary starting point (consist over the life of the application).AThis time is derived from the system's performance counter - see  3https://wiki.libsdl.org/SDL_GetPerformanceFrequencySDL_GetPerformanceFrequency and  1https://wiki.libsdl.org/SDL_GetPerformanceCounterSDL_GetPerformanceCounter. for C documentation about the implementation. sdl29Wait a specified number of milliseconds before returning.'Users are generally recommended to use  threadDelayD instead, to take advantage of the abilities of the Haskell runtime.See  !https://wiki.libsdl.org/SDL_Delay SDL_Delay for C documentation. sdl2qSet up a callback function to be run on a separate thread after the specified number of milliseconds has elapsed.See  $https://wiki.libsdl.org/SDL_AddTimer SDL_AddTimer for C documentation. sdl2 Remove a  .See  'https://wiki.libsdl.org/SDL_RemoveTimerSDL_RemoveTimer for C documentation. Safe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _`abcdef ghijklmnopqrstuvwxyz{|}~ None27@AgP& sdl2AIdentifies whether a joystick has been connected or disconnected. sdl22Identifies the state of the POV hat on a joystick. sdl2Centered position sdl2 Up position sdl2Right position sdl2 Down position sdl2 Left position sdl2Right-up position sdl2Right-down position sdl2Left-up position sdl2Left-down position sdl2*Identifies the state of a joystick button. sdl23A description of joystick that can be opened using  2. To retrieve a list of connected joysticks, use  . sdl25Count the number of joysticks attached to the system.See  (https://wiki.libsdl.org/SDL_NumJoysticksSDL_NumJoysticks for C documentation. sdl2DEnumerate all connected joysticks, retrieving a description of each. sdl2[Open a joystick so that you can start receiving events from interaction with this joystick.See  (https://wiki.libsdl.org/SDL_JoystickOpenSDL_JoystickOpen for C documentation. sdl2(Close a joystick previously opened with  .See  )https://wiki.libsdl.org/SDL_JoystickCloseSDL_JoystickClose for C documentation. sdl2rGet the instance ID of an opened joystick. The instance ID is used to identify the joystick in future SDL events.See  .https://wiki.libsdl.org/SDL_JoystickInstanceIDSDL_JoystickInstanceID for C documentation. sdl2.Determine if a given button is currently held.See  -https://wiki.libsdl.org/SDL_JoystickGetButtonSDL_JoystickGetButton for C documentation. sdl2-Get the ball axis change since the last poll.See  +https://wiki.libsdl.org/SDL_JoystickGetBallSDL_JoystickGetBall for C documentation. sdl27Get the current state of an axis control on a joystick.Returns a 16-bit signed integer representing the current position of the axis. The state is a value ranging from -32768 to 32767.uOn most modern joysticks the x-axis is usually represented by axis 0 and the y-axis by axis 1. The value returned by   is a signed integer (-32768 to 32767) representing the current position of the axis. It may be necessary to impose certain tolerances on these values to account for jitter.2Some joysticks use axes 2 and 3 for extra buttons.See  +https://wiki.libsdl.org/SDL_JoystickGetAxisSDL_JoystickGetAxis for C documentation. sdl26Get the number of general axis controls on a joystick.See  +https://wiki.libsdl.org/SDL_JoystickNumAxesSDL_JoystickNumAxes for C documentation. sdl2(Get the number of buttons on a joystick.See  .https://wiki.libsdl.org/SDL_JoystickNumButtonsSDL_JoystickNumButtons for C documentation. sdl2+Get the number of trackballs on a joystick.See  ,https://wiki.libsdl.org/SDL_JoystickNumBallsSDL_JoystickNumBalls for C documentation. sdl20Get current position of a POV hat on a joystick.See  *https://wiki.libsdl.org/SDL_JoystickGetHatSDL_JoystickGetHat for C documentation. sdl2)Get the number of POV hats on a joystick.See  Chttps://wiki.libsdl.org/https://wiki.libsdl.org/SDL_JoystickNumHatsSDL_JoystickNumHats for C documentation. sdl2The device to open. Use   to find JoystickDevicess sdl2%The index of the button. You can use  4 to determine how many buttons a given joystick has. sdl2,The index of the joystick ball. You can use  2 to determine how many balls a given joystick has. sdl2&The index of the POV hat. You can use  5 to determine how many POV hats a given joystick has." _                "     _             Safe27>@A|b 0sdl21The swap interval for the current OpenGL context. 1sdl2#No vertical retrace synchronization 2sdl29The buffer swap is synchronized with the vertical retrace 4sdl2A created OpenGL context. 5sdl2=The mode a driver should use when creating an OpenGL context. 6sdl22A normal profile with no special debugging support 7sdl2>Use a debug context, allowing the usage of extensions such as GL_ARB_debug_output 8sdl2@The profile a driver should use when creating an OpenGL context. 9sdl2AUse the OpenGL core profile, with a given major and minor version :sdl2Use the compatibilty profile with a given major and minor version. The compatibility profile allows you to use deprecated functions such as immediate mode ;sdl2*Use an OpenGL profile for embedded systems <sdl2=Configuration used when creating an OpenGL rendering context. >sdl2 Defaults to  8 8 8 0. ?sdl2 Defaults to 24. @sdl2 Defaults to 8. Asdl2 Defaults to 1. Bsdl2 Defaults to  :  6 2 1. Csdl2A set of default options for  <  C =  < {  > = V4 8 8 8 0 ,  ? = 24 ,  @ = 8 ,  A = 1 ,  B =  :  6 2 1 } Dsdl2MCreate a new OpenGL context and makes it the current context for the window.Throws  SDLExceptionT if the window wasn't configured with OpenGL support, or if context creation fails.See  ,https://wiki.libsdl.org/SDL_GL_CreateContextSDL_GL_CreateContext for C documentation. Esdl2=Set up an OpenGL context for rendering into an OpenGL window.Throws  SDLException on failure.See  *https://wiki.libsdl.org/SDL_GL_MakeCurrentSDL_GL_MakeCurrent for C documentation. Fsdl2 Delete the given OpenGL context.You must make sure that there are no pending commands in the OpenGL command queue, the driver may still be processing commands even if you have stopped issuing them!The glFinish command will block until the command queue has been fully processed. You should call that function before deleting a context.See  ,https://wiki.libsdl.org/SDL_GL_DeleteContextSDL_GL_DeleteContext for C documentation. Gsdl2Replace the contents of the front buffer with the back buffer's. The contents of the back buffer are undefined, clear them with glClear- or equivalent before drawing to them again.See  )https://wiki.libsdl.org/SDL_GL_SwapWindowSDL_GL_SwapWindow for C documentation. Hsdl2<Get or set the swap interval for the current OpenGL context.This  can be modified using & and the current value retrieved with .See  .https://wiki.libsdl.org/SDL_GL_SetSwapIntervalSDL_GL_SetSwapInterval and  .https://wiki.libsdl.org/SDL_GL_GetSwapIntervalSDL_GL_GetSwapInterval for C documentation. Isdl2YGet the size of a window's underlying drawable area in pixels (for use with glViewport).It may differ from !* if window was created with !+ flag. 0 1 2 3 4 5 7 6 8 : 9 ; < = > ? @ A B C D E F G H I C < = > ? @ A B 4 D 8 : 9 ; 5 7 6 E F I G 0 1 2 3 H None 247>@AXgpT gsdl2"Information about an instantiated  [. isdl2The name of the renderer jsdl2Supported renderer features ksdl2'The number of available texture formats lsdl2The available texture formats msdl2The maximum texture width nsdl2The maximum texture height osdl22The configuration data used when creating windows. qsdl2 The renderer's acceleration mode rsdl2*The renderer supports rendering to texture ssdl2Renderer acceleration mode tsdl2/The renderer does not use hardware acceleration usdl2CThe renderer uses hardware acceleration and refresh rate is ignored vsdl2YThe renderer uses hardware acceleration and present is synchronized with the refresh rate wsdl2#The renderer is a software fallback sdl2Blend modes used in   and drawing operations. sdl2 No blending sdl2Alpha blending. OdstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) dstA = srcA + (dstA * (1-srcA)) sdl2Additive blending .dstRGB = (srcRGB * srcA) + dstRGB dstA = dstA sdl2Color modulate(@ dstRGB = srcRGB * dstRGB dstA = dstA sdl2aRaw format of the texture; the actual format may differ, but pixel transfers will use this format sdl2#The access available to the texture sdl2The width of the texture sdl2The height of the texture sdl28Information to the GPU about how you will use a texture. sdl2 Changes rarely, cannot be locked sdl2!changes frequently, can be locked sdl2Can be used as a render target sdl25Perform a fast surface copy to a destination surface.See  'https://wiki.libsdl.org/SDL_BlitSurfaceSDL_BlitSurface for C documentation. sdl2)Create a texture for a rendering context.See  )https://wiki.libsdl.org/SDL_CreateTextureSDL_CreateTexture for C documentation. sdl2*Create a texture from an existing surface.See  4https://wiki.libsdl.org/SDL_CreateTextureFromSurfaceSDL_CreateTextureFromSurface for C documentation. sdl2lBind an OpenGL/ES/ES2 texture to the current context for use with when rendering OpenGL primitives directly.See  *https://wiki.libsdl.org/SDL_GL_BindTextureSDL_GL_BindTexture for C documentation. sdl29Unbind an OpenGL/ES/ES2 texture from the current context.See  ,https://wiki.libsdl.org/SDL_GL_UnbindTextureSDL_GL_UnbindTexture for C documentation. sdl2.Updates texture rectangle with new pixel data.See  )https://wiki.libsdl.org/SDL_UpdateTextureSDL_UpdateTexture for C documentation. sdl2Destroy the specified texture.See  *https://wiki.libsdl.org/SDL_DestroyTextureSDL_DestroyTexture for the C documentation. sdl2<Lock a portion of the texture for *write-only* pixel access.See  'https://wiki.libsdl.org/SDL_LockTextureSDL_LockTexture for C documentation. sdl2CUnlock a texture, uploading the changes to video memory, if needed.Warning: See  0https://bugzilla.libsdl.org/show_bug.cgi?id=1586 Bug No. 1586 before using this function!See  )https://wiki.libsdl.org/SDL_UnlockTextureSDL_UnlockTexture for C documentation. sdl23Set up a surface for directly accessing the pixels.See  'https://wiki.libsdl.org/SDL_LockSurfaceSDL_LockSurface for C documentation. sdl26Release a surface after directly accessing the pixels.See  )https://wiki.libsdl.org/SDL_UnlockSurfaceSDL_UnlockSurface for C documentation. sdl2"Query the attributes of a texture.See  (https://wiki.libsdl.org/SDL_QueryTextureSDL_QueryTexture for C documentation. sdl2Allocate a new RGB surface.See  ,https://wiki.libsdl.org/SDL_CreateRGBSurfaceSDL_CreateRGBSurface for C documentation. sdl24Allocate a new RGB surface with existing pixel data.See  0https://wiki.libsdl.org/SDL_CreateRGBSurfaceFromSDL_CreateRGBSurfaceFrom for C documentation. sdl29Perform a fast fill of a rectangle with a specific color.=If there is a clip rectangle set on the destination (set via clipRect^), then this function will fill based on the intersection of the clip rectangle and the given  .See  $https://wiki.libsdl.org/SDL_FillRect SDL_FillRect for C documentation. sdl2APerform a fast fill of a set of rectangles with a specific color.EIf there is a clip rectangle set on any of the destinations (set via clipRect^), then this function will fill based on the intersection of the clip rectangle and the given  s.See  $https://wiki.libsdl.org/SDL_FillRect SDL_FillRects for C documentation. sdl2Free an RGB surface.!If the surface was created using  " then the pixel data is not freed.See  'https://wiki.libsdl.org/SDL_FreeSurfaceSDL_FreeSurface for the C documentation. sdl2Load a surface from a BMP file.See  #https://wiki.libsdl.org/SDL_LoadBMP SDL_LoadBMP for C documentation. sdl2"Retrive the width and height of a  . sdl2]Obtain the pointer to the underlying pixels in a surface. You should bracket this call with   and  , respectively. sdl2)Inspect the pixel format under a surface. sdl2#Set a range of colors in a palette.See  ,https://wiki.libsdl.org/SDL_SetPaletteColorsSDL_SetPaletteColors for C documentation. sdl2/Get the SDL surface associated with the window.See  ,https://wiki.libsdl.org/SDL_GetWindowSurfaceSDL_GetWindowSurface for C documentation. sdl2FGet or set the blend mode used for drawing operations (fill and line).This  can be modified using & and the current value retrieved with .See  2https://wiki.libsdl.org/SDL_SetRenderDrawBlendModeSDL_SetRenderDrawBlendMode and  2https://wiki.libsdl.org/SDL_GetRenderDrawBlendModeSDL_GetRenderDrawBlendMode for C documentation. sdl2HGet or set the color used for drawing operations (rect, line and clear).This  can be modified using & and the current value retrieved with .See  .https://wiki.libsdl.org/SDL_SetRenderDrawColorSDL_SetRenderDrawColor and  .https://wiki.libsdl.org/SDL_GetRenderDrawColorSDL_GetRenderDrawColor for C documentation. sdl2&Copy the window surface to the screen.QThis is the function you use to reflect any changes to the surface on the screen.See  /https://wiki.libsdl.org/SDL_UpdateWindowSurfaceSDL_UpdateWindowSurface for C documentation. sdl29Draw a rectangle outline on the current rendering target.See  *https://wiki.libsdl.org/SDL_RenderDrawRectSDL_RenderDrawRect for C documentation. sdl2?Draw some number of rectangles on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawRectsSDL_RenderDrawRects for C documentation. sdl2HFill a rectangle on the current rendering target with the drawing color.See  *https://wiki.libsdl.org/SDL_RenderFillRectSDL_RenderFillRect for C documentation. sdl2VFill some number of rectangles on the current rendering target with the drawing color.See  +https://wiki.libsdl.org/SDL_RenderFillRectsSDL_RenderFillRects for C documentation. sdl2:Clear the current rendering target with the drawing color.See  'https://wiki.libsdl.org/SDL_RenderClearSDL_RenderClear for C documentation. sdl2AGet or set the drawing scale for rendering on the current target.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.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.See  *https://wiki.libsdl.org/SDL_RenderSetScaleSDL_RenderSetScale and  *https://wiki.libsdl.org/SDL_RenderGetScaleSDL_RenderGetScale for C documentation. sdl2DGet or set the clip rectangle for rendering on the specified target.This  can be modified using & and the current value retrieved with .See  -https://wiki.libsdl.org/SDL_RenderSetClipRectSDL_RenderSetClipRect and  -https://wiki.libsdl.org/SDL_RenderGetClipRectSDL_RenderGetClipRect for C documentation. sdl2@Get or set the drawing area for rendering on the current target.This  can be modified using & and the current value retrieved with .See  -https://wiki.libsdl.org/SDL_RenderSetViewportSDL_RenderSetViewport and  -https://wiki.libsdl.org/SDL_RenderGetViewportSDL_RenderGetViewport for C documentation. sdl2GUpdate the screen with any rendering performed since the previous call.aSDL's rendering functions operate on a backbuffer; that is, calling a rendering function such as   does not directly put a line on the screen, but rather updates the backbuffer. As such, you compose your entire scene and present the composed backbuffer to the screen as a complete picture.Therefore, when using SDL's rendering API, one does all drawing intended for the frame, and then calls this function once per frame to present the final drawing to the user.The backbuffer should be considered invalidated after each present; do not assume that previous contents will exist between frames. You are strongly encouraged to call  r to initialize the backbuffer before starting each new frame's drawing, even if you plan to overwrite every pixel.See  )https://wiki.libsdl.org/SDL_RenderPresentSDL_RenderPresent for C documentation. sdl2>Copy a portion of the texture to the current rendering target.See  &https://wiki.libsdl.org/SDL_RenderCopySDL_RenderCopy for C documentation. sdl2Copy a portion of the texture to the current rendering target, optionally rotating it by angle around the given center and also flipping it top-bottom and/or left-right.See  (https://wiki.libsdl.org/SDL_RenderCopyExSDL_RenderCopyEx for C documentation. sdl2,Draw a line on the current rendering target.See  *https://wiki.libsdl.org/SDL_RenderDrawLineSDL_RenderDrawLine for C documentation. sdl2ADraw a series of connected lines on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawLinesSDL_RenderDrawLines for C documentation. sdl2-Draw a point on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawPointSDL_RenderDrawPoint for C documentation. sdl25Draw multiple points on the current rendering target.See  ,https://wiki.libsdl.org/SDL_RenderDrawPointsSDL_RenderDrawPoints for C documentation. sdl2pCopy an existing surface into a new one that is optimized for blitting to a surface of a specified pixel format.This function is used to optimize images for faster repeat blitting. This is accomplished by converting the original and storing the result as a new surface. The new, optimized surface can then be used as the source for future blits, making them faster.See  *https://wiki.libsdl.org/SDL_ConvertSurfaceSDL_ConvertSurface for C documentation. sdl27Perform a scaled surface copy to a destination surface.See  &https://wiki.libsdl.org/SDL_BlitScaledSDL_BlitScaled for C documentation. sdl2AGet or set the color key (transparent pixel color) for a surface.This  can be modified using & and the current value retrieved with .See  'https://wiki.libsdl.org/SDL_SetColorKeySDL_SetColorKey and  'https://wiki.libsdl.org/SDL_GetColorKeySDL_GetColorKey for C documentation. sdl2MGet or set the additional color value multiplied into render copy operations.This  can be modified using & and the current value retrieved with .See  .https://wiki.libsdl.org/SDL_SetTextureColorModSDL_SetTextureColorMod and  .https://wiki.libsdl.org/SDL_GetTextureColorModSDL_GetTextureColorMod for C documentation. sdl2Default options for  o.   =  o {  q =  u ,  r = False } sdl2*Get information about a rendering context.See  +https://wiki.libsdl.org/SDL_GetRendererInfoSDL_GetRendererInfo for C documentation. sdl2YEnumerate all known render drivers on the system, and determine their supported features.See  /https://wiki.libsdl.org/SDL_GetRenderDriverInfoSDL_GetRenderDriverInfo for C documentation. sdl2MGet or set the additional alpha value multiplied into render copy operations.This  can be modified using & and the current value retrieved with .See  .https://wiki.libsdl.org/SDL_SetTextureAlphaModSDL_SetTextureAlphaMod and  .https://wiki.libsdl.org/SDL_GetTextureAlphaModSDL_GetTextureAlphaMod for C documentation. sdl2;Get or set the blend mode used for texture copy operations.This  can be modified using & and the current value retrieved with .See  /https://wiki.libsdl.org/SDL_SetTextureBlendModeSDL_SetTextureBlendMode and  /https://wiki.libsdl.org/SDL_GetTextureBlendModeSDL_GetTextureBlendMode for C documentation. sdl23Get or set the blend mode used for blit operations.This  can be modified using & and the current value retrieved with .See  /https://wiki.libsdl.org/SDL_SetSurfaceBlendModeSDL_SetSurfaceBlendMode and  /https://wiki.libsdl.org/SDL_GetSurfaceBlendModeSDL_GetSurfaceBlendMode for C documentation. sdl2&Get or set the current render target. * corresponds to the default render target.This  can be modified using & and the current value retrieved with .See  +https://wiki.libsdl.org/SDL_SetRenderTargetSDL_SetRenderTarget and  +https://wiki.libsdl.org/SDL_GetRenderTargetSDL_GetRenderTarget for C documentation. sdl2;Get or set the device independent resolution for rendering.This  can be modified using & and the current value retrieved with .See  0https://wiki.libsdl.org/SDL_RenderSetLogicalSizeSDL_RenderSetLogicalSize and  0https://wiki.libsdl.org/SDL_RenderGetLogicalSizeSDL_RenderGetLogicalSize for C documentation. sdl2>Determine whether a window supports the use of render targets.See  1https://wiki.libsdl.org/SDL_RenderTargetSupportedSDL_RenderTargetSupported for C documentation. sdl2LConvert the given the enumerated pixel format to a bpp value and RGBA masks.See  2https://wiki.libsdl.org/SDL_PixelFormatEnumToMasksSDL_PixelFormatEnumToMasks for C documentation. sdl2AConvert a bpp value and RGBA masks to an enumerated pixel format.See  2https://wiki.libsdl.org/SDL_MasksToPixelFormatEnumSDL_MasksToPixelFormatEnum for C documentation. sdl2The   to be copied fromsdl2The rectangle to be copied, or  to copy the entire surfacesdl2The   that is the blit targetsdl2The position to blit to sdl2The rendering context.sdl2The size of the texture. sdl2The rendering contextsdl2:The surface containing pixel data used to fill the texture sdl28The texture to bind to the current OpenGL/ES/ES2 context sdl2<The texture to unbind from the current OpenGL/ES/ES2 context sdl2The   to be updatedsdl2.The area to update, Nothing for entire texturesdl2The raw pixel datasdl2KThe number of bytes in a row of pixel data, including padding between lines sdl2The  7 to lock for access, which must have been created with  sdl2The area to lock for access;  to lock the entire texturesdl2A pointer to the locked pixels, appropriately offset by the locked area, and the pitch of the locked pixels (the pitch is the length of one row in bytes). sdl2The size of the surfacesdl2=The bit depth, red, green, blue and alpha mask for the pixels sdl2The existing pixel datasdl2The size of the surfacesdl22The pitch - the length of a row of pixels in bytessdl2=The bit depth, red, green, blue and alpha mask for the pixels sdl2The   that is the drawing target.sdl2The rectangle to fill, or  to fill the entire surface.sdl2 The color to fill with. If the color value contains an alpha component then the destination is simply filled with that alpha information, no blending takes place. This colour will be implictly mapped to the closest approximation that matches the surface's pixel format. sdl2The   that is the drawing target.sdl2A  of  s to be filled.sdl2 The color to fill with. If the color value contains an alpha component then the destination is simply filled with that alpha information, no blending takes place. This colour will be implictly mapped to the closest approximation that matches the surface's pixel format. sdl2The   to modifysdl2A $ of colours to copy into the palettesdl2.The index of the first palette entry to modify sdl2The rectangle outline to draw. " for the entire rendering context. sdl2The rectangle to fill. sdl2The rendering contextsdl2The source texturesdl2!The source rectangle to copy, or  for the whole texturesdl2)The destination rectangle to copy to, or [ for the whole rendering target. The texture will be stretched to fill the given rectangle. sdl2The rendering contextsdl2The source texturesdl2!The source rectangle to copy, or  for the whole texturesdl2)The destination rectangle to copy to, or [ for the whole rendering target. The texture will be stretched to fill the given rectangle.sdl2KThe angle of rotation in degrees. The rotation will be performed clockwise.sdl24The point indicating the center of the rotation, or 9 to rotate around the center of the destination rectanglesdl22Whether to flip the texture on the X and/or Y axis sdl2The start point of the linesdl2The end point of the line sdl2A D of points along the line. SDL will draw lines between these points. sdl2The   to convertsdl26The pixel format that the new surface is optimized for sdl2The   to be copied fromsdl2The rectangle to be copied, or  to copy the entire surfacesdl2The   that is the blit targetsdl2&The rectangle that is copied into, or  to copy into the entire surface [ g h i j k l m n o p q r s t u v w x y z { | } ~  [ o p q r s t u v w x y z { | } ~  g h i j k l m n !None27@Ag. <sdl2$Display's refresh rate in hertz, or 0 if unspecified. @sdl2^Position of the desktop area represented by the display, with the primary display located at (0, 0). Asdl24Size of the desktop area represented by the display. Esdl2CLet the window mananger decide where it's best to place the window. Hsdl2(Real fullscreen with a video mode change Isdl22Fake fullscreen that takes the size of the desktop Msdl2MConfiguration of additional graphics context that will be created for window.)Can not be changed after window creation. Nsdl2?Window will be created without any additional graphics context. Osdl2@Window will be created with OpenGL support with parameters from  <. Psdl2rWindow will be created with Vulkan support. The following functions will be implicitly called by SDL C library:  analogue of $, ; will be called automatically before first window creation; analogue of $-. will be called after last window destruction. Ssdl2 Defaults to . Tsdl2 Defaults to +. Can not be changed after window creation. Usdl2 Defaults to 4. Whether the mouse shall be confined to the window. Vsdl2 Defaults to  L. Wsdl2 Defaults to  N+. Can not be changed after window creation. Xsdl2 Defaults to  E. Ysdl2 Defaults to u. Whether the window can be resized by the user. It is still possible to programatically change the size by changing  e. Zsdl2 Defaults to  (800, 600) . If you set  TQ flag, window size in screen coordinates may differ from the size in pixels. Use  I or $. to get size in pixels. [sdl2 Defaults to . \sdl27Create a window with the given title and configuration.Throws  SDLException on failure. ]sdl2aDefault configuration for windows. Use the record update syntax to override any of the defaults.  ] =  Q {  S = True ,  T = False ,  U = False ,  V =  L ,  W = NoGraphicsContext ,  X =  E ,  Y = False ,  Z = V2 800 600 ,  [ = True } ^sdl2Destroy the given window. The  ]% handler may not be used afterwards. _sdl2.Get or set if the window should have a border.This  can be modified using & and the current value retrieved with . `sdl2^Get or set the window's brightness, where 0.0 is completely dark and 1.0 is normal brightness.Throws  SDLException\ if the hardware does not support gamma correction, or if the system has run out of memory.This  can be modified using & and the current value retrieved with . asdl2=Get or set whether the mouse shall be confined to the window.This  can be modified using & and the current value retrieved with . bsdl2Change between window modes.Throws  SDLException on failure. csdl2Set the position of the window. dsdl2Get the position of the window. esdl2dGet or set the size of a window's client area. Values beyond the maximum supported size are clamped.If window was created with  T: flag, this size may differ from the size in pixels. Use  I or $. to get size in pixels.This  can be modified using & and the current value retrieved with .See  )https://wiki.libsdl.org/SDL_SetWindowSizeSDL_SetWindowSize and  )https://wiki.libsdl.org/SDL_GetWindowSizeSDL_GetWindowSize for C documentation. fsdl2aGet or set the title of the window. If the window has no title, then an empty string is returned.This  can be modified using & and the current value retrieved with .See  *https://wiki.libsdl.org/SDL_SetWindowTitleSDL_SetWindowTitle and  *https://wiki.libsdl.org/SDL_GetWindowTitleSDL_GetWindowTitle for C documentation. gsdl2YGet or set the pointer to arbitrary user data associated with the given window and name.This  can be modified using & and the current value retrieved with . hsdl2/Retrieve the configuration of the given window. Note that  Na will be returned instead of potential OpenGL parameters used during the creation of the window. isdl27Get the pixel format that is used for the given window. jsdl2 Get the text from the clipboard.Throws  SDLException on failure. ksdl28Checks if the clipboard exists, and has some text in it. lsdl2:Replace the contents of the clipboard with the given text.Throws  SDLException on failure. msdl2Hide a window.See  &https://wiki.libsdl.org/SDL_HideWindowSDL_HideWindow for C documentation. nsdl2=Raise the window above other windows and set the input focus.See  'https://wiki.libsdl.org/SDL_RaiseWindowSDL_RaiseWindow for C documentation. osdl2GGet or set whether to allow the screen to be blanked by a screen saver.8Screen savers are re-enabled, if needed, when SDL quits. psdl2Show a window.See  &https://wiki.libsdl.org/SDL_ShowWindowSDL_ShowWindow for C documentation. qsdl2EGets or sets the gamma ramp for the display that owns a given window.,Note that the data for the gamma ramp - the   ( ) - must contain 256 element arrays. This triple is a set of translation vectors for each of the 16-bit red, green and blue channels.This  can be modified using & and the current value retrieved with .Despite the name and signature, this method retrieves the gamma ramp of the entire display, not an individual window. A window is considered to be owned by the display that contains the window's center pixel. rsdl2Throws  SDLException on failure. ssdl2aShow a simple message box with the given title and a message. Consider writing your messages to stderr too.Throws  SDLException) if there are no available video targets. tsdl26Get or set the maximum size of a window's client area.This  can be modified using & and the current value retrieved with .See  0https://wiki.libsdl.org/SDL_SetWindowMaximumSizeSDL_SetWindowMaximumSize and  0https://wiki.libsdl.org/SDL_GetWindowMaximumSizeSDL_GetWindowMaximumSize for C documentation. usdl26Get or set the minimum size of a window's client area.This  can be modified using & and the current value retrieved with .See  0https://wiki.libsdl.org/SDL_SetWindowMinimumSizeSDL_SetWindowMinimumSize and  0https://wiki.libsdl.org/SDL_GetWindowMinimumSizeSDL_GetWindowMinimumSize for C documentation. wsdl2=Create a 2D software rendering context for the given surface.See  2https://wiki.libsdl.org/SDL_CreateSoftwareRenderer [ ] 0 1 2 3 4 5 7 6 8 : 9 ; < = > ? @ A B C D E F G H I g h i j k l m n o p q r s t u v w x y z { | } ~  1 2 3 4 5 6 7 8 9 : < ; = > ? @ A B C D E F G L H I J K M O P N Q R T W X Z S U V Y [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w xn ] \ ] Q R T W X Z S U V Y [ M O P N G L H I J K C D E F ^ m n p u t e _ ` q a b d c f g h i x y z { | } ~  v w x j k l r = > ? @ A B 8 9 : < ; 5 6 7 o s 1 2 3 4"None27@Agh sdl2&Move the mouse pointer within a given  ]. sdl2(Move the mouse pointer within whichever  ] currently has focus. sdl2.Move the mouse pointer in global screen space. sdl2"Identifies mouse scroll direction. sdl22Identifies what kind of mouse-like device this is. sdl23An actual mouse. The number identifies which mouse. sdl2Some sort of touch device. sdl2An unknown mouse button. sdl2%Sets the current relative mouse mode.When relative mouse mode is enabled, cursor is hidden and mouse position will not change. However, you will be delivered relative mouse position change events. sdl24Check which mouse location mode is currently active. sdl24Return proper mouse location depending on mouse mode sdl22Move the current location of a mouse pointer. The  5 specifies the origin for the given warp coordinates. sdl23Get or set whether the cursor is currently visible.This  can be modified using & and the current value retrieved with .See  &https://wiki.libsdl.org/SDL_ShowCursorSDL_ShowCursor and  &https://wiki.libsdl.org/SDL_HideCursorSDL_HideCursor for C documentation. sdl2URetrieve the current location of the mouse, relative to the currently focused window. sdl2Retrieve mouse motion sdl2<Retrieve a mapping of which buttons are currently held down. sdl2;Get or set the currently active cursor. You can create new  s with  .This  can be modified using & and the current value retrieved with .See  %https://wiki.libsdl.org/SDL_SetCursor SDL_SetCursor and  %https://wiki.libsdl.org/SDL_GetCursor SDL_GetCursor for C documentation. sdl2ICreate a cursor using the specified bitmap data and mask (in MSB format). sdl2Free a cursor created with   and createColorCusor.See  &https://wiki.libsdl.org/SDL_FreeCursorSDL_FreeCursor for C documentation. sdl2Create a color cursor.See  -https://wiki.libsdl.org/SDL_CreateColorCursorSDL_CreateColorCursor for C documentation. sdl2.Whether this part of the cursor is black. Use  for white and  for black.sdl2'Whether or not pixels are visible. Use  for visible and  for transparent.sdl2#The width and height of the cursor.sdl2gThe X- and Y-axis location of the upper left corner of the cursor relative to the actual mouse position sdl2#The location of the cursor hot spot! ! /None?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ _ q r s t u v w x y z { | } ~                  #None27@A`g sdl2An  J can process and respond to an event when it is added to the event queue. sdl2?Possible results of an attempted push of an event to the queue. sdl2MA record used to convert between SDL Events and user-defined data structures. Used for  , below. sdl2The associated  ]. sdl2User defined event code. sdl2User defined data pointer. sdl2User defined data pointer. sdl2AA user defined event structure that has been registered with SDL.Use  , below, to obtain an instance. sdl2#SDL reported an unknown event type. sdl2The unknown event code. sdl22An event used to request a file open by the system sdl2The file name. sdl2"Complex gesture event information. sdl2The touch device index. sdl2=The unique id of the closest gesture to the performed stroke. sdl2.The number of fingers used to draw the stroke. sdl2yThe difference between the gesture template and the actual performed gesture (lower errors correspond to closer matches). sdl2%The normalized center of the gesture. sdl2)Multiple finger gesture event information sdl2The touch device index. sdl27The amount that the fingers rotated during this motion. sdl27The amount that the fingers pinched during this motion. sdl2%The normalized center of the gesture. sdl2+The number of fingers used in this gesture. sdl2 Finger motion event information. sdl2The touch device index. !sdl2The finger index. "sdl2<The location of the touch event, normalized between 0 and 1. #sdl20The distance moved, normalized between -1 and 1. $sdl2AThe quantity of the pressure applied, normalized between 0 and 1. %sdl2Finger touch event information. 'sdl2The touch device index. (sdl2The finger index. )sdl2+Whether the finger was pressed or released. *sdl2<The location of the touch event, normalized between 0 and 1. +sdl2AThe quantity of the pressure applied, normalized between 0 and 1. ,sdl2%A video driver dependent system event /sdl2*Event data for application-defined events. 1sdl2User defined event type. 2sdl2The associated  ]. 3sdl2User defined event code. 4sdl2User defined data pointer. 5sdl2User defined data pointer. 8sdl21If the audio device is an addition, or a removal. 9sdl2,The audio device ID that reported the event. :sdl2(If the audio device is a capture device. ;sdl2#Controller device event information =sdl2+Was the device added, removed, or remapped? >sdl21The joystick instance ID that reported the event. ?sdl2(Game controller button event information Asdl21The joystick instance ID that reported the event. Bsdl2The controller button. Csdl2The state of the button. Dsdl2.Game controller axis motion event information. Fsdl21The joystick instance ID that reported the event. Gsdl2The index of the axis. Hsdl20The axis value ranging between -32768 and 32767. Isdl2"Joystick device event information. Ksdl2 Was the device added or removed? Lsdl28The instance id of the joystick that reported the event. Msdl2"Joystick button event information. Osdl28The instance id of the joystick that reported the event. Psdl2%The index of the button that changed. Qsdl2The state of the button. Rsdl2.Joystick hat position change event information Tsdl28The instance id of the joystick that reported the event. Usdl2"The index of the hat that changed. Vsdl2The new position of the hat. Wsdl2,Joystick trackball motion event information. Ysdl28The instance id of the joystick that reported the event. Zsdl2(The index of the trackball that changed. [sdl2%The relative motion of the trackball. \sdl2&Joystick axis motion event information ^sdl28The instance id of the joystick that reported the event. _sdl2#The index of the axis that changed. `sdl2CThe current position of the axis, ranging between -32768 and 32767. asdl2Mouse wheel event information. csdl2The  ] with mouse focus, if any. dsdl2The   whose wheel was scrolled. esdl2The amount scrolled. fsdl2The scroll direction mode. gsdl29A mouse or pointer device button was pressed or released. isdl2The  ] with mouse focus, if any. jsdl2+Whether the button was pressed or released. ksdl2The  & whose button was pressed or released. lsdl2(The button that was pressed or released. msdl2FThe amount of clicks. 1 for a single-click, 2 for a double-click, etc. nsdl2#The coordinates of the mouse click. osdl2$A mouse or pointer device was moved. qsdl2The  ] with mouse focus, if any. rsdl2The   that was moved. ssdl2A collection of  s that are currently held down. tsdl2The new position of the mouse. usdl2'The relative mouse motion of the mouse. vsdl2&Keyboard text input event information. xsdl2The  ] with keyboard focus, if any. ysdl2The input text. zsdl2(Keyboard text editing event information. |sdl2The  ] with keyboard focus, if any. }sdl2The editing text. ~sdl2#The location to begin editing from. sdl26The number of characters to edit from the start point. sdl2,A keyboard key has been pressed or released. sdl2The  ] with keyboard focus, if any. sdl2(Whether the key was pressed or released. sdl2E if this is a repeating key press from the user holding the key down. sdl25A description of the key that this event pertains to. sdl26The window manager requests that the window be closed. sdl2The associated  ]. sdl2#The window has lost keyboard focus. sdl2The associated  ]. sdl2%The window has gained keyboard focus. sdl2The associated  ]. sdl2 The window has lost mouse focus. sdl2The associated  ]. sdl2"The window has gained mouse focus. sdl2The associated  ]. sdl29The window has been restored to normal size and position. sdl2The associated  ]. sdl2The window has been maximized. sdl2The associated  ]. sdl2The window has been minimized. sdl2The associated  ]. sdl2The window size has changed, either as a result of an API call or through the system or user changing the window size; this event is followed by  S if the size was changed by an external event, i.e. the user or the window manager. sdl2The associated  ]. sdl2The new size of the  ]. sdl2=Window has been resized. This is event is always preceded by  . sdl2The associated  ]. sdl2The new size of the  ]. sdl2A  ] has been moved. sdl2The associated  ]. sdl2The new position of the  ]. sdl2A part of a window has been exposed - where exposure means to become visible (for example, an overlapping window no longer overlaps with the window). sdl2The associated  ]. sdl2A window has been hidden. sdl2The associated  ]. sdl2A window has been shown. sdl2The associated  ]. sdl2xAn enumeration of all possible SDL event types. This data type pairs up event types with their payload, where possible. sdl2*A single SDL event. This event occured at   and carries data under  . sdl2The time the event occured. sdl2Data pertaining to this event. sdl2mPoll for currently pending events. You can only call this function in the OS thread that set the video mode. sdl28Clear the event queue by polling for all pending events.Like  P this function should only be called in the OS thread which set the video mode. sdl27Run a monadic computation, accumulating over all known  s.ZThis can be useful when used with a state monad, allowing you to fold all events together. sdl2/Wait indefinitely for the next available event. sdl2?Wait until the specified timeout for the next available amount. sdl2+A registered event with no associated data.:This is a resonable baseline to modify for converting to  . sdl2#Register a new event type with SDL.'Provide functions that convert between  /' and your structure. You can then use  A to add a custom event of the registered type to the queue, and  + to test for such events in the main loop. sdl2=Pump the event loop, gathering events from the input devices.FThis function updates the event queue and internal input device state.This should only be run in the OS thread that initialized the video subsystem, and for extra safety, you should consider only doing those things on the main thread in any case. k gathers all the pending input information from devices and places it in the event queue. Without calls to  J no events would ever be placed on the queue. Often the need for calls to   is hidden from the user since   and   implicitly call  j. However, if you are not polling or waiting for events (e.g. you are filtering them), then you must call   to force an event queue update.See  &https://wiki.libsdl.org/SDL_PumpEventsSDL_PumpEvents for C documentation. sdl2 Trigger an  0 when an event is added to the SDL event queue.See  )https://wiki.libsdl.org/SDL_AddEventWatch for C documentation. sdl2 Remove an  .See  )https://wiki.libsdl.org/SDL_DelEventWatch for C documentation.sdl2'Checks raw Windows for null references. sdl24The maximum amount of time to wait, in milliseconds.                           ! " # $ % & ' ( + ) * , - . / 0 3 4 5 1 2 6 7 9 : 8 ; < > = ? @ A B C D E F G H I J L K M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b d f c e g h k l m i j n o p r s q t u v w y x z { } ~  |       , - . z { } ~  | v w y x o p r s q t u g h k l m i j n a b d f c e \ ] ^ _ ` W X Y Z [ R S T U V M N O P Q I J L K D E F G H ? @ A B C ; < > = 6 7 9 : 8 / 0 3 4 5 1 2 % & ' ( + ) *   ! " # $                   None      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _`abcdef ghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ < = > ? @ A C B D E F G H [ ] _ q r s t u v w x y z { | } ~  I J K L M N O P Q R S T ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z | { } ~                  0 1 2 3 4 5 7 6 8 : 9 ; < = > ? @ A B C D E F G H I g h i j k l m n o p q r s t u v w x y z { | } ~  1 2 3 4 5 6 7 8 9 : < ; = > ? @ A B C D E F G L H I J K M O P N Q R T W X Z S U V Y [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x                           ! " # $ % & ' ( + ) * , - . / 0 3 4 5 1 2 6 7 9 : 8 ; < > = ? @ A B C D E F G H I J L K M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b d f c e g h k l m i j n o p r s q t u v w y x z { } ~  | $Safe_sdl2)Dynamically load a Vulkan loader library.If a filePath is , SDL will use the value of the environment variable SDL_VULKAN_LIBRARY, if set, otherwise it loads the default Vulkan loader library.JThis function should be called after initializing the video driver (i.e. 0 [1*]), but before creating any windows with !2 = !3.3If no Vulkan loader library is loaded, analogue of  Y will be automatically called by SDL C library upon creation of the first Vulkan window.Throws )2 if there are no working Vulkan drivers installed.sdl26Unload the Vulkan loader library previously loaded by .tAnalogue of this function will be automatically called by SDL C library after destruction of the last window with !2 = !3.sdl2cGet the vkGetInstanceProcAddr function, which can be used to obtain another Vulkan functions (see  Uhttps://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkGetInstanceProcAddr.html).The 0 function should be called after either calling + function or creating first Vulkan window.sdl2QGet the names of the Vulkan instance extensions needed to create a surface with .UThe extension names queried here must be enabled when calling vkCreateInstance (see  Phttps://www.khronos.org/registry/vulkan/specs/1.0/man/html/vkCreateInstance.html), otherwise  will fail.%Window should have been created with !2 = !3.Throws ) on failure.sdl2/Create a Vulkan rendering surface for a window.%Window should have been created with !2 = !3.CInstance should have been created with the extensions returned by  enabled.Throws ) on failure.sdl2nGet the size of a window's underlying drawable area in pixels (for use with setting viewport, scissor & etc).It may differ from !* if window was created with !+ flag.  &  &45645745845945:;<=;<>;?@;?@;AB;AB;CD;CD)EFGHIJKLMNOPQRSTUVW@@BBDD>=XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                       > >                         ! " " # $ % & ' ( ( ) * + , , - . / 0 0 1 2 3 4 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z z { | } ~                                                                                                                                                                         ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E, F- G H. I I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d((++ e f g h i j k l m n o p q r s t0012 u v v w x y z { | } ~               l   m                                                           w      r                                                                                        ! " # $ % & ' ( ) * + , - . / 0 11 2 3 4 50 6V 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r`\ s t u v w x y z { | } ~                                                                       4                               <                                          -                     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9          :  : ; <  =  >  ?  @  A   B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]  ^  _  `  a  b  c  d  e #    f  f   g  h  i  j   k  l  l m n o p  q  r  s  t u         5 A  ) * v w - 3 x   y   z   { |  } ~ + ,  '    x z { ~ ! ! ! ! ! ! ! !!!! !! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !3! ! ! !+! ! !2! ! ! ! !! !! ! ! ! !! !*! ! ! !! C! D! E!!! !! ! !! ! !'!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !`! ! ! !a! ! ! ! !! "! #! $! %! &! '! (! )! *! +! ,! -! .! /! 0"1" 1" 2" 3" 4" 5" 6" 7" 8" 9" :" ;" <" =" >" ?" @" A" B" C" D" E" F" G" H" I" J" K" L" M"""" N" O" P" Q" R" S" T" U" V" W" X" Y" Z" [" \" ]" ^" _" `" a" b" c" d" e" f" g" h" i" j" k" l" m" n" o" p" q" r" s" t" u" v" w" x# y# z# {# |# }# ~# # # # # # # # # # # # # # # # # # ## # ##### # # #### ## # # # # # # # # ### # ## # ## # # # #### # # ### # # ## # #### # #### # # ## # #### # #### # ### # # #### # # ## ## # # # #### # # # ### # # # # ## # # #### # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##################### ###### #### ## # ### # #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # !# "# ## $# %# &# '# (# )# *# +# ,# -# .# /# 0# 1# 2# 3# 4# 5# 6# 7# 8# 9# :# ;# <# =# ># ?# @# A# B# C# D# E# F# G# H# I# J# K# L# M# N# O# P# Q# R# S# T# U# V# W# X# Y# Z# [# \# ]# ^# _# `# a# b# c# d# e# f# g# h# i# j# k# l# m# n# o# p# q# r# s# t# u# v# w# x# y# z# {# |# }# ~# # # # # # # # # # # # # # # # # # # #n# # #o# # # # # # # # # # $,$-$ F$ G$ H$.%        45 45   ;<  ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ;< ; ;  ;  ; ; ; ; ; ;  ; ; ;  ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;  ;  ;  ;  ; ; ;;;;;;;;;;;;;;;; ; ;!;";#;$;%;&;';();();?*;?+;?,;?-;?.;?/;?0;?1;?2;?3;?4;?5;?6;?7;?8;?9;?:;?;;?<;?=;?>;??;?@;?A;?B;?C;?D;?E;?F;?G;?H;?I;?J;?K;?L;?M;?N;?O;?P;?Q;?R;?S;?T;?U;?V;?W;?X;?Y;?Z;?[;?\;?];?^;?_;A`;Aa;Ab;Ac;Ad;Ae;Af;Ag;Ah;Ai;Aj;Ak;Al;Am;An;Co;Cp;Cq;Cr;Cs;Ct;Cu;Cv;wx;wy;wy;wz;w{;|};|~;|;|;|;|;|;|;|;;;;;;;;;;;;;;;;;;;;;;;;;;;45    #"sdl2-2.5.2.0-ELe18fNVphO8KGoFngt8oSDLSDL.Vect SDL.ExceptionSDL.Internal.NumberedSDL.Internal.Vect SDL.Raw.EnumSDL.Input.Keyboard.Codes SDL.Raw.ErrorSDL.Raw.Platform SDL.Raw.Power SDL.Raw.Types SDL.Raw.TimerSDL.Raw.ThreadSDL.Raw.HapticSDL.Raw.Filesystem SDL.Raw.Event SDL.Raw.Basic SDL.Raw.Audio SDL.Raw.Video SDL.PowerSDL.Internal.TypesSDL.Input.KeyboardSDL.Internal.ExceptionSDL.Filesystem SDL.AudioSDL.Input.GameControllerSDL.InitSDL.HintSDL.TimeSDL.Input.JoystickSDL.Video.OpenGLSDL.Video.Renderer SDL.VideoSDL.Input.Mouse SDL.EventSDL.Video.Vulkan Data.BitmaskSDL.RawcreateRendererSDLEx SDLException windowSize windowHighDPI vkLoadLibraryvkUnloadLibraryvkGetDrawableSize SDL.Input initialize InitVideowindowGraphicsContext VulkanContext"StateVar-1.2-OvQScUJdslB4HgRfOXUfu Data.StateVar$=!$=$~!$~get$linear-1.20.9-CeQ9gS4iY0G7vXYe3N7ybM Linear.AffinePPoint Linear.V4V4 Linear.V3V3 Linear.V2V2 SDLCallFailedSDLUnexpectedArgumentSDLUnknownHintValuesdlExceptionCaller sdlFunctionsdlExceptionErrorsdlUnknownValuesdlHint$fExceptionSDLException$fDataSDLException$fEqSDLException$fGenericSDLException$fOrdSDLException$fReadSDLException$fShowSDLExceptionToNumbertoNumber FromNumber fromNumber$fVectorVectorPoint$fMVectorMVectorPoint $fUnboxPoint $fBoundedV2 $fMonadFixV2 $fMonadZipV2$fVectorVectorV2$fMVectorMVectorV2 $fUnboxV2$fIxV2 $fStorableV2 $fFloatingV2$fFractionalV2$fNumV2 $fMonadV2$fApplicativeV2$fTraversableV2 $fFoldableV2 $fFunctorV2 $fBoundedV3 $fMonadFixV3 $fMonadZipV3$fVectorVectorV3$fMVectorMVectorV3 $fUnboxV3$fIxV3 $fStorableV3 $fFloatingV3$fFractionalV3$fNumV3 $fMonadV3$fApplicativeV3$fTraversableV3 $fFoldableV3 $fFunctorV3 $fBoundedV4 $fMonadFixV4 $fMonadZipV4$fVectorVectorV4$fMVectorMVectorV4 $fUnboxV4$fIxV4 $fStorableV4 $fFloatingV4$fFractionalV4$fNumV4 $fMonadV4$fApplicativeV4$fTraversableV4 $fFoldableV4 $fFunctorV4 $fEqPoint $fOrdPoint $fShowPoint $fReadPoint $fMonadPoint$fFunctorPoint$fApplicativePoint$fFoldablePoint$fTraversablePoint$fFractionalPoint $fNumPoint $fIxPoint$fStorablePoint$fGenericPoint$fGeneric1Point $fDataPoint$fEqV2$fOrdV2$fShowV2$fReadV2$fDataV2 $fGenericV2 $fGeneric1V2$fEqV3$fOrdV3$fShowV3$fReadV3$fDataV3 $fGenericV3 $fGeneric1V3$fEqV4$fOrdV4$fShowV4$fReadV4$fDataV4 $fGenericV4 $fGeneric1V4ThreadPriority SystemCursorScancode RendererFlip PowerState LogPriorityKeymodKeycodeJoystickPowerLevelInitFlag HintPriorityGLattrGameControllerButtonGameControllerAxis EventAction BlendMode AudioStatus AudioFormatSDL_HAPTIC_CONSTANT!SDL_WINDOWPOS_CENTERED_DISPLAY_15!SDL_WINDOWPOS_CENTERED_DISPLAY_14!SDL_WINDOWPOS_CENTERED_DISPLAY_13!SDL_WINDOWPOS_CENTERED_DISPLAY_12!SDL_WINDOWPOS_CENTERED_DISPLAY_11!SDL_WINDOWPOS_CENTERED_DISPLAY_10 SDL_WINDOWPOS_CENTERED_DISPLAY_9 SDL_WINDOWPOS_CENTERED_DISPLAY_8 SDL_WINDOWPOS_CENTERED_DISPLAY_7 SDL_WINDOWPOS_CENTERED_DISPLAY_6 SDL_WINDOWPOS_CENTERED_DISPLAY_5 SDL_WINDOWPOS_CENTERED_DISPLAY_4 SDL_WINDOWPOS_CENTERED_DISPLAY_3 SDL_WINDOWPOS_CENTERED_DISPLAY_2 SDL_WINDOWPOS_CENTERED_DISPLAY_1 SDL_WINDOWPOS_CENTERED_DISPLAY_0SDL_WINDOWPOS_CENTEREDSDL_WINDOWPOS_UNDEFINEDSDL_WINDOW_VULKANSDL_WINDOW_MOUSE_CAPTURESDL_WINDOW_ALLOW_HIGHDPISDL_WINDOW_FOREIGNSDL_WINDOW_FULLSCREEN_DESKTOPSDL_WINDOW_MOUSE_FOCUSSDL_WINDOW_INPUT_FOCUSSDL_WINDOW_INPUT_GRABBEDSDL_WINDOW_MAXIMIZEDSDL_WINDOW_MINIMIZEDSDL_WINDOW_RESIZABLESDL_WINDOW_BORDERLESSSDL_WINDOW_HIDDENSDL_WINDOW_SHOWNSDL_WINDOW_OPENGLSDL_WINDOW_FULLSCREENSDL_WINDOWEVENT_CLOSESDL_WINDOWEVENT_FOCUS_LOSTSDL_WINDOWEVENT_FOCUS_GAINEDSDL_WINDOWEVENT_LEAVESDL_WINDOWEVENT_ENTERSDL_WINDOWEVENT_RESTOREDSDL_WINDOWEVENT_MAXIMIZEDSDL_WINDOWEVENT_MINIMIZEDSDL_WINDOWEVENT_SIZE_CHANGEDSDL_WINDOWEVENT_RESIZEDSDL_WINDOWEVENT_MOVEDSDL_WINDOWEVENT_EXPOSEDSDL_WINDOWEVENT_HIDDENSDL_WINDOWEVENT_SHOWNSDL_WINDOWEVENT_NONESDL_TOUCH_MOUSEIDSDL_TEXTUREMODULATE_ALPHASDL_TEXTUREMODULATE_COLORSDL_TEXTUREMODULATE_NONESDL_TEXTUREACCESS_TARGETSDL_TEXTUREACCESS_STREAMINGSDL_TEXTUREACCESS_STATICSDL_RENDERER_TARGETTEXTURESDL_RENDERER_PRESENTVSYNCSDL_RENDERER_ACCELERATEDSDL_RENDERER_SOFTWARESDL_PIXELFORMAT_YVYUSDL_PIXELFORMAT_UYVYSDL_PIXELFORMAT_YUY2SDL_PIXELFORMAT_IYUVSDL_PIXELFORMAT_YV12SDL_PIXELFORMAT_ARGB2101010SDL_PIXELFORMAT_BGRA8888SDL_PIXELFORMAT_ABGR8888SDL_PIXELFORMAT_RGBA8888SDL_PIXELFORMAT_ARGB8888SDL_PIXELFORMAT_BGRX8888SDL_PIXELFORMAT_BGR888SDL_PIXELFORMAT_RGBX8888SDL_PIXELFORMAT_RGB888SDL_PIXELFORMAT_BGR24SDL_PIXELFORMAT_RGB24SDL_PIXELFORMAT_BGR565SDL_PIXELFORMAT_RGB565SDL_PIXELFORMAT_BGRA5551SDL_PIXELFORMAT_ABGR1555SDL_PIXELFORMAT_RGBA5551SDL_PIXELFORMAT_ARGB1555SDL_PIXELFORMAT_BGRA4444SDL_PIXELFORMAT_ABGR4444SDL_PIXELFORMAT_RGBA4444SDL_PIXELFORMAT_ARGB4444SDL_PIXELFORMAT_BGR555SDL_PIXELFORMAT_RGB555SDL_PIXELFORMAT_RGB444SDL_PIXELFORMAT_RGB332SDL_PIXELFORMAT_INDEX8SDL_PIXELFORMAT_INDEX4MSBSDL_PIXELFORMAT_INDEX4LSBSDL_PIXELFORMAT_INDEX1MSBSDL_PIXELFORMAT_INDEX1LSBSDL_PIXELFORMAT_UNKNOWN%SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH$SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE#SDL_GL_CONTEXT_RESET_ISOLATION_FLAG!SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG&SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAGSDL_GL_CONTEXT_DEBUG_FLAGSDL_GL_CONTEXT_PROFILE_ES$SDL_GL_CONTEXT_PROFILE_COMPATIBILITYSDL_GL_CONTEXT_PROFILE_CORE'SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT'SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULTSDL_MESSAGEBOX_INFORMATIONSDL_MESSAGEBOX_WARNINGSDL_MESSAGEBOX_ERRORSDL_LOG_CATEGORY_CUSTOMSDL_LOG_CATEGORY_TESTSDL_LOG_CATEGORY_INPUTSDL_LOG_CATEGORY_RENDERSDL_LOG_CATEGORY_VIDEOSDL_LOG_CATEGORY_AUDIOSDL_LOG_CATEGORY_SYSTEMSDL_LOG_CATEGORY_ASSERTSDL_LOG_CATEGORY_ERRORSDL_LOG_CATEGORY_APPLICATION SDL_RELEASED SDL_PRESSEDSDL_HAT_LEFTDOWNSDL_HAT_LEFTUPSDL_HAT_RIGHTDOWNSDL_HAT_RIGHTUP SDL_HAT_LEFT SDL_HAT_DOWN SDL_HAT_RIGHT SDL_HAT_UPSDL_HAT_CENTERED SDL_LASTEVENT SDL_USEREVENTSDL_RENDER_DEVICE_RESETSDL_RENDER_TARGETS_RESETSDL_AUDIODEVICEREMOVEDSDL_AUDIODEVICEADDED SDL_DROPFILESDL_CLIPBOARDUPDATESDL_MULTIGESTURESDL_DOLLARRECORDSDL_DOLLARGESTURESDL_FINGERMOTION SDL_FINGERUPSDL_FINGERDOWNSDL_CONTROLLERDEVICEREMAPPEDSDL_CONTROLLERDEVICEREMOVEDSDL_CONTROLLERDEVICEADDEDSDL_CONTROLLERBUTTONUPSDL_CONTROLLERBUTTONDOWNSDL_CONTROLLERAXISMOTIONSDL_JOYDEVICEREMOVEDSDL_JOYDEVICEADDEDSDL_JOYBUTTONUPSDL_JOYBUTTONDOWNSDL_JOYHATMOTIONSDL_JOYBALLMOTIONSDL_JOYAXISMOTIONSDL_MOUSEWHEELSDL_MOUSEBUTTONUPSDL_MOUSEBUTTONDOWNSDL_MOUSEMOTIONSDL_KEYMAPCHANGED SDL_TEXTINPUTSDL_TEXTEDITING SDL_KEYUP SDL_KEYDOWNSDL_SYSWMEVENTSDL_WINDOWEVENTSDL_APP_DIDENTERFOREGROUNDSDL_APP_WILLENTERFOREGROUNDSDL_APP_DIDENTERBACKGROUNDSDL_APP_WILLENTERBACKGROUNDSDL_APP_LOWMEMORYSDL_APP_TERMINATINGSDL_QUITSDL_FIRSTEVENTSDL_MOUSEWHEEL_FLIPPEDSDL_MOUSEWHEEL_NORMALSDL_BUTTON_X2MASKSDL_BUTTON_X1MASKSDL_BUTTON_RMASKSDL_BUTTON_MMASKSDL_BUTTON_LMASK SDL_BUTTON_X2 SDL_BUTTON_X1SDL_BUTTON_RIGHTSDL_BUTTON_MIDDLESDL_BUTTON_LEFTSDL_AUDIO_ALLOW_ANY_CHANGESDL_AUDIO_ALLOW_CHANNELS_CHANGESDL_AUDIO_ALLOW_FORMAT_CHANGE SDL_AUDIO_ALLOW_FREQUENCY_CHANGESDL_THREAD_PRIORITY_HIGHSDL_THREAD_PRIORITY_NORMALSDL_THREAD_PRIORITY_LOWSDL_NUM_SYSTEM_CURSORSSDL_SYSTEM_CURSOR_HANDSDL_SYSTEM_CURSOR_NOSDL_SYSTEM_CURSOR_SIZEALLSDL_SYSTEM_CURSOR_SIZENSSDL_SYSTEM_CURSOR_SIZEWESDL_SYSTEM_CURSOR_SIZENESWSDL_SYSTEM_CURSOR_SIZENWSESDL_SYSTEM_CURSOR_WAITARROWSDL_SYSTEM_CURSOR_CROSSHAIRSDL_SYSTEM_CURSOR_WAITSDL_SYSTEM_CURSOR_IBEAMSDL_SYSTEM_CURSOR_ARROWSDL_NUM_SCANCODESSDL_SCANCODE_APP2SDL_SCANCODE_APP1SDL_SCANCODE_SLEEPSDL_SCANCODE_EJECTSDL_SCANCODE_KBDILLUMUPSDL_SCANCODE_KBDILLUMDOWNSDL_SCANCODE_KBDILLUMTOGGLESDL_SCANCODE_DISPLAYSWITCHSDL_SCANCODE_BRIGHTNESSUPSDL_SCANCODE_BRIGHTNESSDOWNSDL_SCANCODE_AC_BOOKMARKSSDL_SCANCODE_AC_REFRESHSDL_SCANCODE_AC_STOPSDL_SCANCODE_AC_FORWARDSDL_SCANCODE_AC_BACKSDL_SCANCODE_AC_HOMESDL_SCANCODE_AC_SEARCHSDL_SCANCODE_COMPUTERSDL_SCANCODE_CALCULATORSDL_SCANCODE_MAILSDL_SCANCODE_WWWSDL_SCANCODE_MEDIASELECTSDL_SCANCODE_AUDIOMUTESDL_SCANCODE_AUDIOPLAYSDL_SCANCODE_AUDIOSTOPSDL_SCANCODE_AUDIOPREVSDL_SCANCODE_AUDIONEXTSDL_SCANCODE_MODESDL_SCANCODE_RGUISDL_SCANCODE_RALTSDL_SCANCODE_RSHIFTSDL_SCANCODE_RCTRLSDL_SCANCODE_LGUISDL_SCANCODE_LALTSDL_SCANCODE_LSHIFTSDL_SCANCODE_LCTRLSDL_SCANCODE_KP_HEXADECIMALSDL_SCANCODE_KP_DECIMALSDL_SCANCODE_KP_OCTALSDL_SCANCODE_KP_BINARYSDL_SCANCODE_KP_CLEARENTRYSDL_SCANCODE_KP_CLEARSDL_SCANCODE_KP_PLUSMINUSSDL_SCANCODE_KP_MEMDIVIDESDL_SCANCODE_KP_MEMMULTIPLYSDL_SCANCODE_KP_MEMSUBTRACTSDL_SCANCODE_KP_MEMADDSDL_SCANCODE_KP_MEMCLEARSDL_SCANCODE_KP_MEMRECALLSDL_SCANCODE_KP_MEMSTORESDL_SCANCODE_KP_EXCLAMSDL_SCANCODE_KP_ATSDL_SCANCODE_KP_SPACESDL_SCANCODE_KP_HASHSDL_SCANCODE_KP_COLONSDL_SCANCODE_KP_DBLVERTICALBARSDL_SCANCODE_KP_VERTICALBARSDL_SCANCODE_KP_DBLAMPERSANDSDL_SCANCODE_KP_AMPERSANDSDL_SCANCODE_KP_GREATERSDL_SCANCODE_KP_LESSSDL_SCANCODE_KP_PERCENTSDL_SCANCODE_KP_POWERSDL_SCANCODE_KP_XORSDL_SCANCODE_KP_FSDL_SCANCODE_KP_ESDL_SCANCODE_KP_DSDL_SCANCODE_KP_CSDL_SCANCODE_KP_BSDL_SCANCODE_KP_ASDL_SCANCODE_KP_BACKSPACESDL_SCANCODE_KP_TABSDL_SCANCODE_KP_RIGHTBRACESDL_SCANCODE_KP_LEFTBRACESDL_SCANCODE_KP_RIGHTPARENSDL_SCANCODE_KP_LEFTPARENSDL_SCANCODE_CURRENCYSUBUNITSDL_SCANCODE_CURRENCYUNITSDL_SCANCODE_DECIMALSEPARATORSDL_SCANCODE_THOUSANDSSEPARATORSDL_SCANCODE_KP_000SDL_SCANCODE_KP_00SDL_SCANCODE_EXSELSDL_SCANCODE_CRSELSDL_SCANCODE_CLEARAGAINSDL_SCANCODE_OPERSDL_SCANCODE_OUTSDL_SCANCODE_SEPARATORSDL_SCANCODE_RETURN2SDL_SCANCODE_PRIORSDL_SCANCODE_CLEARSDL_SCANCODE_CANCELSDL_SCANCODE_SYSREQSDL_SCANCODE_ALTERASESDL_SCANCODE_LANG9SDL_SCANCODE_LANG8SDL_SCANCODE_LANG7SDL_SCANCODE_LANG6SDL_SCANCODE_LANG5SDL_SCANCODE_LANG4SDL_SCANCODE_LANG3SDL_SCANCODE_LANG2SDL_SCANCODE_LANG1SDL_SCANCODE_INTERNATIONAL9SDL_SCANCODE_INTERNATIONAL8SDL_SCANCODE_INTERNATIONAL7SDL_SCANCODE_INTERNATIONAL6SDL_SCANCODE_INTERNATIONAL5SDL_SCANCODE_INTERNATIONAL4SDL_SCANCODE_INTERNATIONAL3SDL_SCANCODE_INTERNATIONAL2SDL_SCANCODE_INTERNATIONAL1SDL_SCANCODE_KP_EQUALSAS400SDL_SCANCODE_KP_COMMASDL_SCANCODE_VOLUMEDOWNSDL_SCANCODE_VOLUMEUPSDL_SCANCODE_MUTESDL_SCANCODE_FINDSDL_SCANCODE_PASTESDL_SCANCODE_COPYSDL_SCANCODE_CUTSDL_SCANCODE_UNDOSDL_SCANCODE_AGAINSDL_SCANCODE_STOPSDL_SCANCODE_SELECTSDL_SCANCODE_MENUSDL_SCANCODE_HELPSDL_SCANCODE_EXECUTESDL_SCANCODE_F24SDL_SCANCODE_F23SDL_SCANCODE_F22SDL_SCANCODE_F21SDL_SCANCODE_F20SDL_SCANCODE_F19SDL_SCANCODE_F18SDL_SCANCODE_F17SDL_SCANCODE_F16SDL_SCANCODE_F15SDL_SCANCODE_F14SDL_SCANCODE_F13SDL_SCANCODE_KP_EQUALSSDL_SCANCODE_POWERSDL_SCANCODE_APPLICATIONSDL_SCANCODE_NONUSBACKSLASHSDL_SCANCODE_KP_PERIODSDL_SCANCODE_KP_0SDL_SCANCODE_KP_9SDL_SCANCODE_KP_8SDL_SCANCODE_KP_7SDL_SCANCODE_KP_6SDL_SCANCODE_KP_5SDL_SCANCODE_KP_4SDL_SCANCODE_KP_3SDL_SCANCODE_KP_2SDL_SCANCODE_KP_1SDL_SCANCODE_KP_ENTERSDL_SCANCODE_KP_PLUSSDL_SCANCODE_KP_MINUSSDL_SCANCODE_KP_MULTIPLYSDL_SCANCODE_KP_DIVIDESDL_SCANCODE_NUMLOCKCLEARSDL_SCANCODE_UPSDL_SCANCODE_DOWNSDL_SCANCODE_LEFTSDL_SCANCODE_RIGHTSDL_SCANCODE_PAGEDOWNSDL_SCANCODE_ENDSDL_SCANCODE_DELETESDL_SCANCODE_PAGEUPSDL_SCANCODE_HOMESDL_SCANCODE_INSERTSDL_SCANCODE_PAUSESDL_SCANCODE_SCROLLLOCKSDL_SCANCODE_PRINTSCREENSDL_SCANCODE_F12SDL_SCANCODE_F11SDL_SCANCODE_F10SDL_SCANCODE_F9SDL_SCANCODE_F8SDL_SCANCODE_F7SDL_SCANCODE_F6SDL_SCANCODE_F5SDL_SCANCODE_F4SDL_SCANCODE_F3SDL_SCANCODE_F2SDL_SCANCODE_F1SDL_SCANCODE_CAPSLOCKSDL_SCANCODE_SLASHSDL_SCANCODE_PERIODSDL_SCANCODE_COMMASDL_SCANCODE_GRAVESDL_SCANCODE_APOSTROPHESDL_SCANCODE_SEMICOLONSDL_SCANCODE_NONUSHASHSDL_SCANCODE_BACKSLASHSDL_SCANCODE_RIGHTBRACKETSDL_SCANCODE_LEFTBRACKETSDL_SCANCODE_EQUALSSDL_SCANCODE_MINUSSDL_SCANCODE_SPACESDL_SCANCODE_TABSDL_SCANCODE_BACKSPACESDL_SCANCODE_ESCAPESDL_SCANCODE_RETURNSDL_SCANCODE_0SDL_SCANCODE_9SDL_SCANCODE_8SDL_SCANCODE_7SDL_SCANCODE_6SDL_SCANCODE_5SDL_SCANCODE_4SDL_SCANCODE_3SDL_SCANCODE_2SDL_SCANCODE_1SDL_SCANCODE_ZSDL_SCANCODE_YSDL_SCANCODE_XSDL_SCANCODE_WSDL_SCANCODE_VSDL_SCANCODE_USDL_SCANCODE_TSDL_SCANCODE_SSDL_SCANCODE_RSDL_SCANCODE_QSDL_SCANCODE_PSDL_SCANCODE_OSDL_SCANCODE_NSDL_SCANCODE_MSDL_SCANCODE_LSDL_SCANCODE_KSDL_SCANCODE_JSDL_SCANCODE_ISDL_SCANCODE_HSDL_SCANCODE_GSDL_SCANCODE_FSDL_SCANCODE_ESDL_SCANCODE_DSDL_SCANCODE_CSDL_SCANCODE_BSDL_SCANCODE_ASDL_SCANCODE_UNKNOWNSDL_FLIP_VERTICALSDL_FLIP_HORIZONTAL SDL_FLIP_NONESDL_POWERSTATE_CHARGEDSDL_POWERSTATE_CHARGINGSDL_POWERSTATE_NO_BATTERYSDL_POWERSTATE_ON_BATTERYSDL_POWERSTATE_UNKNOWNSDL_NUM_LOG_PRIORITIESSDL_LOG_PRIORITY_CRITICALSDL_LOG_PRIORITY_ERRORSDL_LOG_PRIORITY_WARNSDL_LOG_PRIORITY_INFOSDL_LOG_PRIORITY_DEBUGSDL_LOG_PRIORITY_VERBOSE KMOD_RESERVED KMOD_MODE KMOD_CAPSKMOD_NUMKMOD_GUI KMOD_RGUI KMOD_LGUIKMOD_ALT KMOD_RALT KMOD_LALT KMOD_CTRL KMOD_RCTRL KMOD_LCTRL KMOD_SHIFT KMOD_RSHIFT KMOD_LSHIFT KMOD_NONE SDLK_SLEEP SDLK_EJECTSDLK_KBDILLUMUPSDLK_KBDILLUMDOWNSDLK_KBDILLUMTOGGLESDLK_DISPLAYSWITCHSDLK_BRIGHTNESSUPSDLK_BRIGHTNESSDOWNSDLK_AC_BOOKMARKSSDLK_AC_REFRESH SDLK_AC_STOPSDLK_AC_FORWARD SDLK_AC_BACK SDLK_AC_HOMESDLK_AC_SEARCH SDLK_COMPUTERSDLK_CALCULATOR SDLK_MAILSDLK_WWWSDLK_MEDIASELECTSDLK_AUDIOMUTESDLK_AUDIOPLAYSDLK_AUDIOSTOPSDLK_AUDIOPREVSDLK_AUDIONEXT SDLK_MODE SDLK_RGUI SDLK_RALT SDLK_RSHIFT SDLK_RCTRL SDLK_LGUI SDLK_LALT SDLK_LSHIFT SDLK_LCTRLSDLK_KP_HEXADECIMALSDLK_KP_DECIMAL SDLK_KP_OCTALSDLK_KP_BINARYSDLK_KP_CLEARENTRY SDLK_KP_CLEARSDLK_KP_PLUSMINUSSDLK_KP_MEMDIVIDESDLK_KP_MEMMULTIPLYSDLK_KP_MEMSUBTRACTSDLK_KP_MEMADDSDLK_KP_MEMCLEARSDLK_KP_MEMRECALLSDLK_KP_MEMSTORESDLK_KP_EXCLAM SDLK_KP_AT SDLK_KP_SPACE SDLK_KP_HASH SDLK_KP_COLONSDLK_KP_DBLVERTICALBARSDLK_KP_VERTICALBARSDLK_KP_DBLAMPERSANDSDLK_KP_AMPERSANDSDLK_KP_GREATER SDLK_KP_LESSSDLK_KP_PERCENT SDLK_KP_POWER SDLK_KP_XOR SDLK_KP_F SDLK_KP_E SDLK_KP_D SDLK_KP_C SDLK_KP_B SDLK_KP_ASDLK_KP_BACKSPACE SDLK_KP_TABSDLK_KP_RIGHTBRACESDLK_KP_LEFTBRACESDLK_KP_RIGHTPARENSDLK_KP_LEFTPARENSDLK_CURRENCYSUBUNITSDLK_CURRENCYUNITSDLK_DECIMALSEPARATORSDLK_THOUSANDSSEPARATOR SDLK_KP_000 SDLK_KP_00 SDLK_EXSEL SDLK_CRSELSDLK_CLEARAGAIN SDLK_OPERSDLK_OUTSDLK_SEPARATOR SDLK_RETURN2 SDLK_PRIOR SDLK_CLEAR SDLK_CANCEL SDLK_SYSREQ SDLK_ALTERASESDLK_KP_EQUALSAS400 SDLK_KP_COMMASDLK_VOLUMEDOWN SDLK_VOLUMEUP SDLK_MUTE SDLK_FIND SDLK_PASTE SDLK_COPYSDLK_CUT SDLK_UNDO SDLK_AGAIN SDLK_STOP SDLK_SELECT SDLK_MENU SDLK_HELP SDLK_EXECUTESDLK_F24SDLK_F23SDLK_F22SDLK_F21SDLK_F20SDLK_F19SDLK_F18SDLK_F17SDLK_F16SDLK_F15SDLK_F14SDLK_F13SDLK_KP_EQUALS SDLK_POWERSDLK_APPLICATIONSDLK_KP_PERIOD SDLK_KP_0 SDLK_KP_9 SDLK_KP_8 SDLK_KP_7 SDLK_KP_6 SDLK_KP_5 SDLK_KP_4 SDLK_KP_3 SDLK_KP_2 SDLK_KP_1 SDLK_KP_ENTER SDLK_KP_PLUS SDLK_KP_MINUSSDLK_KP_MULTIPLYSDLK_KP_DIVIDESDLK_NUMLOCKCLEARSDLK_UP SDLK_DOWN SDLK_LEFT SDLK_RIGHT SDLK_PAGEDOWNSDLK_END SDLK_DELETE SDLK_PAGEUP SDLK_HOME SDLK_INSERT SDLK_PAUSESDLK_SCROLLLOCKSDLK_PRINTSCREENSDLK_F12SDLK_F11SDLK_F10SDLK_F9SDLK_F8SDLK_F7SDLK_F6SDLK_F5SDLK_F4SDLK_F3SDLK_F2SDLK_F1 SDLK_CAPSLOCKSDLK_zSDLK_ySDLK_xSDLK_wSDLK_vSDLK_uSDLK_tSDLK_sSDLK_rSDLK_qSDLK_pSDLK_oSDLK_nSDLK_mSDLK_lSDLK_kSDLK_jSDLK_iSDLK_hSDLK_gSDLK_fSDLK_eSDLK_dSDLK_cSDLK_bSDLK_aSDLK_BACKQUOTESDLK_UNDERSCORE SDLK_CARETSDLK_RIGHTBRACKETSDLK_BACKSLASHSDLK_LEFTBRACKETSDLK_AT SDLK_QUESTION SDLK_GREATER SDLK_EQUALS SDLK_LESSSDLK_SEMICOLON SDLK_COLONSDLK_9SDLK_8SDLK_7SDLK_6SDLK_5SDLK_4SDLK_3SDLK_2SDLK_1SDLK_0 SDLK_SLASH SDLK_PERIOD SDLK_MINUS SDLK_COMMA SDLK_PLUS SDLK_ASTERISKSDLK_RIGHTPARENSDLK_LEFTPAREN SDLK_QUOTESDLK_AMPERSAND SDLK_DOLLAR SDLK_PERCENT SDLK_HASH SDLK_QUOTEDBL SDLK_EXCLAIM SDLK_SPACESDLK_TABSDLK_BACKSPACE SDLK_ESCAPE SDLK_RETURN SDLK_UNKNOWNSDL_JOYSTICK_POWER_MAXSDL_JOYSTICK_POWER_WIREDSDL_JOYSTICK_POWER_FULLSDL_JOYSTICK_POWER_MEDIUMSDL_JOYSTICK_POWER_LOWSDL_JOYSTICK_POWER_EMPTYSDL_JOYSTICK_POWER_UNKNOWNSDL_INIT_EVERYTHINGSDL_INIT_NOPARACHUTESDL_INIT_EVENTSSDL_INIT_GAMECONTROLLERSDL_INIT_HAPTICSDL_INIT_JOYSTICKSDL_INIT_VIDEOSDL_INIT_AUDIOSDL_INIT_TIMERSDL_HINT_OVERRIDESDL_HINT_NORMALSDL_HINT_DEFAULTSDL_GL_CONTEXT_RELEASE_BEHAVIORSDL_GL_FRAMEBUFFER_SRGB_CAPABLE!SDL_GL_SHARE_WITH_CURRENT_CONTEXTSDL_GL_CONTEXT_PROFILE_MASKSDL_GL_CONTEXT_FLAGSSDL_GL_CONTEXT_EGLSDL_GL_CONTEXT_MINOR_VERSIONSDL_GL_CONTEXT_MAJOR_VERSIONSDL_GL_RETAINED_BACKINGSDL_GL_ACCELERATED_VISUALSDL_GL_MULTISAMPLESAMPLESSDL_GL_MULTISAMPLEBUFFERS SDL_GL_STEREOSDL_GL_ACCUM_ALPHA_SIZESDL_GL_ACCUM_BLUE_SIZESDL_GL_ACCUM_GREEN_SIZESDL_GL_ACCUM_RED_SIZESDL_GL_STENCIL_SIZESDL_GL_DEPTH_SIZESDL_GL_DOUBLEBUFFERSDL_GL_BUFFER_SIZESDL_GL_ALPHA_SIZESDL_GL_BLUE_SIZESDL_GL_GREEN_SIZESDL_GL_RED_SIZESDL_CONTROLLER_BUTTON_MAX SDL_CONTROLLER_BUTTON_DPAD_RIGHTSDL_CONTROLLER_BUTTON_DPAD_LEFTSDL_CONTROLLER_BUTTON_DPAD_DOWNSDL_CONTROLLER_BUTTON_DPAD_UP#SDL_CONTROLLER_BUTTON_RIGHTSHOULDER"SDL_CONTROLLER_BUTTON_LEFTSHOULDER SDL_CONTROLLER_BUTTON_RIGHTSTICKSDL_CONTROLLER_BUTTON_LEFTSTICKSDL_CONTROLLER_BUTTON_STARTSDL_CONTROLLER_BUTTON_GUIDESDL_CONTROLLER_BUTTON_BACKSDL_CONTROLLER_BUTTON_YSDL_CONTROLLER_BUTTON_XSDL_CONTROLLER_BUTTON_BSDL_CONTROLLER_BUTTON_ASDL_CONTROLLER_BUTTON_INVALIDSDL_CONTROLLER_AXIS_MAX SDL_CONTROLLER_AXIS_TRIGGERRIGHTSDL_CONTROLLER_AXIS_TRIGGERLEFTSDL_CONTROLLER_AXIS_RIGHTYSDL_CONTROLLER_AXIS_RIGHTXSDL_CONTROLLER_AXIS_LEFTYSDL_CONTROLLER_AXIS_LEFTXSDL_CONTROLLER_AXIS_INVALID SDL_GETEVENT SDL_PEEKEVENT SDL_ADDEVENTSDL_BIG_ENDIANSDL_LIL_ENDIAN SDL_BYTEORDERSDL_BLENDMODE_MODSDL_BLENDMODE_ADDSDL_BLENDMODE_BLENDSDL_BLENDMODE_NONESDL_AUDIO_PAUSEDSDL_AUDIO_PLAYINGSDL_AUDIO_STOPPEDSDL_AUDIO_F32SYSSDL_AUDIO_F32MSBSDL_AUDIO_F32LSBSDL_AUDIO_S32SYSSDL_AUDIO_S32MSBSDL_AUDIO_S32LSBSDL_AUDIO_U16SYSSDL_AUDIO_U16MSBSDL_AUDIO_U16LSBSDL_AUDIO_S16SYSSDL_AUDIO_S16MSBSDL_AUDIO_S16LSB SDL_AUDIO_U8 SDL_AUDIO_S8 unwrapKeycodeunwrapScancode KeycodeSleep KeycodeEjectKeycodeKbdIllumUpKeycodeKbdIllumDownKeycodeKbdIllumToggleKeycodeDisplaySwitchKeycodeBrightnessUpKeycodeBrightnessDownKeycodeACBookmarksKeycodeACRefresh KeycodeACStopKeycodeACForward KeycodeACBack KeycodeACHomeKeycodeACSearchKeycodeComputerKeycodeCalculator KeycodeMail KeycodeWWWKeycodeMediaSelectKeycodeAudioMuteKeycodeAudioPlayKeycodeAudioStopKeycodeAudioPrevKeycodeAudioNext KeycodeMode KeycodeRGUI KeycodeRAlt KeycodeRShift KeycodeRCtrl KeycodeLGUI KeycodeLAlt KeycodeLShift KeycodeLCtrlKeycodeKPHexadecimalKeycodeKPDecimalKeycodeKPOctalKeycodeKPBinaryKeycodeKPClearEntryKeycodeKPClearKeycodeKPPlusMinusKeycodeKPMemDivideKeycodeKPMemMultiplyKeycodeKPMemSubtractKeycodeKPMemAddKeycodeKPMemClearKeycodeKPMemRecallKeycodeKPMemStoreKeycodeKPExclam KeycodeKPAtKeycodeKPSpace KeycodeKPHashKeycodeKPColonKeycodeKPDblVerticalBarKeycodeKPVerticalBarKeycodeKPDblAmpersandKeycodeKPAmpersandKeycodeKPGreater KeycodeKPLessKeycodeKPPercentKeycodeKPPower KeycodeKPXor KeycodeKPF KeycodeKPE KeycodeKPD KeycodeKPC KeycodeKPB KeycodeKPAKeycodeKPBackspace KeycodeKPTabKeycodeKPRightBraceKeycodeKPLeftBraceKeycodeKPRightParenKeycodeKPLeftParenKeycodeCurrencySubunitKeycodeCurrencyUnitKeycodeDecimalSeparatorKeycodeThousandsSeparator KeycodeKP000 KeycodeKP00 KeycodeExSel KeycodeCrSelKeycodeClearAgain KeycodeOper KeycodeOutKeycodeSeparatorKeycodeReturn2 KeycodePrior KeycodeClear KeycodeCancel KeycodeSysReqKeycodeAltEraseKeycodeKPEqualsAS400KeycodeKPCommaKeycodeVolumeDownKeycodeVolumeUp KeycodeMute KeycodeFind KeycodePaste KeycodeCopy KeycodeCut KeycodeUndo KeycodeAgain KeycodeStop KeycodeSelect KeycodeMenu KeycodeHelpKeycodeExecute KeycodeF24 KeycodeF23 KeycodeF22 KeycodeF21 KeycodeF20 KeycodeF19 KeycodeF18 KeycodeF17 KeycodeF16 KeycodeF15 KeycodeF14 KeycodeF13KeycodeKPEquals KeycodePowerKeycodeApplicationKeycodeKPPeriod KeycodeKP0 KeycodeKP9 KeycodeKP8 KeycodeKP7 KeycodeKP6 KeycodeKP5 KeycodeKP4 KeycodeKP3 KeycodeKP2 KeycodeKP1KeycodeKPEnter KeycodeKPPlusKeycodeKPMinusKeycodeKPMultiplyKeycodeKPDivideKeycodeNumLockClear KeycodeUp KeycodeDown KeycodeLeft KeycodeRightKeycodePageDown KeycodeEnd KeycodeDelete KeycodePageUp KeycodeHome KeycodeInsert KeycodePauseKeycodeScrollLockKeycodePrintScreen KeycodeF12 KeycodeF11 KeycodeF10 KeycodeF9 KeycodeF8 KeycodeF7 KeycodeF6 KeycodeF5 KeycodeF4 KeycodeF3 KeycodeF2 KeycodeF1KeycodeCapsLockKeycodeZKeycodeYKeycodeXKeycodeWKeycodeVKeycodeUKeycodeTKeycodeSKeycodeRKeycodeQKeycodePKeycodeOKeycodeNKeycodeMKeycodeLKeycodeKKeycodeJKeycodeIKeycodeHKeycodeGKeycodeFKeycodeEKeycodeDKeycodeCKeycodeBKeycodeAKeycodeBackquoteKeycodeUnderscore KeycodeCaretKeycodeRightBracketKeycodeBackslashKeycodeLeftBracket KeycodeAtKeycodeQuestionKeycodeGreater KeycodeEquals KeycodeLessKeycodeSemicolon KeycodeColonKeycode9Keycode8Keycode7Keycode6Keycode5Keycode4Keycode3Keycode2Keycode1Keycode0 KeycodeSlash KeycodePeriod KeycodeMinus KeycodeComma KeycodePlusKeycodeAsteriskKeycodeRightParenKeycodeLeftParen KeycodeQuoteKeycodeAmpersand KeycodeDollarKeycodePercent KeycodeHashKeycodeQuoteDblKeycodeExclaim KeycodeSpace KeycodeTabKeycodeBackspace KeycodeEscape KeycodeReturnKeycodeUnknown ScancodeApp2 ScancodeApp1 ScancodeSleep ScancodeEjectScancodeKBDIllumUpScancodeKBDIllumDownScancodeKBDIllumToggleScancodeDisplaySwitchScancodeBrightnessUpScancodeBrightnessDownScancodeACBookmarksScancodeACRefreshScancodeACStopScancodeACForwardScancodeACBackScancodeACHomeScancodeACSearchScancodeComputerScancodeCalculator ScancodeMail ScancodeWWWScancodeMediaSelectScancodeAudioMuteScancodeAudioPlayScancodeAudioStopScancodeAudioPrevScancodeAudioNext ScancodeMode ScancodeRGUI ScancodeRAltScancodeRShift ScancodeRCtrl ScancodeLGUI ScancodeLAltScancodeLShift ScancodeLCtrlScancodeKPHexadecimalScancodeKPDecimalScancodeKPOctalScancodeKPBinaryScancodeKPClearEntryScancodeKPClearScancodeKPPlusMinusScancodeKPMemDivideScancodeKPMemMultiplyScancodeKPMemSubtractScancodeKPMemAddScancodeKPMemClearScancodeKPMemRecallScancodeKPMemStoreScancodeKPExclam ScancodeKPAtScancodeKPSpaceScancodeKPHashScancodeKPColonScancodeKPDblVerticalBarScancodeKPVerticalBarScancodeKPDblAmpersandScancodeKPAmpersandScancodeKPGreaterScancodeKPLessScancodeKPPercentScancodeKPPower ScancodeKPXOR ScancodeKPF ScancodeKPE ScancodeKPD ScancodeKPC ScancodeKPB ScancodeKPAScancodeKPBackspace ScancodeKPTabScancodeRightBraceScancodeLeftBraceScancodeRightParenScancodeLeftParenScancodeCurrencySubunitScancodeCurrencyUnitScancodeDecimalSeparatorScancodeThousandsSeparator ScancodeKP000 ScancodeKP00 ScancodeExSel ScancodeCrSelScancodeClearAgain ScancodeOper ScancodeOutScancodeSeparatorScancodeReturn2 ScancodePrior ScancodeClearScancodeCancelScancodeSysReqScancodeAltErase ScancodeLang9 ScancodeLang8 ScancodeLang7 ScancodeLang6 ScancodeLang5 ScancodeLang4 ScancodeLang3 ScancodeLang2 ScancodeLang1ScancodeInternational9ScancodeInternational8ScancodeInternational7ScancodeInternational6ScancodeInternational5ScancodeInternational4ScancodeInternational3ScancodeInternational2ScancodeInternational1ScancodeKPEqualsAS400ScancodeKPCommaScancodeVolumeDownScancodeVolumeUp ScancodeMute ScancodeFind ScancodePaste ScancodeCopy ScancodeCut ScancodeUndo ScancodeAgain ScancodeStopScancodeSelect ScancodeMenu ScancodeHelpScancodeExecute ScancodeF24 ScancodeF23 ScancodeF22 ScancodeF21 ScancodeF20 ScancodeF19 ScancodeF18 ScancodeF17 ScancodeF16 ScancodeF15 ScancodeF14 ScancodeF13ScancodeKPEquals ScancodePowerScancodeApplicationScancodeNonUSBackslashScancodeKPPeriod ScancodeKP0 ScancodeKP9 ScancodeKP8 ScancodeKP7 ScancodeKP6 ScancodeKP5 ScancodeKP4 ScancodeKP3 ScancodeKP2 ScancodeKP1ScancodeKPEnterScancodeKPPlusScancodeKPMinusScancodeKPMultiplyScancodeKPDivideScancodeNumLockClear ScancodeUp ScancodeDown ScancodeLeft ScancodeRightScancodePageDown ScancodeEndScancodeDeleteScancodePageUp ScancodeHomeScancodeInsert ScancodePauseScancodeScrollLockScancodePrintScreen ScancodeF12 ScancodeF11 ScancodeF10 ScancodeF9 ScancodeF8 ScancodeF7 ScancodeF6 ScancodeF5 ScancodeF4 ScancodeF3 ScancodeF2 ScancodeF1ScancodeCapsLock ScancodeSlashScancodePeriod ScancodeComma ScancodeGraveScancodeApostropheScancodeSemicolonScancodeNonUSHashScancodeBackslashScancodeRightBracketScancodeLeftBracketScancodeEquals ScancodeMinus ScancodeSpace ScancodeTabScancodeBackspaceScancodeEscapeScancodeReturn Scancode0 Scancode9 Scancode8 Scancode7 Scancode6 Scancode5 Scancode4 Scancode3 Scancode2 Scancode1 ScancodeZ ScancodeY ScancodeX ScancodeW ScancodeV ScancodeU ScancodeT ScancodeS ScancodeR ScancodeQ ScancodeP ScancodeO ScancodeN ScancodeM ScancodeL ScancodeK ScancodeJ ScancodeI ScancodeH ScancodeG ScancodeF ScancodeE ScancodeD ScancodeC ScancodeB ScancodeAScancodeUnknown$fToNumberScancodeWord32$fFromNumberScancodeWord32$fToNumberKeycodeInt32$fFromNumberKeycodeInt32$fBoundedScancode$fDataScancode $fEqScancode $fOrdScancode$fReadScancode$fGenericScancode$fShowScancode$fBoundedKeycode $fDataKeycode $fEqKeycode $fOrdKeycode $fReadKeycode$fGenericKeycode $fShowKeycodeSDLError throwError clearErrorgetErrorsetError$fExceptionSDLError $fEqSDLError$fShowSDLError getPlatform getPowerInfoVersion versionMajor versionMinor versionPatchSurface surfaceFormatsurfaceWsurfaceH surfacePixelssurfaceUserdatasurfaceClipRectsurfaceRefcountRWops rwopsSize rwopsSeek rwopsRead rwopsWrite rwopsClose rwopsType RendererInforendererInfoNamerendererInfoFlagsrendererInfoNumTextureFormatsrendererInfoTextureFormatsrendererInfoMaxTextureWidthrendererInfoMaxTextureHeightRectrectXrectYrectWrectHpointXpointY PixelFormatpixelFormatFormatpixelFormatPalettepixelFormatBitsPerPixelpixelFormatBytesPerPixelpixelFormatRMaskpixelFormatGMaskpixelFormatBMaskpixelFormatAMaskPalettepaletteNColors paletteColorsMessageBoxDatamessageBoxDataFlagsmessageBoxDataWindowmessageBoxDataTitlemessageBoxDataMessagemessageBoxDataNumButtonsmessageBoxDataButtonsmessageBoxDataColorSchemeMessageBoxColorScheme$messageBoxColorSchemeColorBackgroundmessageBoxColorSchemeColorText&messageBoxColorSchemeColorButtonBorder*messageBoxColorSchemeColorButtonBackground(messageBoxColorSchemeColorButtonSelectedMessageBoxColormessageBoxColorRmessageBoxColorGmessageBoxColorBMessageBoxButtonDatamessageBoxButtonDataFlagsmessageBoxButtonButtonIDmessageBoxButtonTextKeysymkeysymScancode keysymKeycode keysymMod JoystickGUID joystickGUID HapticEffectHapticConstantHapticPeriodicHapticCondition HapticRampHapticLeftRight HapticCustomhapticEffectTypehapticConstantDirectionhapticConstantLengthhapticConstantDelayhapticConstantButtonhapticConstantIntervalhapticConstantLevelhapticConstantAttackLengthhapticConstantAttackLevelhapticConstantFadeLengthhapticConstantFadeLevelhapticPeriodicDirectionhapticPeriodicLengthhapticPeriodicDelayhapticPeriodicButtonhapticPeriodicIntervalhapticPeriodicPeriodhapticPeriodicMagnitudehapticPeriodicOffsethapticPeriodicPhasehapticPeriodicAttackLengthhapticPeriodicAttackLevelhapticPeriodicFadeLengthhapticPeriodicFadeLevelhapticConditionLengthhapticConditionDelayhapticConditionButtonhapticConditionIntervalhapticConditionRightSathapticConditionLeftSathapticConditionRightCoeffhapticConditionLeftCoeffhapticConditionDeadbandhapticConditionCenterhapticRampDirectionhapticRampLengthhapticRampDelayhapticRampButtonhapticRampIntervalhapticRampStart hapticRampEndhapticRampAttackLengthhapticRampAttackLevelhapticRampFadeLengthhapticRampFadeLevelhapticLeftRightLengthhapticLeftRightLargeMagnitudehapticLeftRightSmallMagnitudehapticCustomDirectionhapticCustomLengthhapticCustomDelayhapticCustomButtonhapticCustomIntervalhapticCustomChannelshapticCustomPeriodhapticCustomSampleshapticCustomDatahapticCustomAttackLengthhapticCustomAttackLevelhapticCustomFadeLengthhapticCustomFadeLevelHapticDirectionhapticDirectionTypehapticDirectionXhapticDirectionYhapticDirectionZGameControllerButtonBindGameControllerButtonBindNoneGameControllerButtonBindButtonGameControllerButtonBindAxisGameControllerButtonBindHatgameControllerButtonBindButtongameControllerButtonBindAxisgameControllerButtonBindHatgameControllerButtonBindHatMaskFingerfingerIDfingerXfingerYfingerPressureEvent WindowEvent KeyboardEventTextEditingEventTextInputEventKeymapChangedEventMouseMotionEventMouseButtonEventMouseWheelEvent JoyAxisEvent JoyBallEvent JoyHatEventJoyButtonEventJoyDeviceEventControllerAxisEventControllerButtonEventControllerDeviceEventAudioDeviceEvent QuitEvent UserEvent SysWMEventTouchFingerEventMultiGestureEventDollarGestureEvent DropEventClipboardUpdateEvent UnknownEvent eventTypeeventTimestampwindowEventWindowIDwindowEventEventwindowEventData1windowEventData2keyboardEventWindowIDkeyboardEventStatekeyboardEventRepeatkeyboardEventKeysymtextEditingEventWindowIDtextEditingEventTexttextEditingEventStarttextEditingEventLengthtextInputEventWindowIDtextInputEventTextmouseMotionEventWindowIDmouseMotionEventWhichmouseMotionEventStatemouseMotionEventXmouseMotionEventYmouseMotionEventXRelmouseMotionEventYRelmouseButtonEventWindowIDmouseButtonEventWhichmouseButtonEventButtonmouseButtonEventStatemouseButtonEventClicksmouseButtonEventXmouseButtonEventYmouseWheelEventWindowIDmouseWheelEventWhichmouseWheelEventXmouseWheelEventYmouseWheelEventDirectionjoyAxisEventWhichjoyAxisEventAxisjoyAxisEventValuejoyBallEventWhichjoyBallEventBalljoyBallEventXReljoyBallEventYReljoyHatEventWhichjoyHatEventHatjoyHatEventValuejoyButtonEventWhichjoyButtonEventButtonjoyButtonEventStatejoyDeviceEventWhichcontrollerAxisEventWhichcontrollerAxisEventAxiscontrollerAxisEventValuecontrollerButtonEventWhichcontrollerButtonEventButtoncontrollerButtonEventStatecontrollerDeviceEventWhichaudioDeviceEventWhichaudioDeviceEventIsCaptureuserEventWindowID userEventCodeuserEventData1userEventData2 sysWMEventMsgtouchFingerEventTouchIDtouchFingerEventFingerIDtouchFingerEventXtouchFingerEventYtouchFingerEventDXtouchFingerEventDYtouchFingerEventPressuremultiGestureEventTouchIDmultiGestureEventDThetamultiGestureEventDDistmultiGestureEventXmultiGestureEventYmultiGestureEventNumFingersdollarGestureEventTouchIDdollarGestureEventGestureIDdollarGestureEventNumFingersdollarGestureEventErrordollarGestureEventXdollarGestureEventY dropEventFile DisplayModedisplayModeFormat displayModeW displayModeHdisplayModeRefreshRatedisplayModeDriverDataColorcolorRcolorGcolorBcolorA AudioSpec audioSpecFreqaudioSpecFormataudioSpecChannelsaudioSpecSilenceaudioSpecSamples audioSpecSizeaudioSpecCallbackaudioSpecUserdataAudioCVTaudioCVTNeededaudioCVTSrcFormataudioCVTDstFormataudioCVTRateIncr audioCVTBuf audioCVTLenaudioCVTLenCvtaudioCVTLenMultaudioCVTLenRatioAtomic atomicValueWindow VkSurfaceKHR VkInstanceTouchIDTLSIDTimerIDThreadIDThreadTextureSysWMmsg SysWMinfoSpinLockSemRendererMutex JoystickIDJoystickHaptic GLContext GestureIDGameControllerFingerIDCursorCond AudioDeviceID TimerCallbackThreadFunctionLogOutputFunction HintCallback EventFilter AudioCallbackVkGetInstanceProcAddrFuncmkTimerCallbackmkThreadFunctionmkLogOutputFunctionmkHintCallback mkEventFiltermkAudioCallback$fStorableAtomic$fStorableAudioCVT$fStorableAudioSpec$fStorableColor$fStorableDisplayMode$fStorableFinger"$fStorableGameControllerButtonBind$fStorableHapticDirection$fStorableHapticEffect$fStorableJoystickGUID$fStorableKeysym$fStorableEvent$fStorableMessageBoxButtonData$fStorableMessageBoxColor$fStorableMessageBoxColorScheme$fStorableMessageBoxData$fStorablePalette$fStorablePixelFormat$fStorableRect$fStorableRendererInfo$fStorableRWops$fStorableSurface$fStorableVersion $fEqAtomic $fShowAtomic $fEqAudioCVT$fShowAudioCVT $fEqAudioSpec$fShowAudioSpec $fEqColor $fShowColor$fEqDisplayMode$fShowDisplayMode $fEqFinger $fShowFinger$fEqGameControllerButtonBind$fShowGameControllerButtonBind$fEqHapticDirection$fShowHapticDirection$fEqHapticEffect$fShowHapticEffect$fEqJoystickGUID$fShowJoystickGUID $fEqKeysym $fShowKeysym $fEqEvent $fShowEvent$fEqMessageBoxButtonData$fShowMessageBoxButtonData$fEqMessageBoxColor$fShowMessageBoxColor$fEqMessageBoxColorScheme$fShowMessageBoxColorScheme$fEqMessageBoxData$fShowMessageBoxData $fEqPalette $fShowPalette$fEqPixelFormat$fShowPixelFormat$fEqRect $fShowRect$fEqRendererInfo$fShowRendererInfo $fEqRWops $fShowRWops $fEqSurface $fShowSurface $fEqVersion $fShowVersionaddTimerdelaygetPerformanceCountergetPerformanceFrequencygetTicks removeTimer createThread detachThread getThreadID getThreadNamesetThreadPriority tlsCreatetlsGettlsSetthreadID waitThread condBroadcast condSignalcondWaitcondWaitTimeout createCond createMutexcreateSemaphore destroyCond destroyMutexdestroySemaphore lockMutexsemPost semTryWaitsemValuesemWaitsemWaitTimeout tryLockMutex unlockMutex atomicAdd atomicCAS atomicCASPtr atomicDecRef atomicGet atomicGetPtr atomicIncRef atomicLock atomicSet atomicSetPtr atomicTryLock atomicUnlock hapticClosehapticDestroyEffecthapticEffectSupportedhapticGetEffectStatus hapticIndex hapticNamehapticNewEffect hapticNumAxeshapticNumEffectshapticNumEffectsPlaying hapticOpenhapticOpenFromJoystickhapticOpenFromMouse hapticOpened hapticPause hapticQueryhapticRumbleInithapticRumblePlayhapticRumbleStophapticRumbleSupportedhapticRunEffecthapticSetAutocenter hapticSetGain hapticStopAllhapticStopEffect hapticUnpausehapticUpdateEffectjoystickIsHaptic mouseIsHaptic numHaptics getBasePath getPrefPathallocRWfreeRWrwFromConstMemrwFromFP rwFromFile rwFromMemrwCloserwReadrwSeekrwTellrwWritereadBE16readBE32readBE64readLE16readLE32readLE64 writeBE16 writeBE32 writeBE64 writeLE16 writeLE32 writeLE64 addEventWatch delEventWatch eventState filterEvents flushEvent flushEventsgetEventFiltergetNumTouchDevicesgetNumTouchFingersgetTouchDevicegetTouchFingerhasEvent hasEventsloadDollarTemplates peepEvents pollEvent pumpEvents pushEvent quitRequested recordGestureregisterEventssaveAllDollarTemplatessaveDollarTemplatesetEventFilter waitEventwaitEventTimeoutgetKeyFromNamegetKeyFromScancode getKeyNamegetKeyboardFocusgetKeyboardState getModStategetScancodeFromKeygetScancodeFromNamegetScancodeNamehasScreenKeyboardSupportisScreenKeyboardShownisTextInputActive setModStatesetTextInputRectstartTextInput stopTextInput captureMousecreateColorCursor createCursorcreateSystemCursor freeCursor getCursorgetDefaultCursorgetGlobalMouseState getMouseFocus getMouseStategetRelativeMouseModegetRelativeMouseState setCursorsetRelativeMouseMode showCursorwarpMouseGlobalwarpMouseInWindow joystickClosejoystickCurrentPowerLeveljoystickEventStatejoystickFromInstanceIDjoystickGetAttachedjoystickGetAxisjoystickGetBalljoystickGetButtonjoystickGetDeviceGUIDjoystickGetGUIDjoystickGetGUIDFromStringjoystickGetGUIDStringjoystickGetHatjoystickInstanceID joystickNamejoystickNameForIndexjoystickNumAxesjoystickNumBallsjoystickNumButtonsjoystickNumHats joystickOpenjoystickUpdate numJoysticksgameControllerAddMapping!gameControllerAddMappingsFromFilegameControllerAddMappingsFromRWgameControllerClosegameControllerEventStategameControllerFromInstanceIDgameControllerGetAttachedgameControllerGetAxisgameControllerGetAxisFromStringgameControllerGetBindForAxisgameControllerGetBindForButtongameControllerGetButton!gameControllerGetButtonFromStringgameControllerGetJoystickgameControllerGetStringForAxis gameControllerGetStringForButtongameControllerMappinggameControllerMappingForGUIDgameControllerNamegameControllerNameForIndexgameControllerOpengameControllerUpdateisGameControllerinit initSubSystemquit quitSubSystem setMainReadywasInitfreeaddHintCallback clearHintsdelHintCallbackgetHintsetHintsetHintWithPrioritylog logCriticallogDebuglogErrorlogGetOutputFunctionlogGetPrioritylogInfo logMessagelogResetPrioritieslogSetAllPrioritylogSetOutputFunctionlogSetPriority logVerboselogWarn getRevisiongetRevisionNumber getVersion audioInit audioQuit buildAudioCVTclearQueuedAudio closeAudiocloseAudioDevice convertAudiofreeWAVgetAudioDeviceNamegetAudioDeviceStatusgetAudioDrivergetAudioStatusgetCurrentAudioDrivergetNumAudioDevicesgetNumAudioDriversgetQueuedAudioSizeloadWAV loadWAV_RW lockAudiolockAudioDevicemixAudiomixAudioFormat openAudioopenAudioDevice pauseAudiopauseAudioDevice queueAudio unlockAudiounlockAudioDevice createWindowcreateWindowAndRenderercreateWindowFrom destroyWindowdisableScreenSaverenableScreenSaver glBindTextureglCreateContextglDeleteContextglExtensionSupportedglGetAttributeglGetCurrentContextglGetCurrentWindowglGetDrawableSizeglGetProcAddressglGetSwapInterval glLoadLibrary glMakeCurrentglResetAttributesglSetAttributeglSetSwapInterval glSwapWindowglUnbindTextureglUnloadLibrarygetClosestDisplayModegetCurrentDisplayModegetCurrentVideoDrivergetDesktopDisplayModegetDisplayBounds getDisplayDPIgetDisplayModegetDisplayNamegetGrabbedWindowgetNumDisplayModesgetNumVideoDisplaysgetNumVideoDriversgetVideoDrivergetWindowBrightness getWindowDatagetWindowDisplayIndexgetWindowDisplayModegetWindowFlagsgetWindowFromIDgetWindowGammaRamp getWindowGrab getWindowIDgetWindowMaximumSizegetWindowMinimumSizegetWindowPixelFormatgetWindowPosition getWindowSizegetWindowSurfacegetWindowTitle hideWindowisScreenSaverEnabledmaximizeWindowminimizeWindow raiseWindow restoreWindowsetWindowBorderedsetWindowBrightness setWindowDatasetWindowDisplayModesetWindowFullscreensetWindowGammaRamp setWindowGrab setWindowIconsetWindowMaximumSizesetWindowMinimumSizesetWindowPosition setWindowSizesetWindowTitleshowMessageBoxshowSimpleMessageBox showWindowupdateWindowSurfaceupdateWindowSurfaceRects videoInit videoQuitcreateSoftwareRenderer createTexturecreateTextureFromSurfacedestroyRendererdestroyTexturegetNumRenderDriversgetRenderDrawBlendModegetRenderDrawColorgetRenderDriverInfogetRenderTarget getRenderergetRendererInfogetRendererOutputSizegetTextureAlphaModgetTextureBlendModegetTextureColorMod lockTexture queryTexture renderClear renderCopy renderCopyExrenderDrawLinerenderDrawLinesrenderDrawPointrenderDrawPointsrenderDrawRectrenderDrawRectsrenderFillRectExrenderFillRectrenderFillRectsrenderGetClipRectrenderGetLogicalSizerenderGetScalerenderGetViewportrenderIsClipEnabled renderPresentrenderReadPixelsrenderSetClipRectrenderSetLogicalSizerenderSetScalerenderSetViewportrenderTargetSupportedsetRenderDrawBlendModesetRenderDrawColorsetRenderTargetsetTextureAlphaModsetTextureBlendModesetTextureColorMod unlockTexture updateTextureupdateYUVTexture allocFormat allocPalettecalculateGammaRamp freeFormat freePalettegetPixelFormatNamegetRGBgetRGBAmapRGBmapRGBAmasksToPixelFormatEnumpixelFormatEnumToMaskssetPaletteColorssetPixelFormatPalette enclosePointshasIntersection intersectRectintersectRectAndLine unionRect blitScaled blitSurface convertPixelsconvertSurfaceconvertSurfaceFormatcreateRGBSurfacecreateRGBSurfaceFromfillRect fillRects freeSurface getClipRect getColorKeygetSurfaceAlphaModgetSurfaceBlendModegetSurfaceColorModloadBMP loadBMP_RW lockSurface lowerBlitlowerBlitScaledsaveBMP saveBMP_RW setClipRect setColorKeysetSurfaceAlphaModsetSurfaceBlendModesetSurfaceColorModsetSurfacePalette setSurfaceRLE unlockSurfacegetWindowWMInfogetClipboardTexthasClipboardTextsetClipboardTextvkGetVkGetInstanceProcAddrvkGetInstanceExtensionsvkCreateSurfaceChargechargeSecondsLeft chargePercent BatteryStateDrainingChargedChargingBatteryMainsUnknownPowerState$fBoundedBatteryState$fDataBatteryState$fEnumBatteryState$fEqBatteryState$fGenericBatteryState$fOrdBatteryState$fReadBatteryState$fShowBatteryState $fEqCharge$fGenericCharge $fOrdCharge $fReadCharge $fShowCharge$fEqPowerState$fGenericPowerState$fOrdPowerState$fReadPowerState$fShowPowerState joystickPtr$fDataJoystick $fEqJoystick$fGenericJoystick $fOrdJoystick$fShowJoystick $fDataWindow $fEqWindow$fGenericWindow $fOrdWindow $fShowWindow$fDataRenderer $fEqRenderer$fGenericRenderer $fOrdRenderer$fShowRendererkeysymModifier KeyModifierkeyModifierLeftShiftkeyModifierRightShiftkeyModifierLeftCtrlkeyModifierRightCtrlkeyModifierLeftAltkeyModifierRightAltkeyModifierLeftGUIkeyModifierRightGUIkeyModifierNumLockkeyModifierCapsLockkeyModifierAltGr$fToNumberKeyModifierWord32$fFromNumberKeyModifierWord32$fDataKeyModifier$fEqKeyModifier$fOrdKeyModifier$fReadKeyModifier$fGenericKeyModifier$fShowKeyModifier $fDataKeysym$fGenericKeysym $fOrdKeysym $fReadKeysymthrowIfthrowIf_ throwIfNeg throwIfNeg_ throwIfNullthrowIf0 throwIfNot0 throwIfNot0_fromC AudioDriverAudioDeviceStatusPlayingPausedStopped PlaybackStatePausePlay LockStateLockedUnlocked ChangeableMandateDesireAudioDeviceUsage ForPlayback ForCaptureChannelsMonoStereoQuad FivePointOneSigned8BitAudioUnsigned8BitAudioSigned16BitLEAudioSigned16BitBEAudioSigned16BitNativeAudioUnsigned16BitLEAudioUnsigned16BitBEAudioUnsigned16BitNativeAudioSigned32BitLEAudioSigned32BitBEAudioSigned32BitNativeAudioFloatingLEAudioFloatingBEAudioFloatingNativeAudio AudioDeviceOpenDeviceSpecopenDeviceFreqopenDeviceFormatopenDeviceChannelsopenDeviceSamplesopenDeviceCallbackopenDeviceUsageopenDeviceNamegetAudioDeviceNamessetAudioDeviceLockedsetAudioDevicePlaybackStateaudioDeviceStatusaudioDriverNamegetAudioDriverscurrentAudioDriver$fEqAudioDevice$fBoundedChannels$fDataChannels$fEnumChannels $fEqChannels$fGenericChannels $fOrdChannels$fReadChannels$fShowChannels$fBoundedAudioDeviceUsage$fDataAudioDeviceUsage$fEnumAudioDeviceUsage$fEqAudioDeviceUsage$fGenericAudioDeviceUsage$fOrdAudioDeviceUsage$fReadAudioDeviceUsage$fShowAudioDeviceUsage$fDataChangeable$fFoldableChangeable$fFunctorChangeable$fEqChangeable$fGenericChangeable$fReadChangeable$fShowChangeable$fTraversableChangeable$fBoundedLockState$fDataLockState$fEnumLockState $fEqLockState$fGenericLockState$fOrdLockState$fReadLockState$fShowLockState$fBoundedPlaybackState$fEnumPlaybackState$fEqPlaybackState$fOrdPlaybackState$fReadPlaybackState$fDataPlaybackState$fGenericPlaybackState$fShowPlaybackState$fBoundedAudioDeviceStatus$fEnumAudioDeviceStatus$fEqAudioDeviceStatus$fOrdAudioDeviceStatus$fReadAudioDeviceStatus$fDataAudioDeviceStatus$fGenericAudioDeviceStatus$fShowAudioDeviceStatus$fEqAudioDriver$fShowAudioDriver$fShowAudioFormat$fOrdAudioFormat$fEqAudioFormatControllerDeviceConnectionControllerDeviceAddedControllerDeviceRemovedControllerDeviceRemappedControllerButtonStateControllerButtonPressedControllerButtonReleasedControllerButtonInvalidStateControllerButtonControllerButtonInvalidControllerButtonAControllerButtonBControllerButtonXControllerButtonYControllerButtonBackControllerButtonGuideControllerButtonStartControllerButtonLeftStickControllerButtonRightStickControllerButtonLeftShoulderControllerButtonRightShoulderControllerButtonDpadUpControllerButtonDpadDownControllerButtonDpadLeftControllerButtonDpadRight$fToNumberControllerButtonInt32!$fFromNumberControllerButtonInt32'$fFromNumberControllerButtonStateWord32,$fFromNumberControllerDeviceConnectionWord32$fDataControllerButton$fEqControllerButton$fGenericControllerButton$fOrdControllerButton$fReadControllerButton$fShowControllerButton$fDataControllerButtonState$fEqControllerButtonState$fGenericControllerButtonState$fOrdControllerButtonState$fReadControllerButtonState$fShowControllerButtonState $fDataControllerDeviceConnection$fEqControllerDeviceConnection#$fGenericControllerDeviceConnection$fOrdControllerDeviceConnection $fReadControllerDeviceConnection $fShowControllerDeviceConnection InitTimer InitAudio InitJoystick InitHapticInitGameController InitEvents initializeAllversion$fToNumberInitFlagWord32$fBoundedInitFlag$fDataInitFlag$fEnumInitFlag $fEqInitFlag$fGenericInitFlag $fOrdInitFlag$fReadInitFlag$fShowInitFlagDefaultPriorityNormalPriorityOverridePriorityHintHintAccelerometerAsJoystickHintFramebufferAccelerationHintMacCTRLClickHintMouseRelativeModeWarpHintRenderDriverHintRenderOpenGLShadersHintRenderScaleQualityHintRenderVSyncHintVideoWinD3DCompilerVideoWinD3DCompilerOptionsD3DVistaOrLater D3DXPSupportD3DNoneRenderVSyncOptions DisableVSync EnableVSyncRenderScaleQuality ScaleNearest ScaleLinear ScaleBestRenderOpenGLShaderOptionsDisableShaders EnableShaders RenderDriversDirect3DOpenGLOpenGLES OpenGLES2SoftwareMouseModeWarpOptions MouseRawInput MouseWarpingMacCTRLClickOptions NoRightClickEmulateRightClickFramebufferAccelerationOptions Disable3DEnable3DDefaultEnable3DDirect3DEnable3DOpenGLEnable3DOpenGLESEnable3DOpenGLES2Enable3DSoftwareAccelerometerJoystickOptionsAccelerometerNotJoystickAccelerometerIsJoystick$fHasGetterHintv$fHasSetterHintv%$fBoundedAccelerometerJoystickOptions"$fDataAccelerometerJoystickOptions"$fEnumAccelerometerJoystickOptions $fEqAccelerometerJoystickOptions%$fGenericAccelerometerJoystickOptions!$fOrdAccelerometerJoystickOptions"$fReadAccelerometerJoystickOptions"$fShowAccelerometerJoystickOptions'$fBoundedFramebufferAccelerationOptions$$fDataFramebufferAccelerationOptions$$fEnumFramebufferAccelerationOptions"$fEqFramebufferAccelerationOptions'$fGenericFramebufferAccelerationOptions#$fOrdFramebufferAccelerationOptions$$fReadFramebufferAccelerationOptions$$fShowFramebufferAccelerationOptions$fBoundedMacCTRLClickOptions$fDataMacCTRLClickOptions$fEnumMacCTRLClickOptions$fEqMacCTRLClickOptions$fGenericMacCTRLClickOptions$fOrdMacCTRLClickOptions$fReadMacCTRLClickOptions$fShowMacCTRLClickOptions$fBoundedMouseModeWarpOptions$fDataMouseModeWarpOptions$fEnumMouseModeWarpOptions$fEqMouseModeWarpOptions$fGenericMouseModeWarpOptions$fOrdMouseModeWarpOptions$fReadMouseModeWarpOptions$fShowMouseModeWarpOptions$fBoundedRenderDrivers$fDataRenderDrivers$fEnumRenderDrivers$fEqRenderDrivers$fGenericRenderDrivers$fOrdRenderDrivers$fReadRenderDrivers$fShowRenderDrivers"$fBoundedRenderOpenGLShaderOptions$fDataRenderOpenGLShaderOptions$fEnumRenderOpenGLShaderOptions$fEqRenderOpenGLShaderOptions"$fGenericRenderOpenGLShaderOptions$fOrdRenderOpenGLShaderOptions$fReadRenderOpenGLShaderOptions$fShowRenderOpenGLShaderOptions$fBoundedRenderScaleQuality$fDataRenderScaleQuality$fEnumRenderScaleQuality$fEqRenderScaleQuality$fGenericRenderScaleQuality$fOrdRenderScaleQuality$fReadRenderScaleQuality$fShowRenderScaleQuality$fBoundedRenderVSyncOptions$fDataRenderVSyncOptions$fEnumRenderVSyncOptions$fEqRenderVSyncOptions$fGenericRenderVSyncOptions$fOrdRenderVSyncOptions$fReadRenderVSyncOptions$fShowRenderVSyncOptions#$fBoundedVideoWinD3DCompilerOptions $fDataVideoWinD3DCompilerOptions $fEnumVideoWinD3DCompilerOptions$fEqVideoWinD3DCompilerOptions#$fGenericVideoWinD3DCompilerOptions$fOrdVideoWinD3DCompilerOptions $fReadVideoWinD3DCompilerOptions $fShowVideoWinD3DCompilerOptions$fBoundedHintPriority$fDataHintPriority$fEnumHintPriority$fEqHintPriority$fGenericHintPriority$fOrdHintPriority$fReadHintPriority$fShowHintPriorityTimerRetriggerTimer RescheduleCanceltickstime$fDataRetriggerTimer$fEqRetriggerTimer$fGenericRetriggerTimer$fOrdRetriggerTimer$fReadRetriggerTimer$fShowRetriggerTimerJoyDeviceConnectionJoyDeviceAddedJoyDeviceRemovedJoyHatPosition HatCenteredHatUpHatRightHatDownHatLeft HatRightUp HatRightDown HatLeftUp HatLeftDownJoyButtonStateJoyButtonPressedJoyButtonReleasedJoystickDevicejoystickDeviceNamejoystickDeviceIdavailableJoysticks openJoystick closeJoystick getJoystickID buttonPressed ballDelta axisPositionnumAxes numButtonsnumBallsgetHatnumHats$fFromNumberJoyButtonStateWord8$fFromNumberJoyHatPositionWord8%$fFromNumberJoyDeviceConnectionWord32$fEqJoystickDevice$fGenericJoystickDevice$fReadJoystickDevice$fOrdJoystickDevice$fShowJoystickDevice$fDataJoyButtonState$fEqJoyButtonState$fGenericJoyButtonState$fOrdJoyButtonState$fReadJoyButtonState$fShowJoyButtonState$fDataJoyHatPosition$fEqJoyHatPosition$fGenericJoyHatPosition$fOrdJoyHatPosition$fReadJoyHatPosition$fShowJoyHatPosition$fDataJoyDeviceConnection$fEqJoyDeviceConnection$fGenericJoyDeviceConnection$fOrdJoyDeviceConnection$fReadJoyDeviceConnection$fShowJoyDeviceConnection SwapIntervalImmediateUpdatesSynchronizedUpdatesLateSwapTearingModeNormalDebugProfileCore CompatibilityES OpenGLConfigglColorPrecisionglDepthPrecisionglStencilPrecisionglMultisampleSamples glProfile defaultOpenGL swapInterval$fFromNumberSwapIntervalCInt$fToNumberSwapIntervalCInt $fBoundedMode $fDataMode $fEnumMode$fEqMode $fGenericMode $fOrdMode $fReadMode $fShowMode $fEqProfile$fGenericProfile $fOrdProfile $fReadProfile $fShowProfile$fEqOpenGLConfig$fGenericOpenGLConfig$fOrdOpenGLConfig$fReadOpenGLConfig$fShowOpenGLConfig $fEqGLContext$fBoundedSwapInterval$fDataSwapInterval$fEnumSwapInterval$fEqSwapInterval$fGenericSwapInterval$fOrdSwapInterval$fReadSwapInterval$fShowSwapIntervalRendererConfig rendererTyperendererTargetTexture RendererTypeUnacceleratedRendererAcceleratedRendererAcceleratedVSyncRendererSoftwareRendererUnknown Index1LSB Index1MSB Index4LSB Index4MSBIndex8RGB332RGB444RGB555BGR555ARGB4444RGBA4444ABGR4444BGRA4444ARGB1555RGBA5551ABGR1555BGRA5551RGB565BGR565RGB24BGR24RGB888RGBX8888BGR888BGRX8888ARGB8888RGBA8888ABGR8888BGRA8888 ARGB2101010YV12IYUVYUY2UYVYYVYU Rectangle BlendNoneBlendAlphaBlend BlendAdditiveBlendModSurfacePixelFormat TextureInfotexturePixelFormat textureAccess textureWidth textureHeight TextureAccessTextureAccessStaticTextureAccessStreamingTextureAccessTarget surfaceBlitsurfaceFillRectsurfaceFillRectssurfaceDimensions formatPalette paletteColorrendererDrawBlendModerendererDrawColordrawRect drawRectsclear rendererScalerendererClipRectrendererViewportpresentcopycopyExdrawLine drawLines drawPoint drawPointssurfaceBlitScaledsurfaceColorKeytextureColorModdefaultRenderertextureAlphaModtextureBlendModesurfaceBlendModerendererRenderTargetrendererLogicalSizepixelFormatToMasksmasksToPixelFormat$fToNumberTextureAccessCInt$fFromNumberTextureAccessCInt$fToNumberBlendModeWord32$fFromNumberBlendModeWord32$fStorableRectangle$fToNumberPixelFormatWord32$fFromNumberPixelFormatWord32$fToNumberRendererConfigWord32 $fFromNumberRendererConfigWord32$fBoundedTextureAccess$fDataTextureAccess$fEnumTextureAccess$fEqTextureAccess$fGenericTextureAccess$fOrdTextureAccess$fReadTextureAccess$fShowTextureAccess$fEqSurfacePixelFormat$fBoundedBlendMode$fDataBlendMode$fEnumBlendMode $fEqBlendMode$fGenericBlendMode$fOrdBlendMode$fReadBlendMode$fShowBlendMode $fEqRectangle$fFunctorRectangle$fGenericRectangle$fOrdRectangle$fReadRectangle$fShowRectangle $fEqTexture$fBoundedPixelFormat$fDataPixelFormat$fEnumPixelFormat$fGenericPixelFormat$fOrdPixelFormat$fReadPixelFormat$fEqTextureInfo$fGenericTextureInfo$fOrdTextureInfo$fReadTextureInfo$fShowTextureInfo$fBoundedRendererType$fDataRendererType$fEnumRendererType$fEqRendererType$fGenericRendererType$fOrdRendererType$fReadRendererType$fShowRendererType$fDataRendererConfig$fEqRendererConfig$fGenericRendererConfig$fOrdRendererConfig$fReadRendererConfig$fShowRendererConfig$fGenericRendererInfo$fOrdRendererInfo$fReadRendererInfo MessageKindErrorWarning Information VideoDrivervideoDriverNamedisplayModeSizeDisplay displayNamedisplayBoundsPositiondisplayBoundsSize displayModesWindowPositionCenteredWhereverAbsolute WindowMode FullscreenFullscreenDesktop Maximized MinimizedWindowedWindowGraphicsContextNoGraphicsContext OpenGLContext WindowConfig windowBorderwindowInputGrabbed windowModewindowPositionwindowResizablewindowInitialSize windowVisible defaultWindowwindowBorderedwindowBrightness windowGrab setWindowModegetWindowAbsolutePosition windowTitle windowDatagetWindowConfigscreenSaverEnabledwindowGammaRamp getDisplayswindowMaximumSizewindowMinimumSize$fFromNumberWindowModeWord32$fToNumberWindowModeWord32$fToNumberMessageKindWord32$fEqWindowGraphicsContext$fGenericWindowGraphicsContext$fOrdWindowGraphicsContext$fReadWindowGraphicsContext$fShowWindowGraphicsContext$fBoundedWindowMode$fDataWindowMode$fEnumWindowMode$fEqWindowMode$fGenericWindowMode$fOrdWindowMode$fReadWindowMode$fShowWindowMode$fEqWindowPosition$fGenericWindowPosition$fOrdWindowPosition$fReadWindowPosition$fShowWindowPosition$fEqWindowConfig$fGenericWindowConfig$fOrdWindowConfig$fReadWindowConfig$fShowWindowConfig$fGenericDisplayMode$fOrdDisplayMode$fReadDisplayMode $fEqDisplay$fGenericDisplay $fOrdDisplay $fReadDisplay $fShowDisplay$fDataVideoDriver$fEqVideoDriver$fGenericVideoDriver$fOrdVideoDriver$fReadVideoDriver$fShowVideoDriver$fBoundedMessageKind$fDataMessageKind$fEnumMessageKind$fEqMessageKind$fGenericMessageKind$fOrdMessageKind$fReadMessageKind$fShowMessageKindWarpMouseOrigin WarpInWindowWarpCurrentFocus WarpGlobalMouseScrollDirection ScrollNormal ScrollFlipped MouseDeviceMouseTouch MouseButton ButtonLeft ButtonMiddle ButtonRightButtonX1ButtonX2 ButtonExtra LocationModeAbsoluteLocationRelativeLocationsetMouseLocationModegetMouseLocationModegetModalMouseLocation warpMouse cursorVisiblegetAbsoluteMouseLocationgetRelativeMouseLocationgetMouseButtons activeCursor$fToNumberMouseButtonWord8$fFromNumberMouseButtonWord8$fFromNumberMouseDeviceWord32&$fFromNumberMouseScrollDirectionWord32$fBoundedLocationMode$fDataLocationMode$fEqLocationMode$fEnumLocationMode$fGenericLocationMode$fOrdLocationMode$fReadLocationMode$fShowLocationMode$fEqModalLocation$fGenericModalLocation$fOrdModalLocation$fReadModalLocation$fShowModalLocation$fDataMouseButton$fEqMouseButton$fGenericMouseButton$fOrdMouseButton$fReadMouseButton$fShowMouseButton$fDataMouseDevice$fEqMouseDevice$fGenericMouseDevice$fOrdMouseDevice$fReadMouseDevice$fShowMouseDevice$fBoundedMouseScrollDirection$fDataMouseScrollDirection$fEqMouseScrollDirection$fEnumMouseScrollDirection$fGenericMouseScrollDirection$fOrdMouseScrollDirection$fReadMouseScrollDirection$fShowMouseScrollDirection$fDataWarpMouseOrigin$fEqWarpMouseOrigin$fGenericWarpMouseOrigin$fOrdWarpMouseOrigin$fShowWarpMouseOrigin $fEqCursor EventWatchEventWatchCallbackEventPushResultEventPushSuccessEventPushFilteredEventPushFailureRegisteredEventDataregisteredEventWindowregisteredEventCoderegisteredEventData1registeredEventData2RegisteredEventTypepushRegisteredEventgetRegisteredEvent InputMotionReleasedPressedUnknownEventDataunknownEventType DropEventDataDollarGestureEventDatadollarGestureEventPosMultiGestureEventDatamultiGestureEventPosTouchFingerMotionEventDatatouchFingerMotionEventTouchIDtouchFingerMotionEventFingerIDtouchFingerMotionEventPostouchFingerMotionEventRelMotiontouchFingerMotionEventPressureTouchFingerEventDatatouchFingerEventMotiontouchFingerEventPosSysWMEventData UserEventData userEventTypeuserEventWindowAudioDeviceEventDataaudioDeviceEventIsAdditionControllerDeviceEventDatacontrollerDeviceEventConnectionControllerButtonEventDataControllerAxisEventDataJoyDeviceEventDatajoyDeviceEventConnectionJoyButtonEventDataJoyHatEventDataJoyBallEventDatajoyBallEventRelMotionJoyAxisEventDataMouseWheelEventDatamouseWheelEventWindowmouseWheelEventPosMouseButtonEventDatamouseButtonEventWindowmouseButtonEventMotionmouseButtonEventPosMouseMotionEventDatamouseMotionEventWindowmouseMotionEventPosmouseMotionEventRelMotionTextInputEventDatatextInputEventWindowTextEditingEventDatatextEditingEventWindowKeyboardEventDatakeyboardEventWindowkeyboardEventKeyMotionWindowClosedEventDatawindowClosedEventWindow WindowLostKeyboardFocusEventData"windowLostKeyboardFocusEventWindow"WindowGainedKeyboardFocusEventData$windowGainedKeyboardFocusEventWindowWindowLostMouseFocusEventDatawindowLostMouseFocusEventWindowWindowGainedMouseFocusEventData!windowGainedMouseFocusEventWindowWindowRestoredEventDatawindowRestoredEventWindowWindowMaximizedEventDatawindowMaximizedEventWindowWindowMinimizedEventDatawindowMinimizedEventWindowWindowSizeChangedEventDatawindowSizeChangedEventWindowwindowSizeChangedEventSizeWindowResizedEventDatawindowResizedEventWindowwindowResizedEventSizeWindowMovedEventDatawindowMovedEventWindowwindowMovedEventPositionWindowExposedEventDatawindowExposedEventWindowWindowHiddenEventDatawindowHiddenEventWindowWindowShownEventDatawindowShownEventWindow EventPayloadWindowShownEventWindowHiddenEventWindowExposedEventWindowMovedEventWindowResizedEventWindowSizeChangedEventWindowMinimizedEventWindowMaximizedEventWindowRestoredEventWindowGainedMouseFocusEventWindowLostMouseFocusEventWindowGainedKeyboardFocusEventWindowLostKeyboardFocusEventWindowClosedEventTouchFingerMotionEvent Timestamp eventPayload pollEvents mapEventsemptyRegisteredEvent registerEvent$fEqWindowShownEventData$fOrdWindowShownEventData$fGenericWindowShownEventData$fShowWindowShownEventData$fEqWindowHiddenEventData$fOrdWindowHiddenEventData$fGenericWindowHiddenEventData$fShowWindowHiddenEventData$fEqWindowExposedEventData$fOrdWindowExposedEventData$fGenericWindowExposedEventData$fShowWindowExposedEventData$fEqWindowMovedEventData$fOrdWindowMovedEventData$fGenericWindowMovedEventData$fShowWindowMovedEventData$fEqWindowResizedEventData$fOrdWindowResizedEventData$fGenericWindowResizedEventData$fShowWindowResizedEventData$fEqWindowSizeChangedEventData$fOrdWindowSizeChangedEventData#$fGenericWindowSizeChangedEventData $fShowWindowSizeChangedEventData$fEqWindowMinimizedEventData$fOrdWindowMinimizedEventData!$fGenericWindowMinimizedEventData$fShowWindowMinimizedEventData$fEqWindowMaximizedEventData$fOrdWindowMaximizedEventData!$fGenericWindowMaximizedEventData$fShowWindowMaximizedEventData$fEqWindowRestoredEventData$fOrdWindowRestoredEventData $fGenericWindowRestoredEventData$fShowWindowRestoredEventData#$fEqWindowGainedMouseFocusEventData$$fOrdWindowGainedMouseFocusEventData($fGenericWindowGainedMouseFocusEventData%$fShowWindowGainedMouseFocusEventData!$fEqWindowLostMouseFocusEventData"$fOrdWindowLostMouseFocusEventData&$fGenericWindowLostMouseFocusEventData#$fShowWindowLostMouseFocusEventData&$fEqWindowGainedKeyboardFocusEventData'$fOrdWindowGainedKeyboardFocusEventData+$fGenericWindowGainedKeyboardFocusEventData($fShowWindowGainedKeyboardFocusEventData$$fEqWindowLostKeyboardFocusEventData%$fOrdWindowLostKeyboardFocusEventData)$fGenericWindowLostKeyboardFocusEventData&$fShowWindowLostKeyboardFocusEventData$fEqWindowClosedEventData$fOrdWindowClosedEventData$fGenericWindowClosedEventData$fShowWindowClosedEventData$fEqTextEditingEventData$fOrdTextEditingEventData$fGenericTextEditingEventData$fShowTextEditingEventData$fEqTextInputEventData$fOrdTextInputEventData$fGenericTextInputEventData$fShowTextInputEventData$fEqMouseMotionEventData$fOrdMouseMotionEventData$fGenericMouseMotionEventData$fShowMouseMotionEventData$fEqMouseWheelEventData$fOrdMouseWheelEventData$fGenericMouseWheelEventData$fShowMouseWheelEventData$fEqJoyAxisEventData$fOrdJoyAxisEventData$fGenericJoyAxisEventData$fShowJoyAxisEventData$fEqJoyBallEventData$fOrdJoyBallEventData$fGenericJoyBallEventData$fShowJoyBallEventData$fEqJoyHatEventData$fOrdJoyHatEventData$fGenericJoyHatEventData$fShowJoyHatEventData$fEqJoyButtonEventData$fOrdJoyButtonEventData$fGenericJoyButtonEventData$fShowJoyButtonEventData$fEqJoyDeviceEventData$fOrdJoyDeviceEventData$fGenericJoyDeviceEventData$fShowJoyDeviceEventData$fEqControllerAxisEventData$fOrdControllerAxisEventData $fGenericControllerAxisEventData$fShowControllerAxisEventData$fEqControllerButtonEventData$fOrdControllerButtonEventData"$fGenericControllerButtonEventData$fShowControllerButtonEventData$fEqControllerDeviceEventData$fOrdControllerDeviceEventData"$fGenericControllerDeviceEventData$fShowControllerDeviceEventData$fEqAudioDeviceEventData$fOrdAudioDeviceEventData$fGenericAudioDeviceEventData$fShowAudioDeviceEventData$fEqUserEventData$fOrdUserEventData$fGenericUserEventData$fShowUserEventData$fEqSysWMEventData$fOrdSysWMEventData$fGenericSysWMEventData$fShowSysWMEventData$fEqTouchFingerMotionEventData$fOrdTouchFingerMotionEventData#$fGenericTouchFingerMotionEventData $fShowTouchFingerMotionEventData$fEqMultiGestureEventData$fOrdMultiGestureEventData$fGenericMultiGestureEventData$fShowMultiGestureEventData$fEqDollarGestureEventData$fOrdDollarGestureEventData$fGenericDollarGestureEventData$fShowDollarGestureEventData$fEqDropEventData$fOrdDropEventData$fGenericDropEventData$fShowDropEventData$fEqUnknownEventData$fOrdUnknownEventData$fGenericUnknownEventData$fShowUnknownEventData$fBoundedInputMotion$fEnumInputMotion$fEqInputMotion$fOrdInputMotion$fReadInputMotion$fDataInputMotion$fGenericInputMotion$fShowInputMotion$fEqTouchFingerEventData$fOrdTouchFingerEventData$fGenericTouchFingerEventData$fShowTouchFingerEventData$fEqMouseButtonEventData$fOrdMouseButtonEventData$fGenericMouseButtonEventData$fShowMouseButtonEventData$fEqKeyboardEventData$fOrdKeyboardEventData$fGenericKeyboardEventData$fShowKeyboardEventData$fEqEventPayload$fOrdEventPayload$fGenericEventPayload$fShowEventPayload $fOrdEvent$fGenericEvent$fEqRegisteredEventData$fOrdRegisteredEventData$fGenericRegisteredEventData$fShowRegisteredEventData$fDataEventPushResult$fEqEventPushResult$fGenericEventPushResult$fOrdEventPushResult$fReadEventPushResult$fShowEventPushResult foldFlagsbaseForeign.C.StringCStringGHC.PtrFunPtr Foreign.PtrfreeHaskellFunPtrghc-prim GHC.TypesBoolGHC.WordWord8&vector-0.12.1.2-FUpUeiQkfYKL48Uq1yWMoFData.Vector.Storable.MutableMVector GHC.MaybeNothingGHC.EnumminBoundmaxBound HasGetter HasSettermapHintData.Vector.Unboxed.BaseVectorV_PMV_PrelativeoriginunP#..#_PointlensP distanceAqdAAffineDiff.-..+^.-^Linear.Covector$*Covector runCovectorLinear.Algebra counitalRep comultRep unitalRepmultRepAlgebramultunital CoalgebracomultcounitalLinear.Projection inverseOrthoorthoinverseInfinitePerspectiveinfinitePerspectiveinverseFrustumfrustuminversePerspective perspectivelookAt Linear.Matrixinv44 transposeinv33inv22det44det33det22_m44_m43_m42_m34_m33_m32_m24_m23_m22 translationidentity m33_to_m44 m43_to_m44mkTransformationmkTransformationMatfromQuaternionadjoint!!/!!**!!*!!*!-!!+!!*!columnM22M23M24M32M33M34M42M43M44 Linear.TraceTracetracediagonalLinear.Quaternion axisAnglerotateslerpatanhqacoshqasinhqatanqacosqasinqpowabsiekejeiee Quaternion Complicated_e_i Hamiltonian_j_k_ijk Linear.V0V0normalizePointpointvectorew_wzyx_wzxy_wyzx_wyxz_wxzy_wxyz_zwyx_zwxy_zywx_zyxw_zxwy_zxyw_ywzx_ywxz_yzwx_yzxw_yxwz_yxzw_xwzy_xwyz_xzwy_xzyw_xywz_wzy_wzx_wyz_wyx_wxz_wxy_zwy_zwx_zyw_zxw_ywz_ywx_yzw_yxw_xwz_xwy_xzw_xyw_wz_wy_wx_zw_yw_xwR4_w_xyzwtriplecrossez_zyx_zxy_yzx_yxz_xzy_zy_zx_yz_xzR3_z_xyzcrossZangleperpey_yxR2_y_xy Linear.V1exV1R1_x Linear.Metricproject normalizeMetricdot quadranceqddistancenormsignorm Linear.VectorouterunitscaledbasisForbasis^/^**^sumVnegatedEelAdditivezero^+^^-^lerpliftU2liftI2Linear.EpsilonEpsilonnearZeroLinear.Conjugate Conjugate conjugateTrivialConjugate Linear.Binary getLinear putLinearStateVarData.Vector.StorableTrueFalseWord16