it      !"#$%&'()*+,-./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#&$Safe*tSafe16] Error 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.9A call to a low-level SDL C function failed unexpectedly.9An SDL C function was called with an unexpected argument.FA hint was attempted to be set, but SDL does not know about this hint.8The Haskell routine that was trying to call a C function4The C function that was called and produced an error*SDL's understanding of what has gone wrong*The argument that SDL failed to understandThe hint that could not be set  Safe>?A  (C) 2012-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> experimental non-portable Trustworthy13456<>?FKTVN!A 4-dimensional vector.#A 3-dimensional vector%A 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'JA handy wrapper to help distinguish points from vectors at the type level!"#$%&'('(%&#$!"SafeVe1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      Safe16>?e      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      Safe1 Note: the uo is only valid until the next SDL function call. If you need to preserve the error message, make a copy of it. Safe Safe Safe1*The storage associated with the resulting v has to be released with w when it is no longer required.*The storage associated with the resulting v has to be released with w when it is no longer required.*The storage associated with the resulting v has to be released with w when it is no longer required.*The storage associated with the resulting v has to be released with w when it is no longer required.*The storage associated with the resulting v has to be released with w when it is no longer required.*The storage associated with the resulting v has to be released with w when it is no longer required.h      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     h     cdefghijklmnopqrstuvwxyz{|}~]^_`abTUVWXYZ[\NOPQRS     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM  Safeiabcdefabcdef Safe(ghijklmnopqrstuvwxyz{|}~(ghijklmnopqrstuvwxyz{|}~SafeESafekSafeii      !"#$%&'()*+,-.i      !"#$%&'()*+,-.Safe/0123456789:;<=>?@ABCDEFGHIJKL/0123456789:;<=>?@ABCDEFGHIJKLSafe MNOPQRSTUVWXYZ[\]^_`abcdefghiMNOPQRSTUVWXYZ[\]^_`abcdefghiSafe+jklmnopqrstuvwxyz{|}~                           jklmnopqrstuvwxyz{|}~                           %Safe`      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           Safe16>?eE !0Information about how much charge a battery has. #(How many seconds of battery life is left $!The percentage of battery charged %>Information on battery consumption for battery powered devices &'The battery is currently being drained. 'The battery is fully charged. (5The device is plugged in and the battery is charging. )=Information about the power supply for the user's environment *-The user is on a battery powered device. See  % for charge information, and  ! for charge information +/The user is on a device connected to the mains. ,1SDL could not determine the power for the device. -Current 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. ! " # $ % & ( ' ) * + , - - ) * + , % & ( ' ! " # $Safe16F @2An SDL rendering device. This can be created with !&. @ A B C D E F D E F B C @ ANone16>?` V3Information about a key press or key release event. X The keyboard  Y-SDL's virtual key representation for this key ZEA set of modifiers that were held at the time this data was generated [:Information about which keys are currently held down. Use  h to generate this information. hvGet 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. iRSet the rectangle used to type text inputs and start accepting text input events.See  *https://wiki.libsdl.org/SDL_StartTextInputSDL_StartTextInput for C documentation. j%Stop receiving any text input events.See  )https://wiki.libsdl.org/SDL_StopTextInputSDL_StopTextInput for C documentation. k7Check whether the platform has screen keyboard support.See  4https://wiki.libsdl.org/SDL_HasScreenKeyboardSupportSDL_HasScreenKeyboardSupport for C documentation. l@Check whether the screen keyboard is shown for the given window.See  1https://wiki.libsdl.org/SDL_IsScreenKeyboardShownSDL_IsScreenKeyboardShown for C documentation. muGet 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. n4Get a snapshot of the current state of the keyboard.*This computation generates a mapping from  to x' - evaluating the function at specific Cs will inform you as to whether or not that key was held down when  n was called.See  ,https://wiki.libsdl.org/SDL_GetKeyboardStateSDL_GetKeyboardState for C documentation.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n h [ \ ] ^ _ ` a b c d e f g n i j k l m V W X Y ZSafei } ~  } ~  Safer 3An 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. A 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"#&'+013456FQVei1 ?An abstract description of an audio driver on the host machine. Opened 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. The   is playing. The   is paused. The   is stopped. Whether to allow an   to play sound or remain paused.  Pause the  ,, which will stop producing/capturing audio.  Resume the  . .Whether a device should be locked or unlocked. =Lock the device, preventing the callback from producing data. 2Unlock the device, resuming calls to the callback. hUsed 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 ( ).  P this exact property value, and fail if a matching audio device cannot be found.  A this property value, but allow other audio devices to be opened. How you intend to use an  ,The device will be used for sample playback. +The device will be used for sample capture.  ) is the concrete specification of how an  ! was sucessfully opened. Unlike  , which specifies what you want,   specifies what you have. "DSP frequency (samples per second) Audio data format !Number of separate sound channels $Calculated udio buffer silence valuey)Audio buffer size in samples (power of 2) %Calculated audio buffer size in bytes :The function to call when the audio device needs more data +How many channels audio should be played on A single speaker configuration &A traditional left/right stereo system 1 surround sound IInformation 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 z values. /An open audio device. These can be created via   and should be closed with  A 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  . $The output audio frequency in herts. @The format of audio that will be sampled from the output buffer. The amount of audio channels. AOutput audio buffer size in samples. This should be a power of 2. aA callback to invoke whenever new sample data is required. The callback will be passed a single {% that must be filled with audio data. !How you intend to use the opened  - - either for outputting or capturing audio. The name of the   that should be opened. If |, any suitable   will be used. %Attempt to open the closest matching  , as specified by the given  .See  +https://wiki.libsdl.org/SDL_OpenAudioDeviceSDL_OpenAudioDevice for C documentation. See  ,https://wiki.libsdl.org/SDL_CloseAudioDeviceSDL_CloseAudioDevice for C documentation. Enumerate 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. Lock an  T such that its associated callback will not be called until the device is unlocked.  Change the playback state of an  . Query the state of an  . "Get the human readable name of an  Obtain a list of all possible audio drivers for this system. These drivers can be used to specificially initialize the audio system. ;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. aQuery SDL for the name of the currently initialized audio driver, if possible. This will return |# if no driver has been initialized.@ @ Safe16>?e GIdentified whether the game controller was added, removed, or remapped. ,Identifies the state of a controller button. Identifies a gamepad button.                                    Safe16>?J 5Initializes 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. 6Equivalent to  5 [} .. ~]. 7Quit 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. 8fThe major, minor, and patch versions of the SDL library linked with. Does not require initialization. - . / 0 1 2 3 4 5 6 7 8 5 6 - . / 0 1 2 3 4 7 8Safe &'16;=>?F]% B]How to deal with setting hints when an existing override or environment variable is present. C%Low priority, used for default values DMedium priority E High priority FThe  F: 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  u. PiA hint that specifies which shader compiler to preload when using the Chrome ANGLE binaries. By default d3dcompiler_46.dll will be used. QUse d3dcompiler_46.dll, best for Vista or later RUse d3dcompiler_43.dll for XP support SlDo not load any library, useful if you compiled ANGLE from source and included the compiler in your binaries TA 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. WRA hint that specifies scaling quality. By default nearest pixel sampling is used. XNearest pixel sampling Y3linear filtering (supported by OpenGL and Direct3D) Z-Anisotropic filtering (supported by Direct3D) [zA hint that specifies whether the OpenGL render driver uses shaders. By default shaders are used if OpenGL supports them. \Disable shaders ]%Enable shaders, if they are available ^A 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. dA hint that specifies whether relative mouse mode is implemented using mouse warping. By default SDL will use raw input for relative mouse mode e&Relative mouse mode uses the raw input f&Relative mouse mode uses mouse warping gA 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. hDisable emulating right click iEnable emulating right click jA 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. kDisable 3D acceleration l2Enable 3D acceleration, using the default renderer m%Enable 3D acceleration using Direct3D n#Enable 3D acceleration using OpenGL o%Enable 3D acceleration using OpenGLES p&Enable 3D acceleration using OpenGLES2 q/Enable 3D acceleration using software rendering rA 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. s3List only real joysticks and accept input from them t_List real joysticks along with the accelerometer as if it were a 3 axis joystick (the default) uSet 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.BRetrieve and map the current value associated with the given hint.5 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 v5 F G H I J K L M N O u B C D E v r s t j k l m n o p q g h i d e f ^ ` _ a b c [ \ ] W X Y Z T U V P Q R SSafe16 \ A timer created by  . This   can be removed with  . A   is called with the interval size of the callback. It can return information as to whether or not the timer should continue to exist.  P allows a callback to inform SDL if the timer should be retriggered or cancelled <Retrigger the timer again in a given number of milliseconds. (Cancel future invocations of this timer. 4Number of milliseconds since library initialization.See  $https://wiki.libsdl.org/SDL_GetTicks SDL_GetTicks for C documentation. kThe 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. 9Wait 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. qSet 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.  Remove a  .See  'https://wiki.libsdl.org/SDL_RemoveTimerSDL_RemoveTimer for C documentation. Safe       !"#$%&'()*+,-./0123 456789:; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg None16>?e@  AIdentifies whether a joystick has been connected or disconnected. 2Identifies the state of the POV hat on a joystick. Centered position  Up position Right position  Down position  Left position Right-up position Right-down position Left-up position Left-down position *Identifies the state of a joystick button. 3A description of joystick that can be opened using  2. To retrieve a list of connected joysticks, use  . 5Count the number of joysticks attached to the system.See  (https://wiki.libsdl.org/SDL_NumJoysticksSDL_NumJoysticks for C documentation. DEnumerate all connected joysticks, retrieving a description of each. [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. (Close a joystick previously opened with  .See  )https://wiki.libsdl.org/SDL_JoystickCloseSDL_JoystickClose for C documentation. rGet 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. .Determine if a given button is currently held.See  -https://wiki.libsdl.org/SDL_JoystickGetButtonSDL_JoystickGetButton for C documentation. -Get the ball axis change since the last poll.See  +https://wiki.libsdl.org/SDL_JoystickGetBallSDL_JoystickGetBall for C documentation. 7Get 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. 6Get the number of general axis controls on a joystick.See  +https://wiki.libsdl.org/SDL_JoystickNumAxesSDL_JoystickNumAxes for C documentation. (Get the number of buttons on a joystick.See  .https://wiki.libsdl.org/SDL_JoystickNumButtonsSDL_JoystickNumButtons for C documentation. +Get the number of trackballs on a joystick.See  ,https://wiki.libsdl.org/SDL_JoystickNumBallsSDL_JoystickNumBalls for C documentation. 0Get current position of a POV hat on a joystick.See  *https://wiki.libsdl.org/SDL_JoystickGetHatSDL_JoystickGetHat for C documentation. )Get the number of POV hats on a joystick.See  Chttps://wiki.libsdl.org/https://wiki.libsdl.org/SDL_JoystickNumHatsSDL_JoystickNumHats for C documentation. The device to open. Use   to find JoystickDevicess %The index of the button. You can use  4 to determine how many buttons a given joystick has. ,The index of the joystick ball. You can use  2 to determine how many balls a given joystick has. &The index of the POV hat. You can use  5 to determine how many POV hats a given joystick has." D " D Safe16<>?j 1The swap interval for the current OpenGL context. #No vertical retrace synchronization 9The buffer swap is synchronized with the vertical retrace A created OpenGL context. =The mode a driver should use when creating an OpenGL context. 2A normal profile with no special debugging support >Use a debug context, allowing the usage of extensions such as GL_ARB_debug_output @The profile a driver should use when creating an OpenGL context. AUse the OpenGL core profile, with a given major and minor version Use the compatibilty profile with a given major and minor version. The compatibility profile allows you to use deprecated functions such as immediate mode *Use an OpenGL profile for embedded systems =Configuration used when creating an OpenGL rendering context. " Defaults to  8 8 8 0. # Defaults to 24. $ Defaults to 8. % Defaults to 1. & Defaults to     2 1. 'A set of default options for   ' =   {  " = V4 8 8 8 0 ,  # = 24 ,  $ = 8 ,  % = 1 ,  & =     2 1 } (MCreate 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. )=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. * 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. +Replace 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. ,<Get or set the swap interval for the current OpenGL context.This h 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. -YGet 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.x             ! " # $ % & ' ( ) * + , - ' ! " # $ % &  (        ) * - +     ,x None 136<>?elvT K"Information about an instantiated  @. MThe name of the renderer NSupported renderer features O'The number of available texture formats PThe available texture formats QThe maximum texture width RThe maximum texture height S2The configuration data used when creating windows. U The renderer's acceleration mode V*The renderer supports rendering to texture WRenderer acceleration mode X/The renderer does not use hardware acceleration YCThe renderer uses hardware acceleration and refresh rate is ignored ZYThe renderer uses hardware acceleration and present is synchronized with the refresh rate [#The renderer is a software fallback Blend modes used in   and drawing operations.  No blending Alpha blending. OdstRGB = (srcRGB * srcA) + (dstRGB * (1-srcA)) dstA = srcA + (dstA * (1-srcA)) Additive blending .dstRGB = (srcRGB * srcA) + dstRGB dstA = dstA Color modulate(@ dstRGB = srcRGB * dstRGB dstA = dstA aRaw format of the texture; the actual format may differ, but pixel transfers will use this format #The access available to the texture The width of the texture The height of the texture 8Information to the GPU about how you will use a texture.  Changes rarely, cannot be locked !changes frequently, can be locked Can be used as a render target 5Perform a fast surface copy to a destination surface.See  'https://wiki.libsdl.org/SDL_BlitSurfaceSDL_BlitSurface for C documentation. )Create a texture for a rendering context.See  )https://wiki.libsdl.org/SDL_CreateTextureSDL_CreateTexture for C documentation. *Create a texture from an existing surface.See  4https://wiki.libsdl.org/SDL_CreateTextureFromSurfaceSDL_CreateTextureFromSurface for C documentation. lBind 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. 9Unbind an OpenGL/ES/ES2 texture from the current context.See  ,https://wiki.libsdl.org/SDL_GL_UnbindTextureSDL_GL_UnbindTexture for C documentation. .Updates texture rectangle with new pixel data.See  )https://wiki.libsdl.org/SDL_UpdateTextureSDL_UpdateTexture for C documentation. Destroy the specified texture.See  *https://wiki.libsdl.org/SDL_DestroyTextureSDL_DestroyTexture for the C documentation. <Lock a portion of the texture for *write-only* pixel access.See  'https://wiki.libsdl.org/SDL_LockTextureSDL_LockTexture for C documentation. CUnlock 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. 3Set up a surface for directly accessing the pixels.See  'https://wiki.libsdl.org/SDL_LockSurfaceSDL_LockSurface for C documentation. 6Release a surface after directly accessing the pixels.See  )https://wiki.libsdl.org/SDL_UnlockSurfaceSDL_UnlockSurface for C documentation. "Query the attributes of a texture.See  (https://wiki.libsdl.org/SDL_QueryTextureSDL_QueryTexture for C documentation. Allocate a new RGB surface.See  ,https://wiki.libsdl.org/SDL_CreateRGBSurfaceSDL_CreateRGBSurface for C documentation. 4Allocate a new RGB surface with existing pixel data.See  0https://wiki.libsdl.org/SDL_CreateRGBSurfaceFromSDL_CreateRGBSurfaceFrom for C documentation. 9Perform 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. APerform 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. Free 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. Load a surface from a BMP file.See  #https://wiki.libsdl.org/SDL_LoadBMP SDL_LoadBMP for C documentation. "Retrive the width and height of a  . ]Obtain the pointer to the underlying pixels in a surface. You should bracket this call with   and  , respectively. )Inspect the pixel format under a surface. #Set a range of colors in a palette.See  ,https://wiki.libsdl.org/SDL_SetPaletteColorsSDL_SetPaletteColors for C documentation. /Get the SDL surface associated with the window.See  ,https://wiki.libsdl.org/SDL_GetWindowSurfaceSDL_GetWindowSurface for C documentation. FGet or set the blend mode used for drawing operations (fill and line).This h 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. HGet or set the color used for drawing operations (rect, line and clear).This h 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. &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. 9Draw a rectangle outline on the current rendering target.See  *https://wiki.libsdl.org/SDL_RenderDrawRectSDL_RenderDrawRect for C documentation. ?Draw some number of rectangles on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawRectsSDL_RenderDrawRects for C documentation. HFill a rectangle on the current rendering target with the drawing color.See  *https://wiki.libsdl.org/SDL_RenderFillRectSDL_RenderFillRect for C documentation. VFill some number of rectangles on the current rendering target with the drawing color.See  +https://wiki.libsdl.org/SDL_RenderFillRectsSDL_RenderFillRects for C documentation. :Clear the current rendering target with the drawing color.See  'https://wiki.libsdl.org/SDL_RenderClearSDL_RenderClear for C documentation. AGet 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. DGet or set the clip rectangle for rendering on the specified target.This h 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. @Get or set the drawing area for rendering on the current target.This h 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. GUpdate 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. >Copy a portion of the texture to the current rendering target.See  &https://wiki.libsdl.org/SDL_RenderCopySDL_RenderCopy for C documentation. Copy 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. ,Draw a line on the current rendering target.See  *https://wiki.libsdl.org/SDL_RenderDrawLineSDL_RenderDrawLine for C documentation. ADraw a series of connected lines on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawLinesSDL_RenderDrawLines for C documentation. -Draw a point on the current rendering target.See  +https://wiki.libsdl.org/SDL_RenderDrawPointSDL_RenderDrawPoint for C documentation. 5Draw multiple points on the current rendering target.See  ,https://wiki.libsdl.org/SDL_RenderDrawPointsSDL_RenderDrawPoints for C documentation. pCopy 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. 7Perform a scaled surface copy to a destination surface.See  &https://wiki.libsdl.org/SDL_BlitScaledSDL_BlitScaled for C documentation. AGet or set the color key (transparent pixel color) for a surface.This h 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. MGet or set the additional color value multiplied into render copy operations.This h 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. Default options for  S.   =  S {  U =  Y ,  V = False } *Get information about a rendering context.See  +https://wiki.libsdl.org/SDL_GetRendererInfoSDL_GetRendererInfo for C documentation. YEnumerate all known render drivers on the system, and determine their supported features.See  /https://wiki.libsdl.org/SDL_GetRenderDriverInfoSDL_GetRenderDriverInfo for C documentation. MGet or set the additional alpha value multiplied into render copy operations.This h 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. ;Get or set the blend mode used for texture copy operations.This h 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. 3Get or set the blend mode used for blit operations.This h 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. &Get or set the current render target. |* corresponds to the default render target.This h 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. ;Get or set the device independent resolution for rendering.This h 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. >Determine whether a window supports the use of render targets.See  1https://wiki.libsdl.org/SDL_RenderTargetSupportedSDL_RenderTargetSupported for C documentation. LConvert the given the enumerated pixel format to a bpp value and RGBA masks.See  2https://wiki.libsdl.org/SDL_PixelFormatEnumToMasksSDL_PixelFormatEnumToMasks for C documentation. AConvert a bpp value and RGBA masks to an enumerated pixel format.See  2https://wiki.libsdl.org/SDL_MasksToPixelFormatEnumSDL_MasksToPixelFormatEnum for C documentation. The   to be copied fromThe rectangle to be copied, or | to copy the entire surfaceThe   that is the blit targetThe position to blit to The rendering context.The size of the texture. The rendering context:The surface containing pixel data used to fill the texture 8The texture to bind to the current OpenGL/ES/ES2 context <The texture to unbind from the current OpenGL/ES/ES2 context The   to be updated.The area to update, Nothing for entire textureThe raw pixel dataKThe number of bytes in a row of pixel data, including padding between lines The  7 to lock for access, which must have been created with  The area to lock for access; | to lock the entire textureA 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). The size of the surface=The bit depth, red, green, blue and alpha mask for the pixels The existing pixel dataThe size of the surface2The pitch - the length of a row of pixels in bytes=The bit depth, red, green, blue and alpha mask for the pixels The   that is the drawing target.The rectangle to fill, or | to fill the entire surface. 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. The   that is the drawing target.A i of  s to be filled. 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. The   to modifyA i$ of colours to copy into the palette.The index of the first palette entry to modify The rectangle outline to draw. |" for the entire rendering context. The rectangle to fill. |" for the entire rendering context. The rendering contextThe source texture!The source rectangle to copy, or | for the whole texture)The destination rectangle to copy to, or |[ for the whole rendering target. The texture will be stretched to fill the given rectangle. The rendering contextThe source texture!The source rectangle to copy, or | for the whole texture)The destination rectangle to copy to, or |[ for the whole rendering target. The texture will be stretched to fill the given rectangle.KThe angle of rotation in degrees. The rotation will be performed clockwise.4The point indicating the center of the rotation, or |9 to rotate around the center of the destination rectangle2Whether to flip the texture on the X and/or Y axis The start point of the lineThe end point of the line A iD of points along the line. SDL will draw lines between these points. The   to convert6The pixel format that the new surface is optimized for The   to be copied fromThe rectangle to be copied, or | to copy the entire surfaceThe   that is the blit target&The rectangle that is copied into, or | to copy into the entire surface @ 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 { | } ~  ҉ @ 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 { | } ~  K L M N O P Q R !None16>?e* $Display's refresh rate in hertz, or 0 if unspecified. $^Position of the desktop area represented by the display, with the primary display located at (0, 0). %4Size of the desktop area represented by the display. )CLet the window mananger decide where it's best to place the window. ,(Real fullscreen with a video mode change -2Fake fullscreen that takes the size of the desktop 3 Defaults to j. 4 Defaults to k+. Can not be changed after window creation. 5 Defaults to k4. Whether the mouse shall be confined to the window. 6 Defaults to  0. 7 Defaults to |+. Can not be changed after window creation. 8 Defaults to  ). 9 Defaults to ku. Whether the window can be resized by the user. It is still possible to programatically change the size by changing  E. : Defaults to  (800, 600) . If you set  4Q flag, window size in screen coordinates may differ from the size in pixels. Use  - to get size in pixels. ; Defaults to j. <7Create a window with the given title and configuration.Throws  SDLException on failure. =aDefault configuration for windows. Use the record update syntax to override any of the defaults.  = =  1 {  3 = True ,  4 = False ,  5 = False ,  6 =  0 ,  7 = Nothing ,  8 =  ) ,  9 = False ,  : = V2 800 600 ,  ; = True } >Destroy the given window. The  B% handler may not be used afterwards. ?.Get or set if the window should have a border.This h can be modified using & and the current value retrieved with . @^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 h can be modified using & and the current value retrieved with . A=Get or set whether the mouse shall be confined to the window.This h can be modified using & and the current value retrieved with . BChange between window modes.Throws  SDLException on failure. CSet the position of the window. DGet the position of the window. EdGet or set the size of a window's client area. Values beyond the maximum supported size are clamped.If window was created with  49 flag, this size may differ from the size in pixels. Use  - to get size in pixels.This h 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. FaGet or set the title of the window. If the window has no title, then an empty string is returned.This h 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. GYGet or set the pointer to arbitrary user data associated with the given window and name.This h can be modified using & and the current value retrieved with . H/Retrieve the configuration of the given window. Note that |a will be returned instead of potential OpenGL parameters used during the creation of the window. I7Get the pixel format that is used for the given window. J Get the text from the clipboard.Throws  SDLException on failure. K8Checks if the clipboard exists, and has some text in it. L:Replace the contents of the clipboard with the given text.Throws  SDLException on failure. MHide a window.See  &https://wiki.libsdl.org/SDL_HideWindowSDL_HideWindow for C documentation. N=Raise the window above other windows and set the input focus.See  'https://wiki.libsdl.org/SDL_RaiseWindowSDL_RaiseWindow for C documentation. OGGet or set whether to allow the screen to be blanked by a screen saver.8Screen savers are re-enabled, if needed, when SDL quits. PShow a window.See  &https://wiki.libsdl.org/SDL_ShowWindowSDL_ShowWindow for C documentation. QEGets or sets the gamma ramp for the display that owns a given window.,Note that the data for the gamma ramp - the   (i l) - 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 h 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. RThrows  SDLException on failure. SaShow 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. T6Get or set the maximum size of a window's client area.This h 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. U6Get or set the minimum size of a window's client area.This h 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. W=Create a 2D software rendering context for the given surface.See  2https://wiki.libsdl.org/SDL_CreateSoftwareRendererx @ B             ! " # $ % & ' ( ) * + , - 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 4 7 8 : 3 5 6 9 ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W Xj B < = 1 2 4 7 8 : 3 5 6 9 ; + 0 , - . / ' ( ) * > M N P U T E ? @ Q A B D C F G H I \ ] ^ _ ` 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 { | } ~  V W X J K L R ! " # $ % &        O S    "None16>?e &Move the mouse pointer within a given  B. (Move the mouse pointer within whichever  B currently has focus. .Move the mouse pointer in global screen space. "Identifies mouse scroll direction. 2Identifies what kind of mouse-like device this is. 3An actual mouse. The number identifies which mouse. Some sort of touch device. An unknown mouse button. %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. 4Check which mouse location mode is currently active. 4Return proper mouse location depending on mouse mode 2Move the current location of a mouse pointer. The  5 specifies the origin for the given warp coordinates. 3Get or set whether the cursor is currently visible.This h 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. URetrieve the current location of the mouse, relative to the currently focused window. Retrieve mouse motion <Retrieve a mapping of which buttons are currently held down. ;Get or set the currently active cursor. You can create new  s with  .This h 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. ICreate a cursor using the specified bitmap data and mask (in MSB format). Free a cursor created with   and createColorCusor.See  &https://wiki.libsdl.org/SDL_FreeCursorSDL_FreeCursor for C documentation. Create a color cursor.See  -https://wiki.libsdl.org/SDL_CreateColorCursorSDL_CreateColorCursor for C documentation. .Whether this part of the cursor is black. Use k for white and j for black.'Whether or not pixels are visible. Use j for visible and k for transparent.#The width and height of the cursor.gThe X- and Y-axis location of the upper left corner of the cursor relative to the actual mouse position #The location of the cursor hot spot! ! +None?      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ D V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n #None16>?^er An  J can process and respond to an event when it is added to the event queue. ?Possible results of an attempted push of an event to the queue. MA record used to convert between SDL Events and user-defined data structures. Used for  , below. The associated  B. User defined event code. User defined data pointer. User defined data pointer. AA user defined event structure that has been registered with SDL.Use  , below, to obtain an instance. #SDL reported an unknown event type. The unknown event code. 2An event used to request a file open by the system The file name. "Complex gesture event information. The touch device index. =The unique id of the closest gesture to the performed stroke. .The number of fingers used to draw the stroke. yThe difference between the gesture template and the actual performed gesture (lower errors correspond to closer matches). %The normalized center of the gesture. )Multiple finger gesture event information The touch device index. 7The amount that the fingers rotated during this motion. 7The amount that the fingers pinched during this motion. %The normalized center of the gesture. +The number of fingers used in this gesture.  Finger motion event information. The touch device index. The finger index. <The location of the touch event, normalized between 0 and 1. 0The distance moved, normalized between -1 and 1. AThe quantity of the pressure applied, normalized between 0 and 1. Finger touch event information. The touch device index. The finger index. +Whether the finger was pressed or released. <The location of the touch event, normalized between 0 and 1. AThe quantity of the pressure applied, normalized between 0 and 1. %A video driver dependent system event *Event data for application-defined events. User defined event type. The associated  B. User defined event code. User defined data pointer. User defined data pointer. 1If the audio device is an addition, or a removal. ,The audio device ID that reported the event. (If the audio device is a capture device. #Controller device event information +Was the device added, removed, or remapped? 1The joystick instance ID that reported the event. (Game controller button event information 1The joystick instance ID that reported the event. The controller button. The state of the button. .Game controller axis motion event information. !1The joystick instance ID that reported the event. "The index of the axis. #0The axis value ranging between -32768 and 32767. $"Joystick device event information. & Was the device added or removed? '8The instance id of the joystick that reported the event. ("Joystick button event information. *8The instance id of the joystick that reported the event. +%The index of the button that changed. ,The state of the button. -.Joystick hat position change event information /8The instance id of the joystick that reported the event. 0"The index of the hat that changed. 1The new position of the hat. 2,Joystick trackball motion event information. 48The instance id of the joystick that reported the event. 5(The index of the trackball that changed. 6%The relative motion of the trackball. 7&Joystick axis motion event information 98The instance id of the joystick that reported the event. :#The index of the axis that changed. ;CThe current position of the axis, ranging between -32768 and 32767. <Mouse wheel event information. >The  B with mouse focus, if any. ?The   whose wheel was scrolled. @The amount scrolled. AThe scroll direction mode. B9A mouse or pointer device button was pressed or released. DThe  B with mouse focus, if any. E+Whether the button was pressed or released. FThe  & whose button was pressed or released. G(The button that was pressed or released. HFThe amount of clicks. 1 for a single-click, 2 for a double-click, etc. I#The coordinates of the mouse click. J$A mouse or pointer device was moved. LThe  B with mouse focus, if any. MThe   that was moved. NA collection of  s that are currently held down. OThe new position of the mouse. P'The relative mouse motion of the mouse. Q&Keyboard text input event information. SThe  B with keyboard focus, if any. TThe input text. U(Keyboard text editing event information. WThe  B with keyboard focus, if any. XThe editing text. Y#The location to begin editing from. Z6The number of characters to edit from the start point. [,A keyboard key has been pressed or released. ]The  B with keyboard focus, if any. ^(Whether the key was pressed or released. _jE if this is a repeating key press from the user holding the key down. `5A description of the key that this event pertains to. a6The window manager requests that the window be closed. cThe associated  B. d#The window has lost keyboard focus. fThe associated  B. g%The window has gained keyboard focus. iThe associated  B. j The window has lost mouse focus. lThe associated  B. m"The window has gained mouse focus. oThe associated  B. p9The window has been restored to normal size and position. rThe associated  B. sThe window has been maximized. uThe associated  B. vThe window has been minimized. xThe associated  B. yThe 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. {The associated  B. |The new size of the  B. }=Window has been resized. This is event is always preceded by  . The associated  B. The new size of the  B. A  B has been moved. The associated  B. The new position of the  B. A part of a window has been exposed - where exposure means to become visible (for example, an overlapping window no longer overlaps with the window). The associated  B. A window has been hidden. The associated  B. A window has been shown. The associated  B. xAn enumeration of all possible SDL event types. This data type pairs up event types with their payload, where possible. *A single SDL event. This event occured at   and carries data under  . The time the event occured. Data pertaining to this event. iPoll for currently pending events. You can only call this function in the thread that set the video mode. 8Clear the event queue by polling for all pending events. 7Run 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. /Wait indefinitely for the next available event. ?Wait until the specified timeout for the next available amount. +A registered event with no associated data.:This is a resonable baseline to modify for converting to  . #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. =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 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.  Trigger an  0 when an event is added to the SDL event queue.See  )https://wiki.libsdl.org/SDL_AddEventWatch for C documentation.  Remove an  .See  )https://wiki.libsdl.org/SDL_DelEventWatch for C documentation.m'Checks raw Windows for null references. 4The maximum amount of time to wait, in milliseconds.                           ! " # $ % ' & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = ? A > @ B C F G H D E I J K M N L O P Q R T S U V X Y Z W [ \ _ ` ] ^ 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 { | } ~  } ~  y z { | v w x s t u p q r m n o j k l g h i d e f a b c   [ \ _ ` ] ^ U V X Y Z W Q R T S J K M N L O P B C F G H D E I < = ? A > @ 7 8 9 : ; 2 3 4 5 6 - . / 0 1 ( ) * + , $ % ' &  ! " #                        Nonez      !"#$%&'()*+,-./0123 456789:; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x ! " # $ % & ( ' ) * + , - @ B D V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n - . / 0 1 2 3 4 5 6 7 8 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             ! " # $ % & ' ( ) * + , - 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 4 7 8 : 3 5 6 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                           ! " # $ % ' & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = ? A > @ B C F G H D E I J K M N L O P Q R T S U V X Y Z W [ \ _ ` ] ^ 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,-.,-/,-0,-1,-234534637837839:39:3;<3;<(=>?@ABCDEFGHIJKLMNO88::<<65PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                       6 6                                                       ! " # $ % & ' ( ) * + , - . / 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 a b c d e f g h i j k l m n o 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 V W X Y Z [ \ ] ^ _ ` a b c d e f g h i jP k l mQ n o p q r s t u v w x y z { | } ~                                      m[      V                                                                                                              :          ! " # $ % & ' ( ) * + , - . / 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 SD@ 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 { | } ~                                             kjo                                                                                    z{                                                   !  "   #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  =  >  ?  @  A  B  C  D  E  F     G  G   H  I  J  K   L  M  M N O P Q  R  S  T  U V   y       $  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 { | } ~  \ ^ _ b c! ! ! ! ! ! ! !!!! !! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !*! ! ! ! ! ! ! !s! !v! ! ! ! !! !)! ! ! !! &! '! (!!! !! ! !! ! !&!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !D! ! ! !E! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! "" " " " " " " " " " " " " " " " " " " " " " " !" "" #" $" %" &" '"""" (" )" *" +" ," -" ." /" 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# Y# Z# [# \# ]# ^# ^# _# `# a# b# c# d# d# e# f# f## g# g##### h# i# i#### j## k# k# l# m# n# o# p# q# q### r# s## t# t## u# u# v# w#### x# x# y### z# z# {## |# |#### }# }#### ~# ~# ## # #### # #### # ### # # #### # # ## ## # # # #### # # # ### # # # # ## # # #### # # # ### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #v#w#x#y#z#{#|#}#~############ ###### #t#t## ## # ### # #### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # !# "# ## $# %# &# '# (# )# *# +# ,# -# .# /# 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#R# l# m#S# n# o# p# q# r# s# t# u# v# w$ x y z { y | } y ~    y   y  y y ,- ,-   34  34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 3 3  3  3 3 3 3 3 3  3 3 3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3  3  3  3  3  3  3  3  3  3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3  3  3  3 3 3  3 3 3 33373737373737 37 37 37 37 37373737373737373737373737373737373737 37!37"37#37$37%37&37'37(37)37*37+37,37-37.37/37037137237337437537637737837939:39;39<39=39>39?39@39A39B39C39D39E39F39G39H3;I3;J3;K3;L3;M3;N3;O3;P3QR3QS3QS3QT3QU3VW3VX3VY3VZ3V[3V\3V]3V^3V_3`a3`b3`c3`d3`e3`f3`g3`h3`i3`j3`k3`k3`l3`m3`n3`o3`p3`q3`r3`s3tu3tv3wx3wy3wz3{|3{},-~    y #!sdl2-2.4.0-IBNilo4guCW9C5oIIX0Km7SDLSDL.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.Event Data.BitmaskSDL.RawcreateRendererSDLEx SDLException windowSize windowHighDPI SDL.Input&StateVar-1.1.0.4-xL7vwtJxUf6c6iNDmhlOR Data.StateVar$=!$=$~!$~get$linear-1.20.7-9PuTptDMRQh1kKOrB9LGqj 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_CONSTANTSDL_WINDOWPOS_CENTEREDSDL_WINDOWPOS_UNDEFINEDSDL_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 atomicValueWindowTouchIDTLSIDTimerIDThreadIDThreadTextureSysWMmsg SysWMinfoSpinLockSemRendererMutex JoystickIDJoystickHaptic GLContext GestureIDGameControllerFingerIDCursorCond AudioDeviceID TimerCallbackThreadFunctionLogOutputFunction HintCallback EventFilter AudioCallbackmkTimerCallbackmkThreadFunctionmkLogOutputFunctionmkHintCallback 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 renderCopyExrenderDrawLinerenderDrawLinesrenderDrawPointrenderDrawPointsrenderDrawRectrenderDrawRectsrenderFillRectrenderFillRectsrenderGetClipRectrenderGetLogicalSizerenderGetScalerenderGetViewportrenderIsClipEnabled 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 unlockSurfacegetWindowWMInfogetClipboardTexthasClipboardTextsetClipboardTextChargechargeSecondsLeft 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!$fFromNumberControllerButtonInt32'$fFromNumberControllerButtonStateWord32,$fFromNumberControllerDeviceConnectionWord32$fDataControllerButton$fEqControllerButton$fGenericControllerButton$fOrdControllerButton$fReadControllerButton$fShowControllerButton$fDataControllerButtonState$fEqControllerButtonState$fGenericControllerButtonState$fOrdControllerButtonState$fReadControllerButtonState$fShowControllerButtonState $fDataControllerDeviceConnection$fEqControllerDeviceConnection#$fGenericControllerDeviceConnection$fOrdControllerDeviceConnection $fReadControllerDeviceConnection $fShowControllerDeviceConnection InitTimer InitAudio InitVideo InitJoystick InitHapticInitGameController InitEvents initialize 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 MinimizedWindowed WindowConfig windowBorderwindowInputGrabbed windowMode windowOpenGLwindowPositionwindowResizablewindowInitialSize windowVisible defaultWindowwindowBorderedwindowBrightness windowGrab setWindowModegetWindowAbsolutePosition windowTitle windowDatagetWindowConfigscreenSaverEnabledwindowGammaRamp getDisplayswindowMaximumSizewindowMinimumSize$fFromNumberWindowModeWord32$fToNumberWindowModeWord32$fToNumberMessageKindWord32$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.0.1-6ncj5JH3ojBFY3eo47qvlKData.Vector.Storable.MutableMVectorGHC.BaseNothingGHC.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