!"#$%&'()*+,-./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{|}~      !"#$%&'()*+,-./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" {" |" }" ~" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "%#Safe   Safe    Safe0 Note: the  o is only valid until the next SDL function call. If you need to preserve the error message, make a copy of it.    SafeTb2 !"#$% &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG1 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG1(GFEDCBA@?>=<;:'987&6543210%/.-$,+*)('&%#$#"! "     ! ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)2 !"#$% &'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGSafe HHH HSafe0*The storage associated with the resulting   has to be released with   when it is no longer required.*The storage associated with the resulting   has to be released with   when it is no longer required.*The storage associated with the resulting   has to be released with   when it is no longer required.*The storage associated with the resulting   has to be released with   when it is no longer required.*The storage associated with the resulting   has to be released with   when it is no longer required.*The storage associated with the resulting   has to be released with   when it is no longer required.IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~h(IJKLMNOPSQRTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}{~(uvwxyz{|}~opqrsthijklmn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg{|}~qrstuvwxyzmnopghijkl_`abcdefWXYZ[\]^NOPQRSTUVIJKLMSIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq rstuvwxyz{|}~H      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu vwxyz{|}~ Safe2                     2            Safe !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyi !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyi !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy Safe<vwxyz{|}~z{|}~z{|}~z{|}~<vwxyz{|}~z{|}~ SafeN((N Safe   Safel      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|l      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|Safe5uvwxyz{|}~}~}~}~5uvwxyz{|}~}~Safe99$Safe`  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPSQRTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}{~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(C) 2012-2015 Edward Kmett BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> experimental non-portable Trustworthy02345:<=DIRTA 4-dimensional vector.A 3-dimensional vectorA 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)3JA handy wrapper to help distinguish points from vectors at the type levelK?Safe052An SDL rendering device. This can be created with  %.Safe<=?./01./0101././01None      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi jklmnopq rstuvwxyz{|}~ Safe05<=b 20Information about how much charge a battery has.4(How many seconds of battery life is left5!The percentage of battery charged6>Information on battery consumption for battery powered devices7'The battery is currently being drained.8The battery is fully charged.95The 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 6 for charge information, and 2 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. 23456789:;<=> 23456798:;<=> >:;<=6789234523456789:;<=>Safe05<=bQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3TUV 3 2 1 0 / . - , + * ) ( ' & % $ # " !                           ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCQRSBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7None05<= F3Information about a key press or key release event. H The keyboard T I-SDL's virtual key representation for this key JEA set of modifiers that were held at the time this data was generated K:Information about which keys are currently held down. Use  X to generate this information. XvGet 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. YRSet the rectangle used to type text inputs and start accepting text input events.See  *https://wiki.libsdl.org/SDL_StartTextInputSDL_StartTextInput for C documentation. Z%Stop receiving any text input events.See  )https://wiki.libsdl.org/SDL_StopTextInputSDL_StopTextInput for C documentation. [7Check whether the platform has screen keyboard support.See  4https://wiki.libsdl.org/SDL_HasScreenKeyboardSupportSDL_HasScreenKeyboardSupport for C documentation. \@Check whether the screen keyboard is shown for the given window.See  1https://wiki.libsdl.org/SDL_IsScreenKeyboardShownSDL_IsScreenKeyboardShown for C documentation. ]uGet 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. ^4Get a snapshot of the current state of the keyboard.*This computation generates a mapping from T to ' - evaluating the function at specific TCs will inform you as to whether or not that key was held down when  ^ was called.See  ,https://wiki.libsdl.org/SDL_GetKeyboardStateSDL_GetKeyboardState for C documentation. F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ `QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ X K L M N O P Q R S T U V W ^ Y Z [ \ ]TUVQRS F G H I J F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ `Safe05 mError 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. n9A call to a low-level SDL C function failed unexpectedly. o9An SDL C function was called with an unexpected argument. pFA hint was attempted to be set, but SDL does not know about this hint. q8The Haskell routine that was trying to call a C function r4The C function that was called and produced an error s*SDL's understanding of what has gone wrong t*The argument that SDL failed to understand uThe hint that could not be set m n o p q r s t u v m n o p q r s t u m n o p q r s q r t u t m n o p q r s q r t u t vSafe %&059;<=D[% }]How to deal with setting hints when an existing override or environment variable is present. ~%Low priority, used for default values Medium priority  High priority The  : 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  . iA hint that specifies which shader compiler to preload when using the Chrome ANGLE binaries. By default d3dcompiler_46.dll will be used. Use d3dcompiler_46.dll, best for Vista or later Use d3dcompiler_43.dll for XP support lDo not load any library, useful if you compiled ANGLE from source and included the compiler in your binaries A 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. RA hint that specifies scaling quality. By default nearest pixel sampling is used. Nearest pixel sampling 3linear filtering (supported by OpenGL and Direct3D) -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. A hint that specifies whether relative mouse mode is implemented using mouse warping. By default SDL will use raw input for relative mouse mode &Relative mouse mode uses the raw input &Relative mouse mode uses mouse warping A 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. Disable emulating right click Enable emulating right click A 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. Disable 3D acceleration 2Enable 3D acceleration, using the default renderer %Enable 3D acceleration using Direct3D #Enable 3D acceleration using OpenGL %Enable 3D acceleration using OpenGLES &Enable 3D acceleration using OpenGLES2 /Enable 3D acceleration using software rendering A 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. 3List only real joysticks and accept input from them _List real joysticks along with the accelerometer as if it were a 3 axis joystick (the default) Set 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 } ~  5 } ~   } ~            Safe                     Safe 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.        Safe05<= Initializes 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. Equivalent to   [ .. ]. Quit 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. fThe major, minor, and patch versions of the SDL library linked with. Does not require initialization.                                                  None05<=b %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 /3A description of joystick that can be opened using  52. To retrieve a list of connected joysticks, use  4. 35Count the number of joysticks attached to the system.See  (https://wiki.libsdl.org/SDL_NumJoysticksSDL_NumJoysticks for C documentation. 4DEnumerate all connected joysticks, retrieving a description of each. 5[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. 6(Close a joystick previously opened with  5.See  )https://wiki.libsdl.org/SDL_JoystickCloseSDL_JoystickClose for C documentation. 7rGet 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. 8.Determine if a given button is currently held.See  -https://wiki.libsdl.org/SDL_JoystickGetButtonSDL_JoystickGetButton for C documentation. 9-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. % & ' ( ) * + , - . / 0 1 2 3 4 5The device to open. Use  4 to find JoystickDevicess 6 7 8%The index of the button. You can use  <4 to determine how many buttons a given joystick has. 9,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. ? @ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 3 4 / 0 1 2 5 6 7 8 9 : ; < = % & ' ( ) * + , - . > ? % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @Safe05 LA timer created by  T. This  L can be removed with  U. MA  M is called with the interval size of the callback. It can return information as to whether or not the timer should continue to exist. N NP allows a callback to inform SDL if the timer should be retriggered or cancelled O<Retrigger the timer again in a given number of milliseconds. P(Cancel future invocations of this timer. Q4Number of milliseconds since library initialization.See  $https://wiki.libsdl.org/SDL_GetTicks SDL_GetTicks for C documentation. RkThe 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. S9Wait 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. TqSet 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. U Remove a  L.See  'https://wiki.libsdl.org/SDL_RemoveTimerSDL_RemoveTimer for C documentation. L M N O P Q R S T U L M N O P Q R S T U Q R S M L N O P T U L M N O P Q R S T UNone05:<= \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. a=The mode a driver should use when creating an OpenGL context. b2A normal profile with no special debugging support c>Use a debug context, allowing the usage of extensions such as GL_ARB_debug_output d@The profile a driver should use when creating an OpenGL context. eAUse the OpenGL core profile, with a given major and minor version fUse the compatibilty profile with a given major and minor version. The compatibility profile allows you to use deprecated functions such as immediate mode g*Use an OpenGL profile for embedded systems h=Configuration used when creating an OpenGL rendering context. j Defaults to  8 8 8 0. k Defaults to 24. l Defaults to 8. m Defaults to 1. n Defaults to  f  b 2 1. oA set of default options for  h  o =  h {  j = V4 8 8 8 0 ,  k = 24 ,  l = 8 ,  m = 1 ,  n =  f  b 2 1 } pMCreate 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. q=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. r 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. sReplace 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. t<Get or set the swap interval for the current OpenGL context.This  can be modified using & and the current value retrieved with .See  .https://wiki.libsdl.org/SDL_GL_SetSwapIntervalSDL_GL_SetSwapInterval and  .https://wiki.libsdl.org/SDL_GL_GetSwapIntervalSDL_GL_GetSwapInterval for C documentation. uYGet the size of a window's underlying drawable area in pixels (for use with glViewport). \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w \ ] ^ _ ` a c b d f e g h i j k l m n o p q r s t u o h i j k l m n ` p d e f g a b c q r u s \ ] ^ _ t \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v wNone 025:<=bT "Information about an instantiated . The name of the renderer Supported renderer features 'The number of available texture formats The available texture formats The maximum texture width The maximum texture height 2The configuration data used when creating windows.  The renderer's acceleration mode *The renderer supports rendering to texture Renderer acceleration mode /The renderer does not use hardware acceleration CThe renderer uses hardware acceleration and refresh rate is ignored YThe 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  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  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  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  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_RenderCopySDL_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  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  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  .   =   {   =   ,   = 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  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  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  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  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  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  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 $ 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.dAn angle in degrees that indicates the point around which the destination rectangle will be rotated.The point of rotation#Whether to flip in the X or Y axis.#Whether to flip in the X or Y axis. The start point of the lineThe end point of the line A D 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                                                        Q    $                                     None05<=b&Move the mouse pointer within a given .(Move the mouse pointer within whichever 0 currently has focus. WarpGlobal -- Needs 2.0.4 \"Identifies mouse scroll direction. _2Identifies what kind of mouse-like device this is. `3An actual mouse. The number identifies which mouse. aSome sort of touch device. hAn unknown mouse button. l%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. m4Check which mouse location mode is currently active. n4Return proper mouse location depending on mouse mode o2Move the current location of a mouse pointer. The  [5 specifies the origin for the given warp coordinates. p3Get or set whether the cursor is currently visible.This  can be modified using & and the current value retrieved with .See  &https://wiki.libsdl.org/SDL_ShowCursorSDL_ShowCursor and  &https://wiki.libsdl.org/SDL_HideCursorSDL_HideCursor for C documentation. qURetrieve the current location of the mouse, relative to the currently focused window. rRetrieve mouse motion s<Retrieve a mapping of which buttons are currently held down. t;Get or set the currently active cursor. You can create new  Zs with  u.This  can be modified using & and the current value retrieved with .See  %https://wiki.libsdl.org/SDL_SetCursor SDL_SetCursor and  %https://wiki.libsdl.org/SDL_GetCursor SDL_GetCursor for C documentation. uICreate a cursor using the specified bitmap data and mask (in MSB format). vFree a cursor created with  u and createColorCusor.See  &https://wiki.libsdl.org/SDL_FreeCursorSDL_FreeCursor for C documentation. wCreate a color cursor.See  -https://wiki.libsdl.org/SDL_CreateColorCursorSDL_CreateColorCursor for C documentation.$ Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u.Whether this part of the cursor is black. Use  for white and  for black.'Whether or not pixels are visible. Use  for visible and  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 v w#The location of the cursor hot spot 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 i j k l m b c d e f g h _ ` a \ ] ^ n q r s [ o p Z t u v w 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(None6QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 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 : ; < = > ? Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w None05<=b) $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  Defaults to .  Defaults to +. Can not be changed after window creation.  Defaults to 4. Whether the mouse shall be confined to the window.  Defaults to  .  Defaults to +. Can not be changed after window creation.  Defaults to  .  Defaults to n. Whether the window can be resized by the user. It is still possible to programatically change the size with  setWindowSize.  Defaults to  (800, 600). 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.   =   {   = True ,   = False ,   = False ,   =   ,   = Nothing ,   =   ,   = False ,   = V2 800 600 } Destroy the given window. The % handler may not be used afterwards. .Get or set if the window should have a border.This  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  can be modified using & and the current value retrieved with . =Get or set whether the mouse shall be confined to the window.This  can be modified using & and the current value retrieved with . Change between window modes.Throws  SDLException on failure. Set the position of the window. Get the position of the window. dGet or set the size of a window's client area. Values beyond the maximum supported size are clamped.This  can be modified using & and the current value retrieved with .See  )https://wiki.libsdl.org/SDL_SetWindowSizeSDL_SetWindowSize and  )https://wiki.libsdl.org/SDL_GetWindowSizeSDL_GetWindowSize for C documentation. aGet or set the title of the window. If the window has no title, then an empty string is returned.This  can be modified using & and the current value retrieved with .See  *https://wiki.libsdl.org/SDL_SetWindowTitleSDL_SetWindowTitle and  *https://wiki.libsdl.org/SDL_GetWindowTitleSDL_GetWindowTitle for C documentation. YGet or set the pointer to arbitrary user data associated with the given window and name.This  can be modified using & and the current value retrieved with . /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. 7Get the pixel format that is used for the given window.  Get the text from the clipboard.Throws  SDLException on failure. 8Checks if the clipboard exists, and has some text in it. :Replace the contents of the clipboard with the given text.Throws  SDLException on failure. Hide a window.See  &https://wiki.libsdl.org/SDL_HideWindowSDL_HideWindow for C documentation. =Raise the window above other windows and set the input focus.See  'https://wiki.libsdl.org/SDL_RaiseWindowSDL_RaiseWindow for C documentation. GGet or set whether to allow the screen to be blanked by a screen saver.8Screen savers are re-enabled, if needed, when SDL quits. Show a window.See  &https://wiki.libsdl.org/SDL_ShowWindowSDL_ShowWindow for C documentation. EGets or sets the gamma ramp for the display that owns a given window.,Note that the data for the gamma ramp - the   ( ) - must contain 256 element arrays. This triple is a set of translation vectors for each of the 16-bit red, green and blue channels.This  can be modified using & and the current value retrieved with .Despite the name and signature, this method retrieves the gamma ramp of the entire display, not an individual window. A window is considered to be owned by the display that contains the window's center pixel. Throws  SDLException on failure. aShow 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. 6Get or set the maximum size of a window's client area.This  can be modified using & and the current value retrieved with .See  0https://wiki.libsdl.org/SDL_SetWindowMaximumSizeSDL_SetWindowMaximumSize and  0https://wiki.libsdl.org/SDL_GetWindowMaximumSizeSDL_GetWindowMaximumSize for C documentation. 6Get or set the minimum size of a window's client area.This  can be modified using & and the current value retrieved with .See  0https://wiki.libsdl.org/SDL_SetWindowMinimumSizeSDL_SetWindowMinimumSize and  0https://wiki.libsdl.org/SDL_GetWindowMinimumSizeSDL_GetWindowMinimumSize for C documentation. =Create a 2D software rendering context for the given surface.See  2https://wiki.libsdl.org/SDL_CreateSoftwareRendererF  \ ] ^ _ ` a c b d f e g h i j k l m n o p q r s t u                   i '       !None05<=\b #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 touch 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. !%A video driver dependent system event $*Event data for application-defined events. &The associated . '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 11The joystick instance ID that reported the event. 2(Game controller button event information 41The joystick instance ID that reported the event. 5The controller button. 6The state of the button. 7.Game controller axis motion event information. 91The joystick instance ID that reported the event. :The index of the axis. ;0The axis value ranging between -32768 and 32767. <"Joystick device event information. >8The instance id of the joystick that reported the event. ?"Joystick button event information. A8The instance id of the joystick that reported the event. B%The index of the button that changed. CThe state of the button. D.Joystick hat position change event information F8The instance id of the joystick that reported the event. G"The index of the hat that changed. HThe new position of the hat. I,Joystick trackball motion event information. K8The instance id of the joystick that reported the event. L(The index of the trackball that changed. M%The relative motion of the trackball. N&Joystick axis motion event information P8The instance id of the joystick that reported the event. Q#The index of the axis that changed. RCThe current position of the axis, ranging between -32768 and 32767. SMouse wheel event information. UThe associated . VThe  _ whose wheel was scrolled. WThe amount scrolled. XThe scroll direction mode. Y9A mouse or pointer device button was pressed or released. [The associated . \+Whether the button was pressed or released. ]The  _& whose button was pressed or released. ^(The button that was pressed or released. _FThe amount of clicks. 1 for a single-click, 2 for a double-click, etc. `#The coordinates of the mouse click. a$A mouse or pointer device was moved. cThe associated . dThe  _ that was moved. eA collection of  bs that are currently held down. fThe new position of the mouse. g'The relative mouse motion of the mouse. h&Keyboard text input event information. jThe associated . kThe input text. l(Keyboard text editing event information. nThe associated . oThe editing text. p#The location to begin editing from. q6The number of characters to edit from the start point. r,A keyboard key has been pressed or released. tThe associated . u(Whether the key was pressed or released. vE if this is a repeating key press from the user holding the key down. w5A description of the key that this event pertains to. x6The window manager requests that the window be closed. zThe associated . {#The window has lost keyboard focus. }The associated . ~%The window has gained keyboard focus. The associated .  The window has lost mouse focus. The associated . "The window has gained mouse focus. The associated . 9The window has been restored to normal size and position. The associated . The window has been maximized. The associated . The window has been minimized. The associated . The 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 . =Window has been resized. This is event is always preceded by  . The associated . The new size of the . A  has been moved. The associated . The new position of the . 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 . A window has been hidden. The associated . A window has been shown. The associated . 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. =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.                         ! " # $ % & ' ( ) * + , - . / 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 { | } ~   4The maximum amount of time to wait, in milliseconds. b c d e f g h                         ! " # $ % ' ( ) & * + - . , / 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 V X U W Y Z ] ^ _ [ \ ` a b d e c f g h i k j l m o p q n r s v w t u x y z { | } ~  ~  { | } x y z ! " # r s t u v w l m n o p q h i j k a b c d e f g Y Z [ \ ] ^ _ ` S T U V W X N O P Q R I J K L M D E F G H ? @ A B C < = > 7 8 9 : ; 2 3 4 5 6 / 0 1 * + , - . $ % & ' ( )                         b c d e f g h0                           ! " # $ % & ' ( ) * + , - . / 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 { | } ~             '   "None!"%&*/02345DOTb1 v?An abstract description of an audio driver on the host machine. wOpened devices are always  x or  yE in normal circumstances. A failing device may change its status to  z5 at any time, and closing a device will progress to  z too. xThe   is playing. yThe   is paused. zThe   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 value)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  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  v 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  v. 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.M v w x y z { | } ~       @ v w x y z { } | ~  F ~  { | } w x y z v  v w x y z { | } ~            None      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi jklmnopq rstuvwxyz{|}~23456798:;<=>QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ m n o p q r s t u } ~                % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? L M N O P Q R S T U \ ] ^ _ ` a c b d f e g h i j k l m n o p q r s t u                   Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w                         ! " # $ % ' ( ) & * + - . , / 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 V X U W Y Z ] ^ _ [ \ ` a b d e c f g h i k j l m o p q n r s v w t u x y z { | } ~  v w x y z { } | ~  )*+)*,)*-)*.)*/012013045045067067089089:;;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuuvwxyyz{|}~33      !"#$%&'()*+,-./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 { | } ~                   55779932      !"#$%&'()*+,-./01234566789:;<G=>?t@ABCDEFGHIJKLMNOPQJJREESTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D D E F G H I J K L M N OFOPJKIE P Q R S T U V W X Y Z [' \ ] ^ _ ` a b c d e f g h i jM k l m n o p q r s t u v w x y z { | } ~                                                                                                                >         L                                 x          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G 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 l m n o p q r s t u v w x y z { | } ~                         yy  R                ,-[/;Z<uv  y }z i  '  wx           s    63     S                                                                                         SUR     ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7  8  9  :  ;  <  < =    >   ?  ? @ A B C  D  E  F  G  H  I  J  K  L  M  N  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  { | }  ~  ! ! ! ! ! ! ! ! !! ! !|!}!~!! ! ! !v!w!x! !{! ! !o!p! ! !u! ! !n! ! ! !k!l!m! ! ! !h!i! ! !g! ! !d!e!f! ! !a!b!c! ! !`! ! !]!^!_! ! !Z![!\! ! !V!W! ! ! !S!T!U! ! ! !O! !R! ! ! ! !H!I!K! ! ! ! !A!B! ! ! ! ! !?! ! ! !;!<!=! ! ! ! !8!9! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!!!1! !6! ! !?!@!7! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !! "! #! $! %! &! '! (! )! *! +! ,! -! .! /! 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! {! |! }! ~! ! ! ! ! ! ! ! ! ! ! !! ! !" " " " " " " " " " " " " " " " " """""""" " " " " "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 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 { | } ~    010101010101010101010101010000000000000000000000000000000000000000000000000 0 0 0 0 000000000000000000 !0 "0 #0 $0 %0 &0 '0 (0 )0 *0 +0 ,0 -0 .0 /0 00 00 10 20 30 40 50 60 708908:08;04<04=04>04?04@04A04B04C04D04E04F04G04H04I04J04K04L04M04N04O04P04Q04R04S04T04U04V04W04X04Y04Z04[04\04]04^04_04`04a04b04c04d04e04f04g04h04i04j04k04l04m04n04o04p04q06r06s06t06u06v06w06x06y06z06{06|06}06~0606080808080808080800000000000000000000000000000000000000)*)*   0)*   !!!" " """" """""""!sdl2-2.2.0-5VQZDI9iWv0Hz6tewdjJSZSDLSDL.VectSDL.Raw.Platform SDL.Raw.Error SDL.Raw.Enum SDL.Raw.Power SDL.Raw.TypesSDL.Raw.Filesystem SDL.Raw.EventSDL.Raw.HapticSDL.Raw.Thread SDL.Raw.Timer SDL.Raw.Video SDL.Raw.Basic SDL.Raw.AudioSDL.Internal.VectSDL.Internal.TypesSDL.Internal.Numbered SDL.PowerSDL.Input.Keyboard.CodesSDL.Input.Keyboard SDL.ExceptionSDL.HintSDL.Internal.ExceptionSDL.FilesystemSDL.InitSDL.Input.JoystickSDL.TimeSDL.Video.OpenGLSDL.Video.RendererSDL.Input.Mouse SDL.Video SDL.Event SDL.Audio Data.BitmaskSDL.RawcreateRendererSDLEx SDLException SDL.Input'StateVar-1.1.0.4-CJpWsiXJdd89SnV9dZtTwc Data.StateVar$=!$=$~!$~get$linear-1.20.5-Kb2TA86he4D5Arl8FezSRf Linear.AffinePPoint Linear.V4V4 Linear.V3V3 Linear.V2V2 getPlatformSDLError throwError clearErrorgetErrorsetError$fExceptionSDLError $fEqSDLError$fShowSDLErrorThreadPriority 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 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$fStorableVersion$fStorableSurface$fStorableRWops$fStorableRendererInfo$fStorableRect$fStorablePoint$fStorablePixelFormat$fStorablePalette$fStorableMessageBoxData$fStorableMessageBoxColorScheme$fStorableMessageBoxColor$fStorableMessageBoxButtonData$fStorableKeysym$fStorableJoystickGUID$fStorableHapticEffect$fStorableHapticDirection"$fStorableGameControllerButtonBind$fStorableFinger$fStorableEvent$fStorableDisplayMode$fStorableColor$fStorableAudioSpec$fStorableAudioCVT$fStorableAtomic $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 $fEqPoint $fShowPoint$fEqRect $fShowRect$fEqRendererInfo$fShowRendererInfo $fEqRWops $fShowRWops $fEqSurface $fShowSurface $fEqVersion $fShowVersion 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 gameControllerGetStringForButtongameControllerMappinggameControllerMappingForGUIDgameControllerNamegameControllerNameForIndexgameControllerOpengameControllerUpdateisGameController hapticClosehapticDestroyEffecthapticEffectSupportedhapticGetEffectStatus hapticIndex hapticNamehapticNewEffect hapticNumAxeshapticNumEffectshapticNumEffectsPlaying hapticOpenhapticOpenFromJoystickhapticOpenFromMouse hapticOpened hapticPause hapticQueryhapticRumbleInithapticRumblePlayhapticRumbleStophapticRumbleSupportedhapticRunEffecthapticSetAutocenter hapticSetGain hapticStopAllhapticStopEffect hapticUnpausehapticUpdateEffectjoystickIsHaptic mouseIsHaptic numHaptics 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 atomicUnlockaddTimerdelaygetPerformanceCountergetPerformanceFrequencygetTicks removeTimer 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 unlockSurfacegetWindowWMInfogetClipboardTexthasClipboardTextsetClipboardTextinit initSubSystemquit quitSubSystem setMainReadywasInitfreeaddHintCallback clearHintsdelHintCallbackgetHintsetHintsetHintWithPrioritylog logCriticallogDebuglogErrorlogGetOutputFunctionlogGetPrioritylogInfo logMessagelogResetPrioritieslogSetAllPrioritylogSetOutputFunctionlogSetPriority logVerboselogWarn getRevisiongetRevisionNumber getVersion audioInit audioQuit buildAudioCVTclearQueuedAudio closeAudiocloseAudioDevice convertAudiofreeWAVgetAudioDeviceNamegetAudioDeviceStatusgetAudioDrivergetAudioStatusgetCurrentAudioDrivergetNumAudioDevicesgetNumAudioDriversgetQueuedAudioSizeloadWAV loadWAV_RW lockAudiolockAudioDevicemixAudiomixAudioFormat openAudioopenAudioDevice pauseAudiopauseAudioDevice queueAudio unlockAudiounlockAudioDevice $fBoundedV4 $fMonadFixV4 $fMonadZipV4$fVectorVectorV4$fMVectorMVectorV4 $fUnboxV4$fIxV4 $fStorableV4 $fFloatingV4$fFractionalV4$fNumV4 $fMonadV4$fApplicativeV4$fTraversableV4 $fFoldableV4 $fFunctorV4 $fBoundedV3 $fMonadFixV3 $fMonadZipV3$fVectorVectorV3$fMVectorMVectorV3 $fUnboxV3$fIxV3 $fStorableV3 $fFloatingV3$fFractionalV3$fNumV3 $fMonadV3$fApplicativeV3$fTraversableV3 $fFoldableV3 $fFunctorV3 $fBoundedV2 $fMonadFixV2 $fMonadZipV2$fVectorVectorV2$fMVectorMVectorV2 $fUnboxV2$fIxV2 $fStorableV2 $fFloatingV2$fFractionalV2$fNumV2 $fMonadV2$fApplicativeV2$fTraversableV2 $fFoldableV2 $fFunctorV2$fVectorVectorPoint$fMVectorMVectorPoint $fUnboxPoint $fOrdPoint $fReadPoint $fMonadPoint$fFunctorPoint$fApplicativePoint$fFoldablePoint$fTraversablePoint$fFractionalPoint $fNumPoint $fIxPoint$fGenericPoint$fGeneric1Point $fDataPoint$fEqV2$fOrdV2$fShowV2$fReadV2$fDataV2 $fGenericV2 $fGeneric1V2$fEqV3$fOrdV3$fShowV3$fReadV3$fDataV3 $fGenericV3 $fGeneric1V3$fEqV4$fOrdV4$fShowV4$fReadV4$fDataV4 $fGenericV4 $fGeneric1V4 joystickPtr$fDataJoystick $fEqJoystick$fGenericJoystick $fOrdJoystick$fShowJoystick $fDataWindow $fEqWindow$fGenericWindow $fOrdWindow $fShowWindow$fDataRenderer $fEqRenderer$fGenericRenderer $fOrdRenderer$fShowRendererToNumbertoNumber FromNumber fromNumberChargechargeSecondsLeft chargePercent BatteryStateDrainingChargedChargingBatteryMainsUnknownPowerState$fBoundedBatteryState$fDataBatteryState$fEnumBatteryState$fEqBatteryState$fGenericBatteryState$fOrdBatteryState$fReadBatteryState$fShowBatteryState $fEqCharge$fGenericCharge $fOrdCharge $fReadCharge $fShowCharge$fEqPowerState$fGenericPowerState$fOrdPowerState$fReadPowerState$fShowPowerState 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$fToNumberKeycodeInt32$fFromNumberKeycodeInt32$fToNumberScancodeWord32$fFromNumberScancodeWord32$fBoundedScancode$fDataScancode $fEqScancode $fOrdScancode$fReadScancode$fGenericScancode$fShowScancode$fBoundedKeycode $fDataKeycode $fEqKeycode $fOrdKeycode $fReadKeycode$fGenericKeycode $fShowKeycodekeysymModifier KeyModifierkeyModifierLeftShiftkeyModifierRightShiftkeyModifierLeftCtrlkeyModifierRightCtrlkeyModifierLeftAltkeyModifierRightAltkeyModifierLeftGUIkeyModifierRightGUIkeyModifierNumLockkeyModifierCapsLockkeyModifierAltGr$fToNumberKeyModifierWord32$fFromNumberKeyModifierWord32$fDataKeyModifier$fEqKeyModifier$fOrdKeyModifier$fReadKeyModifier$fGenericKeyModifier$fShowKeyModifier $fDataKeysym$fGenericKeysym $fOrdKeysym $fReadKeysym SDLCallFailedSDLUnexpectedArgumentSDLUnknownHintValuesdlExceptionCaller sdlFunctionsdlExceptionErrorsdlUnknownValuesdlHint$fExceptionSDLException$fDataSDLException$fEqSDLException$fGenericSDLException$fOrdSDLException$fReadSDLException$fShowSDLExceptionDefaultPriorityNormalPriorityOverridePriorityHintHintAccelerometerAsJoystickHintFramebufferAccelerationHintMacCTRLClickHintMouseRelativeModeWarpHintRenderDriverHintRenderOpenGLShadersHintRenderScaleQualityHintRenderVSyncHintVideoWinD3DCompilerVideoWinD3DCompilerOptionsD3DVistaOrLater 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$fShowHintPrioritythrowIfthrowIf_ throwIfNeg throwIfNeg_ throwIfNullthrowIf0 throwIfNot0 throwIfNot0_fromC InitTimer InitAudio InitVideo InitJoystick InitHapticInitGameController InitEvents initialize initializeAllversion$fToNumberInitFlagWord32$fBoundedInitFlag$fDataInitFlag$fEnumInitFlag $fEqInitFlag$fGenericInitFlag $fOrdInitFlag$fReadInitFlag$fShowInitFlagJoyHatPosition HatCenteredHatUpHatRightHatDownHatLeft HatRightUp HatRightDown HatLeftUp HatLeftDownJoystickDevicejoystickDeviceNamejoystickDeviceIdavailableJoysticks openJoystick closeJoystick getJoystickID buttonPressed ballDelta axisPositionnumAxes numButtonsnumBallsgetHatnumHats$fFromNumberJoyHatPositionWord8$fEqJoystickDevice$fGenericJoystickDevice$fReadJoystickDevice$fOrdJoystickDevice$fShowJoystickDevice$fDataJoyHatPosition$fEqJoyHatPosition$fGenericJoyHatPosition$fOrdJoyHatPosition$fReadJoyHatPosition$fShowJoyHatPositionTimerRetriggerTimer RescheduleCanceltickstime$fDataRetriggerTimer$fEqRetriggerTimer$fGenericRetriggerTimer$fOrdRetriggerTimer$fReadRetriggerTimer$fShowRetriggerTimer 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 formatPaletterendererDrawBlendModerendererDrawColordrawRect drawRectsclear rendererScalerendererClipRectrendererViewportpresentcopycopyExdrawLine drawLines drawPoint drawPointssurfaceBlitScaledsurfaceColorKeytextureColorModdefaultRenderertextureAlphaModtextureBlendModesurfaceBlendModerendererRenderTargetrendererLogicalSizepixelFormatToMasksmasksToPixelFormat$fToNumberRendererConfigWord32 $fFromNumberRendererConfigWord32$fToNumberPixelFormatWord32$fFromNumberPixelFormatWord32$fStorableRectangle$fToNumberBlendModeWord32$fFromNumberBlendModeWord32$fToNumberTextureAccessCInt$fFromNumberTextureAccessCInt$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$fReadRendererInfoWarpMouseOriginMouseScrollDirection ScrollNormal ScrollFlipped MouseDeviceMouseTouch MouseButton ButtonLeft ButtonMiddle ButtonRightButtonX1ButtonX2 ButtonExtra LocationModeAbsoluteLocationRelativeLocationsetMouseLocationModegetMouseLocationModegetModalMouseLocation warpMouse cursorVisiblegetAbsoluteMouseLocationgetRelativeMouseLocationgetMouseButtons activeCursor&$fFromNumberMouseScrollDirectionWord32$fFromNumberMouseDeviceWord32$fEqLocationMode$fDataMouseButton$fEqMouseButton$fGenericMouseButton$fOrdMouseButton$fReadMouseButton$fShowMouseButton$fDataMouseDevice$fEqMouseDevice$fGenericMouseDevice$fOrdMouseDevice$fReadMouseDevice$fShowMouseDevice$fDataMouseScrollDirection$fEqMouseScrollDirection$fGenericMouseScrollDirection$fOrdMouseScrollDirection$fReadMouseScrollDirection$fShowMouseScrollDirection$fDataWarpMouseOrigin$fEqWarpMouseOrigin$fGenericWarpMouseOrigin$fOrdWarpMouseOrigin$fShowWarpMouseOrigin $fEqCursor MessageKindErrorWarning Information VideoDrivervideoDriverNamedisplayModeSizeDisplay displayNamedisplayBoundsPositiondisplayBoundsSize displayModesWindowPositionCenteredWhereverAbsolute WindowMode FullscreenFullscreenDesktop Maximized MinimizedWindowed WindowConfig windowBorder windowHighDPIwindowInputGrabbed windowMode windowOpenGLwindowPositionwindowResizablewindowInitialSize defaultWindowwindowBorderedwindowBrightness windowGrab setWindowModegetWindowAbsolutePosition windowSize windowTitle windowDatagetWindowConfigscreenSaverEnabledwindowGammaRamp getDisplayswindowMaximumSizewindowMinimumSize$fToNumberMessageKindWord32$fFromNumberWindowModeWord32$fToNumberWindowModeWord32$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$fShowMessageKind InputMotionReleasedPressedUnknownEventDataunknownEventType DropEventDataDollarGestureEventDatadollarGestureEventPosMultiGestureEventDatamultiGestureEventPosTouchFingerEventDatatouchFingerEventPostouchFingerEventRelMotionSysWMEventData UserEventDatauserEventWindowAudioDeviceEventDataaudioDeviceEventIsAdditionControllerDeviceEventDataControllerButtonEventDataControllerAxisEventDataJoyDeviceEventDataJoyButtonEventDataJoyHatEventDataJoyBallEventDatajoyBallEventRelMotionJoyAxisEventDataMouseWheelEventDatamouseWheelEventWindowmouseWheelEventPosMouseButtonEventDatamouseButtonEventWindowmouseButtonEventMotionmouseButtonEventPosMouseMotionEventDatamouseMotionEventWindowmouseMotionEventPosmouseMotionEventRelMotionTextInputEventDatatextInputEventWindowTextEditingEventDatatextEditingEventWindowKeyboardEventDatakeyboardEventWindowkeyboardEventKeyMotionWindowClosedEventDatawindowClosedEventWindow WindowLostKeyboardFocusEventData"windowLostKeyboardFocusEventWindow"WindowGainedKeyboardFocusEventData$windowGainedKeyboardFocusEventWindowWindowLostMouseFocusEventDatawindowLostMouseFocusEventWindowWindowGainedMouseFocusEventData!windowGainedMouseFocusEventWindowWindowRestoredEventDatawindowRestoredEventWindowWindowMaximizedEventDatawindowMaximizedEventWindowWindowMinimizedEventDatawindowMinimizedEventWindowWindowSizeChangedEventDatawindowSizeChangedEventWindowWindowResizedEventDatawindowResizedEventWindowwindowResizedEventSizeWindowMovedEventDatawindowMovedEventWindowwindowMovedEventPositionWindowExposedEventDatawindowExposedEventWindowWindowHiddenEventDatawindowHiddenEventWindowWindowShownEventDatawindowShownEventWindow EventPayloadWindowShownEventWindowHiddenEventWindowExposedEventWindowMovedEventWindowResizedEventWindowSizeChangedEventWindowMinimizedEventWindowMaximizedEventWindowRestoredEventWindowGainedMouseFocusEventWindowLostMouseFocusEventWindowGainedKeyboardFocusEventWindowLostKeyboardFocusEventWindowClosedEvent eventPayload pollEvents mapEvents$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$fEqTouchFingerEventData$fOrdTouchFingerEventData$fGenericTouchFingerEventData$fShowTouchFingerEventData$fEqMultiGestureEventData$fOrdMultiGestureEventData$fGenericMultiGestureEventData$fShowMultiGestureEventData$fEqDollarGestureEventData$fOrdDollarGestureEventData$fGenericDollarGestureEventData$fShowDollarGestureEventData$fEqDropEventData$fOrdDropEventData$fGenericDropEventData$fShowDropEventData$fEqUnknownEventData$fOrdUnknownEventData$fGenericUnknownEventData$fShowUnknownEventData$fBoundedInputMotion$fEnumInputMotion$fEqInputMotion$fOrdInputMotion$fReadInputMotion$fDataInputMotion$fGenericInputMotion$fShowInputMotion$fEqMouseButtonEventData$fOrdMouseButtonEventData$fGenericMouseButtonEventData$fShowMouseButtonEventData$fEqKeyboardEventData$fOrdKeyboardEventData$fGenericKeyboardEventData$fShowKeyboardEventData$fEqEventPayload$fOrdEventPayload$fGenericEventPayload$fShowEventPayload $fOrdEvent$fGenericEvent 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$fEqAudioFormat foldFlagsgetPlatformFFIbaseForeign.C.StringCString setErrorFFI getErrorFFI clearErrorFFIEndiangetPowerInfoFFIGHC.PtrFunPtr Foreign.PtrfreeHaskellFunPtr writeLE64FFI writeLE32FFI writeLE16FFI writeBE64FFI writeBE32FFI writeBE16FFI readLE64FFI readLE32FFI readLE16FFI readBE64FFI readBE32FFI readBE16FFI rwWriteFFI rwTellFFI rwSeekFFI rwReadFFI rwCloseFFI rwFromMemFFI rwFromFileFFI rwFromFPFFIrwFromConstMemFFI freeRWFFI allocRWFFIgetPrefPathFFIgetBasePathFFIisGameControllerFFIgameControllerUpdateFFIgameControllerOpenFFIgameControllerNameForIndexFFIgameControllerNameFFIgameControllerMappingForGUIDFFIgameControllerMappingFFI#gameControllerGetStringForButtonFFI!gameControllerGetStringForAxisFFIgameControllerGetJoystickFFI$gameControllerGetButtonFromStringFFIgameControllerGetButtonFFI!gameControllerGetBindForButtonFFIgameControllerGetBindForAxisFFI"gameControllerGetAxisFromStringFFIgameControllerGetAxisFFIgameControllerGetAttachedFFIgameControllerFromInstanceIDFFIgameControllerEventStateFFIgameControllerCloseFFI"gameControllerAddMappingsFromRWFFIgameControllerAddMappingFFInumJoysticksFFIjoystickUpdateFFIjoystickOpenFFIjoystickNumHatsFFIjoystickNumButtonsFFIjoystickNumBallsFFIjoystickNumAxesFFIjoystickNameForIndexFFIjoystickNameFFIjoystickInstanceIDFFIjoystickGetHatFFIjoystickGetGUIDStringFFIjoystickGetGUIDFromStringFFIjoystickGetGUIDFFIjoystickGetDeviceGUIDFFIjoystickGetButtonFFIjoystickGetBallFFIjoystickGetAxisFFIjoystickGetAttachedFFIjoystickFromInstanceIDFFIjoystickEventStateFFIjoystickCurrentPowerLevelFFIjoystickCloseFFIwarpMouseInWindowFFIwarpMouseGlobalFFI showCursorFFIsetRelativeMouseModeFFI setCursorFFIgetRelativeMouseStateFFIgetRelativeMouseModeFFIgetMouseStateFFIgetMouseFocusFFIgetGlobalMouseStateFFIgetDefaultCursorFFI getCursorFFI freeCursorFFIcreateSystemCursorFFIcreateCursorFFIcreateColorCursorFFIcaptureMouseFFIstopTextInputFFIstartTextInputFFIsetTextInputRectFFIsetModStateFFIisTextInputActiveFFIisScreenKeyboardShownFFIhasScreenKeyboardSupportFFIgetScancodeNameFFIgetScancodeFromNameFFIgetScancodeFromKeyFFIgetModStateFFIgetKeyboardStateFFIgetKeyboardFocusFFI getKeyNameFFIgetKeyFromScancodeFFIgetKeyFromNameFFIwaitEventTimeoutFFI waitEventFFIsetEventFilterFFIsaveDollarTemplateFFIsaveAllDollarTemplatesFFIregisterEventsFFIrecordGestureFFI pushEventFFI pumpEventsFFI pollEventFFI peepEventsFFIloadDollarTemplatesFFI hasEventsFFI hasEventFFIgetTouchFingerFFIgetTouchDeviceFFIgetNumTouchFingersFFIgetNumTouchDevicesFFIgetEventFilterFFIflushEventsFFI flushEventFFIfilterEventsFFI eventStateFFIdelEventWatchFFIaddEventWatchFFI numHapticsFFImouseIsHapticFFIjoystickIsHapticFFIhapticUpdateEffectFFIhapticUnpauseFFIhapticStopEffectFFIhapticStopAllFFIhapticSetGainFFIhapticSetAutocenterFFIhapticRunEffectFFIhapticRumbleSupportedFFIhapticRumbleStopFFIhapticRumblePlayFFIhapticRumbleInitFFIhapticQueryFFIhapticPauseFFIhapticOpenedFFIhapticOpenFromMouseFFIhapticOpenFromJoystickFFI hapticOpenFFIhapticNumEffectsPlayingFFIhapticNumEffectsFFIhapticNumAxesFFIhapticNewEffectFFI hapticNameFFIhapticIndexFFIhapticGetEffectStatusFFIhapticEffectSupportedFFIhapticDestroyEffectFFIhapticCloseFFIatomicUnlockFFIatomicTryLockFFIatomicSetPtrFFI atomicSetFFI atomicLockFFIatomicGetPtrFFI atomicGetFFIatomicCASPtrFFI atomicCASFFI atomicAddFFIunlockMutexFFItryLockMutexFFIsemWaitTimeoutFFI semWaitFFI semValueFFI semTryWaitFFI semPostFFI lockMutexFFIdestroySemaphoreFFIdestroyMutexFFIdestroyCondFFIcreateSemaphoreFFIcreateMutexFFI createCondFFIcondWaitTimeoutFFI condWaitFFI condSignalFFIcondBroadcastFFI waitThreadFFI threadIDFFI tlsSetFFI tlsGetFFI tlsCreateFFIsetThreadPriorityFFIgetThreadNameFFIgetThreadIDFFIdetachThreadFFIcreateThreadFFIremoveTimerFFI getTicksFFIgetPerformanceFrequencyFFIgetPerformanceCounterFFIdelayFFI addTimerFFIsetClipboardTextFFIhasClipboardTextFFIgetClipboardTextFFIgetWindowWMInfoFFIunlockSurfaceFFIsetSurfaceRLEFFIsetSurfacePaletteFFIsetSurfaceColorModFFIsetSurfaceBlendModeFFIsetSurfaceAlphaModFFIsetColorKeyFFIsetClipRectFFI saveBMP_RWFFIlowerBlitScaledFFI lowerBlitFFIlockSurfaceFFI loadBMP_RWFFIgetSurfaceColorModFFIgetSurfaceBlendModeFFIgetSurfaceAlphaModFFIgetColorKeyFFIgetClipRectFFIfreeSurfaceFFI fillRectsFFI fillRectFFIcreateRGBSurfaceFromFFIcreateRGBSurfaceFFIconvertSurfaceFormatFFIconvertSurfaceFFIconvertPixelsFFIblitSurfaceFFI blitScaledFFI unionRectFFIintersectRectAndLineFFIintersectRectFFIhasIntersectionFFIenclosePointsFFIsetPixelFormatPaletteFFIsetPaletteColorsFFIpixelFormatEnumToMasksFFImasksToPixelFormatEnumFFI mapRGBAFFI mapRGBFFI getRGBAFFI getRGBFFIgetPixelFormatNameFFIfreePaletteFFI freeFormatFFIcalculateGammaRampFFIallocPaletteFFIallocFormatFFIupdateYUVTextureFFIupdateTextureFFIunlockTextureFFIsetTextureColorModFFIsetTextureBlendModeFFIsetTextureAlphaModFFIsetRenderTargetFFIsetRenderDrawColorFFIsetRenderDrawBlendModeFFIrenderTargetSupportedFFIrenderSetViewportFFIrenderSetScaleFFIrenderSetLogicalSizeFFIrenderSetClipRectFFIrenderReadPixelsFFIrenderPresentFFIrenderIsClipEnabledFFIrenderGetViewportFFIrenderGetScaleFFIrenderGetLogicalSizeFFIrenderGetClipRectFFIrenderFillRectsFFIrenderFillRectFFIrenderDrawRectsFFIrenderDrawRectFFIrenderDrawPointsFFIrenderDrawPointFFIrenderDrawLinesFFIrenderDrawLineFFIrenderCopyExFFI renderCopyFFIrenderClearFFIqueryTextureFFIlockTextureFFIgetTextureColorModFFIgetTextureBlendModeFFIgetTextureAlphaModFFIgetRendererOutputSizeFFIgetRendererInfoFFIgetRendererFFIgetRenderTargetFFIgetRenderDriverInfoFFIgetRenderDrawColorFFIgetRenderDrawBlendModeFFIgetNumRenderDriversFFIdestroyTextureFFIdestroyRendererFFIcreateTextureFromSurfaceFFIcreateTextureFFIcreateSoftwareRendererFFIcreateRendererFFI videoQuitFFI videoInitFFIupdateWindowSurfaceRectsFFIupdateWindowSurfaceFFI showWindowFFIshowSimpleMessageBoxFFIshowMessageBoxFFIsetWindowTitleFFIsetWindowSizeFFIsetWindowPositionFFIsetWindowMinimumSizeFFIsetWindowMaximumSizeFFIsetWindowIconFFIsetWindowGrabFFIsetWindowGammaRampFFIsetWindowFullscreenFFIsetWindowDisplayModeFFIsetWindowDataFFIsetWindowBrightnessFFIsetWindowBorderedFFIrestoreWindowFFIraiseWindowFFIminimizeWindowFFImaximizeWindowFFIisScreenSaverEnabledFFI hideWindowFFIgetWindowTitleFFIgetWindowSurfaceFFIgetWindowSizeFFIgetWindowPositionFFIgetWindowPixelFormatFFIgetWindowMinimumSizeFFIgetWindowMaximumSizeFFIgetWindowIDFFIgetWindowGrabFFIgetWindowGammaRampFFIgetWindowFromIDFFIgetWindowFlagsFFIgetWindowDisplayModeFFIgetWindowDisplayIndexFFIgetWindowDataFFIgetWindowBrightnessFFIgetVideoDriverFFIgetNumVideoDriversFFIgetNumVideoDisplaysFFIgetNumDisplayModesFFIgetGrabbedWindowFFIgetDisplayNameFFIgetDisplayModeFFIgetDisplayDPIFFIgetDisplayBoundsFFIgetDesktopDisplayModeFFIgetCurrentVideoDriverFFIgetCurrentDisplayModeFFIgetClosestDisplayModeFFIglUnloadLibraryFFIglUnbindTextureFFIglSwapWindowFFIglSetSwapIntervalFFIglSetAttributeFFIglResetAttributesFFIglMakeCurrentFFIglLoadLibraryFFIglGetSwapIntervalFFIglGetProcAddressFFIglGetDrawableSizeFFIglGetCurrentWindowFFIglGetCurrentContextFFIglGetAttributeFFIglExtensionSupportedFFIglDeleteContextFFIglCreateContextFFIglBindTextureFFIenableScreenSaverFFIdisableScreenSaverFFIdestroyWindowFFIcreateWindowFromFFIcreateWindowAndRendererFFIcreateWindowFFI getVersionFFIgetRevisionNumberFFIgetRevisionFFIlogSetPriorityFFIlogSetOutputFunctionFFIlogSetAllPriorityFFIlogResetPrioritiesFFI logMessageFFIlogGetPriorityFFIlogGetOutputFunctionFFIsetHintWithPriorityFFI setHintFFI getHintFFIdelHintCallbackFFI clearHintsFFIaddHintCallbackFFIfreeFFI wasInitFFIsetMainReadyFFIquitSubSystemFFIquitFFIinitSubSystemFFIinitFFIunlockAudioDeviceFFIunlockAudioFFI queueAudioFFIpauseAudioDeviceFFI pauseAudioFFIopenAudioDeviceFFI openAudioFFImixAudioFormatFFI mixAudioFFIlockAudioDeviceFFI lockAudioFFI loadWAV_RWFFIgetQueuedAudioSizeFFIgetNumAudioDriversFFIgetNumAudioDevicesFFIgetCurrentAudioDriverFFIgetAudioStatusFFIgetAudioDriverFFIgetAudioDeviceStatusFFIgetAudioDeviceNameFFI freeWAVFFIconvertAudioFFIcloseAudioDeviceFFI closeAudioFFIclearQueuedAudioFFIbuildAudioCVTFFI audioQuitFFI audioInitFFIMV_V4V_V4MV_V3V_V3MV_V2V_V2MV_PV_PD:R:MVectorsV40 D:R:VectorV40D:R:MVectorsV30 D:R:VectorV30D:R:MVectorsV20 D:R:VectorV20D:R:MVectorsPoint0D:R:VectorPoint0&vector-0.12.0.0-4Id7FElSeAC3wKuJGC9cw4Data.Vector.Unboxed.BaseVectorMVectorrelativeorigin_PointlensP distanceAqdAAffineDiff.-..+^.-^Linear.Covector$*Covector runCovectorLinear.Algebra counitalRep comultRep unitalRepmultRepAlgebramultunital Coalgebracomultcounital Linear.Binary getLinear putLinearLinear.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_ijkLinear.Conjugate Conjugate conjugateTrivialConjugatenormalizePointpointvectorew_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.V0V0 Linear.Metricproject normalizeMetricdot quadranceqddistancenormsignormLinear.EpsilonEpsilonnearZero Linear.VectorouterunitscaledbasisForbasis^/^**^sumVnegatedEelAdditivezero^+^^-^lerpliftU2liftI2ghc-prim GHC.TypesBool HasGetter HasSettermapHint_setHint hintToStringGHC.EnumminBoundmaxBoundrunTimerRemovalStateVarGHC.BaseNothingData.Vector.StorableunmanagedSurfacemanagedSurfacefromRawRendererInfo WarpInWindowWarpCurrentFocus unwrapCursorFalseTrueGHC.WordWord16ccharStringToText fromRawKeysym convertRawWord8Data.Vector.Storable.Mutable AnAudioFormatDictencodeAudioFormatdecodeAudioFormat encodeUsagefoldChangeableunpackChangeable