mt-lang 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/docs/index.html +4 -3
  3. data/lib/milk_tea/base.rb +1 -1
  4. data/std/asset_pack.mt +267 -0
  5. data/std/async/libuv_runtime.mt +539 -0
  6. data/std/async/mailbox.mt +191 -0
  7. data/std/async/runtime.mt +87 -0
  8. data/std/async.mt +87 -0
  9. data/std/base64.mt +185 -0
  10. data/std/behavior_tree.mt +396 -0
  11. data/std/binary.mt +314 -0
  12. data/std/binary_heap.mt +157 -0
  13. data/std/bitset.mt +239 -0
  14. data/std/box2d.mt +535 -0
  15. data/std/bytes.mt +46 -0
  16. data/std/c/box2d.mt +1254 -0
  17. data/std/c/cgltf.mt +647 -0
  18. data/std/c/cjson.mt +106 -0
  19. data/std/c/crypto.mt +11 -0
  20. data/std/c/crypto_support.h +51 -0
  21. data/std/c/ctype.mt +19 -0
  22. data/std/c/ctype_bindgen.h +29 -0
  23. data/std/c/curl.mt +1223 -0
  24. data/std/c/enet.mt +473 -0
  25. data/std/c/errno.mt +41 -0
  26. data/std/c/errno_bindgen.h +53 -0
  27. data/std/c/flecs.mt +2945 -0
  28. data/std/c/fs.linux.mt +43 -0
  29. data/std/c/fs.windows.mt +43 -0
  30. data/std/c/fs_support.h +954 -0
  31. data/std/c/gl.mt +2065 -0
  32. data/std/c/gl_registry_helpers.h +10748 -0
  33. data/std/c/glfw.mt +499 -0
  34. data/std/c/libc.mt +167 -0
  35. data/std/c/libuv.mt +1491 -0
  36. data/std/c/math.mt +22 -0
  37. data/std/c/math_bindgen.h +31 -0
  38. data/std/c/miniaudio.mt +3420 -0
  39. data/std/c/pcre2.mt +735 -0
  40. data/std/c/process.mt +58 -0
  41. data/std/c/process_support.h +1147 -0
  42. data/std/c/raygui.mt +1602 -0
  43. data/std/c/raylib.mt +1245 -0
  44. data/std/c/raymath.mt +163 -0
  45. data/std/c/rlgl.mt +434 -0
  46. data/std/c/rpng.mt +60 -0
  47. data/std/c/rres.mt +187 -0
  48. data/std/c/sdl3.mt +4132 -0
  49. data/std/c/sqlite3.mt +951 -0
  50. data/std/c/stb_image.mt +52 -0
  51. data/std/c/stb_image_resize2.mt +128 -0
  52. data/std/c/stb_image_write.mt +19 -0
  53. data/std/c/stb_rect_pack.mt +38 -0
  54. data/std/c/stb_truetype.mt +175 -0
  55. data/std/c/stb_vorbis.mt +31 -0
  56. data/std/c/stdio.mt +90 -0
  57. data/std/c/steamworks.h +5769 -0
  58. data/std/c/steamworks.mt +4771 -0
  59. data/std/c/string.mt +16 -0
  60. data/std/c/string_bindgen.h +36 -0
  61. data/std/c/sync.mt +33 -0
  62. data/std/c/sync_support.h +219 -0
  63. data/std/c/terminal.mt +24 -0
  64. data/std/c/terminal_support.h +408 -0
  65. data/std/c/time.mt +26 -0
  66. data/std/c/tls.mt +24 -0
  67. data/std/c/tls_support.h +626 -0
  68. data/std/c/tracy.mt +53 -0
  69. data/std/c/zlib.mt +20 -0
  70. data/std/c/zlib_support.h +239 -0
  71. data/std/c/zstd.mt +231 -0
  72. data/std/cell.mt +60 -0
  73. data/std/cgltf.mt +115 -0
  74. data/std/cjson.mt +90 -0
  75. data/std/cli.mt +768 -0
  76. data/std/cookie.mt +198 -0
  77. data/std/counter.mt +160 -0
  78. data/std/crypto.mt +74 -0
  79. data/std/cstring.mt +13 -0
  80. data/std/ctype.mt +52 -0
  81. data/std/curl/runtime.mt +261 -0
  82. data/std/curl.mt +38 -0
  83. data/std/deque.mt +348 -0
  84. data/std/encoding.mt +93 -0
  85. data/std/enet.mt +133 -0
  86. data/std/env.mt +41 -0
  87. data/std/errno.mt +47 -0
  88. data/std/flecs.mt +978 -0
  89. data/std/fmt.mt +271 -0
  90. data/std/fs.linux.mt +696 -0
  91. data/std/fs.windows.mt +711 -0
  92. data/std/fsm.mt +267 -0
  93. data/std/gl.mt +2062 -0
  94. data/std/glfw.mt +471 -0
  95. data/std/goap.mt +342 -0
  96. data/std/graph.mt +521 -0
  97. data/std/gzip.mt +77 -0
  98. data/std/hash.mt +429 -0
  99. data/std/http/server.mt +810 -0
  100. data/std/http.mt +1227 -0
  101. data/std/intern.mt +53 -0
  102. data/std/jobs.mt +288 -0
  103. data/std/json.mt +627 -0
  104. data/std/libc.mt +34 -0
  105. data/std/libuv.mt +554 -0
  106. data/std/linear_algebra.mt +243 -0
  107. data/std/linked_map.mt +372 -0
  108. data/std/linked_map_view.mt +49 -0
  109. data/std/linked_set.mt +117 -0
  110. data/std/log.mt +69 -0
  111. data/std/map.mt +418 -0
  112. data/std/math.mt +24 -0
  113. data/std/mem/arena.mt +137 -0
  114. data/std/mem/endian.mt +51 -0
  115. data/std/mem/heap.mt +298 -0
  116. data/std/mem/pool.mt +164 -0
  117. data/std/mem/stack.mt +47 -0
  118. data/std/mem/tracking.mt +119 -0
  119. data/std/miniaudio.mt +1299 -0
  120. data/std/multiset.mt +191 -0
  121. data/std/net/channel.mt +727 -0
  122. data/std/net/clock.mt +237 -0
  123. data/std/net/discovery.mt +277 -0
  124. data/std/net/lobby.mt +813 -0
  125. data/std/net/manager.mt +539 -0
  126. data/std/net/mux.mt +839 -0
  127. data/std/net/nat.mt +122 -0
  128. data/std/net/packet.mt +219 -0
  129. data/std/net/punch.mt +162 -0
  130. data/std/net/rpc.mt +119 -0
  131. data/std/net/session.mt +1157 -0
  132. data/std/net/stun.mt +252 -0
  133. data/std/net/sync.mt +183 -0
  134. data/std/net/turn.mt +459 -0
  135. data/std/net.mt +2944 -0
  136. data/std/oauth2.mt +408 -0
  137. data/std/option.mt +51 -0
  138. data/std/ordered_map.mt +497 -0
  139. data/std/ordered_set.mt +348 -0
  140. data/std/path.mt +368 -0
  141. data/std/pcre2/runtime.mt +35 -0
  142. data/std/pcre2.mt +78 -0
  143. data/std/priority_queue.mt +55 -0
  144. data/std/process.mt +837 -0
  145. data/std/queue.mt +55 -0
  146. data/std/random.mt +146 -0
  147. data/std/raygui.mt +99 -0
  148. data/std/raylib/debug_console.mt +71 -0
  149. data/std/raylib/easing.mt +388 -0
  150. data/std/raylib/packed_assets.mt +255 -0
  151. data/std/raylib/runtime.mt +30 -0
  152. data/std/raylib/tracy_gpu.mt +37 -0
  153. data/std/raylib.mt +1510 -0
  154. data/std/raymath.mt +153 -0
  155. data/std/result.mt +89 -0
  156. data/std/rlgl.mt +268 -0
  157. data/std/rpng.mt +46 -0
  158. data/std/rres.mt +36 -0
  159. data/std/sdl3/runtime.mt +54 -0
  160. data/std/sdl3.mt +1731 -0
  161. data/std/serialize.mt +68 -0
  162. data/std/set.mt +124 -0
  163. data/std/spatial.mt +176 -0
  164. data/std/sqlite3.mt +151 -0
  165. data/std/stack.mt +55 -0
  166. data/std/stb_image.mt +47 -0
  167. data/std/stb_image_resize2.mt +41 -0
  168. data/std/stb_image_write.mt +17 -0
  169. data/std/stb_rect_pack.mt +15 -0
  170. data/std/stb_truetype.mt +77 -0
  171. data/std/stb_vorbis.mt +16 -0
  172. data/std/stdio.mt +88 -0
  173. data/std/steamworks.mt +1542 -0
  174. data/std/str.mt +293 -0
  175. data/std/string.mt +234 -0
  176. data/std/sync.mt +194 -0
  177. data/std/tar.mt +704 -0
  178. data/std/terminal.mt +1002 -0
  179. data/std/testing.mt +266 -0
  180. data/std/thread.mt +120 -0
  181. data/std/time.mt +105 -0
  182. data/std/tls.mt +616 -0
  183. data/std/toml.mt +1310 -0
  184. data/std/tracy.mt +42 -0
  185. data/std/uri.mt +118 -0
  186. data/std/url.mt +372 -0
  187. data/std/vec.mt +433 -0
  188. data/std/zstd.mt +94 -0
  189. metadata +187 -2
data/std/c/sdl3.mt ADDED
@@ -0,0 +1,4132 @@
1
+ # generated by mtc bindgen from /home/teefan/Projects/Ruby/mt-lang/third_party/sdl3-upstream/include/SDL3/SDL.h
2
+ external
3
+
4
+ link "SDL3"
5
+ include "SDL3/SDL.h"
6
+ include "SDL3/SDL_main.h"
7
+
8
+ union SDL_GamepadBinding_input:
9
+ button: int
10
+ axis: SDL_GamepadBinding_input_axis
11
+ hat: SDL_GamepadBinding_input_hat
12
+
13
+ union SDL_GamepadBinding_output:
14
+ button: SDL_GamepadButton
15
+ axis: SDL_GamepadBinding_output_axis
16
+
17
+ struct SDL_GamepadBinding_input_axis:
18
+ axis: int
19
+ axis_min: int
20
+ axis_max: int
21
+
22
+ struct SDL_GamepadBinding_input_hat:
23
+ hat: int
24
+ hat_mask: int
25
+
26
+ struct SDL_GamepadBinding_output_axis:
27
+ axis: SDL_GamepadAxis
28
+ axis_min: int
29
+ axis_max: int
30
+
31
+ opaque va_list = c"va_list"
32
+
33
+ type Sint8 = byte
34
+ type Uint8 = ubyte
35
+ type Sint16 = short
36
+ type Uint16 = ushort
37
+ type Sint32 = int
38
+ type Uint32 = uint
39
+ type Sint64 = ptr_int
40
+ type Uint64 = ptr_uint
41
+ type SDL_Time = ptr_int
42
+
43
+ struct SDL_alignment_test:
44
+ a: ubyte
45
+ b: ptr[void]
46
+
47
+ enum SDL_DUMMY_ENUM: int
48
+ DUMMY_ENUM_VALUE = 0
49
+
50
+ external function SDL_malloc(size: ptr_uint) -> ptr[void]?
51
+ external function SDL_calloc(nmemb: ptr_uint, size: ptr_uint) -> ptr[void]?
52
+ external function SDL_realloc(mem: ptr[void]?, size: ptr_uint) -> ptr[void]?
53
+ external function SDL_free(mem: ptr[void]?) -> void
54
+
55
+ type SDL_malloc_func = fn(arg0: ptr_uint) -> ptr[void]
56
+ type SDL_calloc_func = fn(arg0: ptr_uint, arg1: ptr_uint) -> ptr[void]
57
+ type SDL_realloc_func = fn(arg0: ptr[void], arg1: ptr_uint) -> ptr[void]
58
+ type SDL_free_func = fn(arg0: ptr[void]) -> void
59
+
60
+ external function SDL_GetOriginalMemoryFunctions(malloc_func: ptr[SDL_malloc_func], calloc_func: ptr[SDL_calloc_func], realloc_func: ptr[SDL_realloc_func], free_func: ptr[SDL_free_func]) -> void
61
+ external function SDL_GetMemoryFunctions(malloc_func: ptr[SDL_malloc_func], calloc_func: ptr[SDL_calloc_func], realloc_func: ptr[SDL_realloc_func], free_func: ptr[SDL_free_func]) -> void
62
+ external function SDL_SetMemoryFunctions(malloc_func: fn(arg0: ptr_uint) -> ptr[void], calloc_func: fn(arg0: ptr_uint, arg1: ptr_uint) -> ptr[void], realloc_func: fn(arg0: ptr[void], arg1: ptr_uint) -> ptr[void], free_func: fn(arg0: ptr[void]) -> void) -> bool
63
+ external function SDL_aligned_alloc(alignment: ptr_uint, size: ptr_uint) -> ptr[void]?
64
+ external function SDL_aligned_free(mem: ptr[void]?) -> void
65
+ external function SDL_GetNumAllocations() -> int
66
+
67
+ opaque SDL_Environment = c"SDL_Environment"
68
+
69
+ external function SDL_GetEnvironment() -> ptr[SDL_Environment]?
70
+ external function SDL_CreateEnvironment(populated: bool) -> ptr[SDL_Environment]?
71
+ external function SDL_GetEnvironmentVariable(env: ptr[SDL_Environment], name: cstr) -> cstr?
72
+ external function SDL_GetEnvironmentVariables(env: ptr[SDL_Environment]) -> ptr[ptr[char]]?
73
+ external function SDL_SetEnvironmentVariable(env: ptr[SDL_Environment], name: cstr, value: cstr, overwrite: bool) -> bool
74
+ external function SDL_UnsetEnvironmentVariable(env: ptr[SDL_Environment], name: cstr) -> bool
75
+ external function SDL_DestroyEnvironment(env: ptr[SDL_Environment]) -> void
76
+ external function SDL_getenv(name: cstr) -> cstr?
77
+ external function SDL_getenv_unsafe(name: cstr) -> cstr?
78
+ external function SDL_setenv_unsafe(name: cstr, value: cstr, overwrite: int) -> int
79
+ external function SDL_unsetenv_unsafe(name: cstr) -> int
80
+
81
+ type SDL_CompareCallback = fn(arg0: const_ptr[void], arg1: const_ptr[void]) -> int
82
+
83
+ external function SDL_qsort(base: ptr[void], nmemb: ptr_uint, size: ptr_uint, compare: fn(arg0: const_ptr[void], arg1: const_ptr[void]) -> int) -> void
84
+ external function SDL_bsearch(key: const_ptr[void], base: const_ptr[void], nmemb: ptr_uint, size: ptr_uint, compare: fn(arg0: const_ptr[void], arg1: const_ptr[void]) -> int) -> ptr[void]?
85
+
86
+ type SDL_CompareCallback_r = fn(arg0: ptr[void], arg1: const_ptr[void], arg2: const_ptr[void]) -> int
87
+
88
+ external function SDL_qsort_r(base: ptr[void], nmemb: ptr_uint, size: ptr_uint, compare: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: const_ptr[void]) -> int, userdata: ptr[void]) -> void
89
+ external function SDL_bsearch_r(key: const_ptr[void], base: const_ptr[void], nmemb: ptr_uint, size: ptr_uint, compare: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: const_ptr[void]) -> int, userdata: ptr[void]) -> ptr[void]?
90
+ external function SDL_abs(x: int) -> int
91
+ external function SDL_isalpha(x: int) -> int
92
+ external function SDL_isalnum(x: int) -> int
93
+ external function SDL_isblank(x: int) -> int
94
+ external function SDL_iscntrl(x: int) -> int
95
+ external function SDL_isdigit(x: int) -> int
96
+ external function SDL_isxdigit(x: int) -> int
97
+ external function SDL_ispunct(x: int) -> int
98
+ external function SDL_isspace(x: int) -> int
99
+ external function SDL_isupper(x: int) -> int
100
+ external function SDL_islower(x: int) -> int
101
+ external function SDL_isprint(x: int) -> int
102
+ external function SDL_isgraph(x: int) -> int
103
+ external function SDL_toupper(x: int) -> int
104
+ external function SDL_tolower(x: int) -> int
105
+ external function SDL_crc16(crc: ushort, data: const_ptr[void], len: ptr_uint) -> Uint16
106
+ external function SDL_crc32(crc: uint, data: const_ptr[void], len: ptr_uint) -> Uint32
107
+ external function SDL_murmur3_32(data: const_ptr[void], len: ptr_uint, seed: uint) -> Uint32
108
+ external function SDL_memcpy(dst: ptr[void], src: const_ptr[void], len: ptr_uint) -> ptr[void]
109
+ external function SDL_memmove(dst: ptr[void], src: const_ptr[void], len: ptr_uint) -> ptr[void]
110
+ external function SDL_memset(dst: ptr[void], c: int, len: ptr_uint) -> ptr[void]
111
+ external function SDL_memset4(dst: ptr[void], val: uint, dwords: ptr_uint) -> ptr[void]
112
+ external function SDL_memcmp(s1: const_ptr[void], s2: const_ptr[void], len: ptr_uint) -> int
113
+ external function SDL_wcslen(wstr: const_ptr[int]) -> ptr_uint
114
+ external function SDL_wcsnlen(wstr: const_ptr[int], maxlen: ptr_uint) -> ptr_uint
115
+ external function SDL_wcslcpy(dst: ptr[int], src: const_ptr[int], maxlen: ptr_uint) -> ptr_uint
116
+ external function SDL_wcslcat(dst: ptr[int], src: const_ptr[int], maxlen: ptr_uint) -> ptr_uint
117
+ external function SDL_wcsdup(wstr: const_ptr[int]) -> ptr[int]
118
+ external function SDL_wcsstr(haystack: const_ptr[int], needle: const_ptr[int]) -> ptr[int]?
119
+ external function SDL_wcsnstr(haystack: const_ptr[int], needle: const_ptr[int], maxlen: ptr_uint) -> ptr[int]?
120
+ external function SDL_wcscmp(str1: const_ptr[int], str2: const_ptr[int]) -> int
121
+ external function SDL_wcsncmp(str1: const_ptr[int], str2: const_ptr[int], maxlen: ptr_uint) -> int
122
+ external function SDL_wcscasecmp(str1: const_ptr[int], str2: const_ptr[int]) -> int
123
+ external function SDL_wcsncasecmp(str1: const_ptr[int], str2: const_ptr[int], maxlen: ptr_uint) -> int
124
+ external function SDL_wcstol(str_: const_ptr[int], endp: ptr[ptr[int]], base: int) -> ptr_int
125
+ external function SDL_strlen(str_: cstr) -> ptr_uint
126
+ external function SDL_strnlen(str_: cstr, maxlen: ptr_uint) -> ptr_uint
127
+ external function SDL_strlcpy(dst: ptr[char], src: cstr, maxlen: ptr_uint) -> ptr_uint
128
+ external function SDL_utf8strlcpy(dst: ptr[char], src: cstr, dst_bytes: ptr_uint) -> ptr_uint
129
+ external function SDL_strlcat(dst: ptr[char], src: cstr, maxlen: ptr_uint) -> ptr_uint
130
+ external function SDL_strdup(str_: cstr) -> ptr[char]?
131
+ external function SDL_strndup(str_: cstr, maxlen: ptr_uint) -> ptr[char]
132
+ external function SDL_strrev(str_: ptr[char]) -> ptr[char]
133
+ external function SDL_strupr(str_: ptr[char]) -> ptr[char]
134
+ external function SDL_strlwr(str_: ptr[char]) -> ptr[char]
135
+ external function SDL_strchr(str_: cstr, c: int) -> ptr[char]?
136
+ external function SDL_strrchr(str_: cstr, c: int) -> ptr[char]?
137
+ external function SDL_strstr(haystack: cstr, needle: cstr) -> ptr[char]?
138
+ external function SDL_strnstr(haystack: cstr, needle: cstr, maxlen: ptr_uint) -> ptr[char]?
139
+ external function SDL_strcasestr(haystack: cstr, needle: cstr) -> ptr[char]?
140
+ external function SDL_strtok_r(str_: ptr[char]?, delim: cstr, saveptr: ptr[ptr[char]]) -> ptr[char]?
141
+ external function SDL_utf8strlen(str_: cstr) -> ptr_uint
142
+ external function SDL_utf8strnlen(str_: cstr, bytes: ptr_uint) -> ptr_uint
143
+ external function SDL_itoa(value: int, str_: ptr[char], radix: int) -> ptr[char]
144
+ external function SDL_uitoa(value: uint, str_: ptr[char], radix: int) -> ptr[char]
145
+ external function SDL_ltoa(value: ptr_int, str_: ptr[char], radix: int) -> ptr[char]
146
+ external function SDL_ultoa(value: ptr_uint, str_: ptr[char], radix: int) -> ptr[char]
147
+ external function SDL_lltoa(value: long, str_: ptr[char], radix: int) -> ptr[char]
148
+ external function SDL_ulltoa(value: ulong, str_: ptr[char], radix: int) -> ptr[char]
149
+ external function SDL_atoi(str_: cstr) -> int
150
+ external function SDL_atof(str_: cstr) -> double
151
+ external function SDL_strtol(str_: cstr, endp: ptr[ptr[char]], base: int) -> ptr_int
152
+ external function SDL_strtoul(str_: cstr, endp: ptr[ptr[char]], base: int) -> ptr_uint
153
+ external function SDL_strtoll(str_: cstr, endp: ptr[ptr[char]], base: int) -> long
154
+ external function SDL_strtoull(str_: cstr, endp: ptr[ptr[char]], base: int) -> ulong
155
+ external function SDL_strtod(str_: cstr, endp: ptr[ptr[char]]) -> double
156
+ external function SDL_strcmp(str1: cstr, str2: cstr) -> int
157
+ external function SDL_strncmp(str1: cstr, str2: cstr, maxlen: ptr_uint) -> int
158
+ external function SDL_strcasecmp(str1: cstr, str2: cstr) -> int
159
+ external function SDL_strncasecmp(str1: cstr, str2: cstr, maxlen: ptr_uint) -> int
160
+ external function SDL_strpbrk(str_: cstr, breakset: cstr) -> ptr[char]
161
+ external function SDL_StepUTF8(pstr: ptr[cstr], pslen: ptr[ptr_uint]?) -> Uint32
162
+ external function SDL_StepBackUTF8(start: cstr, pstr: ptr[cstr]) -> Uint32
163
+ external function SDL_UCS4ToUTF8(codepoint: uint, dst: ptr[char]) -> ptr[char]
164
+ external function SDL_sscanf(text: cstr, fmt: cstr, ...) -> int
165
+ external function SDL_vsscanf(text: cstr, fmt: cstr, ap: va_list) -> int
166
+ external function SDL_snprintf(text: ptr[char], maxlen: ptr_uint, fmt: cstr, ...) -> int
167
+ external function SDL_swprintf(text: ptr[int], maxlen: ptr_uint, fmt: const_ptr[int], ...) -> int
168
+ external function SDL_vsnprintf(text: ptr[char], maxlen: ptr_uint, fmt: cstr, ap: va_list) -> int
169
+ external function SDL_vswprintf(text: ptr[int], maxlen: ptr_uint, fmt: const_ptr[int], ap: va_list) -> int
170
+ external function SDL_asprintf(strp: ptr[ptr[char]], fmt: cstr, ...) -> int
171
+ external function SDL_vasprintf(strp: ptr[ptr[char]], fmt: cstr, ap: va_list) -> int
172
+ external function SDL_srand(seed: ptr_uint) -> void
173
+ external function SDL_rand(n: int) -> Sint32
174
+ external function SDL_randf() -> float
175
+ external function SDL_rand_bits() -> Uint32
176
+ external function SDL_rand_r(state: ptr[Uint64], n: int) -> Sint32
177
+ external function SDL_randf_r(state: ptr[Uint64]) -> float
178
+ external function SDL_rand_bits_r(state: ptr[Uint64]) -> Uint32
179
+ external function SDL_acos(x: double) -> double
180
+ external function SDL_acosf(x: float) -> float
181
+ external function SDL_asin(x: double) -> double
182
+ external function SDL_asinf(x: float) -> float
183
+ external function SDL_atan(x: double) -> double
184
+ external function SDL_atanf(x: float) -> float
185
+ external function SDL_atan2(y: double, x: double) -> double
186
+ external function SDL_atan2f(y: float, x: float) -> float
187
+ external function SDL_ceil(x: double) -> double
188
+ external function SDL_ceilf(x: float) -> float
189
+ external function SDL_copysign(x: double, y: double) -> double
190
+ external function SDL_copysignf(x: float, y: float) -> float
191
+ external function SDL_cos(x: double) -> double
192
+ external function SDL_cosf(x: float) -> float
193
+ external function SDL_exp(x: double) -> double
194
+ external function SDL_expf(x: float) -> float
195
+ external function SDL_fabs(x: double) -> double
196
+ external function SDL_fabsf(x: float) -> float
197
+ external function SDL_floor(x: double) -> double
198
+ external function SDL_floorf(x: float) -> float
199
+ external function SDL_trunc(x: double) -> double
200
+ external function SDL_truncf(x: float) -> float
201
+ external function SDL_fmod(x: double, y: double) -> double
202
+ external function SDL_fmodf(x: float, y: float) -> float
203
+ external function SDL_isinf(x: double) -> int
204
+ external function SDL_isinff(x: float) -> int
205
+ external function SDL_isnan(x: double) -> int
206
+ external function SDL_isnanf(x: float) -> int
207
+ external function SDL_log(x: double) -> double
208
+ external function SDL_logf(x: float) -> float
209
+ external function SDL_log10(x: double) -> double
210
+ external function SDL_log10f(x: float) -> float
211
+ external function SDL_modf(x: double, y: ptr[double]) -> double
212
+ external function SDL_modff(x: float, y: ptr[float]) -> float
213
+ external function SDL_pow(x: double, y: double) -> double
214
+ external function SDL_powf(x: float, y: float) -> float
215
+ external function SDL_round(x: double) -> double
216
+ external function SDL_roundf(x: float) -> float
217
+ external function SDL_lround(x: double) -> ptr_int
218
+ external function SDL_lroundf(x: float) -> ptr_int
219
+ external function SDL_scalbn(x: double, n: int) -> double
220
+ external function SDL_scalbnf(x: float, n: int) -> float
221
+ external function SDL_sin(x: double) -> double
222
+ external function SDL_sinf(x: float) -> float
223
+ external function SDL_sqrt(x: double) -> double
224
+ external function SDL_sqrtf(x: float) -> float
225
+ external function SDL_tan(x: double) -> double
226
+ external function SDL_tanf(x: float) -> float
227
+
228
+ opaque SDL_iconv_data_t = c"struct SDL_iconv_data_t"
229
+
230
+ type SDL_iconv_t = ptr[SDL_iconv_data_t]
231
+
232
+ external function SDL_iconv_open(tocode: cstr, fromcode: cstr) -> SDL_iconv_t
233
+ external function SDL_iconv_close(cd: ptr[SDL_iconv_data_t]) -> int
234
+ external function SDL_iconv(cd: ptr[SDL_iconv_data_t], inbuf: ptr[cstr], inbytesleft: ptr[ptr_uint], outbuf: ptr[ptr[char]], outbytesleft: ptr[ptr_uint]) -> ptr_uint
235
+ external function SDL_iconv_string(tocode: cstr, fromcode: cstr, inbuf: cstr, inbytesleft: ptr_uint) -> ptr[char]?
236
+
237
+ type SDL_FunctionPointer = fn() -> void
238
+
239
+ enum SDL_AssertState: int
240
+ SDL_ASSERTION_RETRY = 0
241
+ SDL_ASSERTION_BREAK = 1
242
+ SDL_ASSERTION_ABORT = 2
243
+ SDL_ASSERTION_IGNORE = 3
244
+ SDL_ASSERTION_ALWAYS_IGNORE = 4
245
+
246
+ struct SDL_AssertData:
247
+ always_ignore: bool
248
+ trigger_count: uint
249
+ condition: cstr
250
+ filename: cstr
251
+ linenum: int
252
+ function_: cstr
253
+ next: const_ptr[SDL_AssertData]
254
+
255
+ external function SDL_ReportAssertion(data: ptr[SDL_AssertData], func: cstr, file: cstr, line: int) -> SDL_AssertState
256
+
257
+ type SDL_AssertionHandler = fn(arg0: const_ptr[SDL_AssertData], arg1: ptr[void]) -> SDL_AssertState
258
+
259
+ external function SDL_SetAssertionHandler(handler: SDL_AssertionHandler?, userdata: ptr[void]) -> void
260
+ external function SDL_GetDefaultAssertionHandler() -> SDL_AssertionHandler
261
+ external function SDL_GetAssertionHandler(puserdata: ptr[ptr[void]]) -> SDL_AssertionHandler
262
+ external function SDL_GetAssertionReport() -> const_ptr[SDL_AssertData]?
263
+ external function SDL_ResetAssertionReport() -> void
264
+
265
+ opaque SDL_AsyncIO = c"SDL_AsyncIO"
266
+
267
+ flags SDL_AsyncIOTaskType: int
268
+ SDL_ASYNCIO_TASK_READ = 0
269
+ SDL_ASYNCIO_TASK_WRITE = 1
270
+ SDL_ASYNCIO_TASK_CLOSE = 2
271
+ flags SDL_AsyncIOResult: int
272
+ SDL_ASYNCIO_COMPLETE = 0
273
+ SDL_ASYNCIO_FAILURE = 1
274
+ SDL_ASYNCIO_CANCELED = 2
275
+
276
+ struct SDL_AsyncIOOutcome:
277
+ asyncio: ptr[SDL_AsyncIO]
278
+ type_: SDL_AsyncIOTaskType
279
+ result: SDL_AsyncIOResult
280
+ buffer: ptr[void]
281
+ offset: ptr_uint
282
+ bytes_requested: ptr_uint
283
+ bytes_transferred: ptr_uint
284
+ userdata: ptr[void]
285
+
286
+ opaque SDL_AsyncIOQueue = c"SDL_AsyncIOQueue"
287
+
288
+ external function SDL_AsyncIOFromFile(file: cstr, mode: cstr) -> ptr[SDL_AsyncIO]?
289
+ external function SDL_GetAsyncIOSize(asyncio: ptr[SDL_AsyncIO]) -> Sint64
290
+ external function SDL_ReadAsyncIO(asyncio: ptr[SDL_AsyncIO], ptr: ptr[void], offset: ptr_uint, size: ptr_uint, queue: ptr[SDL_AsyncIOQueue], userdata: ptr[void]) -> bool
291
+ external function SDL_WriteAsyncIO(asyncio: ptr[SDL_AsyncIO], ptr: ptr[void], offset: ptr_uint, size: ptr_uint, queue: ptr[SDL_AsyncIOQueue], userdata: ptr[void]) -> bool
292
+ external function SDL_CloseAsyncIO(asyncio: ptr[SDL_AsyncIO], flush: bool, queue: ptr[SDL_AsyncIOQueue], userdata: ptr[void]) -> bool
293
+ external function SDL_CreateAsyncIOQueue() -> ptr[SDL_AsyncIOQueue]?
294
+ external function SDL_DestroyAsyncIOQueue(queue: ptr[SDL_AsyncIOQueue]) -> void
295
+ external function SDL_GetAsyncIOResult(queue: ptr[SDL_AsyncIOQueue], outcome: ptr[SDL_AsyncIOOutcome]) -> bool
296
+ external function SDL_WaitAsyncIOResult(queue: ptr[SDL_AsyncIOQueue], outcome: ptr[SDL_AsyncIOOutcome], timeoutMS: int) -> bool
297
+ external function SDL_SignalAsyncIOQueue(queue: ptr[SDL_AsyncIOQueue]) -> void
298
+ external function SDL_LoadFileAsync(file: cstr, queue: ptr[SDL_AsyncIOQueue], userdata: ptr[void]) -> bool
299
+
300
+ type SDL_SpinLock = int
301
+
302
+ external function SDL_TryLockSpinlock(lock: ptr[SDL_SpinLock]) -> bool
303
+ external function SDL_LockSpinlock(lock: ptr[SDL_SpinLock]) -> void
304
+ external function SDL_UnlockSpinlock(lock: ptr[SDL_SpinLock]) -> void
305
+ external function SDL_MemoryBarrierReleaseFunction() -> void
306
+ external function SDL_MemoryBarrierAcquireFunction() -> void
307
+
308
+ struct SDL_AtomicInt:
309
+ value: int
310
+
311
+ external function SDL_CompareAndSwapAtomicInt(a: ptr[SDL_AtomicInt], oldval: int, newval: int) -> bool
312
+ external function SDL_SetAtomicInt(a: ptr[SDL_AtomicInt], v: int) -> int
313
+ external function SDL_GetAtomicInt(a: ptr[SDL_AtomicInt]) -> int
314
+ external function SDL_AddAtomicInt(a: ptr[SDL_AtomicInt], v: int) -> int
315
+
316
+ struct SDL_AtomicU32:
317
+ value: uint
318
+
319
+ external function SDL_CompareAndSwapAtomicU32(a: ptr[SDL_AtomicU32], oldval: uint, newval: uint) -> bool
320
+ external function SDL_SetAtomicU32(a: ptr[SDL_AtomicU32], v: uint) -> Uint32
321
+ external function SDL_GetAtomicU32(a: ptr[SDL_AtomicU32]) -> Uint32
322
+ external function SDL_AddAtomicU32(a: ptr[SDL_AtomicU32], v: int) -> Uint32
323
+ external function SDL_CompareAndSwapAtomicPointer(a: ptr[ptr[void]], oldval: ptr[void], newval: ptr[void]) -> bool
324
+ external function SDL_SetAtomicPointer(a: ptr[ptr[void]], v: ptr[void]) -> ptr[void]
325
+ external function SDL_GetAtomicPointer(a: ptr[ptr[void]]) -> ptr[void]
326
+ external function SDL_SetError(fmt: cstr, ...) -> bool
327
+ external function SDL_SetErrorV(fmt: cstr, ap: va_list) -> bool
328
+ external function SDL_OutOfMemory() -> bool
329
+ external function SDL_GetError() -> cstr
330
+ external function SDL_ClearError() -> bool
331
+
332
+ type SDL_PropertiesID = uint
333
+
334
+ enum SDL_PropertyType: int
335
+ SDL_PROPERTY_TYPE_INVALID = 0
336
+ SDL_PROPERTY_TYPE_POINTER = 1
337
+ SDL_PROPERTY_TYPE_STRING = 2
338
+ SDL_PROPERTY_TYPE_NUMBER = 3
339
+ SDL_PROPERTY_TYPE_FLOAT = 4
340
+ SDL_PROPERTY_TYPE_BOOLEAN = 5
341
+
342
+ external function SDL_GetGlobalProperties() -> SDL_PropertiesID
343
+ external function SDL_CreateProperties() -> SDL_PropertiesID
344
+ external function SDL_CopyProperties(src: uint, dst: uint) -> bool
345
+ external function SDL_LockProperties(props: uint) -> bool
346
+ external function SDL_UnlockProperties(props: uint) -> void
347
+
348
+ type SDL_CleanupPropertyCallback = fn(arg0: ptr[void], arg1: ptr[void]) -> void
349
+
350
+ external function SDL_SetPointerPropertyWithCleanup(props: uint, name: cstr, value: ptr[void]?, cleanup: fn(arg0: ptr[void], arg1: ptr[void]) -> void, userdata: ptr[void]) -> bool
351
+ external function SDL_SetPointerProperty(props: uint, name: cstr, value: ptr[void]?) -> bool
352
+ external function SDL_SetStringProperty(props: uint, name: cstr, value: cstr?) -> bool
353
+ external function SDL_SetNumberProperty(props: uint, name: cstr, value: ptr_int) -> bool
354
+ external function SDL_SetFloatProperty(props: uint, name: cstr, value: float) -> bool
355
+ external function SDL_SetBooleanProperty(props: uint, name: cstr, value: bool) -> bool
356
+ external function SDL_HasProperty(props: uint, name: cstr) -> bool
357
+ external function SDL_GetPropertyType(props: uint, name: cstr) -> SDL_PropertyType
358
+ external function SDL_GetPointerProperty(props: uint, name: cstr, default_value: ptr[void]) -> ptr[void]
359
+ external function SDL_GetStringProperty(props: uint, name: cstr, default_value: cstr) -> cstr
360
+ external function SDL_GetNumberProperty(props: uint, name: cstr, default_value: ptr_int) -> Sint64
361
+ external function SDL_GetFloatProperty(props: uint, name: cstr, default_value: float) -> float
362
+ external function SDL_GetBooleanProperty(props: uint, name: cstr, default_value: bool) -> bool
363
+ external function SDL_ClearProperty(props: uint, name: cstr) -> bool
364
+
365
+ type SDL_EnumeratePropertiesCallback = fn(arg0: ptr[void], arg1: SDL_PropertiesID, arg2: cstr) -> void
366
+
367
+ external function SDL_EnumerateProperties(props: uint, callback: fn(arg0: ptr[void], arg1: SDL_PropertiesID, arg2: cstr) -> void, userdata: ptr[void]) -> bool
368
+ external function SDL_DestroyProperties(props: uint) -> void
369
+
370
+ opaque SDL_Thread = c"SDL_Thread"
371
+
372
+ type SDL_ThreadID = ptr_uint
373
+ type SDL_TLSID = SDL_AtomicInt
374
+
375
+ enum SDL_ThreadPriority: int
376
+ SDL_THREAD_PRIORITY_LOW = 0
377
+ SDL_THREAD_PRIORITY_NORMAL = 1
378
+ SDL_THREAD_PRIORITY_HIGH = 2
379
+ SDL_THREAD_PRIORITY_TIME_CRITICAL = 3
380
+
381
+ enum SDL_ThreadState: int
382
+ SDL_THREAD_UNKNOWN = 0
383
+ SDL_THREAD_ALIVE = 1
384
+ SDL_THREAD_DETACHED = 2
385
+ SDL_THREAD_COMPLETE = 3
386
+
387
+ type SDL_ThreadFunction = fn(arg0: ptr[void]) -> int
388
+
389
+ external function SDL_CreateThreadRuntime(fn_: fn(arg0: ptr[void]) -> int, name: cstr, data: ptr[void], pfnBeginThread: fn() -> void, pfnEndThread: fn() -> void) -> ptr[SDL_Thread]?
390
+ external function SDL_CreateThreadWithPropertiesRuntime(props: uint, pfnBeginThread: fn() -> void, pfnEndThread: fn() -> void) -> ptr[SDL_Thread]?
391
+ external function SDL_GetThreadName(thread: ptr[SDL_Thread]) -> cstr
392
+ external function SDL_GetCurrentThreadID() -> SDL_ThreadID
393
+ external function SDL_GetThreadID(thread: ptr[SDL_Thread]) -> SDL_ThreadID
394
+ external function SDL_SetCurrentThreadPriority(priority: SDL_ThreadPriority) -> bool
395
+ external function SDL_WaitThread(thread: ptr[SDL_Thread], status: ptr[int]?) -> void
396
+ external function SDL_GetThreadState(thread: ptr[SDL_Thread]) -> SDL_ThreadState
397
+ external function SDL_DetachThread(thread: ptr[SDL_Thread]) -> void
398
+ external function SDL_GetTLS(id: ptr[SDL_TLSID]) -> ptr[void]?
399
+
400
+ type SDL_TLSDestructorCallback = fn(arg0: ptr[void]) -> void
401
+
402
+ external function SDL_SetTLS(id: ptr[SDL_TLSID], value: const_ptr[void], destructor: fn(arg0: ptr[void]) -> void) -> bool
403
+ external function SDL_CleanupTLS() -> void
404
+
405
+ opaque SDL_Mutex = c"SDL_Mutex"
406
+
407
+ external function SDL_CreateMutex() -> ptr[SDL_Mutex]?
408
+ external function SDL_LockMutex(mutex: ptr[SDL_Mutex]) -> void
409
+ external function SDL_TryLockMutex(mutex: ptr[SDL_Mutex]) -> bool
410
+ external function SDL_UnlockMutex(mutex: ptr[SDL_Mutex]) -> void
411
+ external function SDL_DestroyMutex(mutex: ptr[SDL_Mutex]) -> void
412
+
413
+ opaque SDL_RWLock = c"SDL_RWLock"
414
+
415
+ external function SDL_CreateRWLock() -> ptr[SDL_RWLock]?
416
+ external function SDL_LockRWLockForReading(rwlock: ptr[SDL_RWLock]) -> void
417
+ external function SDL_LockRWLockForWriting(rwlock: ptr[SDL_RWLock]) -> void
418
+ external function SDL_TryLockRWLockForReading(rwlock: ptr[SDL_RWLock]) -> bool
419
+ external function SDL_TryLockRWLockForWriting(rwlock: ptr[SDL_RWLock]) -> bool
420
+ external function SDL_UnlockRWLock(rwlock: ptr[SDL_RWLock]) -> void
421
+ external function SDL_DestroyRWLock(rwlock: ptr[SDL_RWLock]) -> void
422
+
423
+ opaque SDL_Semaphore = c"SDL_Semaphore"
424
+
425
+ external function SDL_CreateSemaphore(initial_value: uint) -> ptr[SDL_Semaphore]?
426
+ external function SDL_DestroySemaphore(sem: ptr[SDL_Semaphore]) -> void
427
+ external function SDL_WaitSemaphore(sem: ptr[SDL_Semaphore]) -> void
428
+ external function SDL_TryWaitSemaphore(sem: ptr[SDL_Semaphore]) -> bool
429
+ external function SDL_WaitSemaphoreTimeout(sem: ptr[SDL_Semaphore], timeoutMS: int) -> bool
430
+ external function SDL_SignalSemaphore(sem: ptr[SDL_Semaphore]) -> void
431
+ external function SDL_GetSemaphoreValue(sem: ptr[SDL_Semaphore]) -> Uint32
432
+
433
+ opaque SDL_Condition = c"SDL_Condition"
434
+
435
+ external function SDL_CreateCondition() -> ptr[SDL_Condition]?
436
+ external function SDL_DestroyCondition(cond: ptr[SDL_Condition]) -> void
437
+ external function SDL_SignalCondition(cond: ptr[SDL_Condition]) -> void
438
+ external function SDL_BroadcastCondition(cond: ptr[SDL_Condition]) -> void
439
+ external function SDL_WaitCondition(cond: ptr[SDL_Condition], mutex: ptr[SDL_Mutex]) -> void
440
+ external function SDL_WaitConditionTimeout(cond: ptr[SDL_Condition], mutex: ptr[SDL_Mutex], timeoutMS: int) -> bool
441
+
442
+ enum SDL_InitStatus: int
443
+ SDL_INIT_STATUS_UNINITIALIZED = 0
444
+ SDL_INIT_STATUS_INITIALIZING = 1
445
+ SDL_INIT_STATUS_INITIALIZED = 2
446
+ SDL_INIT_STATUS_UNINITIALIZING = 3
447
+
448
+ struct SDL_InitState:
449
+ status: SDL_AtomicInt
450
+ thread: ptr_uint
451
+ reserved: ptr[void]
452
+
453
+ external function SDL_ShouldInit(state: ptr[SDL_InitState]) -> bool
454
+ external function SDL_ShouldQuit(state: ptr[SDL_InitState]) -> bool
455
+ external function SDL_SetInitialized(state: ptr[SDL_InitState], initialized: bool) -> void
456
+
457
+ enum SDL_IOStatus: int
458
+ SDL_IO_STATUS_READY = 0
459
+ SDL_IO_STATUS_ERROR = 1
460
+ SDL_IO_STATUS_EOF = 2
461
+ SDL_IO_STATUS_NOT_READY = 3
462
+ SDL_IO_STATUS_READONLY = 4
463
+ SDL_IO_STATUS_WRITEONLY = 5
464
+
465
+ flags SDL_IOWhence: int
466
+ SDL_IO_SEEK_SET = 0
467
+ SDL_IO_SEEK_CUR = 1
468
+ SDL_IO_SEEK_END = 2
469
+
470
+ struct SDL_IOStreamInterface:
471
+ version: uint
472
+ size: fn(arg0: ptr[void]) -> Sint64
473
+ seek: fn(arg0: ptr[void], arg1: Sint64, arg2: SDL_IOWhence) -> Sint64
474
+ read: fn(arg0: ptr[void], arg1: ptr[void], arg2: ptr_uint, arg3: ptr[SDL_IOStatus]) -> ptr_uint
475
+ write: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: ptr_uint, arg3: ptr[SDL_IOStatus]) -> ptr_uint
476
+ flush: fn(arg0: ptr[void], arg1: ptr[SDL_IOStatus]) -> bool
477
+ close: fn(arg0: ptr[void]) -> bool
478
+
479
+ opaque SDL_IOStream = c"SDL_IOStream"
480
+
481
+ external function SDL_IOFromFile(file: cstr, mode: cstr) -> ptr[SDL_IOStream]?
482
+ external function SDL_IOFromMem(mem: ptr[void], size: ptr_uint) -> ptr[SDL_IOStream]?
483
+ external function SDL_IOFromConstMem(mem: const_ptr[void], size: ptr_uint) -> ptr[SDL_IOStream]?
484
+ external function SDL_IOFromDynamicMem() -> ptr[SDL_IOStream]?
485
+ external function SDL_OpenIO(iface: const_ptr[SDL_IOStreamInterface], userdata: ptr[void]) -> ptr[SDL_IOStream]?
486
+ external function SDL_CloseIO(context: ptr[SDL_IOStream]) -> bool
487
+ external function SDL_GetIOProperties(context: ptr[SDL_IOStream]) -> SDL_PropertiesID
488
+ external function SDL_GetIOStatus(context: ptr[SDL_IOStream]) -> SDL_IOStatus
489
+ external function SDL_GetIOSize(context: ptr[SDL_IOStream]) -> Sint64
490
+ external function SDL_SeekIO(context: ptr[SDL_IOStream], offset: ptr_int, whence: SDL_IOWhence) -> Sint64
491
+ external function SDL_TellIO(context: ptr[SDL_IOStream]) -> Sint64
492
+ external function SDL_ReadIO(context: ptr[SDL_IOStream], ptr: ptr[void], size: ptr_uint) -> ptr_uint
493
+ external function SDL_WriteIO(context: ptr[SDL_IOStream], ptr: const_ptr[void], size: ptr_uint) -> ptr_uint
494
+ external function SDL_IOprintf(context: ptr[SDL_IOStream], fmt: cstr, ...) -> ptr_uint
495
+ external function SDL_IOvprintf(context: ptr[SDL_IOStream], fmt: cstr, ap: va_list) -> ptr_uint
496
+ external function SDL_FlushIO(context: ptr[SDL_IOStream]) -> bool
497
+ external function SDL_LoadFile_IO(src: ptr[SDL_IOStream], datasize: ptr[ptr_uint]?, closeio: bool) -> ptr[void]?
498
+ external function SDL_LoadFile(file: cstr, datasize: ptr[ptr_uint]) -> ptr[void]?
499
+ external function SDL_SaveFile_IO(src: ptr[SDL_IOStream], data: const_ptr[void]?, datasize: ptr_uint, closeio: bool) -> bool
500
+ external function SDL_SaveFile(file: cstr, data: const_ptr[void]?, datasize: ptr_uint) -> bool
501
+ external function SDL_ReadU8(src: ptr[SDL_IOStream], value: ptr[Uint8]) -> bool
502
+ external function SDL_ReadS8(src: ptr[SDL_IOStream], value: ptr[Sint8]) -> bool
503
+ external function SDL_ReadU16LE(src: ptr[SDL_IOStream], value: ptr[Uint16]) -> bool
504
+ external function SDL_ReadS16LE(src: ptr[SDL_IOStream], value: ptr[Sint16]) -> bool
505
+ external function SDL_ReadU16BE(src: ptr[SDL_IOStream], value: ptr[Uint16]) -> bool
506
+ external function SDL_ReadS16BE(src: ptr[SDL_IOStream], value: ptr[Sint16]) -> bool
507
+ external function SDL_ReadU32LE(src: ptr[SDL_IOStream], value: ptr[Uint32]) -> bool
508
+ external function SDL_ReadS32LE(src: ptr[SDL_IOStream], value: ptr[Sint32]) -> bool
509
+ external function SDL_ReadU32BE(src: ptr[SDL_IOStream], value: ptr[Uint32]) -> bool
510
+ external function SDL_ReadS32BE(src: ptr[SDL_IOStream], value: ptr[Sint32]) -> bool
511
+ external function SDL_ReadU64LE(src: ptr[SDL_IOStream], value: ptr[Uint64]) -> bool
512
+ external function SDL_ReadS64LE(src: ptr[SDL_IOStream], value: ptr[Sint64]) -> bool
513
+ external function SDL_ReadU64BE(src: ptr[SDL_IOStream], value: ptr[Uint64]) -> bool
514
+ external function SDL_ReadS64BE(src: ptr[SDL_IOStream], value: ptr[Sint64]) -> bool
515
+ external function SDL_WriteU8(dst: ptr[SDL_IOStream], value: ubyte) -> bool
516
+ external function SDL_WriteS8(dst: ptr[SDL_IOStream], value: byte) -> bool
517
+ external function SDL_WriteU16LE(dst: ptr[SDL_IOStream], value: ushort) -> bool
518
+ external function SDL_WriteS16LE(dst: ptr[SDL_IOStream], value: short) -> bool
519
+ external function SDL_WriteU16BE(dst: ptr[SDL_IOStream], value: ushort) -> bool
520
+ external function SDL_WriteS16BE(dst: ptr[SDL_IOStream], value: short) -> bool
521
+ external function SDL_WriteU32LE(dst: ptr[SDL_IOStream], value: uint) -> bool
522
+ external function SDL_WriteS32LE(dst: ptr[SDL_IOStream], value: int) -> bool
523
+ external function SDL_WriteU32BE(dst: ptr[SDL_IOStream], value: uint) -> bool
524
+ external function SDL_WriteS32BE(dst: ptr[SDL_IOStream], value: int) -> bool
525
+ external function SDL_WriteU64LE(dst: ptr[SDL_IOStream], value: ptr_uint) -> bool
526
+ external function SDL_WriteS64LE(dst: ptr[SDL_IOStream], value: ptr_int) -> bool
527
+ external function SDL_WriteU64BE(dst: ptr[SDL_IOStream], value: ptr_uint) -> bool
528
+ external function SDL_WriteS64BE(dst: ptr[SDL_IOStream], value: ptr_int) -> bool
529
+
530
+ enum SDL_AudioFormat: int
531
+ SDL_AUDIO_UNKNOWN = 0
532
+ SDL_AUDIO_U8 = 1
533
+ SDL_AUDIO_S8 = 2
534
+ SDL_AUDIO_S16LE = 3
535
+ SDL_AUDIO_S16BE = 4
536
+ SDL_AUDIO_S32LE = 5
537
+ SDL_AUDIO_S32BE = 6
538
+ SDL_AUDIO_F32LE = 7
539
+ SDL_AUDIO_F32BE = 8
540
+ SDL_AUDIO_S16 = 32784
541
+ SDL_AUDIO_S32 = 32800
542
+ SDL_AUDIO_F32 = 33056
543
+
544
+ type SDL_AudioDeviceID = uint
545
+
546
+ struct SDL_AudioSpec:
547
+ format: SDL_AudioFormat
548
+ channels: int
549
+ freq: int
550
+
551
+ opaque SDL_AudioStream = c"SDL_AudioStream"
552
+
553
+ external function SDL_GetNumAudioDrivers() -> int
554
+ external function SDL_GetAudioDriver(index: int) -> cstr?
555
+ external function SDL_GetCurrentAudioDriver() -> cstr?
556
+ external function SDL_GetAudioPlaybackDevices(count: ptr[int]?) -> ptr[SDL_AudioDeviceID]?
557
+ external function SDL_GetAudioRecordingDevices(count: ptr[int]?) -> ptr[SDL_AudioDeviceID]?
558
+ external function SDL_GetAudioDeviceName(devid: uint) -> cstr?
559
+ external function SDL_GetAudioDeviceFormat(devid: uint, spec: ptr[SDL_AudioSpec], sample_frames: ptr[int]) -> bool
560
+ external function SDL_GetAudioDeviceChannelMap(devid: uint, count: ptr[int]) -> ptr[int]
561
+ external function SDL_OpenAudioDevice(devid: uint, spec: const_ptr[SDL_AudioSpec]?) -> SDL_AudioDeviceID
562
+ external function SDL_IsAudioDevicePhysical(devid: uint) -> bool
563
+ external function SDL_IsAudioDevicePlayback(devid: uint) -> bool
564
+ external function SDL_PauseAudioDevice(devid: uint) -> bool
565
+ external function SDL_ResumeAudioDevice(devid: uint) -> bool
566
+ external function SDL_AudioDevicePaused(devid: uint) -> bool
567
+ external function SDL_GetAudioDeviceGain(devid: uint) -> float
568
+ external function SDL_SetAudioDeviceGain(devid: uint, gain: float) -> bool
569
+ external function SDL_CloseAudioDevice(devid: uint) -> void
570
+ external function SDL_BindAudioStreams(devid: uint, streams: const_ptr[ptr[SDL_AudioStream]], num_streams: int) -> bool
571
+ external function SDL_BindAudioStream(devid: uint, stream: ptr[SDL_AudioStream]) -> bool
572
+ external function SDL_UnbindAudioStreams(streams: const_ptr[ptr[SDL_AudioStream]], num_streams: int) -> void
573
+ external function SDL_UnbindAudioStream(stream: ptr[SDL_AudioStream]) -> void
574
+ external function SDL_GetAudioStreamDevice(stream: ptr[SDL_AudioStream]) -> SDL_AudioDeviceID
575
+ external function SDL_CreateAudioStream(src_spec: const_ptr[SDL_AudioSpec], dst_spec: const_ptr[SDL_AudioSpec]?) -> ptr[SDL_AudioStream]?
576
+ external function SDL_GetAudioStreamProperties(stream: ptr[SDL_AudioStream]) -> SDL_PropertiesID
577
+ external function SDL_GetAudioStreamFormat(stream: ptr[SDL_AudioStream], src_spec: ptr[SDL_AudioSpec], dst_spec: ptr[SDL_AudioSpec]) -> bool
578
+ external function SDL_SetAudioStreamFormat(stream: ptr[SDL_AudioStream], src_spec: const_ptr[SDL_AudioSpec], dst_spec: const_ptr[SDL_AudioSpec]) -> bool
579
+ external function SDL_GetAudioStreamFrequencyRatio(stream: ptr[SDL_AudioStream]) -> float
580
+ external function SDL_SetAudioStreamFrequencyRatio(stream: ptr[SDL_AudioStream], ratio: float) -> bool
581
+ external function SDL_GetAudioStreamGain(stream: ptr[SDL_AudioStream]) -> float
582
+ external function SDL_SetAudioStreamGain(stream: ptr[SDL_AudioStream], gain: float) -> bool
583
+ external function SDL_GetAudioStreamInputChannelMap(stream: ptr[SDL_AudioStream], count: ptr[int]) -> ptr[int]
584
+ external function SDL_GetAudioStreamOutputChannelMap(stream: ptr[SDL_AudioStream], count: ptr[int]) -> ptr[int]
585
+ external function SDL_SetAudioStreamInputChannelMap(stream: ptr[SDL_AudioStream], chmap: const_ptr[int], count: int) -> bool
586
+ external function SDL_SetAudioStreamOutputChannelMap(stream: ptr[SDL_AudioStream], chmap: const_ptr[int], count: int) -> bool
587
+ external function SDL_PutAudioStreamData(stream: ptr[SDL_AudioStream], buf: const_ptr[void], len: int) -> bool
588
+
589
+ type SDL_AudioStreamDataCompleteCallback = fn(arg0: ptr[void], arg1: const_ptr[void], arg2: int) -> void
590
+
591
+ external function SDL_PutAudioStreamDataNoCopy(stream: ptr[SDL_AudioStream], buf: const_ptr[void], len: int, callback: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: int) -> void, userdata: ptr[void]) -> bool
592
+ external function SDL_PutAudioStreamPlanarData(stream: ptr[SDL_AudioStream], channel_buffers: const_ptr[const_ptr[void]?], num_channels: int, num_samples: int) -> bool
593
+ external function SDL_GetAudioStreamData(stream: ptr[SDL_AudioStream], buf: ptr[void], len: int) -> int
594
+ external function SDL_GetAudioStreamAvailable(stream: ptr[SDL_AudioStream]) -> int
595
+ external function SDL_GetAudioStreamQueued(stream: ptr[SDL_AudioStream]) -> int
596
+ external function SDL_FlushAudioStream(stream: ptr[SDL_AudioStream]) -> bool
597
+ external function SDL_ClearAudioStream(stream: ptr[SDL_AudioStream]) -> bool
598
+ external function SDL_PauseAudioStreamDevice(stream: ptr[SDL_AudioStream]) -> bool
599
+ external function SDL_ResumeAudioStreamDevice(stream: ptr[SDL_AudioStream]) -> bool
600
+ external function SDL_AudioStreamDevicePaused(stream: ptr[SDL_AudioStream]) -> bool
601
+ external function SDL_LockAudioStream(stream: ptr[SDL_AudioStream]) -> bool
602
+ external function SDL_UnlockAudioStream(stream: ptr[SDL_AudioStream]) -> bool
603
+
604
+ type SDL_AudioStreamCallback = fn(arg0: ptr[void], arg1: ptr[SDL_AudioStream], arg2: int, arg3: int) -> void
605
+
606
+ external function SDL_SetAudioStreamGetCallback(stream: ptr[SDL_AudioStream], callback: fn(arg0: ptr[void], arg1: ptr[SDL_AudioStream], arg2: int, arg3: int) -> void, userdata: ptr[void]) -> bool
607
+ external function SDL_SetAudioStreamPutCallback(stream: ptr[SDL_AudioStream], callback: fn(arg0: ptr[void], arg1: ptr[SDL_AudioStream], arg2: int, arg3: int) -> void, userdata: ptr[void]) -> bool
608
+ external function SDL_DestroyAudioStream(stream: ptr[SDL_AudioStream]) -> void
609
+ external function SDL_OpenAudioDeviceStream(devid: uint, spec: const_ptr[SDL_AudioSpec], callback: fn(arg0: ptr[void], arg1: ptr[SDL_AudioStream], arg2: int, arg3: int) -> void, userdata: ptr[void]?) -> ptr[SDL_AudioStream]?
610
+
611
+ type SDL_AudioPostmixCallback = fn(arg0: ptr[void], arg1: const_ptr[SDL_AudioSpec], arg2: ptr[float], arg3: int) -> void
612
+
613
+ external function SDL_SetAudioPostmixCallback(devid: uint, callback: fn(arg0: ptr[void], arg1: const_ptr[SDL_AudioSpec], arg2: ptr[float], arg3: int) -> void, userdata: ptr[void]) -> bool
614
+ external function SDL_LoadWAV_IO(src: ptr[SDL_IOStream], closeio: bool, spec: ptr[SDL_AudioSpec], audio_buf: ptr[ptr[Uint8]], audio_len: ptr[Uint32]) -> bool
615
+ external function SDL_LoadWAV(path: cstr, spec: ptr[SDL_AudioSpec], audio_buf: ptr[ptr[Uint8]], audio_len: ptr[Uint32]) -> bool
616
+ external function SDL_MixAudio(dst: ptr[Uint8], src: const_ptr[Uint8], format: SDL_AudioFormat, len: uint, volume: float) -> bool
617
+ external function SDL_ConvertAudioSamples(src_spec: const_ptr[SDL_AudioSpec], src_data: const_ptr[Uint8], src_len: int, dst_spec: const_ptr[SDL_AudioSpec], dst_data: ptr[ptr[Uint8]], dst_len: ptr[int]) -> bool
618
+ external function SDL_GetAudioFormatName(format: SDL_AudioFormat) -> cstr
619
+ external function SDL_GetSilenceValueForFormat(format: SDL_AudioFormat) -> int
620
+
621
+ type SDL_BlendMode = uint
622
+
623
+ enum SDL_BlendOperation: int
624
+ SDL_BLENDOPERATION_ADD = 1
625
+ SDL_BLENDOPERATION_SUBTRACT = 2
626
+ SDL_BLENDOPERATION_REV_SUBTRACT = 3
627
+ SDL_BLENDOPERATION_MINIMUM = 4
628
+ SDL_BLENDOPERATION_MAXIMUM = 5
629
+
630
+ enum SDL_BlendFactor: int
631
+ SDL_BLENDFACTOR_ZERO = 1
632
+ SDL_BLENDFACTOR_ONE = 2
633
+ SDL_BLENDFACTOR_SRC_COLOR = 3
634
+ SDL_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 4
635
+ SDL_BLENDFACTOR_SRC_ALPHA = 5
636
+ SDL_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 6
637
+ SDL_BLENDFACTOR_DST_COLOR = 7
638
+ SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 8
639
+ SDL_BLENDFACTOR_DST_ALPHA = 9
640
+ SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 10
641
+
642
+ external function SDL_ComposeCustomBlendMode(srcColorFactor: SDL_BlendFactor, dstColorFactor: SDL_BlendFactor, colorOperation: SDL_BlendOperation, srcAlphaFactor: SDL_BlendFactor, dstAlphaFactor: SDL_BlendFactor, alphaOperation: SDL_BlendOperation) -> SDL_BlendMode
643
+
644
+ enum SDL_PixelType: int
645
+ SDL_PIXELTYPE_UNKNOWN = 0
646
+ SDL_PIXELTYPE_INDEX1 = 1
647
+ SDL_PIXELTYPE_INDEX4 = 2
648
+ SDL_PIXELTYPE_INDEX8 = 3
649
+ SDL_PIXELTYPE_PACKED8 = 4
650
+ SDL_PIXELTYPE_PACKED16 = 5
651
+ SDL_PIXELTYPE_PACKED32 = 6
652
+ SDL_PIXELTYPE_ARRAYU8 = 7
653
+ SDL_PIXELTYPE_ARRAYU16 = 8
654
+ SDL_PIXELTYPE_ARRAYU32 = 9
655
+ SDL_PIXELTYPE_ARRAYF16 = 10
656
+ SDL_PIXELTYPE_ARRAYF32 = 11
657
+ SDL_PIXELTYPE_INDEX2 = 12
658
+
659
+ flags SDL_BitmapOrder: int
660
+ SDL_BITMAPORDER_NONE = 0
661
+ SDL_BITMAPORDER_4321 = 1
662
+ SDL_BITMAPORDER_1234 = 2
663
+
664
+ enum SDL_PackedOrder: int
665
+ SDL_PACKEDORDER_NONE = 0
666
+ SDL_PACKEDORDER_XRGB = 1
667
+ SDL_PACKEDORDER_RGBX = 2
668
+ SDL_PACKEDORDER_ARGB = 3
669
+ SDL_PACKEDORDER_RGBA = 4
670
+ SDL_PACKEDORDER_XBGR = 5
671
+ SDL_PACKEDORDER_BGRX = 6
672
+ SDL_PACKEDORDER_ABGR = 7
673
+ SDL_PACKEDORDER_BGRA = 8
674
+
675
+ enum SDL_ArrayOrder: int
676
+ SDL_ARRAYORDER_NONE = 0
677
+ SDL_ARRAYORDER_RGB = 1
678
+ SDL_ARRAYORDER_RGBA = 2
679
+ SDL_ARRAYORDER_ARGB = 3
680
+ SDL_ARRAYORDER_BGR = 4
681
+ SDL_ARRAYORDER_BGRA = 5
682
+ SDL_ARRAYORDER_ABGR = 6
683
+
684
+ enum SDL_PackedLayout: int
685
+ SDL_PACKEDLAYOUT_NONE = 0
686
+ SDL_PACKEDLAYOUT_332 = 1
687
+ SDL_PACKEDLAYOUT_4444 = 2
688
+ SDL_PACKEDLAYOUT_1555 = 3
689
+ SDL_PACKEDLAYOUT_5551 = 4
690
+ SDL_PACKEDLAYOUT_565 = 5
691
+ SDL_PACKEDLAYOUT_8888 = 6
692
+ SDL_PACKEDLAYOUT_2101010 = 7
693
+ SDL_PACKEDLAYOUT_1010102 = 8
694
+
695
+ enum SDL_PixelFormat: int
696
+ SDL_PIXELFORMAT_UNKNOWN = 0
697
+ SDL_PIXELFORMAT_INDEX1LSB = 1
698
+ SDL_PIXELFORMAT_INDEX1MSB = 2
699
+ SDL_PIXELFORMAT_INDEX2LSB = 3
700
+ SDL_PIXELFORMAT_INDEX2MSB = 4
701
+ SDL_PIXELFORMAT_INDEX4LSB = 5
702
+ SDL_PIXELFORMAT_INDEX4MSB = 6
703
+ SDL_PIXELFORMAT_INDEX8 = 7
704
+ SDL_PIXELFORMAT_RGB332 = 8
705
+ SDL_PIXELFORMAT_XRGB4444 = 9
706
+ SDL_PIXELFORMAT_XBGR4444 = 10
707
+ SDL_PIXELFORMAT_XRGB1555 = 11
708
+ SDL_PIXELFORMAT_XBGR1555 = 12
709
+ SDL_PIXELFORMAT_ARGB4444 = 13
710
+ SDL_PIXELFORMAT_RGBA4444 = 14
711
+ SDL_PIXELFORMAT_ABGR4444 = 15
712
+ SDL_PIXELFORMAT_BGRA4444 = 16
713
+ SDL_PIXELFORMAT_ARGB1555 = 17
714
+ SDL_PIXELFORMAT_RGBA5551 = 18
715
+ SDL_PIXELFORMAT_ABGR1555 = 19
716
+ SDL_PIXELFORMAT_BGRA5551 = 20
717
+ SDL_PIXELFORMAT_RGB565 = 21
718
+ SDL_PIXELFORMAT_BGR565 = 22
719
+ SDL_PIXELFORMAT_RGB24 = 23
720
+ SDL_PIXELFORMAT_BGR24 = 24
721
+ SDL_PIXELFORMAT_XRGB8888 = 25
722
+ SDL_PIXELFORMAT_RGBX8888 = 26
723
+ SDL_PIXELFORMAT_XBGR8888 = 27
724
+ SDL_PIXELFORMAT_BGRX8888 = 28
725
+ SDL_PIXELFORMAT_ARGB8888 = 29
726
+ SDL_PIXELFORMAT_RGBA8888 = 30
727
+ SDL_PIXELFORMAT_ABGR8888 = 31
728
+ SDL_PIXELFORMAT_BGRA8888 = 32
729
+ SDL_PIXELFORMAT_XRGB2101010 = 33
730
+ SDL_PIXELFORMAT_XBGR2101010 = 34
731
+ SDL_PIXELFORMAT_ARGB2101010 = 35
732
+ SDL_PIXELFORMAT_ABGR2101010 = 36
733
+ SDL_PIXELFORMAT_RGB48 = 37
734
+ SDL_PIXELFORMAT_BGR48 = 38
735
+ SDL_PIXELFORMAT_RGBA64 = 39
736
+ SDL_PIXELFORMAT_ARGB64 = 40
737
+ SDL_PIXELFORMAT_BGRA64 = 41
738
+ SDL_PIXELFORMAT_ABGR64 = 42
739
+ SDL_PIXELFORMAT_RGB48_FLOAT = 43
740
+ SDL_PIXELFORMAT_BGR48_FLOAT = 44
741
+ SDL_PIXELFORMAT_RGBA64_FLOAT = 45
742
+ SDL_PIXELFORMAT_ARGB64_FLOAT = 46
743
+ SDL_PIXELFORMAT_BGRA64_FLOAT = 47
744
+ SDL_PIXELFORMAT_ABGR64_FLOAT = 48
745
+ SDL_PIXELFORMAT_RGB96_FLOAT = 49
746
+ SDL_PIXELFORMAT_BGR96_FLOAT = 50
747
+ SDL_PIXELFORMAT_RGBA128_FLOAT = 51
748
+ SDL_PIXELFORMAT_ARGB128_FLOAT = 52
749
+ SDL_PIXELFORMAT_BGRA128_FLOAT = 53
750
+ SDL_PIXELFORMAT_ABGR128_FLOAT = 54
751
+ SDL_PIXELFORMAT_YV12 = 55
752
+ SDL_PIXELFORMAT_IYUV = 56
753
+ SDL_PIXELFORMAT_YUY2 = 57
754
+ SDL_PIXELFORMAT_UYVY = 58
755
+ SDL_PIXELFORMAT_YVYU = 59
756
+ SDL_PIXELFORMAT_NV12 = 60
757
+ SDL_PIXELFORMAT_NV21 = 61
758
+ SDL_PIXELFORMAT_P010 = 62
759
+ SDL_PIXELFORMAT_EXTERNAL_OES = 63
760
+ SDL_PIXELFORMAT_MJPG = 64
761
+ SDL_PIXELFORMAT_RGBA32 = 376840196
762
+ SDL_PIXELFORMAT_ARGB32 = 377888772
763
+ SDL_PIXELFORMAT_BGRA32 = 372645892
764
+ SDL_PIXELFORMAT_ABGR32 = 373694468
765
+ SDL_PIXELFORMAT_RGBX32 = 374740996
766
+ SDL_PIXELFORMAT_XRGB32 = 375789572
767
+ SDL_PIXELFORMAT_BGRX32 = 370546692
768
+ SDL_PIXELFORMAT_XBGR32 = 371595268
769
+
770
+ flags SDL_ColorType: int
771
+ SDL_COLOR_TYPE_UNKNOWN = 0
772
+ SDL_COLOR_TYPE_RGB = 1
773
+ SDL_COLOR_TYPE_YCBCR = 2
774
+ flags SDL_ColorRange: int
775
+ SDL_COLOR_RANGE_UNKNOWN = 0
776
+ SDL_COLOR_RANGE_LIMITED = 1
777
+ SDL_COLOR_RANGE_FULL = 2
778
+
779
+ enum SDL_ColorPrimaries: int
780
+ SDL_COLOR_PRIMARIES_UNKNOWN = 0
781
+ SDL_COLOR_PRIMARIES_BT709 = 1
782
+ SDL_COLOR_PRIMARIES_UNSPECIFIED = 2
783
+ SDL_COLOR_PRIMARIES_BT470M = 4
784
+ SDL_COLOR_PRIMARIES_BT470BG = 5
785
+ SDL_COLOR_PRIMARIES_BT601 = 6
786
+ SDL_COLOR_PRIMARIES_SMPTE240 = 7
787
+ SDL_COLOR_PRIMARIES_GENERIC_FILM = 8
788
+ SDL_COLOR_PRIMARIES_BT2020 = 9
789
+ SDL_COLOR_PRIMARIES_XYZ = 10
790
+ SDL_COLOR_PRIMARIES_SMPTE431 = 11
791
+ SDL_COLOR_PRIMARIES_SMPTE432 = 12
792
+ SDL_COLOR_PRIMARIES_EBU3213 = 22
793
+ SDL_COLOR_PRIMARIES_CUSTOM = 31
794
+
795
+ enum SDL_TransferCharacteristics: int
796
+ SDL_TRANSFER_CHARACTERISTICS_UNKNOWN = 0
797
+ SDL_TRANSFER_CHARACTERISTICS_BT709 = 1
798
+ SDL_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2
799
+ SDL_TRANSFER_CHARACTERISTICS_GAMMA22 = 4
800
+ SDL_TRANSFER_CHARACTERISTICS_GAMMA28 = 5
801
+ SDL_TRANSFER_CHARACTERISTICS_BT601 = 6
802
+ SDL_TRANSFER_CHARACTERISTICS_SMPTE240 = 7
803
+ SDL_TRANSFER_CHARACTERISTICS_LINEAR = 8
804
+ SDL_TRANSFER_CHARACTERISTICS_LOG100 = 9
805
+ SDL_TRANSFER_CHARACTERISTICS_LOG100_SQRT10 = 10
806
+ SDL_TRANSFER_CHARACTERISTICS_IEC61966 = 11
807
+ SDL_TRANSFER_CHARACTERISTICS_BT1361 = 12
808
+ SDL_TRANSFER_CHARACTERISTICS_SRGB = 13
809
+ SDL_TRANSFER_CHARACTERISTICS_BT2020_10BIT = 14
810
+ SDL_TRANSFER_CHARACTERISTICS_BT2020_12BIT = 15
811
+ SDL_TRANSFER_CHARACTERISTICS_PQ = 16
812
+ SDL_TRANSFER_CHARACTERISTICS_SMPTE428 = 17
813
+ SDL_TRANSFER_CHARACTERISTICS_HLG = 18
814
+ SDL_TRANSFER_CHARACTERISTICS_CUSTOM = 31
815
+
816
+ enum SDL_MatrixCoefficients: int
817
+ SDL_MATRIX_COEFFICIENTS_IDENTITY = 0
818
+ SDL_MATRIX_COEFFICIENTS_BT709 = 1
819
+ SDL_MATRIX_COEFFICIENTS_UNSPECIFIED = 2
820
+ SDL_MATRIX_COEFFICIENTS_FCC = 4
821
+ SDL_MATRIX_COEFFICIENTS_BT470BG = 5
822
+ SDL_MATRIX_COEFFICIENTS_BT601 = 6
823
+ SDL_MATRIX_COEFFICIENTS_SMPTE240 = 7
824
+ SDL_MATRIX_COEFFICIENTS_YCGCO = 8
825
+ SDL_MATRIX_COEFFICIENTS_BT2020_NCL = 9
826
+ SDL_MATRIX_COEFFICIENTS_BT2020_CL = 10
827
+ SDL_MATRIX_COEFFICIENTS_SMPTE2085 = 11
828
+ SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL = 12
829
+ SDL_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL = 13
830
+ SDL_MATRIX_COEFFICIENTS_ICTCP = 14
831
+ SDL_MATRIX_COEFFICIENTS_CUSTOM = 31
832
+
833
+ enum SDL_ChromaLocation: int
834
+ SDL_CHROMA_LOCATION_NONE = 0
835
+ SDL_CHROMA_LOCATION_LEFT = 1
836
+ SDL_CHROMA_LOCATION_CENTER = 2
837
+ SDL_CHROMA_LOCATION_TOPLEFT = 3
838
+
839
+ enum SDL_Colorspace: int
840
+ SDL_COLORSPACE_UNKNOWN = 0
841
+ SDL_COLORSPACE_SRGB = 1
842
+ SDL_COLORSPACE_SRGB_LINEAR = 2
843
+ SDL_COLORSPACE_HDR10 = 3
844
+ SDL_COLORSPACE_JPEG = 4
845
+ SDL_COLORSPACE_BT601_LIMITED = 5
846
+ SDL_COLORSPACE_BT601_FULL = 6
847
+ SDL_COLORSPACE_BT709_LIMITED = 7
848
+ SDL_COLORSPACE_BT709_FULL = 8
849
+ SDL_COLORSPACE_BT2020_LIMITED = 9
850
+ SDL_COLORSPACE_BT2020_FULL = 10
851
+ SDL_COLORSPACE_RGB_DEFAULT = 301991328
852
+ SDL_COLORSPACE_YUV_DEFAULT = 554703046
853
+
854
+ struct SDL_Color:
855
+ r: ubyte
856
+ g: ubyte
857
+ b: ubyte
858
+ a: ubyte
859
+
860
+ struct SDL_FColor:
861
+ r: float
862
+ g: float
863
+ b: float
864
+ a: float
865
+
866
+ struct SDL_Palette:
867
+ ncolors: int
868
+ colors: ptr[SDL_Color]
869
+ version: uint
870
+ refcount: int
871
+
872
+ struct SDL_PixelFormatDetails:
873
+ format: SDL_PixelFormat
874
+ bits_per_pixel: ubyte
875
+ bytes_per_pixel: ubyte
876
+ padding: array[Uint8, 2]
877
+ Rmask: uint
878
+ Gmask: uint
879
+ Bmask: uint
880
+ Amask: uint
881
+ Rbits: ubyte
882
+ Gbits: ubyte
883
+ Bbits: ubyte
884
+ Abits: ubyte
885
+ Rshift: ubyte
886
+ Gshift: ubyte
887
+ Bshift: ubyte
888
+ Ashift: ubyte
889
+
890
+ external function SDL_GetPixelFormatName(format: SDL_PixelFormat) -> cstr
891
+ external function SDL_GetMasksForPixelFormat(format: SDL_PixelFormat, bpp: ptr[int], Rmask: ptr[Uint32], Gmask: ptr[Uint32], Bmask: ptr[Uint32], Amask: ptr[Uint32]) -> bool
892
+ external function SDL_GetPixelFormatForMasks(bpp: int, Rmask: uint, Gmask: uint, Bmask: uint, Amask: uint) -> SDL_PixelFormat
893
+ external function SDL_GetPixelFormatDetails(format: SDL_PixelFormat) -> const_ptr[SDL_PixelFormatDetails]?
894
+ external function SDL_CreatePalette(ncolors: int) -> ptr[SDL_Palette]?
895
+ external function SDL_SetPaletteColors(palette: ptr[SDL_Palette], colors: const_ptr[SDL_Color], firstcolor: int, ncolors: int) -> bool
896
+ external function SDL_DestroyPalette(palette: ptr[SDL_Palette]) -> void
897
+ external function SDL_MapRGB(format: const_ptr[SDL_PixelFormatDetails], palette: const_ptr[SDL_Palette]?, r: ubyte, g: ubyte, b: ubyte) -> Uint32
898
+ external function SDL_MapRGBA(format: const_ptr[SDL_PixelFormatDetails], palette: const_ptr[SDL_Palette]?, r: ubyte, g: ubyte, b: ubyte, a: ubyte) -> Uint32
899
+ external function SDL_GetRGB(pixelvalue: uint, format: const_ptr[SDL_PixelFormatDetails], palette: const_ptr[SDL_Palette]?, r: ptr[Uint8]?, g: ptr[Uint8]?, b: ptr[Uint8]?) -> void
900
+ external function SDL_GetRGBA(pixelvalue: uint, format: const_ptr[SDL_PixelFormatDetails], palette: const_ptr[SDL_Palette]?, r: ptr[Uint8]?, g: ptr[Uint8]?, b: ptr[Uint8]?, a: ptr[Uint8]?) -> void
901
+
902
+ struct SDL_Point:
903
+ x: int
904
+ y: int
905
+
906
+ struct SDL_FPoint:
907
+ x: float
908
+ y: float
909
+
910
+ struct SDL_Rect:
911
+ x: int
912
+ y: int
913
+ w: int
914
+ h: int
915
+
916
+ struct SDL_FRect:
917
+ x: float
918
+ y: float
919
+ w: float
920
+ h: float
921
+
922
+ external function SDL_HasRectIntersection(A: const_ptr[SDL_Rect], B: const_ptr[SDL_Rect]) -> bool
923
+ external function SDL_GetRectIntersection(A: const_ptr[SDL_Rect], B: const_ptr[SDL_Rect], result: ptr[SDL_Rect]) -> bool
924
+ external function SDL_GetRectUnion(A: const_ptr[SDL_Rect], B: const_ptr[SDL_Rect], result: ptr[SDL_Rect]) -> bool
925
+ external function SDL_GetRectEnclosingPoints(points: const_ptr[SDL_Point], count: int, clip: const_ptr[SDL_Rect]?, result: ptr[SDL_Rect]) -> bool
926
+ external function SDL_GetRectAndLineIntersection(rect: const_ptr[SDL_Rect], X1: ptr[int], Y1: ptr[int], X2: ptr[int], Y2: ptr[int]) -> bool
927
+ external function SDL_HasRectIntersectionFloat(A: const_ptr[SDL_FRect], B: const_ptr[SDL_FRect]) -> bool
928
+ external function SDL_GetRectIntersectionFloat(A: const_ptr[SDL_FRect], B: const_ptr[SDL_FRect], result: ptr[SDL_FRect]) -> bool
929
+ external function SDL_GetRectUnionFloat(A: const_ptr[SDL_FRect], B: const_ptr[SDL_FRect], result: ptr[SDL_FRect]) -> bool
930
+ external function SDL_GetRectEnclosingPointsFloat(points: const_ptr[SDL_FPoint], count: int, clip: const_ptr[SDL_FRect]?, result: ptr[SDL_FRect]) -> bool
931
+ external function SDL_GetRectAndLineIntersectionFloat(rect: const_ptr[SDL_FRect], X1: ptr[float], Y1: ptr[float], X2: ptr[float], Y2: ptr[float]) -> bool
932
+
933
+ type SDL_SurfaceFlags = uint
934
+
935
+ enum SDL_ScaleMode: int
936
+ SDL_SCALEMODE_INVALID = -1
937
+ SDL_SCALEMODE_NEAREST = 0
938
+ SDL_SCALEMODE_LINEAR = 1
939
+ SDL_SCALEMODE_PIXELART = 2
940
+
941
+ enum SDL_FlipMode: int
942
+ SDL_FLIP_NONE = 0
943
+ SDL_FLIP_HORIZONTAL = 1
944
+ SDL_FLIP_VERTICAL = 2
945
+ SDL_FLIP_HORIZONTAL_AND_VERTICAL = 3
946
+
947
+ struct SDL_Surface:
948
+ flags_: uint
949
+ format: SDL_PixelFormat
950
+ w: int
951
+ h: int
952
+ pitch: int
953
+ pixels: ptr[void]
954
+ refcount: int
955
+ reserved: ptr[void]
956
+
957
+ external function SDL_CreateSurface(width: int, height: int, format: SDL_PixelFormat) -> ptr[SDL_Surface]?
958
+ external function SDL_CreateSurfaceFrom(width: int, height: int, format: SDL_PixelFormat, pixels: ptr[void], pitch: int) -> ptr[SDL_Surface]?
959
+ external function SDL_DestroySurface(surface: ptr[SDL_Surface]) -> void
960
+ external function SDL_GetSurfaceProperties(surface: ptr[SDL_Surface]) -> SDL_PropertiesID
961
+ external function SDL_SetSurfaceColorspace(surface: ptr[SDL_Surface], colorspace: SDL_Colorspace) -> bool
962
+ external function SDL_GetSurfaceColorspace(surface: ptr[SDL_Surface]) -> SDL_Colorspace
963
+ external function SDL_CreateSurfacePalette(surface: ptr[SDL_Surface]) -> ptr[SDL_Palette]?
964
+ external function SDL_SetSurfacePalette(surface: ptr[SDL_Surface], palette: ptr[SDL_Palette]) -> bool
965
+ external function SDL_GetSurfacePalette(surface: ptr[SDL_Surface]) -> ptr[SDL_Palette]?
966
+ external function SDL_AddSurfaceAlternateImage(surface: ptr[SDL_Surface], image: ptr[SDL_Surface]) -> bool
967
+ external function SDL_SurfaceHasAlternateImages(surface: ptr[SDL_Surface]) -> bool
968
+ external function SDL_GetSurfaceImages(surface: ptr[SDL_Surface], count: ptr[int]?) -> ptr[ptr[SDL_Surface]]?
969
+ external function SDL_RemoveSurfaceAlternateImages(surface: ptr[SDL_Surface]) -> void
970
+ external function SDL_LockSurface(surface: ptr[SDL_Surface]) -> bool
971
+ external function SDL_UnlockSurface(surface: ptr[SDL_Surface]) -> void
972
+ external function SDL_LoadSurface_IO(src: ptr[SDL_IOStream], closeio: bool) -> ptr[SDL_Surface]?
973
+ external function SDL_LoadSurface(file: cstr) -> ptr[SDL_Surface]?
974
+ external function SDL_LoadBMP_IO(src: ptr[SDL_IOStream], closeio: bool) -> ptr[SDL_Surface]?
975
+ external function SDL_LoadBMP(file: cstr) -> ptr[SDL_Surface]?
976
+ external function SDL_SaveBMP_IO(surface: ptr[SDL_Surface], dst: ptr[SDL_IOStream], closeio: bool) -> bool
977
+ external function SDL_SaveBMP(surface: ptr[SDL_Surface], file: cstr) -> bool
978
+ external function SDL_LoadPNG_IO(src: ptr[SDL_IOStream], closeio: bool) -> ptr[SDL_Surface]?
979
+ external function SDL_LoadPNG(file: cstr) -> ptr[SDL_Surface]?
980
+ external function SDL_SavePNG_IO(surface: ptr[SDL_Surface], dst: ptr[SDL_IOStream], closeio: bool) -> bool
981
+ external function SDL_SavePNG(surface: ptr[SDL_Surface], file: cstr) -> bool
982
+ external function SDL_SetSurfaceRLE(surface: ptr[SDL_Surface], enabled: bool) -> bool
983
+ external function SDL_SurfaceHasRLE(surface: ptr[SDL_Surface]) -> bool
984
+ external function SDL_SetSurfaceColorKey(surface: ptr[SDL_Surface], enabled: bool, key: uint) -> bool
985
+ external function SDL_SurfaceHasColorKey(surface: ptr[SDL_Surface]) -> bool
986
+ external function SDL_GetSurfaceColorKey(surface: ptr[SDL_Surface], key: ptr[Uint32]) -> bool
987
+ external function SDL_SetSurfaceColorMod(surface: ptr[SDL_Surface], r: ubyte, g: ubyte, b: ubyte) -> bool
988
+ external function SDL_GetSurfaceColorMod(surface: ptr[SDL_Surface], r: ptr[Uint8], g: ptr[Uint8], b: ptr[Uint8]) -> bool
989
+ external function SDL_SetSurfaceAlphaMod(surface: ptr[SDL_Surface], alpha: ubyte) -> bool
990
+ external function SDL_GetSurfaceAlphaMod(surface: ptr[SDL_Surface], alpha: ptr[Uint8]) -> bool
991
+ external function SDL_SetSurfaceBlendMode(surface: ptr[SDL_Surface], blendMode: uint) -> bool
992
+ external function SDL_GetSurfaceBlendMode(surface: ptr[SDL_Surface], blendMode: ptr[SDL_BlendMode]) -> bool
993
+ external function SDL_SetSurfaceClipRect(surface: ptr[SDL_Surface], rect: const_ptr[SDL_Rect]?) -> bool
994
+ external function SDL_GetSurfaceClipRect(surface: ptr[SDL_Surface], rect: ptr[SDL_Rect]) -> bool
995
+ external function SDL_FlipSurface(surface: ptr[SDL_Surface], flip: SDL_FlipMode) -> bool
996
+ external function SDL_RotateSurface(surface: ptr[SDL_Surface], angle: float) -> ptr[SDL_Surface]?
997
+ external function SDL_DuplicateSurface(surface: ptr[SDL_Surface]) -> ptr[SDL_Surface]?
998
+ external function SDL_ScaleSurface(surface: ptr[SDL_Surface], width: int, height: int, scaleMode: SDL_ScaleMode) -> ptr[SDL_Surface]?
999
+ external function SDL_ConvertSurface(surface: ptr[SDL_Surface], format: SDL_PixelFormat) -> ptr[SDL_Surface]?
1000
+ external function SDL_ConvertSurfaceAndColorspace(surface: ptr[SDL_Surface], format: SDL_PixelFormat, palette: ptr[SDL_Palette]?, colorspace: SDL_Colorspace, props: uint) -> ptr[SDL_Surface]?
1001
+ external function SDL_ConvertPixels(width: int, height: int, src_format: SDL_PixelFormat, src: const_ptr[void], src_pitch: int, dst_format: SDL_PixelFormat, dst: ptr[void], dst_pitch: int) -> bool
1002
+ external function SDL_ConvertPixelsAndColorspace(width: int, height: int, src_format: SDL_PixelFormat, src_colorspace: SDL_Colorspace, src_properties: uint, src: const_ptr[void], src_pitch: int, dst_format: SDL_PixelFormat, dst_colorspace: SDL_Colorspace, dst_properties: uint, dst: ptr[void], dst_pitch: int) -> bool
1003
+ external function SDL_PremultiplyAlpha(width: int, height: int, src_format: SDL_PixelFormat, src: const_ptr[void], src_pitch: int, dst_format: SDL_PixelFormat, dst: ptr[void], dst_pitch: int, linear: bool) -> bool
1004
+ external function SDL_PremultiplySurfaceAlpha(surface: ptr[SDL_Surface], linear: bool) -> bool
1005
+ external function SDL_ClearSurface(surface: ptr[SDL_Surface], r: float, g: float, b: float, a: float) -> bool
1006
+ external function SDL_FillSurfaceRect(dst: ptr[SDL_Surface], rect: const_ptr[SDL_Rect]?, color: uint) -> bool
1007
+ external function SDL_FillSurfaceRects(dst: ptr[SDL_Surface], rects: const_ptr[SDL_Rect], count: int, color: uint) -> bool
1008
+ external function SDL_BlitSurface(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?) -> bool
1009
+ external function SDL_BlitSurfaceUnchecked(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect], dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]) -> bool
1010
+ external function SDL_BlitSurfaceScaled(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?, scaleMode: SDL_ScaleMode) -> bool
1011
+ external function SDL_BlitSurfaceUncheckedScaled(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect], dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect], scaleMode: SDL_ScaleMode) -> bool
1012
+ external function SDL_StretchSurface(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?, scaleMode: SDL_ScaleMode) -> bool
1013
+ external function SDL_BlitSurfaceTiled(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?) -> bool
1014
+ external function SDL_BlitSurfaceTiledWithScale(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, scale: float, scaleMode: SDL_ScaleMode, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?) -> bool
1015
+ external function SDL_BlitSurface9Grid(src: ptr[SDL_Surface], srcrect: const_ptr[SDL_Rect]?, left_width: int, right_width: int, top_height: int, bottom_height: int, scale: float, scaleMode: SDL_ScaleMode, dst: ptr[SDL_Surface], dstrect: const_ptr[SDL_Rect]?) -> bool
1016
+ external function SDL_MapSurfaceRGB(surface: ptr[SDL_Surface], r: ubyte, g: ubyte, b: ubyte) -> Uint32
1017
+ external function SDL_MapSurfaceRGBA(surface: ptr[SDL_Surface], r: ubyte, g: ubyte, b: ubyte, a: ubyte) -> Uint32
1018
+ external function SDL_ReadSurfacePixel(surface: ptr[SDL_Surface], x: int, y: int, r: ptr[ubyte]?, g: ptr[ubyte]?, b: ptr[ubyte]?, a: ptr[ubyte]?) -> bool
1019
+ external function SDL_ReadSurfacePixelFloat(surface: ptr[SDL_Surface], x: int, y: int, r: ptr[float]?, g: ptr[float]?, b: ptr[float]?, a: ptr[float]?) -> bool
1020
+ external function SDL_WriteSurfacePixel(surface: ptr[SDL_Surface], x: int, y: int, r: ubyte, g: ubyte, b: ubyte, a: ubyte) -> bool
1021
+ external function SDL_WriteSurfacePixelFloat(surface: ptr[SDL_Surface], x: int, y: int, r: float, g: float, b: float, a: float) -> bool
1022
+
1023
+ type SDL_CameraID = uint
1024
+
1025
+ opaque SDL_Camera = c"SDL_Camera"
1026
+
1027
+ struct SDL_CameraSpec:
1028
+ format: SDL_PixelFormat
1029
+ colorspace: SDL_Colorspace
1030
+ width: int
1031
+ height: int
1032
+ framerate_numerator: int
1033
+ framerate_denominator: int
1034
+
1035
+ flags SDL_CameraPosition: int
1036
+ SDL_CAMERA_POSITION_UNKNOWN = 0
1037
+ SDL_CAMERA_POSITION_FRONT_FACING = 1
1038
+ SDL_CAMERA_POSITION_BACK_FACING = 2
1039
+
1040
+ enum SDL_CameraPermissionState: int
1041
+ SDL_CAMERA_PERMISSION_STATE_DENIED = -1
1042
+ SDL_CAMERA_PERMISSION_STATE_PENDING = 0
1043
+ SDL_CAMERA_PERMISSION_STATE_APPROVED = 1
1044
+
1045
+ external function SDL_GetNumCameraDrivers() -> int
1046
+ external function SDL_GetCameraDriver(index: int) -> cstr?
1047
+ external function SDL_GetCurrentCameraDriver() -> cstr?
1048
+ external function SDL_GetCameras(count: ptr[int]?) -> ptr[SDL_CameraID]?
1049
+ external function SDL_GetCameraSupportedFormats(instance_id: uint, count: ptr[int]?) -> ptr[ptr[SDL_CameraSpec]]?
1050
+ external function SDL_GetCameraName(instance_id: uint) -> cstr?
1051
+ external function SDL_GetCameraPosition(instance_id: uint) -> SDL_CameraPosition
1052
+ external function SDL_OpenCamera(instance_id: uint, spec: const_ptr[SDL_CameraSpec]?) -> ptr[SDL_Camera]?
1053
+ external function SDL_GetCameraPermissionState(camera: ptr[SDL_Camera]) -> SDL_CameraPermissionState
1054
+ external function SDL_GetCameraID(camera: ptr[SDL_Camera]) -> SDL_CameraID
1055
+ external function SDL_GetCameraProperties(camera: ptr[SDL_Camera]) -> SDL_PropertiesID
1056
+ external function SDL_GetCameraFormat(camera: ptr[SDL_Camera], spec: ptr[SDL_CameraSpec]) -> bool
1057
+ external function SDL_AcquireCameraFrame(camera: ptr[SDL_Camera], timestampNS: ptr[Uint64]) -> ptr[SDL_Surface]?
1058
+ external function SDL_ReleaseCameraFrame(camera: ptr[SDL_Camera], frame: ptr[SDL_Surface]) -> void
1059
+ external function SDL_CloseCamera(camera: ptr[SDL_Camera]) -> void
1060
+ external function SDL_SetClipboardText(text: cstr) -> bool
1061
+ external function SDL_GetClipboardText() -> ptr[char]?
1062
+ external function SDL_HasClipboardText() -> bool
1063
+ external function SDL_SetPrimarySelectionText(text: cstr) -> bool
1064
+ external function SDL_GetPrimarySelectionText() -> ptr[char]?
1065
+ external function SDL_HasPrimarySelectionText() -> bool
1066
+
1067
+ type SDL_ClipboardDataCallback = fn(arg0: ptr[void], arg1: cstr, arg2: ptr[ptr_uint]) -> const_ptr[void]
1068
+ type SDL_ClipboardCleanupCallback = fn(arg0: ptr[void]) -> void
1069
+
1070
+ external function SDL_SetClipboardData(callback: fn(arg0: ptr[void], arg1: cstr, arg2: ptr[ptr_uint]) -> const_ptr[void], cleanup: fn(arg0: ptr[void]) -> void, userdata: ptr[void], mime_types: const_ptr[cstr], num_mime_types: ptr_uint) -> bool
1071
+ external function SDL_ClearClipboardData() -> bool
1072
+ external function SDL_GetClipboardData(mime_type: cstr, size: ptr[ptr_uint]) -> ptr[void]?
1073
+ external function SDL_HasClipboardData(mime_type: cstr) -> bool
1074
+ external function SDL_GetClipboardMimeTypes(num_mime_types: ptr[ptr_uint]?) -> ptr[ptr[char]]?
1075
+ external function SDL_GetNumLogicalCPUCores() -> int
1076
+ external function SDL_GetCPUCacheLineSize() -> int
1077
+ external function SDL_HasAltiVec() -> bool
1078
+ external function SDL_HasMMX() -> bool
1079
+ external function SDL_HasSSE() -> bool
1080
+ external function SDL_HasSSE2() -> bool
1081
+ external function SDL_HasSSE3() -> bool
1082
+ external function SDL_HasSSE41() -> bool
1083
+ external function SDL_HasSSE42() -> bool
1084
+ external function SDL_HasAVX() -> bool
1085
+ external function SDL_HasAVX2() -> bool
1086
+ external function SDL_HasAVX512F() -> bool
1087
+ external function SDL_HasARMSIMD() -> bool
1088
+ external function SDL_HasNEON() -> bool
1089
+ external function SDL_HasLSX() -> bool
1090
+ external function SDL_HasLASX() -> bool
1091
+ external function SDL_GetSystemRAM() -> int
1092
+ external function SDL_GetSIMDAlignment() -> ptr_uint
1093
+ external function SDL_GetSystemPageSize() -> int
1094
+
1095
+ type SDL_DisplayID = uint
1096
+ type SDL_WindowID = uint
1097
+
1098
+ flags SDL_SystemTheme: int
1099
+ SDL_SYSTEM_THEME_UNKNOWN = 0
1100
+ SDL_SYSTEM_THEME_LIGHT = 1
1101
+ SDL_SYSTEM_THEME_DARK = 2
1102
+
1103
+ opaque SDL_DisplayModeData = c"SDL_DisplayModeData"
1104
+
1105
+ struct SDL_DisplayMode:
1106
+ displayID: uint
1107
+ format: SDL_PixelFormat
1108
+ w: int
1109
+ h: int
1110
+ pixel_density: float
1111
+ refresh_rate: float
1112
+ refresh_rate_numerator: int
1113
+ refresh_rate_denominator: int
1114
+ internal: ptr[SDL_DisplayModeData]
1115
+
1116
+ enum SDL_DisplayOrientation: int
1117
+ SDL_ORIENTATION_UNKNOWN = 0
1118
+ SDL_ORIENTATION_LANDSCAPE = 1
1119
+ SDL_ORIENTATION_LANDSCAPE_FLIPPED = 2
1120
+ SDL_ORIENTATION_PORTRAIT = 3
1121
+ SDL_ORIENTATION_PORTRAIT_FLIPPED = 4
1122
+
1123
+ opaque SDL_Window = c"SDL_Window"
1124
+
1125
+ type SDL_WindowFlags = ptr_uint
1126
+
1127
+ flags SDL_FlashOperation: int
1128
+ SDL_FLASH_CANCEL = 0
1129
+ SDL_FLASH_BRIEFLY = 1
1130
+ SDL_FLASH_UNTIL_FOCUSED = 2
1131
+
1132
+ enum SDL_ProgressState: int
1133
+ SDL_PROGRESS_STATE_INVALID = -1
1134
+ SDL_PROGRESS_STATE_NONE = 0
1135
+ SDL_PROGRESS_STATE_INDETERMINATE = 1
1136
+ SDL_PROGRESS_STATE_NORMAL = 2
1137
+ SDL_PROGRESS_STATE_PAUSED = 3
1138
+ SDL_PROGRESS_STATE_ERROR = 4
1139
+
1140
+ opaque SDL_GLContextState = c"struct SDL_GLContextState"
1141
+
1142
+ type SDL_GLContext = ptr[SDL_GLContextState]
1143
+ type SDL_EGLDisplay = ptr[void]
1144
+ type SDL_EGLConfig = ptr[void]
1145
+ type SDL_EGLSurface = ptr[void]
1146
+ type SDL_EGLAttrib = ptr_int
1147
+ type SDL_EGLint = int
1148
+ type SDL_EGLAttribArrayCallback = fn(arg0: ptr[void]) -> ptr[SDL_EGLAttrib]
1149
+ type SDL_EGLIntArrayCallback = fn(arg0: ptr[void], arg1: SDL_EGLDisplay, arg2: SDL_EGLConfig) -> ptr[SDL_EGLint]
1150
+
1151
+ enum SDL_GLAttr: int
1152
+ SDL_GL_RED_SIZE = 0
1153
+ SDL_GL_GREEN_SIZE = 1
1154
+ SDL_GL_BLUE_SIZE = 2
1155
+ SDL_GL_ALPHA_SIZE = 3
1156
+ SDL_GL_BUFFER_SIZE = 4
1157
+ SDL_GL_DOUBLEBUFFER = 5
1158
+ SDL_GL_DEPTH_SIZE = 6
1159
+ SDL_GL_STENCIL_SIZE = 7
1160
+ SDL_GL_ACCUM_RED_SIZE = 8
1161
+ SDL_GL_ACCUM_GREEN_SIZE = 9
1162
+ SDL_GL_ACCUM_BLUE_SIZE = 10
1163
+ SDL_GL_ACCUM_ALPHA_SIZE = 11
1164
+ SDL_GL_STEREO = 12
1165
+ SDL_GL_MULTISAMPLEBUFFERS = 13
1166
+ SDL_GL_MULTISAMPLESAMPLES = 14
1167
+ SDL_GL_ACCELERATED_VISUAL = 15
1168
+ SDL_GL_RETAINED_BACKING = 16
1169
+ SDL_GL_CONTEXT_MAJOR_VERSION = 17
1170
+ SDL_GL_CONTEXT_MINOR_VERSION = 18
1171
+ SDL_GL_CONTEXT_FLAGS = 19
1172
+ SDL_GL_CONTEXT_PROFILE_MASK = 20
1173
+ SDL_GL_SHARE_WITH_CURRENT_CONTEXT = 21
1174
+ SDL_GL_FRAMEBUFFER_SRGB_CAPABLE = 22
1175
+ SDL_GL_CONTEXT_RELEASE_BEHAVIOR = 23
1176
+ SDL_GL_CONTEXT_RESET_NOTIFICATION = 24
1177
+ SDL_GL_CONTEXT_NO_ERROR = 25
1178
+ SDL_GL_FLOATBUFFERS = 26
1179
+ SDL_GL_EGL_PLATFORM = 27
1180
+
1181
+ type SDL_GLProfile = uint
1182
+ type SDL_GLContextFlag = uint
1183
+ type SDL_GLContextReleaseFlag = uint
1184
+ type SDL_GLContextResetNotification = uint
1185
+
1186
+ external function SDL_GetNumVideoDrivers() -> int
1187
+ external function SDL_GetVideoDriver(index: int) -> cstr?
1188
+ external function SDL_GetCurrentVideoDriver() -> cstr?
1189
+ external function SDL_GetSystemTheme() -> SDL_SystemTheme
1190
+ external function SDL_GetDisplays(count: ptr[int]?) -> ptr[SDL_DisplayID]?
1191
+ external function SDL_GetPrimaryDisplay() -> SDL_DisplayID
1192
+ external function SDL_GetDisplayProperties(displayID: uint) -> SDL_PropertiesID
1193
+ external function SDL_GetDisplayName(displayID: uint) -> cstr?
1194
+ external function SDL_GetDisplayBounds(displayID: uint, rect: ptr[SDL_Rect]) -> bool
1195
+ external function SDL_GetDisplayUsableBounds(displayID: uint, rect: ptr[SDL_Rect]) -> bool
1196
+ external function SDL_GetNaturalDisplayOrientation(displayID: uint) -> SDL_DisplayOrientation
1197
+ external function SDL_GetCurrentDisplayOrientation(displayID: uint) -> SDL_DisplayOrientation
1198
+ external function SDL_GetDisplayContentScale(displayID: uint) -> float
1199
+ external function SDL_GetFullscreenDisplayModes(displayID: uint, count: ptr[int]?) -> ptr[ptr[SDL_DisplayMode]]?
1200
+ external function SDL_GetClosestFullscreenDisplayMode(displayID: uint, w: int, h: int, refresh_rate: float, include_high_density_modes: bool, closest: ptr[SDL_DisplayMode]) -> bool
1201
+ external function SDL_GetDesktopDisplayMode(displayID: uint) -> const_ptr[SDL_DisplayMode]?
1202
+ external function SDL_GetCurrentDisplayMode(displayID: uint) -> const_ptr[SDL_DisplayMode]?
1203
+ external function SDL_GetDisplayForPoint(point: const_ptr[SDL_Point]) -> SDL_DisplayID
1204
+ external function SDL_GetDisplayForRect(rect: const_ptr[SDL_Rect]) -> SDL_DisplayID
1205
+ external function SDL_GetDisplayForWindow(window: ptr[SDL_Window]) -> SDL_DisplayID
1206
+ external function SDL_GetWindowPixelDensity(window: ptr[SDL_Window]) -> float
1207
+ external function SDL_GetWindowDisplayScale(window: ptr[SDL_Window]) -> float
1208
+ external function SDL_SetWindowFullscreenMode(window: ptr[SDL_Window], mode: const_ptr[SDL_DisplayMode]) -> bool
1209
+ external function SDL_GetWindowFullscreenMode(window: ptr[SDL_Window]) -> const_ptr[SDL_DisplayMode]?
1210
+ external function SDL_GetWindowICCProfile(window: ptr[SDL_Window], size: ptr[ptr_uint]) -> ptr[void]?
1211
+ external function SDL_GetWindowPixelFormat(window: ptr[SDL_Window]) -> SDL_PixelFormat
1212
+ external function SDL_GetWindows(count: ptr[int]?) -> ptr[ptr[SDL_Window]]?
1213
+ external function SDL_CreateWindow(title: cstr, w: int, h: int, flags_: ptr_uint) -> ptr[SDL_Window]?
1214
+ external function SDL_CreatePopupWindow(parent: ptr[SDL_Window], offset_x: int, offset_y: int, w: int, h: int, flags_: ptr_uint) -> ptr[SDL_Window]?
1215
+ external function SDL_CreateWindowWithProperties(props: uint) -> ptr[SDL_Window]?
1216
+ external function SDL_GetWindowID(window: ptr[SDL_Window]) -> SDL_WindowID
1217
+ external function SDL_GetWindowFromID(id: uint) -> ptr[SDL_Window]?
1218
+ external function SDL_GetWindowParent(window: ptr[SDL_Window]) -> ptr[SDL_Window]?
1219
+ external function SDL_GetWindowProperties(window: ptr[SDL_Window]) -> SDL_PropertiesID
1220
+ external function SDL_GetWindowFlags(window: ptr[SDL_Window]) -> SDL_WindowFlags
1221
+ external function SDL_SetWindowTitle(window: ptr[SDL_Window], title: cstr) -> bool
1222
+ external function SDL_GetWindowTitle(window: ptr[SDL_Window]) -> cstr
1223
+ external function SDL_SetWindowIcon(window: ptr[SDL_Window], icon: ptr[SDL_Surface]) -> bool
1224
+ external function SDL_SetWindowPosition(window: ptr[SDL_Window], x: int, y: int) -> bool
1225
+ external function SDL_GetWindowPosition(window: ptr[SDL_Window], x: ptr[int]?, y: ptr[int]?) -> bool
1226
+ external function SDL_SetWindowSize(window: ptr[SDL_Window], w: int, h: int) -> bool
1227
+ external function SDL_GetWindowSize(window: ptr[SDL_Window], w: ptr[int]?, h: ptr[int]?) -> bool
1228
+ external function SDL_GetWindowSafeArea(window: ptr[SDL_Window], rect: ptr[SDL_Rect]) -> bool
1229
+ external function SDL_SetWindowAspectRatio(window: ptr[SDL_Window], min_aspect: float, max_aspect: float) -> bool
1230
+ external function SDL_GetWindowAspectRatio(window: ptr[SDL_Window], min_aspect: ptr[float]?, max_aspect: ptr[float]?) -> bool
1231
+ external function SDL_GetWindowBordersSize(window: ptr[SDL_Window], top: ptr[int]?, left: ptr[int]?, bottom: ptr[int]?, right: ptr[int]?) -> bool
1232
+ external function SDL_GetWindowSizeInPixels(window: ptr[SDL_Window], w: ptr[int]?, h: ptr[int]?) -> bool
1233
+ external function SDL_SetWindowMinimumSize(window: ptr[SDL_Window], min_w: int, min_h: int) -> bool
1234
+ external function SDL_GetWindowMinimumSize(window: ptr[SDL_Window], w: ptr[int]?, h: ptr[int]?) -> bool
1235
+ external function SDL_SetWindowMaximumSize(window: ptr[SDL_Window], max_w: int, max_h: int) -> bool
1236
+ external function SDL_GetWindowMaximumSize(window: ptr[SDL_Window], w: ptr[int]?, h: ptr[int]?) -> bool
1237
+ external function SDL_SetWindowBordered(window: ptr[SDL_Window], bordered: bool) -> bool
1238
+ external function SDL_SetWindowResizable(window: ptr[SDL_Window], resizable: bool) -> bool
1239
+ external function SDL_SetWindowAlwaysOnTop(window: ptr[SDL_Window], on_top: bool) -> bool
1240
+ external function SDL_SetWindowFillDocument(window: ptr[SDL_Window], fill: bool) -> bool
1241
+ external function SDL_ShowWindow(window: ptr[SDL_Window]) -> bool
1242
+ external function SDL_HideWindow(window: ptr[SDL_Window]) -> bool
1243
+ external function SDL_RaiseWindow(window: ptr[SDL_Window]) -> bool
1244
+ external function SDL_MaximizeWindow(window: ptr[SDL_Window]) -> bool
1245
+ external function SDL_MinimizeWindow(window: ptr[SDL_Window]) -> bool
1246
+ external function SDL_RestoreWindow(window: ptr[SDL_Window]) -> bool
1247
+ external function SDL_SetWindowFullscreen(window: ptr[SDL_Window], fullscreen: bool) -> bool
1248
+ external function SDL_SyncWindow(window: ptr[SDL_Window]) -> bool
1249
+ external function SDL_WindowHasSurface(window: ptr[SDL_Window]) -> bool
1250
+ external function SDL_GetWindowSurface(window: ptr[SDL_Window]) -> ptr[SDL_Surface]?
1251
+ external function SDL_SetWindowSurfaceVSync(window: ptr[SDL_Window], vsync: int) -> bool
1252
+ external function SDL_GetWindowSurfaceVSync(window: ptr[SDL_Window], vsync: ptr[int]) -> bool
1253
+ external function SDL_UpdateWindowSurface(window: ptr[SDL_Window]) -> bool
1254
+ external function SDL_UpdateWindowSurfaceRects(window: ptr[SDL_Window], rects: const_ptr[SDL_Rect], numrects: int) -> bool
1255
+ external function SDL_DestroyWindowSurface(window: ptr[SDL_Window]) -> bool
1256
+ external function SDL_SetWindowKeyboardGrab(window: ptr[SDL_Window], grabbed: bool) -> bool
1257
+ external function SDL_SetWindowMouseGrab(window: ptr[SDL_Window], grabbed: bool) -> bool
1258
+ external function SDL_GetWindowKeyboardGrab(window: ptr[SDL_Window]) -> bool
1259
+ external function SDL_GetWindowMouseGrab(window: ptr[SDL_Window]) -> bool
1260
+ external function SDL_GetGrabbedWindow() -> ptr[SDL_Window]?
1261
+ external function SDL_SetWindowMouseRect(window: ptr[SDL_Window], rect: const_ptr[SDL_Rect]?) -> bool
1262
+ external function SDL_GetWindowMouseRect(window: ptr[SDL_Window]) -> const_ptr[SDL_Rect]?
1263
+ external function SDL_SetWindowOpacity(window: ptr[SDL_Window], opacity: float) -> bool
1264
+ external function SDL_GetWindowOpacity(window: ptr[SDL_Window]) -> float
1265
+ external function SDL_SetWindowParent(window: ptr[SDL_Window], parent: ptr[SDL_Window]) -> bool
1266
+ external function SDL_SetWindowModal(window: ptr[SDL_Window], modal: bool) -> bool
1267
+ external function SDL_SetWindowFocusable(window: ptr[SDL_Window], focusable: bool) -> bool
1268
+ external function SDL_ShowWindowSystemMenu(window: ptr[SDL_Window], x: int, y: int) -> bool
1269
+
1270
+ enum SDL_HitTestResult: int
1271
+ SDL_HITTEST_NORMAL = 0
1272
+ SDL_HITTEST_DRAGGABLE = 1
1273
+ SDL_HITTEST_RESIZE_TOPLEFT = 2
1274
+ SDL_HITTEST_RESIZE_TOP = 3
1275
+ SDL_HITTEST_RESIZE_TOPRIGHT = 4
1276
+ SDL_HITTEST_RESIZE_RIGHT = 5
1277
+ SDL_HITTEST_RESIZE_BOTTOMRIGHT = 6
1278
+ SDL_HITTEST_RESIZE_BOTTOM = 7
1279
+ SDL_HITTEST_RESIZE_BOTTOMLEFT = 8
1280
+ SDL_HITTEST_RESIZE_LEFT = 9
1281
+
1282
+ type SDL_HitTest = fn(arg0: ptr[SDL_Window], arg1: const_ptr[SDL_Point], arg2: ptr[void]) -> SDL_HitTestResult
1283
+
1284
+ external function SDL_SetWindowHitTest(window: ptr[SDL_Window], callback: fn(arg0: ptr[SDL_Window], arg1: const_ptr[SDL_Point], arg2: ptr[void]) -> SDL_HitTestResult, callback_data: ptr[void]) -> bool
1285
+ external function SDL_SetWindowShape(window: ptr[SDL_Window], shape: ptr[SDL_Surface]?) -> bool
1286
+ external function SDL_FlashWindow(window: ptr[SDL_Window], operation: SDL_FlashOperation) -> bool
1287
+ external function SDL_SetWindowProgressState(window: ptr[SDL_Window], state: SDL_ProgressState) -> bool
1288
+ external function SDL_GetWindowProgressState(window: ptr[SDL_Window]) -> SDL_ProgressState
1289
+ external function SDL_SetWindowProgressValue(window: ptr[SDL_Window], value: float) -> bool
1290
+ external function SDL_GetWindowProgressValue(window: ptr[SDL_Window]) -> float
1291
+ external function SDL_DestroyWindow(window: ptr[SDL_Window]) -> void
1292
+ external function SDL_ScreenSaverEnabled() -> bool
1293
+ external function SDL_EnableScreenSaver() -> bool
1294
+ external function SDL_DisableScreenSaver() -> bool
1295
+ external function SDL_GL_LoadLibrary(path: cstr?) -> bool
1296
+ external function SDL_GL_GetProcAddress(proc_: cstr) -> SDL_FunctionPointer?
1297
+ external function SDL_EGL_GetProcAddress(proc_: cstr) -> SDL_FunctionPointer?
1298
+ external function SDL_GL_UnloadLibrary() -> void
1299
+ external function SDL_GL_ExtensionSupported(extension: cstr) -> bool
1300
+ external function SDL_GL_ResetAttributes() -> void
1301
+ external function SDL_GL_SetAttribute(attr: SDL_GLAttr, value: int) -> bool
1302
+ external function SDL_GL_GetAttribute(attr: SDL_GLAttr, value: ptr[int]) -> bool
1303
+ external function SDL_GL_CreateContext(window: ptr[SDL_Window]) -> SDL_GLContext?
1304
+ external function SDL_GL_MakeCurrent(window: ptr[SDL_Window], context: ptr[SDL_GLContextState]) -> bool
1305
+ external function SDL_GL_GetCurrentWindow() -> ptr[SDL_Window]?
1306
+ external function SDL_GL_GetCurrentContext() -> SDL_GLContext?
1307
+ external function SDL_EGL_GetCurrentDisplay() -> SDL_EGLDisplay?
1308
+ external function SDL_EGL_GetCurrentConfig() -> SDL_EGLConfig?
1309
+ external function SDL_EGL_GetWindowSurface(window: ptr[SDL_Window]) -> SDL_EGLSurface?
1310
+ external function SDL_EGL_SetAttributeCallbacks(platformAttribCallback: fn(arg0: ptr[void]) -> ptr[SDL_EGLAttrib], surfaceAttribCallback: fn(arg0: ptr[void], arg1: SDL_EGLDisplay, arg2: SDL_EGLConfig) -> ptr[SDL_EGLint], contextAttribCallback: fn(arg0: ptr[void], arg1: SDL_EGLDisplay, arg2: SDL_EGLConfig) -> ptr[SDL_EGLint], userdata: ptr[void]) -> void
1311
+ external function SDL_GL_SetSwapInterval(interval: int) -> bool
1312
+ external function SDL_GL_GetSwapInterval(interval: ptr[int]) -> bool
1313
+ external function SDL_GL_SwapWindow(window: ptr[SDL_Window]) -> bool
1314
+ external function SDL_GL_DestroyContext(context: ptr[SDL_GLContextState]) -> bool
1315
+
1316
+ struct SDL_DialogFileFilter:
1317
+ name: cstr
1318
+ pattern: cstr
1319
+
1320
+ type SDL_DialogFileCallback = fn(arg0: ptr[void], arg1: const_ptr[cstr], arg2: int) -> void
1321
+
1322
+ external function SDL_ShowOpenFileDialog(callback: fn(arg0: ptr[void], arg1: const_ptr[cstr], arg2: int) -> void, userdata: ptr[void], window: ptr[SDL_Window]?, filters: const_ptr[SDL_DialogFileFilter]?, nfilters: int, default_location: cstr?, allow_many: bool) -> void
1323
+ external function SDL_ShowSaveFileDialog(callback: fn(arg0: ptr[void], arg1: const_ptr[cstr], arg2: int) -> void, userdata: ptr[void], window: ptr[SDL_Window]?, filters: const_ptr[SDL_DialogFileFilter]?, nfilters: int, default_location: cstr?) -> void
1324
+ external function SDL_ShowOpenFolderDialog(callback: fn(arg0: ptr[void], arg1: const_ptr[cstr], arg2: int) -> void, userdata: ptr[void], window: ptr[SDL_Window]?, default_location: cstr?, allow_many: bool) -> void
1325
+
1326
+ flags SDL_FileDialogType: int
1327
+ SDL_FILEDIALOG_OPENFILE = 0
1328
+ SDL_FILEDIALOG_SAVEFILE = 1
1329
+ SDL_FILEDIALOG_OPENFOLDER = 2
1330
+
1331
+ external function SDL_ShowFileDialogWithProperties(type_: SDL_FileDialogType, callback: fn(arg0: ptr[void], arg1: const_ptr[cstr], arg2: int) -> void, userdata: ptr[void], props: uint) -> void
1332
+
1333
+ struct SDL_GUID:
1334
+ data: array[Uint8, 16]
1335
+
1336
+ external function SDL_GUIDToString(guid: SDL_GUID, pszGUID: ptr[char], cbGUID: int) -> void
1337
+ external function SDL_StringToGUID(pchGUID: cstr) -> SDL_GUID
1338
+
1339
+ enum SDL_PowerState: int
1340
+ SDL_POWERSTATE_ERROR = -1
1341
+ SDL_POWERSTATE_UNKNOWN = 0
1342
+ SDL_POWERSTATE_ON_BATTERY = 1
1343
+ SDL_POWERSTATE_NO_BATTERY = 2
1344
+ SDL_POWERSTATE_CHARGING = 3
1345
+ SDL_POWERSTATE_CHARGED = 4
1346
+
1347
+ external function SDL_GetPowerInfo(seconds: ptr[int]?, percent: ptr[int]?) -> SDL_PowerState
1348
+
1349
+ opaque SDL_Sensor = c"SDL_Sensor"
1350
+
1351
+ type SDL_SensorID = uint
1352
+
1353
+ enum SDL_SensorType: int
1354
+ SDL_SENSOR_INVALID = -1
1355
+ SDL_SENSOR_UNKNOWN = 0
1356
+ SDL_SENSOR_ACCEL = 1
1357
+ SDL_SENSOR_GYRO = 2
1358
+ SDL_SENSOR_ACCEL_L = 3
1359
+ SDL_SENSOR_GYRO_L = 4
1360
+ SDL_SENSOR_ACCEL_R = 5
1361
+ SDL_SENSOR_GYRO_R = 6
1362
+ SDL_SENSOR_COUNT = 7
1363
+
1364
+ external function SDL_GetSensors(count: ptr[int]?) -> ptr[SDL_SensorID]?
1365
+ external function SDL_GetSensorNameForID(instance_id: uint) -> cstr?
1366
+ external function SDL_GetSensorTypeForID(instance_id: uint) -> SDL_SensorType
1367
+ external function SDL_GetSensorNonPortableTypeForID(instance_id: uint) -> int
1368
+ external function SDL_OpenSensor(instance_id: uint) -> ptr[SDL_Sensor]?
1369
+ external function SDL_GetSensorFromID(instance_id: uint) -> ptr[SDL_Sensor]?
1370
+ external function SDL_GetSensorProperties(sensor: ptr[SDL_Sensor]) -> SDL_PropertiesID
1371
+ external function SDL_GetSensorName(sensor: ptr[SDL_Sensor]) -> cstr?
1372
+ external function SDL_GetSensorType(sensor: ptr[SDL_Sensor]) -> SDL_SensorType
1373
+ external function SDL_GetSensorNonPortableType(sensor: ptr[SDL_Sensor]) -> int
1374
+ external function SDL_GetSensorID(sensor: ptr[SDL_Sensor]) -> SDL_SensorID
1375
+ external function SDL_GetSensorData(sensor: ptr[SDL_Sensor], data: ptr[float], num_values: int) -> bool
1376
+ external function SDL_CloseSensor(sensor: ptr[SDL_Sensor]) -> void
1377
+ external function SDL_UpdateSensors() -> void
1378
+
1379
+ opaque SDL_Joystick = c"SDL_Joystick"
1380
+
1381
+ type SDL_JoystickID = uint
1382
+
1383
+ enum SDL_JoystickType: int
1384
+ SDL_JOYSTICK_TYPE_UNKNOWN = 0
1385
+ SDL_JOYSTICK_TYPE_GAMEPAD = 1
1386
+ SDL_JOYSTICK_TYPE_WHEEL = 2
1387
+ SDL_JOYSTICK_TYPE_ARCADE_STICK = 3
1388
+ SDL_JOYSTICK_TYPE_FLIGHT_STICK = 4
1389
+ SDL_JOYSTICK_TYPE_DANCE_PAD = 5
1390
+ SDL_JOYSTICK_TYPE_GUITAR = 6
1391
+ SDL_JOYSTICK_TYPE_DRUM_KIT = 7
1392
+ SDL_JOYSTICK_TYPE_ARCADE_PAD = 8
1393
+ SDL_JOYSTICK_TYPE_THROTTLE = 9
1394
+ SDL_JOYSTICK_TYPE_COUNT = 10
1395
+
1396
+ enum SDL_JoystickConnectionState: int
1397
+ SDL_JOYSTICK_CONNECTION_INVALID = -1
1398
+ SDL_JOYSTICK_CONNECTION_UNKNOWN = 0
1399
+ SDL_JOYSTICK_CONNECTION_WIRED = 1
1400
+ SDL_JOYSTICK_CONNECTION_WIRELESS = 2
1401
+
1402
+ external function SDL_LockJoysticks() -> void
1403
+ external function SDL_UnlockJoysticks() -> void
1404
+ external function SDL_HasJoystick() -> bool
1405
+ external function SDL_GetJoysticks(count: ptr[int]?) -> ptr[SDL_JoystickID]?
1406
+ external function SDL_GetJoystickNameForID(instance_id: uint) -> cstr?
1407
+ external function SDL_GetJoystickPathForID(instance_id: uint) -> cstr?
1408
+ external function SDL_GetJoystickPlayerIndexForID(instance_id: uint) -> int
1409
+ external function SDL_GetJoystickGUIDForID(instance_id: uint) -> SDL_GUID
1410
+ external function SDL_GetJoystickVendorForID(instance_id: uint) -> Uint16
1411
+ external function SDL_GetJoystickProductForID(instance_id: uint) -> Uint16
1412
+ external function SDL_GetJoystickProductVersionForID(instance_id: uint) -> Uint16
1413
+ external function SDL_GetJoystickTypeForID(instance_id: uint) -> SDL_JoystickType
1414
+ external function SDL_OpenJoystick(instance_id: uint) -> ptr[SDL_Joystick]?
1415
+ external function SDL_GetJoystickFromID(instance_id: uint) -> ptr[SDL_Joystick]?
1416
+ external function SDL_GetJoystickFromPlayerIndex(player_index: int) -> ptr[SDL_Joystick]?
1417
+
1418
+ struct SDL_VirtualJoystickTouchpadDesc:
1419
+ nfingers: ushort
1420
+ padding: array[Uint16, 3]
1421
+
1422
+ struct SDL_VirtualJoystickSensorDesc:
1423
+ type_: SDL_SensorType
1424
+ rate: float
1425
+
1426
+ struct SDL_VirtualJoystickDesc:
1427
+ version: uint
1428
+ type_: ushort
1429
+ padding: ushort
1430
+ vendor_id: ushort
1431
+ product_id: ushort
1432
+ naxes: ushort
1433
+ nbuttons: ushort
1434
+ nballs: ushort
1435
+ nhats: ushort
1436
+ ntouchpads: ushort
1437
+ nsensors: ushort
1438
+ padding2: array[Uint16, 2]
1439
+ button_mask: uint
1440
+ axis_mask: uint
1441
+ name: cstr
1442
+ touchpads: const_ptr[SDL_VirtualJoystickTouchpadDesc]
1443
+ sensors: const_ptr[SDL_VirtualJoystickSensorDesc]
1444
+ userdata: ptr[void]
1445
+ Update: fn(arg0: ptr[void]) -> void
1446
+ SetPlayerIndex: fn(arg0: ptr[void], arg1: int) -> void
1447
+ Rumble: fn(arg0: ptr[void], arg1: Uint16, arg2: Uint16) -> bool
1448
+ RumbleTriggers: fn(arg0: ptr[void], arg1: Uint16, arg2: Uint16) -> bool
1449
+ SetLED: fn(arg0: ptr[void], arg1: Uint8, arg2: Uint8, arg3: Uint8) -> bool
1450
+ SendEffect: fn(arg0: ptr[void], arg1: const_ptr[void], arg2: int) -> bool
1451
+ SetSensorsEnabled: fn(arg0: ptr[void], arg1: bool) -> bool
1452
+ Cleanup: fn(arg0: ptr[void]) -> void
1453
+
1454
+ external function SDL_AttachVirtualJoystick(desc: const_ptr[SDL_VirtualJoystickDesc]) -> SDL_JoystickID
1455
+ external function SDL_DetachVirtualJoystick(instance_id: uint) -> bool
1456
+ external function SDL_IsJoystickVirtual(instance_id: uint) -> bool
1457
+ external function SDL_SetJoystickVirtualAxis(joystick: ptr[SDL_Joystick], axis: int, value: short) -> bool
1458
+ external function SDL_SetJoystickVirtualBall(joystick: ptr[SDL_Joystick], ball: int, xrel: short, yrel: short) -> bool
1459
+ external function SDL_SetJoystickVirtualButton(joystick: ptr[SDL_Joystick], button: int, down: bool) -> bool
1460
+ external function SDL_SetJoystickVirtualHat(joystick: ptr[SDL_Joystick], hat: int, value: ubyte) -> bool
1461
+ external function SDL_SetJoystickVirtualTouchpad(joystick: ptr[SDL_Joystick], touchpad: int, finger: int, down: bool, x: float, y: float, pressure: float) -> bool
1462
+ external function SDL_SendJoystickVirtualSensorData(joystick: ptr[SDL_Joystick], type_: SDL_SensorType, sensor_timestamp: ptr_uint, data: const_ptr[float], num_values: int) -> bool
1463
+ external function SDL_GetJoystickProperties(joystick: ptr[SDL_Joystick]) -> SDL_PropertiesID
1464
+ external function SDL_GetJoystickName(joystick: ptr[SDL_Joystick]) -> cstr?
1465
+ external function SDL_GetJoystickPath(joystick: ptr[SDL_Joystick]) -> cstr?
1466
+ external function SDL_GetJoystickPlayerIndex(joystick: ptr[SDL_Joystick]) -> int
1467
+ external function SDL_SetJoystickPlayerIndex(joystick: ptr[SDL_Joystick], player_index: int) -> bool
1468
+ external function SDL_GetJoystickGUID(joystick: ptr[SDL_Joystick]) -> SDL_GUID
1469
+ external function SDL_GetJoystickVendor(joystick: ptr[SDL_Joystick]) -> Uint16
1470
+ external function SDL_GetJoystickProduct(joystick: ptr[SDL_Joystick]) -> Uint16
1471
+ external function SDL_GetJoystickProductVersion(joystick: ptr[SDL_Joystick]) -> Uint16
1472
+ external function SDL_GetJoystickFirmwareVersion(joystick: ptr[SDL_Joystick]) -> Uint16
1473
+ external function SDL_GetJoystickSerial(joystick: ptr[SDL_Joystick]) -> cstr?
1474
+ external function SDL_GetJoystickType(joystick: ptr[SDL_Joystick]) -> SDL_JoystickType
1475
+ external function SDL_GetJoystickGUIDInfo(guid: SDL_GUID, vendor: ptr[Uint16], product: ptr[Uint16], version: ptr[Uint16], crc16: ptr[Uint16]) -> void
1476
+ external function SDL_JoystickConnected(joystick: ptr[SDL_Joystick]) -> bool
1477
+ external function SDL_GetJoystickID(joystick: ptr[SDL_Joystick]) -> SDL_JoystickID
1478
+ external function SDL_GetNumJoystickAxes(joystick: ptr[SDL_Joystick]) -> int
1479
+ external function SDL_GetNumJoystickBalls(joystick: ptr[SDL_Joystick]) -> int
1480
+ external function SDL_GetNumJoystickHats(joystick: ptr[SDL_Joystick]) -> int
1481
+ external function SDL_GetNumJoystickButtons(joystick: ptr[SDL_Joystick]) -> int
1482
+ external function SDL_SetJoystickEventsEnabled(enabled: bool) -> void
1483
+ external function SDL_JoystickEventsEnabled() -> bool
1484
+ external function SDL_UpdateJoysticks() -> void
1485
+ external function SDL_GetJoystickAxis(joystick: ptr[SDL_Joystick], axis: int) -> Sint16
1486
+ external function SDL_GetJoystickAxisInitialState(joystick: ptr[SDL_Joystick], axis: int, state: ptr[Sint16]) -> bool
1487
+ external function SDL_GetJoystickBall(joystick: ptr[SDL_Joystick], ball: int, dx: ptr[int], dy: ptr[int]) -> bool
1488
+ external function SDL_GetJoystickHat(joystick: ptr[SDL_Joystick], hat: int) -> Uint8
1489
+ external function SDL_GetJoystickButton(joystick: ptr[SDL_Joystick], button: int) -> bool
1490
+ external function SDL_RumbleJoystick(joystick: ptr[SDL_Joystick], low_frequency_rumble: ushort, high_frequency_rumble: ushort, duration_ms: uint) -> bool
1491
+ external function SDL_RumbleJoystickTriggers(joystick: ptr[SDL_Joystick], left_rumble: ushort, right_rumble: ushort, duration_ms: uint) -> bool
1492
+ external function SDL_SetJoystickLED(joystick: ptr[SDL_Joystick], red: ubyte, green: ubyte, blue: ubyte) -> bool
1493
+ external function SDL_SendJoystickEffect(joystick: ptr[SDL_Joystick], data: const_ptr[void], size: int) -> bool
1494
+ external function SDL_CloseJoystick(joystick: ptr[SDL_Joystick]) -> void
1495
+ external function SDL_GetJoystickConnectionState(joystick: ptr[SDL_Joystick]) -> SDL_JoystickConnectionState
1496
+ external function SDL_GetJoystickPowerInfo(joystick: ptr[SDL_Joystick], percent: ptr[int]?) -> SDL_PowerState
1497
+
1498
+ opaque SDL_Gamepad = c"SDL_Gamepad"
1499
+
1500
+ enum SDL_GamepadType: int
1501
+ SDL_GAMEPAD_TYPE_UNKNOWN = 0
1502
+ SDL_GAMEPAD_TYPE_STANDARD = 1
1503
+ SDL_GAMEPAD_TYPE_XBOX360 = 2
1504
+ SDL_GAMEPAD_TYPE_XBOXONE = 3
1505
+ SDL_GAMEPAD_TYPE_PS3 = 4
1506
+ SDL_GAMEPAD_TYPE_PS4 = 5
1507
+ SDL_GAMEPAD_TYPE_PS5 = 6
1508
+ SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_PRO = 7
1509
+ SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT = 8
1510
+ SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT = 9
1511
+ SDL_GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR = 10
1512
+ SDL_GAMEPAD_TYPE_GAMECUBE = 11
1513
+ SDL_GAMEPAD_TYPE_COUNT = 12
1514
+
1515
+ enum SDL_GamepadButton: int
1516
+ SDL_GAMEPAD_BUTTON_INVALID = -1
1517
+ SDL_GAMEPAD_BUTTON_SOUTH = 0
1518
+ SDL_GAMEPAD_BUTTON_EAST = 1
1519
+ SDL_GAMEPAD_BUTTON_WEST = 2
1520
+ SDL_GAMEPAD_BUTTON_NORTH = 3
1521
+ SDL_GAMEPAD_BUTTON_BACK = 4
1522
+ SDL_GAMEPAD_BUTTON_GUIDE = 5
1523
+ SDL_GAMEPAD_BUTTON_START = 6
1524
+ SDL_GAMEPAD_BUTTON_LEFT_STICK = 7
1525
+ SDL_GAMEPAD_BUTTON_RIGHT_STICK = 8
1526
+ SDL_GAMEPAD_BUTTON_LEFT_SHOULDER = 9
1527
+ SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER = 10
1528
+ SDL_GAMEPAD_BUTTON_DPAD_UP = 11
1529
+ SDL_GAMEPAD_BUTTON_DPAD_DOWN = 12
1530
+ SDL_GAMEPAD_BUTTON_DPAD_LEFT = 13
1531
+ SDL_GAMEPAD_BUTTON_DPAD_RIGHT = 14
1532
+ SDL_GAMEPAD_BUTTON_MISC1 = 15
1533
+ SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1 = 16
1534
+ SDL_GAMEPAD_BUTTON_LEFT_PADDLE1 = 17
1535
+ SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 = 18
1536
+ SDL_GAMEPAD_BUTTON_LEFT_PADDLE2 = 19
1537
+ SDL_GAMEPAD_BUTTON_TOUCHPAD = 20
1538
+ SDL_GAMEPAD_BUTTON_MISC2 = 21
1539
+ SDL_GAMEPAD_BUTTON_MISC3 = 22
1540
+ SDL_GAMEPAD_BUTTON_MISC4 = 23
1541
+ SDL_GAMEPAD_BUTTON_MISC5 = 24
1542
+ SDL_GAMEPAD_BUTTON_MISC6 = 25
1543
+ SDL_GAMEPAD_BUTTON_COUNT = 26
1544
+
1545
+ enum SDL_GamepadButtonLabel: int
1546
+ SDL_GAMEPAD_BUTTON_LABEL_UNKNOWN = 0
1547
+ SDL_GAMEPAD_BUTTON_LABEL_A = 1
1548
+ SDL_GAMEPAD_BUTTON_LABEL_B = 2
1549
+ SDL_GAMEPAD_BUTTON_LABEL_X = 3
1550
+ SDL_GAMEPAD_BUTTON_LABEL_Y = 4
1551
+ SDL_GAMEPAD_BUTTON_LABEL_CROSS = 5
1552
+ SDL_GAMEPAD_BUTTON_LABEL_CIRCLE = 6
1553
+ SDL_GAMEPAD_BUTTON_LABEL_SQUARE = 7
1554
+ SDL_GAMEPAD_BUTTON_LABEL_TRIANGLE = 8
1555
+
1556
+ enum SDL_GamepadAxis: int
1557
+ SDL_GAMEPAD_AXIS_INVALID = -1
1558
+ SDL_GAMEPAD_AXIS_LEFTX = 0
1559
+ SDL_GAMEPAD_AXIS_LEFTY = 1
1560
+ SDL_GAMEPAD_AXIS_RIGHTX = 2
1561
+ SDL_GAMEPAD_AXIS_RIGHTY = 3
1562
+ SDL_GAMEPAD_AXIS_LEFT_TRIGGER = 4
1563
+ SDL_GAMEPAD_AXIS_RIGHT_TRIGGER = 5
1564
+ SDL_GAMEPAD_AXIS_COUNT = 6
1565
+
1566
+ enum SDL_GamepadBindingType: int
1567
+ SDL_GAMEPAD_BINDTYPE_NONE = 0
1568
+ SDL_GAMEPAD_BINDTYPE_BUTTON = 1
1569
+ SDL_GAMEPAD_BINDTYPE_AXIS = 2
1570
+ SDL_GAMEPAD_BINDTYPE_HAT = 3
1571
+
1572
+ struct SDL_GamepadBinding:
1573
+ input_type: SDL_GamepadBindingType
1574
+ input: SDL_GamepadBinding_input
1575
+ output_type: SDL_GamepadBindingType
1576
+ output: SDL_GamepadBinding_output
1577
+
1578
+ external function SDL_AddGamepadMapping(mapping: cstr) -> int
1579
+ external function SDL_AddGamepadMappingsFromIO(src: ptr[SDL_IOStream], closeio: bool) -> int
1580
+ external function SDL_AddGamepadMappingsFromFile(file: cstr) -> int
1581
+ external function SDL_ReloadGamepadMappings() -> bool
1582
+ external function SDL_GetGamepadMappings(count: ptr[int]) -> ptr[ptr[char]]?
1583
+ external function SDL_GetGamepadMappingForGUID(guid: SDL_GUID) -> ptr[char]?
1584
+ external function SDL_GetGamepadMapping(gamepad: ptr[SDL_Gamepad]) -> ptr[char]?
1585
+ external function SDL_SetGamepadMapping(instance_id: uint, mapping: cstr?) -> bool
1586
+ external function SDL_HasGamepad() -> bool
1587
+ external function SDL_GetGamepads(count: ptr[int]?) -> ptr[SDL_JoystickID]?
1588
+ external function SDL_IsGamepad(instance_id: uint) -> bool
1589
+ external function SDL_GetGamepadNameForID(instance_id: uint) -> cstr?
1590
+ external function SDL_GetGamepadPathForID(instance_id: uint) -> cstr?
1591
+ external function SDL_GetGamepadPlayerIndexForID(instance_id: uint) -> int
1592
+ external function SDL_GetGamepadGUIDForID(instance_id: uint) -> SDL_GUID
1593
+ external function SDL_GetGamepadVendorForID(instance_id: uint) -> Uint16
1594
+ external function SDL_GetGamepadProductForID(instance_id: uint) -> Uint16
1595
+ external function SDL_GetGamepadProductVersionForID(instance_id: uint) -> Uint16
1596
+ external function SDL_GetGamepadTypeForID(instance_id: uint) -> SDL_GamepadType
1597
+ external function SDL_GetRealGamepadTypeForID(instance_id: uint) -> SDL_GamepadType
1598
+ external function SDL_GetGamepadMappingForID(instance_id: uint) -> ptr[char]?
1599
+ external function SDL_OpenGamepad(instance_id: uint) -> ptr[SDL_Gamepad]?
1600
+ external function SDL_GetGamepadFromID(instance_id: uint) -> ptr[SDL_Gamepad]?
1601
+ external function SDL_GetGamepadFromPlayerIndex(player_index: int) -> ptr[SDL_Gamepad]
1602
+ external function SDL_GetGamepadProperties(gamepad: ptr[SDL_Gamepad]) -> SDL_PropertiesID
1603
+ external function SDL_GetGamepadID(gamepad: ptr[SDL_Gamepad]) -> SDL_JoystickID
1604
+ external function SDL_GetGamepadName(gamepad: ptr[SDL_Gamepad]) -> cstr?
1605
+ external function SDL_GetGamepadPath(gamepad: ptr[SDL_Gamepad]) -> cstr?
1606
+ external function SDL_GetGamepadType(gamepad: ptr[SDL_Gamepad]) -> SDL_GamepadType
1607
+ external function SDL_GetRealGamepadType(gamepad: ptr[SDL_Gamepad]) -> SDL_GamepadType
1608
+ external function SDL_GetGamepadPlayerIndex(gamepad: ptr[SDL_Gamepad]) -> int
1609
+ external function SDL_SetGamepadPlayerIndex(gamepad: ptr[SDL_Gamepad], player_index: int) -> bool
1610
+ external function SDL_GetGamepadVendor(gamepad: ptr[SDL_Gamepad]) -> Uint16
1611
+ external function SDL_GetGamepadProduct(gamepad: ptr[SDL_Gamepad]) -> Uint16
1612
+ external function SDL_GetGamepadProductVersion(gamepad: ptr[SDL_Gamepad]) -> Uint16
1613
+ external function SDL_GetGamepadFirmwareVersion(gamepad: ptr[SDL_Gamepad]) -> Uint16
1614
+ external function SDL_GetGamepadSerial(gamepad: ptr[SDL_Gamepad]) -> cstr?
1615
+ external function SDL_GetGamepadSteamHandle(gamepad: ptr[SDL_Gamepad]) -> Uint64
1616
+ external function SDL_GetGamepadConnectionState(gamepad: ptr[SDL_Gamepad]) -> SDL_JoystickConnectionState
1617
+ external function SDL_GetGamepadPowerInfo(gamepad: ptr[SDL_Gamepad], percent: ptr[int]?) -> SDL_PowerState
1618
+ external function SDL_GamepadConnected(gamepad: ptr[SDL_Gamepad]) -> bool
1619
+ external function SDL_GetGamepadJoystick(gamepad: ptr[SDL_Gamepad]) -> ptr[SDL_Joystick]?
1620
+ external function SDL_SetGamepadEventsEnabled(enabled: bool) -> void
1621
+ external function SDL_GamepadEventsEnabled() -> bool
1622
+ external function SDL_GetGamepadBindings(gamepad: ptr[SDL_Gamepad], count: ptr[int]) -> ptr[ptr[SDL_GamepadBinding]]?
1623
+ external function SDL_UpdateGamepads() -> void
1624
+ external function SDL_GetGamepadTypeFromString(str_: cstr) -> SDL_GamepadType
1625
+ external function SDL_GetGamepadStringForType(type_: SDL_GamepadType) -> cstr?
1626
+ external function SDL_GetGamepadAxisFromString(str_: cstr) -> SDL_GamepadAxis
1627
+ external function SDL_GetGamepadStringForAxis(axis: SDL_GamepadAxis) -> cstr?
1628
+ external function SDL_GamepadHasAxis(gamepad: ptr[SDL_Gamepad], axis: SDL_GamepadAxis) -> bool
1629
+ external function SDL_GetGamepadAxis(gamepad: ptr[SDL_Gamepad], axis: SDL_GamepadAxis) -> Sint16
1630
+ external function SDL_GetGamepadButtonFromString(str_: cstr) -> SDL_GamepadButton
1631
+ external function SDL_GetGamepadStringForButton(button: SDL_GamepadButton) -> cstr?
1632
+ external function SDL_GamepadHasButton(gamepad: ptr[SDL_Gamepad], button: SDL_GamepadButton) -> bool
1633
+ external function SDL_GetGamepadButton(gamepad: ptr[SDL_Gamepad], button: SDL_GamepadButton) -> bool
1634
+ external function SDL_GetGamepadButtonLabelForType(type_: SDL_GamepadType, button: SDL_GamepadButton) -> SDL_GamepadButtonLabel
1635
+ external function SDL_GetGamepadButtonLabel(gamepad: ptr[SDL_Gamepad], button: SDL_GamepadButton) -> SDL_GamepadButtonLabel
1636
+ external function SDL_GetNumGamepadTouchpads(gamepad: ptr[SDL_Gamepad]) -> int
1637
+ external function SDL_GetNumGamepadTouchpadFingers(gamepad: ptr[SDL_Gamepad], touchpad: int) -> int
1638
+ external function SDL_GetGamepadTouchpadFinger(gamepad: ptr[SDL_Gamepad], touchpad: int, finger: int, down: ptr[bool]?, x: ptr[float]?, y: ptr[float]?, pressure: ptr[float]?) -> bool
1639
+ external function SDL_GamepadHasSensor(gamepad: ptr[SDL_Gamepad], type_: SDL_SensorType) -> bool
1640
+ external function SDL_SetGamepadSensorEnabled(gamepad: ptr[SDL_Gamepad], type_: SDL_SensorType, enabled: bool) -> bool
1641
+ external function SDL_GamepadSensorEnabled(gamepad: ptr[SDL_Gamepad], type_: SDL_SensorType) -> bool
1642
+ external function SDL_GetGamepadSensorDataRate(gamepad: ptr[SDL_Gamepad], type_: SDL_SensorType) -> float
1643
+ external function SDL_GetGamepadSensorData(gamepad: ptr[SDL_Gamepad], type_: SDL_SensorType, data: ptr[float], num_values: int) -> bool
1644
+ external function SDL_RumbleGamepad(gamepad: ptr[SDL_Gamepad], low_frequency_rumble: ushort, high_frequency_rumble: ushort, duration_ms: uint) -> bool
1645
+ external function SDL_RumbleGamepadTriggers(gamepad: ptr[SDL_Gamepad], left_rumble: ushort, right_rumble: ushort, duration_ms: uint) -> bool
1646
+ external function SDL_SetGamepadLED(gamepad: ptr[SDL_Gamepad], red: ubyte, green: ubyte, blue: ubyte) -> bool
1647
+ external function SDL_SendGamepadEffect(gamepad: ptr[SDL_Gamepad], data: const_ptr[void], size: int) -> bool
1648
+ external function SDL_CloseGamepad(gamepad: ptr[SDL_Gamepad]) -> void
1649
+ external function SDL_GetGamepadAppleSFSymbolsNameForButton(gamepad: ptr[SDL_Gamepad], button: SDL_GamepadButton) -> cstr?
1650
+ external function SDL_GetGamepadAppleSFSymbolsNameForAxis(gamepad: ptr[SDL_Gamepad], axis: SDL_GamepadAxis) -> cstr?
1651
+
1652
+ enum SDL_Scancode: int
1653
+ SDL_SCANCODE_UNKNOWN = 0
1654
+ SDL_SCANCODE_A = 4
1655
+ SDL_SCANCODE_B = 5
1656
+ SDL_SCANCODE_C = 6
1657
+ SDL_SCANCODE_D = 7
1658
+ SDL_SCANCODE_E = 8
1659
+ SDL_SCANCODE_F = 9
1660
+ SDL_SCANCODE_G = 10
1661
+ SDL_SCANCODE_H = 11
1662
+ SDL_SCANCODE_I = 12
1663
+ SDL_SCANCODE_J = 13
1664
+ SDL_SCANCODE_K = 14
1665
+ SDL_SCANCODE_L = 15
1666
+ SDL_SCANCODE_M = 16
1667
+ SDL_SCANCODE_N = 17
1668
+ SDL_SCANCODE_O = 18
1669
+ SDL_SCANCODE_P = 19
1670
+ SDL_SCANCODE_Q = 20
1671
+ SDL_SCANCODE_R = 21
1672
+ SDL_SCANCODE_S = 22
1673
+ SDL_SCANCODE_T = 23
1674
+ SDL_SCANCODE_U = 24
1675
+ SDL_SCANCODE_V = 25
1676
+ SDL_SCANCODE_W = 26
1677
+ SDL_SCANCODE_X = 27
1678
+ SDL_SCANCODE_Y = 28
1679
+ SDL_SCANCODE_Z = 29
1680
+ SDL_SCANCODE_1 = 30
1681
+ SDL_SCANCODE_2 = 31
1682
+ SDL_SCANCODE_3 = 32
1683
+ SDL_SCANCODE_4 = 33
1684
+ SDL_SCANCODE_5 = 34
1685
+ SDL_SCANCODE_6 = 35
1686
+ SDL_SCANCODE_7 = 36
1687
+ SDL_SCANCODE_8 = 37
1688
+ SDL_SCANCODE_9 = 38
1689
+ SDL_SCANCODE_0 = 39
1690
+ SDL_SCANCODE_RETURN = 40
1691
+ SDL_SCANCODE_ESCAPE = 41
1692
+ SDL_SCANCODE_BACKSPACE = 42
1693
+ SDL_SCANCODE_TAB = 43
1694
+ SDL_SCANCODE_SPACE = 44
1695
+ SDL_SCANCODE_MINUS = 45
1696
+ SDL_SCANCODE_EQUALS = 46
1697
+ SDL_SCANCODE_LEFTBRACKET = 47
1698
+ SDL_SCANCODE_RIGHTBRACKET = 48
1699
+ SDL_SCANCODE_BACKSLASH = 49
1700
+ SDL_SCANCODE_NONUSHASH = 50
1701
+ SDL_SCANCODE_SEMICOLON = 51
1702
+ SDL_SCANCODE_APOSTROPHE = 52
1703
+ SDL_SCANCODE_GRAVE = 53
1704
+ SDL_SCANCODE_COMMA = 54
1705
+ SDL_SCANCODE_PERIOD = 55
1706
+ SDL_SCANCODE_SLASH = 56
1707
+ SDL_SCANCODE_CAPSLOCK = 57
1708
+ SDL_SCANCODE_F1 = 58
1709
+ SDL_SCANCODE_F2 = 59
1710
+ SDL_SCANCODE_F3 = 60
1711
+ SDL_SCANCODE_F4 = 61
1712
+ SDL_SCANCODE_F5 = 62
1713
+ SDL_SCANCODE_F6 = 63
1714
+ SDL_SCANCODE_F7 = 64
1715
+ SDL_SCANCODE_F8 = 65
1716
+ SDL_SCANCODE_F9 = 66
1717
+ SDL_SCANCODE_F10 = 67
1718
+ SDL_SCANCODE_F11 = 68
1719
+ SDL_SCANCODE_F12 = 69
1720
+ SDL_SCANCODE_PRINTSCREEN = 70
1721
+ SDL_SCANCODE_SCROLLLOCK = 71
1722
+ SDL_SCANCODE_PAUSE = 72
1723
+ SDL_SCANCODE_INSERT = 73
1724
+ SDL_SCANCODE_HOME = 74
1725
+ SDL_SCANCODE_PAGEUP = 75
1726
+ SDL_SCANCODE_DELETE = 76
1727
+ SDL_SCANCODE_END = 77
1728
+ SDL_SCANCODE_PAGEDOWN = 78
1729
+ SDL_SCANCODE_RIGHT = 79
1730
+ SDL_SCANCODE_LEFT = 80
1731
+ SDL_SCANCODE_DOWN = 81
1732
+ SDL_SCANCODE_UP = 82
1733
+ SDL_SCANCODE_NUMLOCKCLEAR = 83
1734
+ SDL_SCANCODE_KP_DIVIDE = 84
1735
+ SDL_SCANCODE_KP_MULTIPLY = 85
1736
+ SDL_SCANCODE_KP_MINUS = 86
1737
+ SDL_SCANCODE_KP_PLUS = 87
1738
+ SDL_SCANCODE_KP_ENTER = 88
1739
+ SDL_SCANCODE_KP_1 = 89
1740
+ SDL_SCANCODE_KP_2 = 90
1741
+ SDL_SCANCODE_KP_3 = 91
1742
+ SDL_SCANCODE_KP_4 = 92
1743
+ SDL_SCANCODE_KP_5 = 93
1744
+ SDL_SCANCODE_KP_6 = 94
1745
+ SDL_SCANCODE_KP_7 = 95
1746
+ SDL_SCANCODE_KP_8 = 96
1747
+ SDL_SCANCODE_KP_9 = 97
1748
+ SDL_SCANCODE_KP_0 = 98
1749
+ SDL_SCANCODE_KP_PERIOD = 99
1750
+ SDL_SCANCODE_NONUSBACKSLASH = 100
1751
+ SDL_SCANCODE_APPLICATION = 101
1752
+ SDL_SCANCODE_POWER = 102
1753
+ SDL_SCANCODE_KP_EQUALS = 103
1754
+ SDL_SCANCODE_F13 = 104
1755
+ SDL_SCANCODE_F14 = 105
1756
+ SDL_SCANCODE_F15 = 106
1757
+ SDL_SCANCODE_F16 = 107
1758
+ SDL_SCANCODE_F17 = 108
1759
+ SDL_SCANCODE_F18 = 109
1760
+ SDL_SCANCODE_F19 = 110
1761
+ SDL_SCANCODE_F20 = 111
1762
+ SDL_SCANCODE_F21 = 112
1763
+ SDL_SCANCODE_F22 = 113
1764
+ SDL_SCANCODE_F23 = 114
1765
+ SDL_SCANCODE_F24 = 115
1766
+ SDL_SCANCODE_EXECUTE = 116
1767
+ SDL_SCANCODE_HELP = 117
1768
+ SDL_SCANCODE_MENU = 118
1769
+ SDL_SCANCODE_SELECT = 119
1770
+ SDL_SCANCODE_STOP = 120
1771
+ SDL_SCANCODE_AGAIN = 121
1772
+ SDL_SCANCODE_UNDO = 122
1773
+ SDL_SCANCODE_CUT = 123
1774
+ SDL_SCANCODE_COPY = 124
1775
+ SDL_SCANCODE_PASTE = 125
1776
+ SDL_SCANCODE_FIND = 126
1777
+ SDL_SCANCODE_MUTE = 127
1778
+ SDL_SCANCODE_VOLUMEUP = 128
1779
+ SDL_SCANCODE_VOLUMEDOWN = 129
1780
+ SDL_SCANCODE_KP_COMMA = 133
1781
+ SDL_SCANCODE_KP_EQUALSAS400 = 134
1782
+ SDL_SCANCODE_INTERNATIONAL1 = 135
1783
+ SDL_SCANCODE_INTERNATIONAL2 = 136
1784
+ SDL_SCANCODE_INTERNATIONAL3 = 137
1785
+ SDL_SCANCODE_INTERNATIONAL4 = 138
1786
+ SDL_SCANCODE_INTERNATIONAL5 = 139
1787
+ SDL_SCANCODE_INTERNATIONAL6 = 140
1788
+ SDL_SCANCODE_INTERNATIONAL7 = 141
1789
+ SDL_SCANCODE_INTERNATIONAL8 = 142
1790
+ SDL_SCANCODE_INTERNATIONAL9 = 143
1791
+ SDL_SCANCODE_LANG1 = 144
1792
+ SDL_SCANCODE_LANG2 = 145
1793
+ SDL_SCANCODE_LANG3 = 146
1794
+ SDL_SCANCODE_LANG4 = 147
1795
+ SDL_SCANCODE_LANG5 = 148
1796
+ SDL_SCANCODE_LANG6 = 149
1797
+ SDL_SCANCODE_LANG7 = 150
1798
+ SDL_SCANCODE_LANG8 = 151
1799
+ SDL_SCANCODE_LANG9 = 152
1800
+ SDL_SCANCODE_ALTERASE = 153
1801
+ SDL_SCANCODE_SYSREQ = 154
1802
+ SDL_SCANCODE_CANCEL = 155
1803
+ SDL_SCANCODE_CLEAR = 156
1804
+ SDL_SCANCODE_PRIOR = 157
1805
+ SDL_SCANCODE_RETURN2 = 158
1806
+ SDL_SCANCODE_SEPARATOR = 159
1807
+ SDL_SCANCODE_OUT = 160
1808
+ SDL_SCANCODE_OPER = 161
1809
+ SDL_SCANCODE_CLEARAGAIN = 162
1810
+ SDL_SCANCODE_CRSEL = 163
1811
+ SDL_SCANCODE_EXSEL = 164
1812
+ SDL_SCANCODE_KP_00 = 176
1813
+ SDL_SCANCODE_KP_000 = 177
1814
+ SDL_SCANCODE_THOUSANDSSEPARATOR = 178
1815
+ SDL_SCANCODE_DECIMALSEPARATOR = 179
1816
+ SDL_SCANCODE_CURRENCYUNIT = 180
1817
+ SDL_SCANCODE_CURRENCYSUBUNIT = 181
1818
+ SDL_SCANCODE_KP_LEFTPAREN = 182
1819
+ SDL_SCANCODE_KP_RIGHTPAREN = 183
1820
+ SDL_SCANCODE_KP_LEFTBRACE = 184
1821
+ SDL_SCANCODE_KP_RIGHTBRACE = 185
1822
+ SDL_SCANCODE_KP_TAB = 186
1823
+ SDL_SCANCODE_KP_BACKSPACE = 187
1824
+ SDL_SCANCODE_KP_A = 188
1825
+ SDL_SCANCODE_KP_B = 189
1826
+ SDL_SCANCODE_KP_C = 190
1827
+ SDL_SCANCODE_KP_D = 191
1828
+ SDL_SCANCODE_KP_E = 192
1829
+ SDL_SCANCODE_KP_F = 193
1830
+ SDL_SCANCODE_KP_XOR = 194
1831
+ SDL_SCANCODE_KP_POWER = 195
1832
+ SDL_SCANCODE_KP_PERCENT = 196
1833
+ SDL_SCANCODE_KP_LESS = 197
1834
+ SDL_SCANCODE_KP_GREATER = 198
1835
+ SDL_SCANCODE_KP_AMPERSAND = 199
1836
+ SDL_SCANCODE_KP_DBLAMPERSAND = 200
1837
+ SDL_SCANCODE_KP_VERTICALBAR = 201
1838
+ SDL_SCANCODE_KP_DBLVERTICALBAR = 202
1839
+ SDL_SCANCODE_KP_COLON = 203
1840
+ SDL_SCANCODE_KP_HASH = 204
1841
+ SDL_SCANCODE_KP_SPACE = 205
1842
+ SDL_SCANCODE_KP_AT = 206
1843
+ SDL_SCANCODE_KP_EXCLAM = 207
1844
+ SDL_SCANCODE_KP_MEMSTORE = 208
1845
+ SDL_SCANCODE_KP_MEMRECALL = 209
1846
+ SDL_SCANCODE_KP_MEMCLEAR = 210
1847
+ SDL_SCANCODE_KP_MEMADD = 211
1848
+ SDL_SCANCODE_KP_MEMSUBTRACT = 212
1849
+ SDL_SCANCODE_KP_MEMMULTIPLY = 213
1850
+ SDL_SCANCODE_KP_MEMDIVIDE = 214
1851
+ SDL_SCANCODE_KP_PLUSMINUS = 215
1852
+ SDL_SCANCODE_KP_CLEAR = 216
1853
+ SDL_SCANCODE_KP_CLEARENTRY = 217
1854
+ SDL_SCANCODE_KP_BINARY = 218
1855
+ SDL_SCANCODE_KP_OCTAL = 219
1856
+ SDL_SCANCODE_KP_DECIMAL = 220
1857
+ SDL_SCANCODE_KP_HEXADECIMAL = 221
1858
+ SDL_SCANCODE_LCTRL = 224
1859
+ SDL_SCANCODE_LSHIFT = 225
1860
+ SDL_SCANCODE_LALT = 226
1861
+ SDL_SCANCODE_LGUI = 227
1862
+ SDL_SCANCODE_RCTRL = 228
1863
+ SDL_SCANCODE_RSHIFT = 229
1864
+ SDL_SCANCODE_RALT = 230
1865
+ SDL_SCANCODE_RGUI = 231
1866
+ SDL_SCANCODE_MODE = 257
1867
+ SDL_SCANCODE_SLEEP = 258
1868
+ SDL_SCANCODE_WAKE = 259
1869
+ SDL_SCANCODE_CHANNEL_INCREMENT = 260
1870
+ SDL_SCANCODE_CHANNEL_DECREMENT = 261
1871
+ SDL_SCANCODE_MEDIA_PLAY = 262
1872
+ SDL_SCANCODE_MEDIA_PAUSE = 263
1873
+ SDL_SCANCODE_MEDIA_RECORD = 264
1874
+ SDL_SCANCODE_MEDIA_FAST_FORWARD = 265
1875
+ SDL_SCANCODE_MEDIA_REWIND = 266
1876
+ SDL_SCANCODE_MEDIA_NEXT_TRACK = 267
1877
+ SDL_SCANCODE_MEDIA_PREVIOUS_TRACK = 268
1878
+ SDL_SCANCODE_MEDIA_STOP = 269
1879
+ SDL_SCANCODE_MEDIA_EJECT = 270
1880
+ SDL_SCANCODE_MEDIA_PLAY_PAUSE = 271
1881
+ SDL_SCANCODE_MEDIA_SELECT = 272
1882
+ SDL_SCANCODE_AC_NEW = 273
1883
+ SDL_SCANCODE_AC_OPEN = 274
1884
+ SDL_SCANCODE_AC_CLOSE = 275
1885
+ SDL_SCANCODE_AC_EXIT = 276
1886
+ SDL_SCANCODE_AC_SAVE = 277
1887
+ SDL_SCANCODE_AC_PRINT = 278
1888
+ SDL_SCANCODE_AC_PROPERTIES = 279
1889
+ SDL_SCANCODE_AC_SEARCH = 280
1890
+ SDL_SCANCODE_AC_HOME = 281
1891
+ SDL_SCANCODE_AC_BACK = 282
1892
+ SDL_SCANCODE_AC_FORWARD = 283
1893
+ SDL_SCANCODE_AC_STOP = 284
1894
+ SDL_SCANCODE_AC_REFRESH = 285
1895
+ SDL_SCANCODE_AC_BOOKMARKS = 286
1896
+ SDL_SCANCODE_SOFTLEFT = 287
1897
+ SDL_SCANCODE_SOFTRIGHT = 288
1898
+ SDL_SCANCODE_CALL = 289
1899
+ SDL_SCANCODE_ENDCALL = 290
1900
+ SDL_SCANCODE_RESERVED = 400
1901
+ SDL_SCANCODE_COUNT = 512
1902
+
1903
+ type SDL_Keycode = uint
1904
+ type SDL_Keymod = ushort
1905
+ type SDL_KeyboardID = uint
1906
+
1907
+ external function SDL_HasKeyboard() -> bool
1908
+ external function SDL_GetKeyboards(count: ptr[int]?) -> ptr[SDL_KeyboardID]?
1909
+ external function SDL_GetKeyboardNameForID(instance_id: uint) -> cstr?
1910
+ external function SDL_GetKeyboardFocus() -> ptr[SDL_Window]
1911
+ external function SDL_GetKeyboardState(numkeys: ptr[int]) -> const_ptr[bool]
1912
+ external function SDL_ResetKeyboard() -> void
1913
+ external function SDL_GetModState() -> SDL_Keymod
1914
+ external function SDL_SetModState(modstate: ushort) -> void
1915
+ external function SDL_GetKeyFromScancode(scancode: SDL_Scancode, modstate: ushort, key_event: bool) -> SDL_Keycode
1916
+ external function SDL_GetScancodeFromKey(key: uint, modstate: ptr[SDL_Keymod]?) -> SDL_Scancode
1917
+ external function SDL_SetScancodeName(scancode: SDL_Scancode, name: cstr) -> bool
1918
+ external function SDL_GetScancodeName(scancode: SDL_Scancode) -> cstr
1919
+ external function SDL_GetScancodeFromName(name: cstr) -> SDL_Scancode
1920
+ external function SDL_GetKeyName(key: uint) -> cstr
1921
+ external function SDL_GetKeyFromName(name: cstr) -> SDL_Keycode
1922
+ external function SDL_StartTextInput(window: ptr[SDL_Window]) -> bool
1923
+
1924
+ enum SDL_TextInputType: int
1925
+ SDL_TEXTINPUT_TYPE_TEXT = 0
1926
+ SDL_TEXTINPUT_TYPE_TEXT_NAME = 1
1927
+ SDL_TEXTINPUT_TYPE_TEXT_EMAIL = 2
1928
+ SDL_TEXTINPUT_TYPE_TEXT_USERNAME = 3
1929
+ SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN = 4
1930
+ SDL_TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE = 5
1931
+ SDL_TEXTINPUT_TYPE_NUMBER = 6
1932
+ SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN = 7
1933
+ SDL_TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE = 8
1934
+
1935
+ enum SDL_Capitalization: int
1936
+ SDL_CAPITALIZE_NONE = 0
1937
+ SDL_CAPITALIZE_SENTENCES = 1
1938
+ SDL_CAPITALIZE_WORDS = 2
1939
+ SDL_CAPITALIZE_LETTERS = 3
1940
+
1941
+ external function SDL_StartTextInputWithProperties(window: ptr[SDL_Window], props: uint) -> bool
1942
+ external function SDL_TextInputActive(window: ptr[SDL_Window]) -> bool
1943
+ external function SDL_StopTextInput(window: ptr[SDL_Window]) -> bool
1944
+ external function SDL_ClearComposition(window: ptr[SDL_Window]) -> bool
1945
+ external function SDL_SetTextInputArea(window: ptr[SDL_Window], rect: const_ptr[SDL_Rect]?, cursor: int) -> bool
1946
+ external function SDL_GetTextInputArea(window: ptr[SDL_Window], rect: ptr[SDL_Rect]?, cursor: ptr[int]?) -> bool
1947
+ external function SDL_HasScreenKeyboardSupport() -> bool
1948
+ external function SDL_ScreenKeyboardShown(window: ptr[SDL_Window]) -> bool
1949
+
1950
+ type SDL_MouseID = uint
1951
+
1952
+ opaque SDL_Cursor = c"SDL_Cursor"
1953
+
1954
+ enum SDL_SystemCursor: int
1955
+ SDL_SYSTEM_CURSOR_DEFAULT = 0
1956
+ SDL_SYSTEM_CURSOR_TEXT = 1
1957
+ SDL_SYSTEM_CURSOR_WAIT = 2
1958
+ SDL_SYSTEM_CURSOR_CROSSHAIR = 3
1959
+ SDL_SYSTEM_CURSOR_PROGRESS = 4
1960
+ SDL_SYSTEM_CURSOR_NWSE_RESIZE = 5
1961
+ SDL_SYSTEM_CURSOR_NESW_RESIZE = 6
1962
+ SDL_SYSTEM_CURSOR_EW_RESIZE = 7
1963
+ SDL_SYSTEM_CURSOR_NS_RESIZE = 8
1964
+ SDL_SYSTEM_CURSOR_MOVE = 9
1965
+ SDL_SYSTEM_CURSOR_NOT_ALLOWED = 10
1966
+ SDL_SYSTEM_CURSOR_POINTER = 11
1967
+ SDL_SYSTEM_CURSOR_NW_RESIZE = 12
1968
+ SDL_SYSTEM_CURSOR_N_RESIZE = 13
1969
+ SDL_SYSTEM_CURSOR_NE_RESIZE = 14
1970
+ SDL_SYSTEM_CURSOR_E_RESIZE = 15
1971
+ SDL_SYSTEM_CURSOR_SE_RESIZE = 16
1972
+ SDL_SYSTEM_CURSOR_S_RESIZE = 17
1973
+ SDL_SYSTEM_CURSOR_SW_RESIZE = 18
1974
+ SDL_SYSTEM_CURSOR_W_RESIZE = 19
1975
+ SDL_SYSTEM_CURSOR_COUNT = 20
1976
+
1977
+ flags SDL_MouseWheelDirection: int
1978
+ SDL_MOUSEWHEEL_NORMAL = 0
1979
+ SDL_MOUSEWHEEL_FLIPPED = 1
1980
+
1981
+ struct SDL_CursorFrameInfo:
1982
+ surface: ptr[SDL_Surface]
1983
+ duration: uint
1984
+
1985
+ type SDL_MouseButtonFlags = uint
1986
+ type SDL_MouseMotionTransformCallback = fn(arg0: ptr[void], arg1: Uint64, arg2: ptr[SDL_Window], arg3: SDL_MouseID, arg4: ptr[float], arg5: ptr[float]) -> void
1987
+
1988
+ external function SDL_HasMouse() -> bool
1989
+ external function SDL_GetMice(count: ptr[int]?) -> ptr[SDL_MouseID]?
1990
+ external function SDL_GetMouseNameForID(instance_id: uint) -> cstr?
1991
+ external function SDL_GetMouseFocus() -> ptr[SDL_Window]
1992
+ external function SDL_GetMouseState(x: ptr[float], y: ptr[float]) -> SDL_MouseButtonFlags
1993
+ external function SDL_GetGlobalMouseState(x: ptr[float], y: ptr[float]) -> SDL_MouseButtonFlags
1994
+ external function SDL_GetRelativeMouseState(x: ptr[float], y: ptr[float]) -> SDL_MouseButtonFlags
1995
+ external function SDL_WarpMouseInWindow(window: ptr[SDL_Window]?, x: float, y: float) -> void
1996
+ external function SDL_WarpMouseGlobal(x: float, y: float) -> bool
1997
+ external function SDL_SetRelativeMouseTransform(callback: SDL_MouseMotionTransformCallback?, userdata: ptr[void]) -> bool
1998
+ external function SDL_SetWindowRelativeMouseMode(window: ptr[SDL_Window], enabled: bool) -> bool
1999
+ external function SDL_GetWindowRelativeMouseMode(window: ptr[SDL_Window]) -> bool
2000
+ external function SDL_CaptureMouse(enabled: bool) -> bool
2001
+ external function SDL_CreateCursor(data: const_ptr[Uint8], mask: const_ptr[Uint8], w: int, h: int, hot_x: int, hot_y: int) -> ptr[SDL_Cursor]?
2002
+ external function SDL_CreateColorCursor(surface: ptr[SDL_Surface], hot_x: int, hot_y: int) -> ptr[SDL_Cursor]?
2003
+ external function SDL_CreateAnimatedCursor(frames: ptr[SDL_CursorFrameInfo], frame_count: int, hot_x: int, hot_y: int) -> ptr[SDL_Cursor]
2004
+ external function SDL_CreateSystemCursor(id: SDL_SystemCursor) -> ptr[SDL_Cursor]?
2005
+ external function SDL_SetCursor(cursor: ptr[SDL_Cursor]) -> bool
2006
+ external function SDL_GetCursor() -> ptr[SDL_Cursor]?
2007
+ external function SDL_GetDefaultCursor() -> ptr[SDL_Cursor]?
2008
+ external function SDL_DestroyCursor(cursor: ptr[SDL_Cursor]) -> void
2009
+ external function SDL_ShowCursor() -> bool
2010
+ external function SDL_HideCursor() -> bool
2011
+ external function SDL_CursorVisible() -> bool
2012
+
2013
+ type SDL_TouchID = ptr_uint
2014
+ type SDL_FingerID = ptr_uint
2015
+
2016
+ enum SDL_TouchDeviceType: int
2017
+ SDL_TOUCH_DEVICE_INVALID = -1
2018
+ SDL_TOUCH_DEVICE_DIRECT = 0
2019
+ SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE = 1
2020
+ SDL_TOUCH_DEVICE_INDIRECT_RELATIVE = 2
2021
+
2022
+ struct SDL_Finger:
2023
+ id: ptr_uint
2024
+ x: float
2025
+ y: float
2026
+ pressure: float
2027
+
2028
+ external function SDL_GetTouchDevices(count: ptr[int]?) -> ptr[SDL_TouchID]?
2029
+ external function SDL_GetTouchDeviceName(touchID: ptr_uint) -> cstr?
2030
+ external function SDL_GetTouchDeviceType(touchID: ptr_uint) -> SDL_TouchDeviceType
2031
+ external function SDL_GetTouchFingers(touchID: ptr_uint, count: ptr[int]) -> ptr[ptr[SDL_Finger]]?
2032
+
2033
+ type SDL_PenID = uint
2034
+ type SDL_PenInputFlags = uint
2035
+
2036
+ enum SDL_PenAxis: int
2037
+ SDL_PEN_AXIS_PRESSURE = 0
2038
+ SDL_PEN_AXIS_XTILT = 1
2039
+ SDL_PEN_AXIS_YTILT = 2
2040
+ SDL_PEN_AXIS_DISTANCE = 3
2041
+ SDL_PEN_AXIS_ROTATION = 4
2042
+ SDL_PEN_AXIS_SLIDER = 5
2043
+ SDL_PEN_AXIS_TANGENTIAL_PRESSURE = 6
2044
+ SDL_PEN_AXIS_COUNT = 7
2045
+
2046
+ enum SDL_PenDeviceType: int
2047
+ SDL_PEN_DEVICE_TYPE_INVALID = -1
2048
+ SDL_PEN_DEVICE_TYPE_UNKNOWN = 0
2049
+ SDL_PEN_DEVICE_TYPE_DIRECT = 1
2050
+ SDL_PEN_DEVICE_TYPE_INDIRECT = 2
2051
+
2052
+ external function SDL_GetPenDeviceType(instance_id: uint) -> SDL_PenDeviceType
2053
+
2054
+ enum SDL_EventType: int
2055
+ SDL_EVENT_FIRST = 0
2056
+ SDL_EVENT_QUIT = 256
2057
+ SDL_EVENT_TERMINATING = 257
2058
+ SDL_EVENT_LOW_MEMORY = 258
2059
+ SDL_EVENT_WILL_ENTER_BACKGROUND = 259
2060
+ SDL_EVENT_DID_ENTER_BACKGROUND = 260
2061
+ SDL_EVENT_WILL_ENTER_FOREGROUND = 261
2062
+ SDL_EVENT_DID_ENTER_FOREGROUND = 262
2063
+ SDL_EVENT_LOCALE_CHANGED = 263
2064
+ SDL_EVENT_SYSTEM_THEME_CHANGED = 264
2065
+ SDL_EVENT_DISPLAY_ORIENTATION = 337
2066
+ SDL_EVENT_DISPLAY_ADDED = 338
2067
+ SDL_EVENT_DISPLAY_REMOVED = 339
2068
+ SDL_EVENT_DISPLAY_MOVED = 340
2069
+ SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED = 341
2070
+ SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED = 342
2071
+ SDL_EVENT_DISPLAY_CONTENT_SCALE_CHANGED = 343
2072
+ SDL_EVENT_DISPLAY_USABLE_BOUNDS_CHANGED = 344
2073
+ SDL_EVENT_DISPLAY_FIRST = 337
2074
+ SDL_EVENT_DISPLAY_LAST = 344
2075
+ SDL_EVENT_WINDOW_SHOWN = 514
2076
+ SDL_EVENT_WINDOW_HIDDEN = 515
2077
+ SDL_EVENT_WINDOW_EXPOSED = 516
2078
+ SDL_EVENT_WINDOW_MOVED = 517
2079
+ SDL_EVENT_WINDOW_RESIZED = 518
2080
+ SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED = 519
2081
+ SDL_EVENT_WINDOW_METAL_VIEW_RESIZED = 520
2082
+ SDL_EVENT_WINDOW_MINIMIZED = 521
2083
+ SDL_EVENT_WINDOW_MAXIMIZED = 522
2084
+ SDL_EVENT_WINDOW_RESTORED = 523
2085
+ SDL_EVENT_WINDOW_MOUSE_ENTER = 524
2086
+ SDL_EVENT_WINDOW_MOUSE_LEAVE = 525
2087
+ SDL_EVENT_WINDOW_FOCUS_GAINED = 526
2088
+ SDL_EVENT_WINDOW_FOCUS_LOST = 527
2089
+ SDL_EVENT_WINDOW_CLOSE_REQUESTED = 528
2090
+ SDL_EVENT_WINDOW_HIT_TEST = 529
2091
+ SDL_EVENT_WINDOW_ICCPROF_CHANGED = 530
2092
+ SDL_EVENT_WINDOW_DISPLAY_CHANGED = 531
2093
+ SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED = 532
2094
+ SDL_EVENT_WINDOW_SAFE_AREA_CHANGED = 533
2095
+ SDL_EVENT_WINDOW_OCCLUDED = 534
2096
+ SDL_EVENT_WINDOW_ENTER_FULLSCREEN = 535
2097
+ SDL_EVENT_WINDOW_LEAVE_FULLSCREEN = 536
2098
+ SDL_EVENT_WINDOW_DESTROYED = 537
2099
+ SDL_EVENT_WINDOW_HDR_STATE_CHANGED = 538
2100
+ SDL_EVENT_WINDOW_FIRST = 514
2101
+ SDL_EVENT_WINDOW_LAST = 538
2102
+ SDL_EVENT_KEY_DOWN = 768
2103
+ SDL_EVENT_KEY_UP = 769
2104
+ SDL_EVENT_TEXT_EDITING = 770
2105
+ SDL_EVENT_TEXT_INPUT = 771
2106
+ SDL_EVENT_KEYMAP_CHANGED = 772
2107
+ SDL_EVENT_KEYBOARD_ADDED = 773
2108
+ SDL_EVENT_KEYBOARD_REMOVED = 774
2109
+ SDL_EVENT_TEXT_EDITING_CANDIDATES = 775
2110
+ SDL_EVENT_SCREEN_KEYBOARD_SHOWN = 776
2111
+ SDL_EVENT_SCREEN_KEYBOARD_HIDDEN = 777
2112
+ SDL_EVENT_MOUSE_MOTION = 1024
2113
+ SDL_EVENT_MOUSE_BUTTON_DOWN = 1025
2114
+ SDL_EVENT_MOUSE_BUTTON_UP = 1026
2115
+ SDL_EVENT_MOUSE_WHEEL = 1027
2116
+ SDL_EVENT_MOUSE_ADDED = 1028
2117
+ SDL_EVENT_MOUSE_REMOVED = 1029
2118
+ SDL_EVENT_JOYSTICK_AXIS_MOTION = 1536
2119
+ SDL_EVENT_JOYSTICK_BALL_MOTION = 1537
2120
+ SDL_EVENT_JOYSTICK_HAT_MOTION = 1538
2121
+ SDL_EVENT_JOYSTICK_BUTTON_DOWN = 1539
2122
+ SDL_EVENT_JOYSTICK_BUTTON_UP = 1540
2123
+ SDL_EVENT_JOYSTICK_ADDED = 1541
2124
+ SDL_EVENT_JOYSTICK_REMOVED = 1542
2125
+ SDL_EVENT_JOYSTICK_BATTERY_UPDATED = 1543
2126
+ SDL_EVENT_JOYSTICK_UPDATE_COMPLETE = 1544
2127
+ SDL_EVENT_GAMEPAD_AXIS_MOTION = 1616
2128
+ SDL_EVENT_GAMEPAD_BUTTON_DOWN = 1617
2129
+ SDL_EVENT_GAMEPAD_BUTTON_UP = 1618
2130
+ SDL_EVENT_GAMEPAD_ADDED = 1619
2131
+ SDL_EVENT_GAMEPAD_REMOVED = 1620
2132
+ SDL_EVENT_GAMEPAD_REMAPPED = 1621
2133
+ SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN = 1622
2134
+ SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION = 1623
2135
+ SDL_EVENT_GAMEPAD_TOUCHPAD_UP = 1624
2136
+ SDL_EVENT_GAMEPAD_SENSOR_UPDATE = 1625
2137
+ SDL_EVENT_GAMEPAD_UPDATE_COMPLETE = 1626
2138
+ SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED = 1627
2139
+ SDL_EVENT_FINGER_DOWN = 1792
2140
+ SDL_EVENT_FINGER_UP = 1793
2141
+ SDL_EVENT_FINGER_MOTION = 1794
2142
+ SDL_EVENT_FINGER_CANCELED = 1795
2143
+ SDL_EVENT_PINCH_BEGIN = 1808
2144
+ SDL_EVENT_PINCH_UPDATE = 1809
2145
+ SDL_EVENT_PINCH_END = 1810
2146
+ SDL_EVENT_CLIPBOARD_UPDATE = 2304
2147
+ SDL_EVENT_DROP_FILE = 4096
2148
+ SDL_EVENT_DROP_TEXT = 4097
2149
+ SDL_EVENT_DROP_BEGIN = 4098
2150
+ SDL_EVENT_DROP_COMPLETE = 4099
2151
+ SDL_EVENT_DROP_POSITION = 4100
2152
+ SDL_EVENT_AUDIO_DEVICE_ADDED = 4352
2153
+ SDL_EVENT_AUDIO_DEVICE_REMOVED = 4353
2154
+ SDL_EVENT_AUDIO_DEVICE_FORMAT_CHANGED = 4354
2155
+ SDL_EVENT_SENSOR_UPDATE = 4608
2156
+ SDL_EVENT_PEN_PROXIMITY_IN = 4864
2157
+ SDL_EVENT_PEN_PROXIMITY_OUT = 4865
2158
+ SDL_EVENT_PEN_DOWN = 4866
2159
+ SDL_EVENT_PEN_UP = 4867
2160
+ SDL_EVENT_PEN_BUTTON_DOWN = 4868
2161
+ SDL_EVENT_PEN_BUTTON_UP = 4869
2162
+ SDL_EVENT_PEN_MOTION = 4870
2163
+ SDL_EVENT_PEN_AXIS = 4871
2164
+ SDL_EVENT_CAMERA_DEVICE_ADDED = 5120
2165
+ SDL_EVENT_CAMERA_DEVICE_REMOVED = 5121
2166
+ SDL_EVENT_CAMERA_DEVICE_APPROVED = 5122
2167
+ SDL_EVENT_CAMERA_DEVICE_DENIED = 5123
2168
+ SDL_EVENT_RENDER_TARGETS_RESET = 8192
2169
+ SDL_EVENT_RENDER_DEVICE_RESET = 8193
2170
+ SDL_EVENT_RENDER_DEVICE_LOST = 8194
2171
+ SDL_EVENT_PRIVATE0 = 16384
2172
+ SDL_EVENT_PRIVATE1 = 16385
2173
+ SDL_EVENT_PRIVATE2 = 16386
2174
+ SDL_EVENT_PRIVATE3 = 16387
2175
+ SDL_EVENT_POLL_SENTINEL = 32512
2176
+ SDL_EVENT_USER = 32768
2177
+ SDL_EVENT_LAST = 65535
2178
+ SDL_EVENT_ENUM_PADDING = 2147483647
2179
+
2180
+ struct SDL_CommonEvent:
2181
+ type_: uint
2182
+ reserved: uint
2183
+ timestamp: ptr_uint
2184
+
2185
+ struct SDL_DisplayEvent:
2186
+ type_: SDL_EventType
2187
+ reserved: uint
2188
+ timestamp: ptr_uint
2189
+ displayID: uint
2190
+ data1: int
2191
+ data2: int
2192
+
2193
+ struct SDL_WindowEvent:
2194
+ type_: SDL_EventType
2195
+ reserved: uint
2196
+ timestamp: ptr_uint
2197
+ windowID: uint
2198
+ data1: int
2199
+ data2: int
2200
+
2201
+ struct SDL_KeyboardDeviceEvent:
2202
+ type_: SDL_EventType
2203
+ reserved: uint
2204
+ timestamp: ptr_uint
2205
+ which: uint
2206
+
2207
+ struct SDL_KeyboardEvent:
2208
+ type_: SDL_EventType
2209
+ reserved: uint
2210
+ timestamp: ptr_uint
2211
+ windowID: uint
2212
+ which: uint
2213
+ scancode: SDL_Scancode
2214
+ key: uint
2215
+ mod: ushort
2216
+ raw: ushort
2217
+ down: bool
2218
+ repeat: bool
2219
+
2220
+ struct SDL_TextEditingEvent:
2221
+ type_: SDL_EventType
2222
+ reserved: uint
2223
+ timestamp: ptr_uint
2224
+ windowID: uint
2225
+ text: cstr
2226
+ start: int
2227
+ length: int
2228
+
2229
+ struct SDL_TextEditingCandidatesEvent:
2230
+ type_: SDL_EventType
2231
+ reserved: uint
2232
+ timestamp: ptr_uint
2233
+ windowID: uint
2234
+ candidates: const_ptr[cstr]
2235
+ num_candidates: int
2236
+ selected_candidate: int
2237
+ horizontal: bool
2238
+ padding1: ubyte
2239
+ padding2: ubyte
2240
+ padding3: ubyte
2241
+
2242
+ struct SDL_TextInputEvent:
2243
+ type_: SDL_EventType
2244
+ reserved: uint
2245
+ timestamp: ptr_uint
2246
+ windowID: uint
2247
+ text: cstr
2248
+
2249
+ struct SDL_MouseDeviceEvent:
2250
+ type_: SDL_EventType
2251
+ reserved: uint
2252
+ timestamp: ptr_uint
2253
+ which: uint
2254
+
2255
+ struct SDL_MouseMotionEvent:
2256
+ type_: SDL_EventType
2257
+ reserved: uint
2258
+ timestamp: ptr_uint
2259
+ windowID: uint
2260
+ which: uint
2261
+ state: uint
2262
+ x: float
2263
+ y: float
2264
+ xrel: float
2265
+ yrel: float
2266
+
2267
+ struct SDL_MouseButtonEvent:
2268
+ type_: SDL_EventType
2269
+ reserved: uint
2270
+ timestamp: ptr_uint
2271
+ windowID: uint
2272
+ which: uint
2273
+ button: ubyte
2274
+ down: bool
2275
+ clicks: ubyte
2276
+ padding: ubyte
2277
+ x: float
2278
+ y: float
2279
+
2280
+ struct SDL_MouseWheelEvent:
2281
+ type_: SDL_EventType
2282
+ reserved: uint
2283
+ timestamp: ptr_uint
2284
+ windowID: uint
2285
+ which: uint
2286
+ x: float
2287
+ y: float
2288
+ direction: SDL_MouseWheelDirection
2289
+ mouse_x: float
2290
+ mouse_y: float
2291
+ integer_x: int
2292
+ integer_y: int
2293
+
2294
+ struct SDL_JoyAxisEvent:
2295
+ type_: SDL_EventType
2296
+ reserved: uint
2297
+ timestamp: ptr_uint
2298
+ which: uint
2299
+ axis: ubyte
2300
+ padding1: ubyte
2301
+ padding2: ubyte
2302
+ padding3: ubyte
2303
+ value: short
2304
+ padding4: ushort
2305
+
2306
+ struct SDL_JoyBallEvent:
2307
+ type_: SDL_EventType
2308
+ reserved: uint
2309
+ timestamp: ptr_uint
2310
+ which: uint
2311
+ ball: ubyte
2312
+ padding1: ubyte
2313
+ padding2: ubyte
2314
+ padding3: ubyte
2315
+ xrel: short
2316
+ yrel: short
2317
+
2318
+ struct SDL_JoyHatEvent:
2319
+ type_: SDL_EventType
2320
+ reserved: uint
2321
+ timestamp: ptr_uint
2322
+ which: uint
2323
+ hat: ubyte
2324
+ value: ubyte
2325
+ padding1: ubyte
2326
+ padding2: ubyte
2327
+
2328
+ struct SDL_JoyButtonEvent:
2329
+ type_: SDL_EventType
2330
+ reserved: uint
2331
+ timestamp: ptr_uint
2332
+ which: uint
2333
+ button: ubyte
2334
+ down: bool
2335
+ padding1: ubyte
2336
+ padding2: ubyte
2337
+
2338
+ struct SDL_JoyDeviceEvent:
2339
+ type_: SDL_EventType
2340
+ reserved: uint
2341
+ timestamp: ptr_uint
2342
+ which: uint
2343
+
2344
+ struct SDL_JoyBatteryEvent:
2345
+ type_: SDL_EventType
2346
+ reserved: uint
2347
+ timestamp: ptr_uint
2348
+ which: uint
2349
+ state: SDL_PowerState
2350
+ percent: int
2351
+
2352
+ struct SDL_GamepadAxisEvent:
2353
+ type_: SDL_EventType
2354
+ reserved: uint
2355
+ timestamp: ptr_uint
2356
+ which: uint
2357
+ axis: ubyte
2358
+ padding1: ubyte
2359
+ padding2: ubyte
2360
+ padding3: ubyte
2361
+ value: short
2362
+ padding4: ushort
2363
+
2364
+ struct SDL_GamepadButtonEvent:
2365
+ type_: SDL_EventType
2366
+ reserved: uint
2367
+ timestamp: ptr_uint
2368
+ which: uint
2369
+ button: ubyte
2370
+ down: bool
2371
+ padding1: ubyte
2372
+ padding2: ubyte
2373
+
2374
+ struct SDL_GamepadDeviceEvent:
2375
+ type_: SDL_EventType
2376
+ reserved: uint
2377
+ timestamp: ptr_uint
2378
+ which: uint
2379
+
2380
+ struct SDL_GamepadTouchpadEvent:
2381
+ type_: SDL_EventType
2382
+ reserved: uint
2383
+ timestamp: ptr_uint
2384
+ which: uint
2385
+ touchpad: int
2386
+ finger: int
2387
+ x: float
2388
+ y: float
2389
+ pressure: float
2390
+
2391
+ struct SDL_GamepadSensorEvent:
2392
+ type_: SDL_EventType
2393
+ reserved: uint
2394
+ timestamp: ptr_uint
2395
+ which: uint
2396
+ sensor: int
2397
+ data: array[float, 3]
2398
+ sensor_timestamp: ptr_uint
2399
+
2400
+ struct SDL_AudioDeviceEvent:
2401
+ type_: SDL_EventType
2402
+ reserved: uint
2403
+ timestamp: ptr_uint
2404
+ which: uint
2405
+ recording: bool
2406
+ padding1: ubyte
2407
+ padding2: ubyte
2408
+ padding3: ubyte
2409
+
2410
+ struct SDL_CameraDeviceEvent:
2411
+ type_: SDL_EventType
2412
+ reserved: uint
2413
+ timestamp: ptr_uint
2414
+ which: uint
2415
+
2416
+ struct SDL_RenderEvent:
2417
+ type_: SDL_EventType
2418
+ reserved: uint
2419
+ timestamp: ptr_uint
2420
+ windowID: uint
2421
+
2422
+ struct SDL_TouchFingerEvent:
2423
+ type_: SDL_EventType
2424
+ reserved: uint
2425
+ timestamp: ptr_uint
2426
+ touchID: ptr_uint
2427
+ fingerID: ptr_uint
2428
+ x: float
2429
+ y: float
2430
+ dx: float
2431
+ dy: float
2432
+ pressure: float
2433
+ windowID: uint
2434
+
2435
+ struct SDL_PinchFingerEvent:
2436
+ type_: SDL_EventType
2437
+ reserved: uint
2438
+ timestamp: ptr_uint
2439
+ scale: float
2440
+ windowID: uint
2441
+
2442
+ struct SDL_PenProximityEvent:
2443
+ type_: SDL_EventType
2444
+ reserved: uint
2445
+ timestamp: ptr_uint
2446
+ windowID: uint
2447
+ which: uint
2448
+
2449
+ struct SDL_PenMotionEvent:
2450
+ type_: SDL_EventType
2451
+ reserved: uint
2452
+ timestamp: ptr_uint
2453
+ windowID: uint
2454
+ which: uint
2455
+ pen_state: uint
2456
+ x: float
2457
+ y: float
2458
+
2459
+ struct SDL_PenTouchEvent:
2460
+ type_: SDL_EventType
2461
+ reserved: uint
2462
+ timestamp: ptr_uint
2463
+ windowID: uint
2464
+ which: uint
2465
+ pen_state: uint
2466
+ x: float
2467
+ y: float
2468
+ eraser: bool
2469
+ down: bool
2470
+
2471
+ struct SDL_PenButtonEvent:
2472
+ type_: SDL_EventType
2473
+ reserved: uint
2474
+ timestamp: ptr_uint
2475
+ windowID: uint
2476
+ which: uint
2477
+ pen_state: uint
2478
+ x: float
2479
+ y: float
2480
+ button: ubyte
2481
+ down: bool
2482
+
2483
+ struct SDL_PenAxisEvent:
2484
+ type_: SDL_EventType
2485
+ reserved: uint
2486
+ timestamp: ptr_uint
2487
+ windowID: uint
2488
+ which: uint
2489
+ pen_state: uint
2490
+ x: float
2491
+ y: float
2492
+ axis: SDL_PenAxis
2493
+ value: float
2494
+
2495
+ struct SDL_DropEvent:
2496
+ type_: SDL_EventType
2497
+ reserved: uint
2498
+ timestamp: ptr_uint
2499
+ windowID: uint
2500
+ x: float
2501
+ y: float
2502
+ source: cstr
2503
+ data: cstr
2504
+
2505
+ struct SDL_ClipboardEvent:
2506
+ type_: SDL_EventType
2507
+ reserved: uint
2508
+ timestamp: ptr_uint
2509
+ owner: bool
2510
+ num_mime_types: int
2511
+ mime_types: ptr[cstr]
2512
+
2513
+ struct SDL_SensorEvent:
2514
+ type_: SDL_EventType
2515
+ reserved: uint
2516
+ timestamp: ptr_uint
2517
+ which: uint
2518
+ data: array[float, 6]
2519
+ sensor_timestamp: ptr_uint
2520
+
2521
+ struct SDL_QuitEvent:
2522
+ type_: SDL_EventType
2523
+ reserved: uint
2524
+ timestamp: ptr_uint
2525
+
2526
+ struct SDL_UserEvent:
2527
+ type_: uint
2528
+ reserved: uint
2529
+ timestamp: ptr_uint
2530
+ windowID: uint
2531
+ code: int
2532
+ data1: ptr[void]
2533
+ data2: ptr[void]
2534
+
2535
+ union SDL_Event:
2536
+ type_: uint
2537
+ common: SDL_CommonEvent
2538
+ display: SDL_DisplayEvent
2539
+ window: SDL_WindowEvent
2540
+ kdevice: SDL_KeyboardDeviceEvent
2541
+ key: SDL_KeyboardEvent
2542
+ edit: SDL_TextEditingEvent
2543
+ edit_candidates: SDL_TextEditingCandidatesEvent
2544
+ text: SDL_TextInputEvent
2545
+ mdevice: SDL_MouseDeviceEvent
2546
+ motion: SDL_MouseMotionEvent
2547
+ button: SDL_MouseButtonEvent
2548
+ wheel: SDL_MouseWheelEvent
2549
+ jdevice: SDL_JoyDeviceEvent
2550
+ jaxis: SDL_JoyAxisEvent
2551
+ jball: SDL_JoyBallEvent
2552
+ jhat: SDL_JoyHatEvent
2553
+ jbutton: SDL_JoyButtonEvent
2554
+ jbattery: SDL_JoyBatteryEvent
2555
+ gdevice: SDL_GamepadDeviceEvent
2556
+ gaxis: SDL_GamepadAxisEvent
2557
+ gbutton: SDL_GamepadButtonEvent
2558
+ gtouchpad: SDL_GamepadTouchpadEvent
2559
+ gsensor: SDL_GamepadSensorEvent
2560
+ adevice: SDL_AudioDeviceEvent
2561
+ cdevice: SDL_CameraDeviceEvent
2562
+ sensor: SDL_SensorEvent
2563
+ quit: SDL_QuitEvent
2564
+ user: SDL_UserEvent
2565
+ tfinger: SDL_TouchFingerEvent
2566
+ pinch: SDL_PinchFingerEvent
2567
+ pproximity: SDL_PenProximityEvent
2568
+ ptouch: SDL_PenTouchEvent
2569
+ pmotion: SDL_PenMotionEvent
2570
+ pbutton: SDL_PenButtonEvent
2571
+ paxis: SDL_PenAxisEvent
2572
+ render: SDL_RenderEvent
2573
+ drop: SDL_DropEvent
2574
+ clipboard: SDL_ClipboardEvent
2575
+ padding: array[Uint8, 128]
2576
+
2577
+ external function SDL_PumpEvents() -> void
2578
+
2579
+ flags SDL_EventAction: int
2580
+ SDL_ADDEVENT = 0
2581
+ SDL_PEEKEVENT = 1
2582
+ SDL_GETEVENT = 2
2583
+
2584
+ external function SDL_PeepEvents(events: ptr[SDL_Event]?, numevents: int, action: SDL_EventAction, minType: uint, maxType: uint) -> int
2585
+ external function SDL_HasEvent(type_: uint) -> bool
2586
+ external function SDL_HasEvents(minType: uint, maxType: uint) -> bool
2587
+ external function SDL_FlushEvent(type_: uint) -> void
2588
+ external function SDL_FlushEvents(minType: uint, maxType: uint) -> void
2589
+ external function SDL_PollEvent(event_: ptr[SDL_Event]?) -> bool
2590
+ external function SDL_WaitEvent(event_: ptr[SDL_Event]?) -> bool
2591
+ external function SDL_WaitEventTimeout(event_: ptr[SDL_Event]?, timeoutMS: int) -> bool
2592
+ external function SDL_PushEvent(event_: ptr[SDL_Event]) -> bool
2593
+
2594
+ type SDL_EventFilter = fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> bool
2595
+
2596
+ external function SDL_SetEventFilter(filter: fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> bool, userdata: ptr[void]) -> void
2597
+ external function SDL_GetEventFilter(filter: ptr[SDL_EventFilter], userdata: ptr[ptr[void]]) -> bool
2598
+ external function SDL_AddEventWatch(filter: fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> bool, userdata: ptr[void]) -> bool
2599
+ external function SDL_RemoveEventWatch(filter: fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> bool, userdata: ptr[void]) -> void
2600
+ external function SDL_FilterEvents(filter: fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> bool, userdata: ptr[void]) -> void
2601
+ external function SDL_SetEventEnabled(type_: uint, enabled: bool) -> void
2602
+ external function SDL_EventEnabled(type_: uint) -> bool
2603
+ external function SDL_RegisterEvents(numevents: int) -> Uint32
2604
+ external function SDL_GetWindowFromEvent(event_: const_ptr[SDL_Event]) -> ptr[SDL_Window]?
2605
+ external function SDL_GetEventDescription(event_: const_ptr[SDL_Event], buf: ptr[char], buflen: int) -> int
2606
+ external function SDL_GetBasePath() -> cstr?
2607
+ external function SDL_GetPrefPath(org: cstr, app: cstr) -> ptr[char]
2608
+
2609
+ enum SDL_Folder: int
2610
+ SDL_FOLDER_HOME = 0
2611
+ SDL_FOLDER_DESKTOP = 1
2612
+ SDL_FOLDER_DOCUMENTS = 2
2613
+ SDL_FOLDER_DOWNLOADS = 3
2614
+ SDL_FOLDER_MUSIC = 4
2615
+ SDL_FOLDER_PICTURES = 5
2616
+ SDL_FOLDER_PUBLICSHARE = 6
2617
+ SDL_FOLDER_SAVEDGAMES = 7
2618
+ SDL_FOLDER_SCREENSHOTS = 8
2619
+ SDL_FOLDER_TEMPLATES = 9
2620
+ SDL_FOLDER_VIDEOS = 10
2621
+ SDL_FOLDER_COUNT = 11
2622
+
2623
+ external function SDL_GetUserFolder(folder: SDL_Folder) -> cstr
2624
+
2625
+ enum SDL_PathType: int
2626
+ SDL_PATHTYPE_NONE = 0
2627
+ SDL_PATHTYPE_FILE = 1
2628
+ SDL_PATHTYPE_DIRECTORY = 2
2629
+ SDL_PATHTYPE_OTHER = 3
2630
+
2631
+ struct SDL_PathInfo:
2632
+ type_: SDL_PathType
2633
+ size: ptr_uint
2634
+ create_time: ptr_int
2635
+ modify_time: ptr_int
2636
+ access_time: ptr_int
2637
+
2638
+ type SDL_GlobFlags = uint
2639
+
2640
+ external function SDL_CreateDirectory(path: cstr) -> bool
2641
+
2642
+ flags SDL_EnumerationResult: int
2643
+ SDL_ENUM_CONTINUE = 0
2644
+ SDL_ENUM_SUCCESS = 1
2645
+ SDL_ENUM_FAILURE = 2
2646
+
2647
+ type SDL_EnumerateDirectoryCallback = fn(arg0: ptr[void], arg1: cstr, arg2: cstr) -> SDL_EnumerationResult
2648
+
2649
+ external function SDL_EnumerateDirectory(path: cstr, callback: fn(arg0: ptr[void], arg1: cstr, arg2: cstr) -> SDL_EnumerationResult, userdata: ptr[void]) -> bool
2650
+ external function SDL_RemovePath(path: cstr) -> bool
2651
+ external function SDL_RenamePath(oldpath: cstr, newpath: cstr) -> bool
2652
+ external function SDL_CopyFile(oldpath: cstr, newpath: cstr) -> bool
2653
+ external function SDL_GetPathInfo(path: cstr, info: ptr[SDL_PathInfo]?) -> bool
2654
+ external function SDL_GlobDirectory(path: cstr, pattern: cstr, flags_: uint, count: ptr[int]) -> ptr[ptr[char]]?
2655
+ external function SDL_GetCurrentDirectory() -> ptr[char]
2656
+
2657
+ opaque SDL_GPUDevice = c"SDL_GPUDevice"
2658
+ opaque SDL_GPUBuffer = c"SDL_GPUBuffer"
2659
+ opaque SDL_GPUTransferBuffer = c"SDL_GPUTransferBuffer"
2660
+ opaque SDL_GPUTexture = c"SDL_GPUTexture"
2661
+ opaque SDL_GPUSampler = c"SDL_GPUSampler"
2662
+ opaque SDL_GPUShader = c"SDL_GPUShader"
2663
+ opaque SDL_GPUComputePipeline = c"SDL_GPUComputePipeline"
2664
+ opaque SDL_GPUGraphicsPipeline = c"SDL_GPUGraphicsPipeline"
2665
+ opaque SDL_GPUCommandBuffer = c"SDL_GPUCommandBuffer"
2666
+ opaque SDL_GPURenderPass = c"SDL_GPURenderPass"
2667
+ opaque SDL_GPUComputePass = c"SDL_GPUComputePass"
2668
+ opaque SDL_GPUCopyPass = c"SDL_GPUCopyPass"
2669
+ opaque SDL_GPUFence = c"SDL_GPUFence"
2670
+
2671
+ enum SDL_GPUPrimitiveType: int
2672
+ SDL_GPU_PRIMITIVETYPE_TRIANGLELIST = 0
2673
+ SDL_GPU_PRIMITIVETYPE_TRIANGLESTRIP = 1
2674
+ SDL_GPU_PRIMITIVETYPE_LINELIST = 2
2675
+ SDL_GPU_PRIMITIVETYPE_LINESTRIP = 3
2676
+ SDL_GPU_PRIMITIVETYPE_POINTLIST = 4
2677
+
2678
+ flags SDL_GPULoadOp: int
2679
+ SDL_GPU_LOADOP_LOAD = 0
2680
+ SDL_GPU_LOADOP_CLEAR = 1
2681
+ SDL_GPU_LOADOP_DONT_CARE = 2
2682
+
2683
+ enum SDL_GPUStoreOp: int
2684
+ SDL_GPU_STOREOP_STORE = 0
2685
+ SDL_GPU_STOREOP_DONT_CARE = 1
2686
+ SDL_GPU_STOREOP_RESOLVE = 2
2687
+ SDL_GPU_STOREOP_RESOLVE_AND_STORE = 3
2688
+
2689
+ flags SDL_GPUIndexElementSize: int
2690
+ SDL_GPU_INDEXELEMENTSIZE_16BIT = 0
2691
+ SDL_GPU_INDEXELEMENTSIZE_32BIT = 1
2692
+
2693
+ enum SDL_GPUTextureFormat: int
2694
+ SDL_GPU_TEXTUREFORMAT_INVALID = 0
2695
+ SDL_GPU_TEXTUREFORMAT_A8_UNORM = 1
2696
+ SDL_GPU_TEXTUREFORMAT_R8_UNORM = 2
2697
+ SDL_GPU_TEXTUREFORMAT_R8G8_UNORM = 3
2698
+ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM = 4
2699
+ SDL_GPU_TEXTUREFORMAT_R16_UNORM = 5
2700
+ SDL_GPU_TEXTUREFORMAT_R16G16_UNORM = 6
2701
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UNORM = 7
2702
+ SDL_GPU_TEXTUREFORMAT_R10G10B10A2_UNORM = 8
2703
+ SDL_GPU_TEXTUREFORMAT_B5G6R5_UNORM = 9
2704
+ SDL_GPU_TEXTUREFORMAT_B5G5R5A1_UNORM = 10
2705
+ SDL_GPU_TEXTUREFORMAT_B4G4R4A4_UNORM = 11
2706
+ SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM = 12
2707
+ SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM = 13
2708
+ SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM = 14
2709
+ SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM = 15
2710
+ SDL_GPU_TEXTUREFORMAT_BC4_R_UNORM = 16
2711
+ SDL_GPU_TEXTUREFORMAT_BC5_RG_UNORM = 17
2712
+ SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM = 18
2713
+ SDL_GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT = 19
2714
+ SDL_GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT = 20
2715
+ SDL_GPU_TEXTUREFORMAT_R8_SNORM = 21
2716
+ SDL_GPU_TEXTUREFORMAT_R8G8_SNORM = 22
2717
+ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_SNORM = 23
2718
+ SDL_GPU_TEXTUREFORMAT_R16_SNORM = 24
2719
+ SDL_GPU_TEXTUREFORMAT_R16G16_SNORM = 25
2720
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_SNORM = 26
2721
+ SDL_GPU_TEXTUREFORMAT_R16_FLOAT = 27
2722
+ SDL_GPU_TEXTUREFORMAT_R16G16_FLOAT = 28
2723
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT = 29
2724
+ SDL_GPU_TEXTUREFORMAT_R32_FLOAT = 30
2725
+ SDL_GPU_TEXTUREFORMAT_R32G32_FLOAT = 31
2726
+ SDL_GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT = 32
2727
+ SDL_GPU_TEXTUREFORMAT_R11G11B10_UFLOAT = 33
2728
+ SDL_GPU_TEXTUREFORMAT_R8_UINT = 34
2729
+ SDL_GPU_TEXTUREFORMAT_R8G8_UINT = 35
2730
+ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UINT = 36
2731
+ SDL_GPU_TEXTUREFORMAT_R16_UINT = 37
2732
+ SDL_GPU_TEXTUREFORMAT_R16G16_UINT = 38
2733
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_UINT = 39
2734
+ SDL_GPU_TEXTUREFORMAT_R32_UINT = 40
2735
+ SDL_GPU_TEXTUREFORMAT_R32G32_UINT = 41
2736
+ SDL_GPU_TEXTUREFORMAT_R32G32B32A32_UINT = 42
2737
+ SDL_GPU_TEXTUREFORMAT_R8_INT = 43
2738
+ SDL_GPU_TEXTUREFORMAT_R8G8_INT = 44
2739
+ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_INT = 45
2740
+ SDL_GPU_TEXTUREFORMAT_R16_INT = 46
2741
+ SDL_GPU_TEXTUREFORMAT_R16G16_INT = 47
2742
+ SDL_GPU_TEXTUREFORMAT_R16G16B16A16_INT = 48
2743
+ SDL_GPU_TEXTUREFORMAT_R32_INT = 49
2744
+ SDL_GPU_TEXTUREFORMAT_R32G32_INT = 50
2745
+ SDL_GPU_TEXTUREFORMAT_R32G32B32A32_INT = 51
2746
+ SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB = 52
2747
+ SDL_GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB = 53
2748
+ SDL_GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB = 54
2749
+ SDL_GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB = 55
2750
+ SDL_GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB = 56
2751
+ SDL_GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB = 57
2752
+ SDL_GPU_TEXTUREFORMAT_D16_UNORM = 58
2753
+ SDL_GPU_TEXTUREFORMAT_D24_UNORM = 59
2754
+ SDL_GPU_TEXTUREFORMAT_D32_FLOAT = 60
2755
+ SDL_GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT = 61
2756
+ SDL_GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT = 62
2757
+ SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM = 63
2758
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM = 64
2759
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM = 65
2760
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM = 66
2761
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM = 67
2762
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM = 68
2763
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM = 69
2764
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM = 70
2765
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM = 71
2766
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM = 72
2767
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM = 73
2768
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM = 74
2769
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM = 75
2770
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM = 76
2771
+ SDL_GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB = 77
2772
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB = 78
2773
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB = 79
2774
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB = 80
2775
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB = 81
2776
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB = 82
2777
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB = 83
2778
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB = 84
2779
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB = 85
2780
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB = 86
2781
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB = 87
2782
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB = 88
2783
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB = 89
2784
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB = 90
2785
+ SDL_GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT = 91
2786
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT = 92
2787
+ SDL_GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT = 93
2788
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT = 94
2789
+ SDL_GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT = 95
2790
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT = 96
2791
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT = 97
2792
+ SDL_GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT = 98
2793
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT = 99
2794
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT = 100
2795
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT = 101
2796
+ SDL_GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT = 102
2797
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT = 103
2798
+ SDL_GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT = 104
2799
+
2800
+ type SDL_GPUTextureUsageFlags = uint
2801
+
2802
+ enum SDL_GPUTextureType: int
2803
+ SDL_GPU_TEXTURETYPE_2D = 0
2804
+ SDL_GPU_TEXTURETYPE_2D_ARRAY = 1
2805
+ SDL_GPU_TEXTURETYPE_3D = 2
2806
+ SDL_GPU_TEXTURETYPE_CUBE = 3
2807
+ SDL_GPU_TEXTURETYPE_CUBE_ARRAY = 4
2808
+
2809
+ enum SDL_GPUSampleCount: int
2810
+ SDL_GPU_SAMPLECOUNT_1 = 0
2811
+ SDL_GPU_SAMPLECOUNT_2 = 1
2812
+ SDL_GPU_SAMPLECOUNT_4 = 2
2813
+ SDL_GPU_SAMPLECOUNT_8 = 3
2814
+
2815
+ enum SDL_GPUCubeMapFace: int
2816
+ SDL_GPU_CUBEMAPFACE_POSITIVEX = 0
2817
+ SDL_GPU_CUBEMAPFACE_NEGATIVEX = 1
2818
+ SDL_GPU_CUBEMAPFACE_POSITIVEY = 2
2819
+ SDL_GPU_CUBEMAPFACE_NEGATIVEY = 3
2820
+ SDL_GPU_CUBEMAPFACE_POSITIVEZ = 4
2821
+ SDL_GPU_CUBEMAPFACE_NEGATIVEZ = 5
2822
+
2823
+ type SDL_GPUBufferUsageFlags = uint
2824
+
2825
+ flags SDL_GPUTransferBufferUsage: int
2826
+ SDL_GPU_TRANSFERBUFFERUSAGE_UPLOAD = 0
2827
+ SDL_GPU_TRANSFERBUFFERUSAGE_DOWNLOAD = 1
2828
+ flags SDL_GPUShaderStage: int
2829
+ SDL_GPU_SHADERSTAGE_VERTEX = 0
2830
+ SDL_GPU_SHADERSTAGE_FRAGMENT = 1
2831
+
2832
+ type SDL_GPUShaderFormat = uint
2833
+
2834
+ enum SDL_GPUVertexElementFormat: int
2835
+ SDL_GPU_VERTEXELEMENTFORMAT_INVALID = 0
2836
+ SDL_GPU_VERTEXELEMENTFORMAT_INT = 1
2837
+ SDL_GPU_VERTEXELEMENTFORMAT_INT2 = 2
2838
+ SDL_GPU_VERTEXELEMENTFORMAT_INT3 = 3
2839
+ SDL_GPU_VERTEXELEMENTFORMAT_INT4 = 4
2840
+ SDL_GPU_VERTEXELEMENTFORMAT_UINT = 5
2841
+ SDL_GPU_VERTEXELEMENTFORMAT_UINT2 = 6
2842
+ SDL_GPU_VERTEXELEMENTFORMAT_UINT3 = 7
2843
+ SDL_GPU_VERTEXELEMENTFORMAT_UINT4 = 8
2844
+ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT = 9
2845
+ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT2 = 10
2846
+ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT3 = 11
2847
+ SDL_GPU_VERTEXELEMENTFORMAT_FLOAT4 = 12
2848
+ SDL_GPU_VERTEXELEMENTFORMAT_BYTE2 = 13
2849
+ SDL_GPU_VERTEXELEMENTFORMAT_BYTE4 = 14
2850
+ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2 = 15
2851
+ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4 = 16
2852
+ SDL_GPU_VERTEXELEMENTFORMAT_BYTE2_NORM = 17
2853
+ SDL_GPU_VERTEXELEMENTFORMAT_BYTE4_NORM = 18
2854
+ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM = 19
2855
+ SDL_GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM = 20
2856
+ SDL_GPU_VERTEXELEMENTFORMAT_SHORT2 = 21
2857
+ SDL_GPU_VERTEXELEMENTFORMAT_SHORT4 = 22
2858
+ SDL_GPU_VERTEXELEMENTFORMAT_USHORT2 = 23
2859
+ SDL_GPU_VERTEXELEMENTFORMAT_USHORT4 = 24
2860
+ SDL_GPU_VERTEXELEMENTFORMAT_SHORT2_NORM = 25
2861
+ SDL_GPU_VERTEXELEMENTFORMAT_SHORT4_NORM = 26
2862
+ SDL_GPU_VERTEXELEMENTFORMAT_USHORT2_NORM = 27
2863
+ SDL_GPU_VERTEXELEMENTFORMAT_USHORT4_NORM = 28
2864
+ SDL_GPU_VERTEXELEMENTFORMAT_HALF2 = 29
2865
+ SDL_GPU_VERTEXELEMENTFORMAT_HALF4 = 30
2866
+
2867
+ flags SDL_GPUVertexInputRate: int
2868
+ SDL_GPU_VERTEXINPUTRATE_VERTEX = 0
2869
+ SDL_GPU_VERTEXINPUTRATE_INSTANCE = 1
2870
+ flags SDL_GPUFillMode: int
2871
+ SDL_GPU_FILLMODE_FILL = 0
2872
+ SDL_GPU_FILLMODE_LINE = 1
2873
+ flags SDL_GPUCullMode: int
2874
+ SDL_GPU_CULLMODE_NONE = 0
2875
+ SDL_GPU_CULLMODE_FRONT = 1
2876
+ SDL_GPU_CULLMODE_BACK = 2
2877
+ flags SDL_GPUFrontFace: int
2878
+ SDL_GPU_FRONTFACE_COUNTER_CLOCKWISE = 0
2879
+ SDL_GPU_FRONTFACE_CLOCKWISE = 1
2880
+
2881
+ enum SDL_GPUCompareOp: int
2882
+ SDL_GPU_COMPAREOP_INVALID = 0
2883
+ SDL_GPU_COMPAREOP_NEVER = 1
2884
+ SDL_GPU_COMPAREOP_LESS = 2
2885
+ SDL_GPU_COMPAREOP_EQUAL = 3
2886
+ SDL_GPU_COMPAREOP_LESS_OR_EQUAL = 4
2887
+ SDL_GPU_COMPAREOP_GREATER = 5
2888
+ SDL_GPU_COMPAREOP_NOT_EQUAL = 6
2889
+ SDL_GPU_COMPAREOP_GREATER_OR_EQUAL = 7
2890
+ SDL_GPU_COMPAREOP_ALWAYS = 8
2891
+
2892
+ enum SDL_GPUStencilOp: int
2893
+ SDL_GPU_STENCILOP_INVALID = 0
2894
+ SDL_GPU_STENCILOP_KEEP = 1
2895
+ SDL_GPU_STENCILOP_ZERO = 2
2896
+ SDL_GPU_STENCILOP_REPLACE = 3
2897
+ SDL_GPU_STENCILOP_INCREMENT_AND_CLAMP = 4
2898
+ SDL_GPU_STENCILOP_DECREMENT_AND_CLAMP = 5
2899
+ SDL_GPU_STENCILOP_INVERT = 6
2900
+ SDL_GPU_STENCILOP_INCREMENT_AND_WRAP = 7
2901
+ SDL_GPU_STENCILOP_DECREMENT_AND_WRAP = 8
2902
+
2903
+ enum SDL_GPUBlendOp: int
2904
+ SDL_GPU_BLENDOP_INVALID = 0
2905
+ SDL_GPU_BLENDOP_ADD = 1
2906
+ SDL_GPU_BLENDOP_SUBTRACT = 2
2907
+ SDL_GPU_BLENDOP_REVERSE_SUBTRACT = 3
2908
+ SDL_GPU_BLENDOP_MIN = 4
2909
+ SDL_GPU_BLENDOP_MAX = 5
2910
+
2911
+ enum SDL_GPUBlendFactor: int
2912
+ SDL_GPU_BLENDFACTOR_INVALID = 0
2913
+ SDL_GPU_BLENDFACTOR_ZERO = 1
2914
+ SDL_GPU_BLENDFACTOR_ONE = 2
2915
+ SDL_GPU_BLENDFACTOR_SRC_COLOR = 3
2916
+ SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR = 4
2917
+ SDL_GPU_BLENDFACTOR_DST_COLOR = 5
2918
+ SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR = 6
2919
+ SDL_GPU_BLENDFACTOR_SRC_ALPHA = 7
2920
+ SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA = 8
2921
+ SDL_GPU_BLENDFACTOR_DST_ALPHA = 9
2922
+ SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 10
2923
+ SDL_GPU_BLENDFACTOR_CONSTANT_COLOR = 11
2924
+ SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR = 12
2925
+ SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE = 13
2926
+
2927
+ type SDL_GPUColorComponentFlags = ubyte
2928
+
2929
+ flags SDL_GPUFilter: int
2930
+ SDL_GPU_FILTER_NEAREST = 0
2931
+ SDL_GPU_FILTER_LINEAR = 1
2932
+ flags SDL_GPUSamplerMipmapMode: int
2933
+ SDL_GPU_SAMPLERMIPMAPMODE_NEAREST = 0
2934
+ SDL_GPU_SAMPLERMIPMAPMODE_LINEAR = 1
2935
+ flags SDL_GPUSamplerAddressMode: int
2936
+ SDL_GPU_SAMPLERADDRESSMODE_REPEAT = 0
2937
+ SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT = 1
2938
+ SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE = 2
2939
+ flags SDL_GPUPresentMode: int
2940
+ SDL_GPU_PRESENTMODE_VSYNC = 0
2941
+ SDL_GPU_PRESENTMODE_IMMEDIATE = 1
2942
+ SDL_GPU_PRESENTMODE_MAILBOX = 2
2943
+
2944
+ enum SDL_GPUSwapchainComposition: int
2945
+ SDL_GPU_SWAPCHAINCOMPOSITION_SDR = 0
2946
+ SDL_GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR = 1
2947
+ SDL_GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR = 2
2948
+ SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 = 3
2949
+
2950
+ struct SDL_GPUViewport:
2951
+ x: float
2952
+ y: float
2953
+ w: float
2954
+ h: float
2955
+ min_depth: float
2956
+ max_depth: float
2957
+
2958
+ struct SDL_GPUTextureTransferInfo:
2959
+ transfer_buffer: ptr[SDL_GPUTransferBuffer]
2960
+ offset: uint
2961
+ pixels_per_row: uint
2962
+ rows_per_layer: uint
2963
+
2964
+ struct SDL_GPUTransferBufferLocation:
2965
+ transfer_buffer: ptr[SDL_GPUTransferBuffer]
2966
+ offset: uint
2967
+
2968
+ struct SDL_GPUTextureLocation:
2969
+ texture: ptr[SDL_GPUTexture]
2970
+ mip_level: uint
2971
+ layer: uint
2972
+ x: uint
2973
+ y: uint
2974
+ z: uint
2975
+
2976
+ struct SDL_GPUTextureRegion:
2977
+ texture: ptr[SDL_GPUTexture]
2978
+ mip_level: uint
2979
+ layer: uint
2980
+ x: uint
2981
+ y: uint
2982
+ z: uint
2983
+ w: uint
2984
+ h: uint
2985
+ d: uint
2986
+
2987
+ struct SDL_GPUBlitRegion:
2988
+ texture: ptr[SDL_GPUTexture]
2989
+ mip_level: uint
2990
+ layer_or_depth_plane: uint
2991
+ x: uint
2992
+ y: uint
2993
+ w: uint
2994
+ h: uint
2995
+
2996
+ struct SDL_GPUBufferLocation:
2997
+ buffer: ptr[SDL_GPUBuffer]
2998
+ offset: uint
2999
+
3000
+ struct SDL_GPUBufferRegion:
3001
+ buffer: ptr[SDL_GPUBuffer]
3002
+ offset: uint
3003
+ size: uint
3004
+
3005
+ struct SDL_GPUIndirectDrawCommand:
3006
+ num_vertices: uint
3007
+ num_instances: uint
3008
+ first_vertex: uint
3009
+ first_instance: uint
3010
+
3011
+ struct SDL_GPUIndexedIndirectDrawCommand:
3012
+ num_indices: uint
3013
+ num_instances: uint
3014
+ first_index: uint
3015
+ vertex_offset: int
3016
+ first_instance: uint
3017
+
3018
+ struct SDL_GPUIndirectDispatchCommand:
3019
+ groupcount_x: uint
3020
+ groupcount_y: uint
3021
+ groupcount_z: uint
3022
+
3023
+ struct SDL_GPUSamplerCreateInfo:
3024
+ min_filter: SDL_GPUFilter
3025
+ mag_filter: SDL_GPUFilter
3026
+ mipmap_mode: SDL_GPUSamplerMipmapMode
3027
+ address_mode_u: SDL_GPUSamplerAddressMode
3028
+ address_mode_v: SDL_GPUSamplerAddressMode
3029
+ address_mode_w: SDL_GPUSamplerAddressMode
3030
+ mip_lod_bias: float
3031
+ max_anisotropy: float
3032
+ compare_op: SDL_GPUCompareOp
3033
+ min_lod: float
3034
+ max_lod: float
3035
+ enable_anisotropy: bool
3036
+ enable_compare: bool
3037
+ padding1: ubyte
3038
+ padding2: ubyte
3039
+ props: uint
3040
+
3041
+ struct SDL_GPUVertexBufferDescription:
3042
+ slot: uint
3043
+ pitch: uint
3044
+ input_rate: SDL_GPUVertexInputRate
3045
+ instance_step_rate: uint
3046
+
3047
+ struct SDL_GPUVertexAttribute:
3048
+ location: uint
3049
+ buffer_slot: uint
3050
+ format: SDL_GPUVertexElementFormat
3051
+ offset: uint
3052
+
3053
+ struct SDL_GPUVertexInputState:
3054
+ vertex_buffer_descriptions: const_ptr[SDL_GPUVertexBufferDescription]
3055
+ num_vertex_buffers: uint
3056
+ vertex_attributes: const_ptr[SDL_GPUVertexAttribute]
3057
+ num_vertex_attributes: uint
3058
+
3059
+ struct SDL_GPUStencilOpState:
3060
+ fail_op: SDL_GPUStencilOp
3061
+ pass_op: SDL_GPUStencilOp
3062
+ depth_fail_op: SDL_GPUStencilOp
3063
+ compare_op: SDL_GPUCompareOp
3064
+
3065
+ struct SDL_GPUColorTargetBlendState:
3066
+ src_color_blendfactor: SDL_GPUBlendFactor
3067
+ dst_color_blendfactor: SDL_GPUBlendFactor
3068
+ color_blend_op: SDL_GPUBlendOp
3069
+ src_alpha_blendfactor: SDL_GPUBlendFactor
3070
+ dst_alpha_blendfactor: SDL_GPUBlendFactor
3071
+ alpha_blend_op: SDL_GPUBlendOp
3072
+ color_write_mask: ubyte
3073
+ enable_blend: bool
3074
+ enable_color_write_mask: bool
3075
+ padding1: ubyte
3076
+ padding2: ubyte
3077
+
3078
+ struct SDL_GPUShaderCreateInfo:
3079
+ code_size: ptr_uint
3080
+ code: const_ptr[Uint8]
3081
+ entrypoint: cstr
3082
+ format: uint
3083
+ stage: SDL_GPUShaderStage
3084
+ num_samplers: uint
3085
+ num_storage_textures: uint
3086
+ num_storage_buffers: uint
3087
+ num_uniform_buffers: uint
3088
+ props: uint
3089
+
3090
+ struct SDL_GPUTextureCreateInfo:
3091
+ type_: SDL_GPUTextureType
3092
+ format: SDL_GPUTextureFormat
3093
+ usage: uint
3094
+ width: uint
3095
+ height: uint
3096
+ layer_count_or_depth: uint
3097
+ num_levels: uint
3098
+ sample_count: SDL_GPUSampleCount
3099
+ props: uint
3100
+
3101
+ struct SDL_GPUBufferCreateInfo:
3102
+ usage: uint
3103
+ size: uint
3104
+ props: uint
3105
+
3106
+ struct SDL_GPUTransferBufferCreateInfo:
3107
+ usage: SDL_GPUTransferBufferUsage
3108
+ size: uint
3109
+ props: uint
3110
+
3111
+ struct SDL_GPURasterizerState:
3112
+ fill_mode: SDL_GPUFillMode
3113
+ cull_mode: SDL_GPUCullMode
3114
+ front_face: SDL_GPUFrontFace
3115
+ depth_bias_constant_factor: float
3116
+ depth_bias_clamp: float
3117
+ depth_bias_slope_factor: float
3118
+ enable_depth_bias: bool
3119
+ enable_depth_clip: bool
3120
+ padding1: ubyte
3121
+ padding2: ubyte
3122
+
3123
+ struct SDL_GPUMultisampleState:
3124
+ sample_count: SDL_GPUSampleCount
3125
+ sample_mask: uint
3126
+ enable_mask: bool
3127
+ enable_alpha_to_coverage: bool
3128
+ padding2: ubyte
3129
+ padding3: ubyte
3130
+
3131
+ struct SDL_GPUDepthStencilState:
3132
+ compare_op: SDL_GPUCompareOp
3133
+ back_stencil_state: SDL_GPUStencilOpState
3134
+ front_stencil_state: SDL_GPUStencilOpState
3135
+ compare_mask: ubyte
3136
+ write_mask: ubyte
3137
+ enable_depth_test: bool
3138
+ enable_depth_write: bool
3139
+ enable_stencil_test: bool
3140
+ padding1: ubyte
3141
+ padding2: ubyte
3142
+ padding3: ubyte
3143
+
3144
+ struct SDL_GPUColorTargetDescription:
3145
+ format: SDL_GPUTextureFormat
3146
+ blend_state: SDL_GPUColorTargetBlendState
3147
+
3148
+ struct SDL_GPUGraphicsPipelineTargetInfo:
3149
+ color_target_descriptions: const_ptr[SDL_GPUColorTargetDescription]
3150
+ num_color_targets: uint
3151
+ depth_stencil_format: SDL_GPUTextureFormat
3152
+ has_depth_stencil_target: bool
3153
+ padding1: ubyte
3154
+ padding2: ubyte
3155
+ padding3: ubyte
3156
+
3157
+ struct SDL_GPUGraphicsPipelineCreateInfo:
3158
+ vertex_shader: ptr[SDL_GPUShader]
3159
+ fragment_shader: ptr[SDL_GPUShader]
3160
+ vertex_input_state: SDL_GPUVertexInputState
3161
+ primitive_type: SDL_GPUPrimitiveType
3162
+ rasterizer_state: SDL_GPURasterizerState
3163
+ multisample_state: SDL_GPUMultisampleState
3164
+ depth_stencil_state: SDL_GPUDepthStencilState
3165
+ target_info: SDL_GPUGraphicsPipelineTargetInfo
3166
+ props: uint
3167
+
3168
+ struct SDL_GPUComputePipelineCreateInfo:
3169
+ code_size: ptr_uint
3170
+ code: const_ptr[Uint8]
3171
+ entrypoint: cstr
3172
+ format: uint
3173
+ num_samplers: uint
3174
+ num_readonly_storage_textures: uint
3175
+ num_readonly_storage_buffers: uint
3176
+ num_readwrite_storage_textures: uint
3177
+ num_readwrite_storage_buffers: uint
3178
+ num_uniform_buffers: uint
3179
+ threadcount_x: uint
3180
+ threadcount_y: uint
3181
+ threadcount_z: uint
3182
+ props: uint
3183
+
3184
+ struct SDL_GPUColorTargetInfo:
3185
+ texture: ptr[SDL_GPUTexture]
3186
+ mip_level: uint
3187
+ layer_or_depth_plane: uint
3188
+ clear_color: SDL_FColor
3189
+ load_op: SDL_GPULoadOp
3190
+ store_op: SDL_GPUStoreOp
3191
+ resolve_texture: ptr[SDL_GPUTexture]
3192
+ resolve_mip_level: uint
3193
+ resolve_layer: uint
3194
+ cycle: bool
3195
+ cycle_resolve_texture: bool
3196
+ padding1: ubyte
3197
+ padding2: ubyte
3198
+
3199
+ struct SDL_GPUDepthStencilTargetInfo:
3200
+ texture: ptr[SDL_GPUTexture]
3201
+ clear_depth: float
3202
+ load_op: SDL_GPULoadOp
3203
+ store_op: SDL_GPUStoreOp
3204
+ stencil_load_op: SDL_GPULoadOp
3205
+ stencil_store_op: SDL_GPUStoreOp
3206
+ cycle: bool
3207
+ clear_stencil: ubyte
3208
+ mip_level: ubyte
3209
+ layer: ubyte
3210
+
3211
+ struct SDL_GPUBlitInfo:
3212
+ source: SDL_GPUBlitRegion
3213
+ destination: SDL_GPUBlitRegion
3214
+ load_op: SDL_GPULoadOp
3215
+ clear_color: SDL_FColor
3216
+ flip_mode: SDL_FlipMode
3217
+ filter: SDL_GPUFilter
3218
+ cycle: bool
3219
+ padding1: ubyte
3220
+ padding2: ubyte
3221
+ padding3: ubyte
3222
+
3223
+ struct SDL_GPUBufferBinding:
3224
+ buffer: ptr[SDL_GPUBuffer]
3225
+ offset: uint
3226
+
3227
+ struct SDL_GPUTextureSamplerBinding:
3228
+ texture: ptr[SDL_GPUTexture]
3229
+ sampler: ptr[SDL_GPUSampler]
3230
+
3231
+ struct SDL_GPUStorageBufferReadWriteBinding:
3232
+ buffer: ptr[SDL_GPUBuffer]
3233
+ cycle: bool
3234
+ padding1: ubyte
3235
+ padding2: ubyte
3236
+ padding3: ubyte
3237
+
3238
+ struct SDL_GPUStorageTextureReadWriteBinding:
3239
+ texture: ptr[SDL_GPUTexture]
3240
+ mip_level: uint
3241
+ layer: uint
3242
+ cycle: bool
3243
+ padding1: ubyte
3244
+ padding2: ubyte
3245
+ padding3: ubyte
3246
+
3247
+ external function SDL_GPUSupportsShaderFormats(format_flags: uint, name: cstr?) -> bool
3248
+ external function SDL_GPUSupportsProperties(props: uint) -> bool
3249
+ external function SDL_CreateGPUDevice(format_flags: uint, debug_mode: bool, name: cstr?) -> ptr[SDL_GPUDevice]?
3250
+ external function SDL_CreateGPUDeviceWithProperties(props: uint) -> ptr[SDL_GPUDevice]?
3251
+
3252
+ struct SDL_GPUVulkanOptions:
3253
+ vulkan_api_version: uint
3254
+ feature_list: ptr[void]
3255
+ vulkan_10_physical_device_features: ptr[void]
3256
+ device_extension_count: uint
3257
+ device_extension_names: ptr[cstr]
3258
+ instance_extension_count: uint
3259
+ instance_extension_names: ptr[cstr]
3260
+
3261
+ external function SDL_DestroyGPUDevice(device: ptr[SDL_GPUDevice]) -> void
3262
+ external function SDL_GetNumGPUDrivers() -> int
3263
+ external function SDL_GetGPUDriver(index: int) -> cstr
3264
+ external function SDL_GetGPUDeviceDriver(device: ptr[SDL_GPUDevice]) -> cstr?
3265
+ external function SDL_GetGPUShaderFormats(device: ptr[SDL_GPUDevice]) -> SDL_GPUShaderFormat
3266
+ external function SDL_GetGPUDeviceProperties(device: ptr[SDL_GPUDevice]) -> SDL_PropertiesID
3267
+ external function SDL_CreateGPUComputePipeline(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUComputePipelineCreateInfo]) -> ptr[SDL_GPUComputePipeline]?
3268
+ external function SDL_CreateGPUGraphicsPipeline(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUGraphicsPipelineCreateInfo]) -> ptr[SDL_GPUGraphicsPipeline]?
3269
+ external function SDL_CreateGPUSampler(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUSamplerCreateInfo]) -> ptr[SDL_GPUSampler]?
3270
+ external function SDL_CreateGPUShader(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUShaderCreateInfo]) -> ptr[SDL_GPUShader]?
3271
+ external function SDL_CreateGPUTexture(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUTextureCreateInfo]) -> ptr[SDL_GPUTexture]?
3272
+ external function SDL_CreateGPUBuffer(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUBufferCreateInfo]) -> ptr[SDL_GPUBuffer]?
3273
+ external function SDL_CreateGPUTransferBuffer(device: ptr[SDL_GPUDevice], createinfo: const_ptr[SDL_GPUTransferBufferCreateInfo]) -> ptr[SDL_GPUTransferBuffer]?
3274
+ external function SDL_SetGPUBufferName(device: ptr[SDL_GPUDevice], buffer: ptr[SDL_GPUBuffer], text: cstr) -> void
3275
+ external function SDL_SetGPUTextureName(device: ptr[SDL_GPUDevice], texture: ptr[SDL_GPUTexture], text: cstr) -> void
3276
+ external function SDL_InsertGPUDebugLabel(command_buffer: ptr[SDL_GPUCommandBuffer], text: cstr) -> void
3277
+ external function SDL_PushGPUDebugGroup(command_buffer: ptr[SDL_GPUCommandBuffer], name: cstr) -> void
3278
+ external function SDL_PopGPUDebugGroup(command_buffer: ptr[SDL_GPUCommandBuffer]) -> void
3279
+ external function SDL_ReleaseGPUTexture(device: ptr[SDL_GPUDevice], texture: ptr[SDL_GPUTexture]) -> void
3280
+ external function SDL_ReleaseGPUSampler(device: ptr[SDL_GPUDevice], sampler: ptr[SDL_GPUSampler]) -> void
3281
+ external function SDL_ReleaseGPUBuffer(device: ptr[SDL_GPUDevice], buffer: ptr[SDL_GPUBuffer]) -> void
3282
+ external function SDL_ReleaseGPUTransferBuffer(device: ptr[SDL_GPUDevice], transfer_buffer: ptr[SDL_GPUTransferBuffer]) -> void
3283
+ external function SDL_ReleaseGPUComputePipeline(device: ptr[SDL_GPUDevice], compute_pipeline: ptr[SDL_GPUComputePipeline]) -> void
3284
+ external function SDL_ReleaseGPUShader(device: ptr[SDL_GPUDevice], shader: ptr[SDL_GPUShader]) -> void
3285
+ external function SDL_ReleaseGPUGraphicsPipeline(device: ptr[SDL_GPUDevice], graphics_pipeline: ptr[SDL_GPUGraphicsPipeline]) -> void
3286
+ external function SDL_AcquireGPUCommandBuffer(device: ptr[SDL_GPUDevice]) -> ptr[SDL_GPUCommandBuffer]?
3287
+ external function SDL_PushGPUVertexUniformData(command_buffer: ptr[SDL_GPUCommandBuffer], slot_index: uint, data: const_ptr[void], length: uint) -> void
3288
+ external function SDL_PushGPUFragmentUniformData(command_buffer: ptr[SDL_GPUCommandBuffer], slot_index: uint, data: const_ptr[void], length: uint) -> void
3289
+ external function SDL_PushGPUComputeUniformData(command_buffer: ptr[SDL_GPUCommandBuffer], slot_index: uint, data: const_ptr[void], length: uint) -> void
3290
+ external function SDL_BeginGPURenderPass(command_buffer: ptr[SDL_GPUCommandBuffer], color_target_infos: const_ptr[SDL_GPUColorTargetInfo], num_color_targets: uint, depth_stencil_target_info: const_ptr[SDL_GPUDepthStencilTargetInfo]?) -> ptr[SDL_GPURenderPass]
3291
+ external function SDL_BindGPUGraphicsPipeline(render_pass: ptr[SDL_GPURenderPass], graphics_pipeline: ptr[SDL_GPUGraphicsPipeline]) -> void
3292
+ external function SDL_SetGPUViewport(render_pass: ptr[SDL_GPURenderPass], viewport: const_ptr[SDL_GPUViewport]) -> void
3293
+ external function SDL_SetGPUScissor(render_pass: ptr[SDL_GPURenderPass], scissor: const_ptr[SDL_Rect]) -> void
3294
+ external function SDL_SetGPUBlendConstants(render_pass: ptr[SDL_GPURenderPass], blend_constants: SDL_FColor) -> void
3295
+ external function SDL_SetGPUStencilReference(render_pass: ptr[SDL_GPURenderPass], reference: ubyte) -> void
3296
+ external function SDL_BindGPUVertexBuffers(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, bindings: const_ptr[SDL_GPUBufferBinding], num_bindings: uint) -> void
3297
+ external function SDL_BindGPUIndexBuffer(render_pass: ptr[SDL_GPURenderPass], binding: const_ptr[SDL_GPUBufferBinding], index_element_size: SDL_GPUIndexElementSize) -> void
3298
+ external function SDL_BindGPUVertexSamplers(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, texture_sampler_bindings: const_ptr[SDL_GPUTextureSamplerBinding], num_bindings: uint) -> void
3299
+ external function SDL_BindGPUVertexStorageTextures(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, storage_textures: const_ptr[ptr[SDL_GPUTexture]], num_bindings: uint) -> void
3300
+ external function SDL_BindGPUVertexStorageBuffers(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, storage_buffers: const_ptr[ptr[SDL_GPUBuffer]], num_bindings: uint) -> void
3301
+ external function SDL_BindGPUFragmentSamplers(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, texture_sampler_bindings: const_ptr[SDL_GPUTextureSamplerBinding], num_bindings: uint) -> void
3302
+ external function SDL_BindGPUFragmentStorageTextures(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, storage_textures: const_ptr[ptr[SDL_GPUTexture]], num_bindings: uint) -> void
3303
+ external function SDL_BindGPUFragmentStorageBuffers(render_pass: ptr[SDL_GPURenderPass], first_slot: uint, storage_buffers: const_ptr[ptr[SDL_GPUBuffer]], num_bindings: uint) -> void
3304
+ external function SDL_DrawGPUIndexedPrimitives(render_pass: ptr[SDL_GPURenderPass], num_indices: uint, num_instances: uint, first_index: uint, vertex_offset: int, first_instance: uint) -> void
3305
+ external function SDL_DrawGPUPrimitives(render_pass: ptr[SDL_GPURenderPass], num_vertices: uint, num_instances: uint, first_vertex: uint, first_instance: uint) -> void
3306
+ external function SDL_DrawGPUPrimitivesIndirect(render_pass: ptr[SDL_GPURenderPass], buffer: ptr[SDL_GPUBuffer], offset: uint, draw_count: uint) -> void
3307
+ external function SDL_DrawGPUIndexedPrimitivesIndirect(render_pass: ptr[SDL_GPURenderPass], buffer: ptr[SDL_GPUBuffer], offset: uint, draw_count: uint) -> void
3308
+ external function SDL_EndGPURenderPass(render_pass: ptr[SDL_GPURenderPass]) -> void
3309
+ external function SDL_BeginGPUComputePass(command_buffer: ptr[SDL_GPUCommandBuffer], storage_texture_bindings: const_ptr[SDL_GPUStorageTextureReadWriteBinding], num_storage_texture_bindings: uint, storage_buffer_bindings: const_ptr[SDL_GPUStorageBufferReadWriteBinding], num_storage_buffer_bindings: uint) -> ptr[SDL_GPUComputePass]
3310
+ external function SDL_BindGPUComputePipeline(compute_pass: ptr[SDL_GPUComputePass], compute_pipeline: ptr[SDL_GPUComputePipeline]) -> void
3311
+ external function SDL_BindGPUComputeSamplers(compute_pass: ptr[SDL_GPUComputePass], first_slot: uint, texture_sampler_bindings: const_ptr[SDL_GPUTextureSamplerBinding], num_bindings: uint) -> void
3312
+ external function SDL_BindGPUComputeStorageTextures(compute_pass: ptr[SDL_GPUComputePass], first_slot: uint, storage_textures: const_ptr[ptr[SDL_GPUTexture]], num_bindings: uint) -> void
3313
+ external function SDL_BindGPUComputeStorageBuffers(compute_pass: ptr[SDL_GPUComputePass], first_slot: uint, storage_buffers: const_ptr[ptr[SDL_GPUBuffer]], num_bindings: uint) -> void
3314
+ external function SDL_DispatchGPUCompute(compute_pass: ptr[SDL_GPUComputePass], groupcount_x: uint, groupcount_y: uint, groupcount_z: uint) -> void
3315
+ external function SDL_DispatchGPUComputeIndirect(compute_pass: ptr[SDL_GPUComputePass], buffer: ptr[SDL_GPUBuffer], offset: uint) -> void
3316
+ external function SDL_EndGPUComputePass(compute_pass: ptr[SDL_GPUComputePass]) -> void
3317
+ external function SDL_MapGPUTransferBuffer(device: ptr[SDL_GPUDevice], transfer_buffer: ptr[SDL_GPUTransferBuffer], cycle: bool) -> ptr[void]?
3318
+ external function SDL_UnmapGPUTransferBuffer(device: ptr[SDL_GPUDevice], transfer_buffer: ptr[SDL_GPUTransferBuffer]) -> void
3319
+ external function SDL_BeginGPUCopyPass(command_buffer: ptr[SDL_GPUCommandBuffer]) -> ptr[SDL_GPUCopyPass]
3320
+ external function SDL_UploadToGPUTexture(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUTextureTransferInfo], destination: const_ptr[SDL_GPUTextureRegion], cycle: bool) -> void
3321
+ external function SDL_UploadToGPUBuffer(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUTransferBufferLocation], destination: const_ptr[SDL_GPUBufferRegion], cycle: bool) -> void
3322
+ external function SDL_CopyGPUTextureToTexture(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUTextureLocation], destination: const_ptr[SDL_GPUTextureLocation], w: uint, h: uint, d: uint, cycle: bool) -> void
3323
+ external function SDL_CopyGPUBufferToBuffer(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUBufferLocation], destination: const_ptr[SDL_GPUBufferLocation], size: uint, cycle: bool) -> void
3324
+ external function SDL_DownloadFromGPUTexture(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUTextureRegion], destination: const_ptr[SDL_GPUTextureTransferInfo]) -> void
3325
+ external function SDL_DownloadFromGPUBuffer(copy_pass: ptr[SDL_GPUCopyPass], source: const_ptr[SDL_GPUBufferRegion], destination: const_ptr[SDL_GPUTransferBufferLocation]) -> void
3326
+ external function SDL_EndGPUCopyPass(copy_pass: ptr[SDL_GPUCopyPass]) -> void
3327
+ external function SDL_GenerateMipmapsForGPUTexture(command_buffer: ptr[SDL_GPUCommandBuffer], texture: ptr[SDL_GPUTexture]) -> void
3328
+ external function SDL_BlitGPUTexture(command_buffer: ptr[SDL_GPUCommandBuffer], info: const_ptr[SDL_GPUBlitInfo]) -> void
3329
+ external function SDL_WindowSupportsGPUSwapchainComposition(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window], swapchain_composition: SDL_GPUSwapchainComposition) -> bool
3330
+ external function SDL_WindowSupportsGPUPresentMode(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window], present_mode: SDL_GPUPresentMode) -> bool
3331
+ external function SDL_ClaimWindowForGPUDevice(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window]) -> bool
3332
+ external function SDL_ReleaseWindowFromGPUDevice(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window]) -> void
3333
+ external function SDL_SetGPUSwapchainParameters(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window], swapchain_composition: SDL_GPUSwapchainComposition, present_mode: SDL_GPUPresentMode) -> bool
3334
+ external function SDL_SetGPUAllowedFramesInFlight(device: ptr[SDL_GPUDevice], allowed_frames_in_flight: uint) -> bool
3335
+ external function SDL_GetGPUSwapchainTextureFormat(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window]) -> SDL_GPUTextureFormat
3336
+ external function SDL_AcquireGPUSwapchainTexture(command_buffer: ptr[SDL_GPUCommandBuffer], window: ptr[SDL_Window], swapchain_texture: ptr[ptr[SDL_GPUTexture]], swapchain_texture_width: ptr[uint]?, swapchain_texture_height: ptr[uint]?) -> bool
3337
+ external function SDL_WaitForGPUSwapchain(device: ptr[SDL_GPUDevice], window: ptr[SDL_Window]) -> bool
3338
+ external function SDL_WaitAndAcquireGPUSwapchainTexture(command_buffer: ptr[SDL_GPUCommandBuffer], window: ptr[SDL_Window], swapchain_texture: ptr[ptr[SDL_GPUTexture]], swapchain_texture_width: ptr[uint]?, swapchain_texture_height: ptr[uint]?) -> bool
3339
+ external function SDL_SubmitGPUCommandBuffer(command_buffer: ptr[SDL_GPUCommandBuffer]) -> bool
3340
+ external function SDL_SubmitGPUCommandBufferAndAcquireFence(command_buffer: ptr[SDL_GPUCommandBuffer]) -> ptr[SDL_GPUFence]?
3341
+ external function SDL_CancelGPUCommandBuffer(command_buffer: ptr[SDL_GPUCommandBuffer]) -> bool
3342
+ external function SDL_WaitForGPUIdle(device: ptr[SDL_GPUDevice]) -> bool
3343
+ external function SDL_WaitForGPUFences(device: ptr[SDL_GPUDevice], wait_all: bool, fences: const_ptr[ptr[SDL_GPUFence]], num_fences: uint) -> bool
3344
+ external function SDL_QueryGPUFence(device: ptr[SDL_GPUDevice], fence: ptr[SDL_GPUFence]) -> bool
3345
+ external function SDL_ReleaseGPUFence(device: ptr[SDL_GPUDevice], fence: ptr[SDL_GPUFence]) -> void
3346
+ external function SDL_GPUTextureFormatTexelBlockSize(format: SDL_GPUTextureFormat) -> Uint32
3347
+ external function SDL_GPUTextureSupportsFormat(device: ptr[SDL_GPUDevice], format: SDL_GPUTextureFormat, type_: SDL_GPUTextureType, usage: uint) -> bool
3348
+ external function SDL_GPUTextureSupportsSampleCount(device: ptr[SDL_GPUDevice], format: SDL_GPUTextureFormat, sample_count: SDL_GPUSampleCount) -> bool
3349
+ external function SDL_CalculateGPUTextureFormatSize(format: SDL_GPUTextureFormat, width: uint, height: uint, depth_or_layer_count: uint) -> Uint32
3350
+ external function SDL_GetPixelFormatFromGPUTextureFormat(format: SDL_GPUTextureFormat) -> SDL_PixelFormat
3351
+ external function SDL_GetGPUTextureFormatFromPixelFormat(format: SDL_PixelFormat) -> SDL_GPUTextureFormat
3352
+
3353
+ opaque SDL_Haptic = c"SDL_Haptic"
3354
+
3355
+ type SDL_HapticEffectType = ushort
3356
+ type SDL_HapticDirectionType = ubyte
3357
+ type SDL_HapticEffectID = int
3358
+
3359
+ struct SDL_HapticDirection:
3360
+ type_: ubyte
3361
+ dir: array[Sint32, 3]
3362
+
3363
+ struct SDL_HapticConstant:
3364
+ type_: ushort
3365
+ direction: SDL_HapticDirection
3366
+ length: uint
3367
+ delay: ushort
3368
+ button: ushort
3369
+ interval: ushort
3370
+ level: short
3371
+ attack_length: ushort
3372
+ attack_level: ushort
3373
+ fade_length: ushort
3374
+ fade_level: ushort
3375
+
3376
+ struct SDL_HapticPeriodic:
3377
+ type_: ushort
3378
+ direction: SDL_HapticDirection
3379
+ length: uint
3380
+ delay: ushort
3381
+ button: ushort
3382
+ interval: ushort
3383
+ period: ushort
3384
+ magnitude: short
3385
+ offset: short
3386
+ phase: ushort
3387
+ attack_length: ushort
3388
+ attack_level: ushort
3389
+ fade_length: ushort
3390
+ fade_level: ushort
3391
+
3392
+ struct SDL_HapticCondition:
3393
+ type_: ushort
3394
+ direction: SDL_HapticDirection
3395
+ length: uint
3396
+ delay: ushort
3397
+ button: ushort
3398
+ interval: ushort
3399
+ right_sat: array[Uint16, 3]
3400
+ left_sat: array[Uint16, 3]
3401
+ right_coeff: array[Sint16, 3]
3402
+ left_coeff: array[Sint16, 3]
3403
+ deadband: array[Uint16, 3]
3404
+ center: array[Sint16, 3]
3405
+
3406
+ struct SDL_HapticRamp:
3407
+ type_: ushort
3408
+ direction: SDL_HapticDirection
3409
+ length: uint
3410
+ delay: ushort
3411
+ button: ushort
3412
+ interval: ushort
3413
+ start: short
3414
+ end: short
3415
+ attack_length: ushort
3416
+ attack_level: ushort
3417
+ fade_length: ushort
3418
+ fade_level: ushort
3419
+
3420
+ struct SDL_HapticLeftRight:
3421
+ type_: ushort
3422
+ length: uint
3423
+ large_magnitude: ushort
3424
+ small_magnitude: ushort
3425
+
3426
+ struct SDL_HapticCustom:
3427
+ type_: ushort
3428
+ direction: SDL_HapticDirection
3429
+ length: uint
3430
+ delay: ushort
3431
+ button: ushort
3432
+ interval: ushort
3433
+ channels: ubyte
3434
+ period: ushort
3435
+ samples: ushort
3436
+ data: ptr[Uint16]
3437
+ attack_length: ushort
3438
+ attack_level: ushort
3439
+ fade_length: ushort
3440
+ fade_level: ushort
3441
+
3442
+ union SDL_HapticEffect:
3443
+ type_: ushort
3444
+ constant: SDL_HapticConstant
3445
+ periodic: SDL_HapticPeriodic
3446
+ condition: SDL_HapticCondition
3447
+ ramp: SDL_HapticRamp
3448
+ leftright: SDL_HapticLeftRight
3449
+ custom: SDL_HapticCustom
3450
+
3451
+ type SDL_HapticID = uint
3452
+
3453
+ external function SDL_GetHaptics(count: ptr[int]?) -> ptr[SDL_HapticID]?
3454
+ external function SDL_GetHapticNameForID(instance_id: uint) -> cstr?
3455
+ external function SDL_OpenHaptic(instance_id: uint) -> ptr[SDL_Haptic]?
3456
+ external function SDL_GetHapticFromID(instance_id: uint) -> ptr[SDL_Haptic]?
3457
+ external function SDL_GetHapticID(haptic: ptr[SDL_Haptic]) -> SDL_HapticID
3458
+ external function SDL_GetHapticName(haptic: ptr[SDL_Haptic]) -> cstr?
3459
+ external function SDL_IsMouseHaptic() -> bool
3460
+ external function SDL_OpenHapticFromMouse() -> ptr[SDL_Haptic]?
3461
+ external function SDL_IsJoystickHaptic(joystick: ptr[SDL_Joystick]) -> bool
3462
+ external function SDL_OpenHapticFromJoystick(joystick: ptr[SDL_Joystick]) -> ptr[SDL_Haptic]?
3463
+ external function SDL_CloseHaptic(haptic: ptr[SDL_Haptic]) -> void
3464
+ external function SDL_GetMaxHapticEffects(haptic: ptr[SDL_Haptic]) -> int
3465
+ external function SDL_GetMaxHapticEffectsPlaying(haptic: ptr[SDL_Haptic]) -> int
3466
+ external function SDL_GetHapticFeatures(haptic: ptr[SDL_Haptic]) -> Uint32
3467
+ external function SDL_GetNumHapticAxes(haptic: ptr[SDL_Haptic]) -> int
3468
+ external function SDL_HapticEffectSupported(haptic: ptr[SDL_Haptic], effect: const_ptr[SDL_HapticEffect]) -> bool
3469
+ external function SDL_CreateHapticEffect(haptic: ptr[SDL_Haptic], effect: const_ptr[SDL_HapticEffect]) -> SDL_HapticEffectID
3470
+ external function SDL_UpdateHapticEffect(haptic: ptr[SDL_Haptic], effect: int, data: const_ptr[SDL_HapticEffect]) -> bool
3471
+ external function SDL_RunHapticEffect(haptic: ptr[SDL_Haptic], effect: int, iterations: uint) -> bool
3472
+ external function SDL_StopHapticEffect(haptic: ptr[SDL_Haptic], effect: int) -> bool
3473
+ external function SDL_DestroyHapticEffect(haptic: ptr[SDL_Haptic], effect: int) -> void
3474
+ external function SDL_GetHapticEffectStatus(haptic: ptr[SDL_Haptic], effect: int) -> bool
3475
+ external function SDL_SetHapticGain(haptic: ptr[SDL_Haptic], gain: int) -> bool
3476
+ external function SDL_SetHapticAutocenter(haptic: ptr[SDL_Haptic], autocenter: int) -> bool
3477
+ external function SDL_PauseHaptic(haptic: ptr[SDL_Haptic]) -> bool
3478
+ external function SDL_ResumeHaptic(haptic: ptr[SDL_Haptic]) -> bool
3479
+ external function SDL_StopHapticEffects(haptic: ptr[SDL_Haptic]) -> bool
3480
+ external function SDL_HapticRumbleSupported(haptic: ptr[SDL_Haptic]) -> bool
3481
+ external function SDL_InitHapticRumble(haptic: ptr[SDL_Haptic]) -> bool
3482
+ external function SDL_PlayHapticRumble(haptic: ptr[SDL_Haptic], strength: float, length: uint) -> bool
3483
+ external function SDL_StopHapticRumble(haptic: ptr[SDL_Haptic]) -> bool
3484
+
3485
+ opaque SDL_hid_device = c"SDL_hid_device"
3486
+
3487
+ enum SDL_hid_bus_type: int
3488
+ SDL_HID_API_BUS_UNKNOWN = 0
3489
+ SDL_HID_API_BUS_USB = 1
3490
+ SDL_HID_API_BUS_BLUETOOTH = 2
3491
+ SDL_HID_API_BUS_I2C = 3
3492
+ SDL_HID_API_BUS_SPI = 4
3493
+
3494
+ struct SDL_hid_device_info:
3495
+ path: ptr[char]
3496
+ vendor_id: ushort
3497
+ product_id: ushort
3498
+ serial_number: ptr[int]
3499
+ release_number: ushort
3500
+ manufacturer_string: ptr[int]
3501
+ product_string: ptr[int]
3502
+ usage_page: ushort
3503
+ usage: ushort
3504
+ interface_number: int
3505
+ interface_class: int
3506
+ interface_subclass: int
3507
+ interface_protocol: int
3508
+ bus_type: SDL_hid_bus_type
3509
+ next: ptr[SDL_hid_device_info]
3510
+
3511
+ external function SDL_hid_init() -> int
3512
+ external function SDL_hid_exit() -> int
3513
+ external function SDL_hid_device_change_count() -> Uint32
3514
+ external function SDL_hid_enumerate(vendor_id: ushort, product_id: ushort) -> ptr[SDL_hid_device_info]
3515
+ external function SDL_hid_free_enumeration(devs: ptr[SDL_hid_device_info]) -> void
3516
+ external function SDL_hid_open(vendor_id: ushort, product_id: ushort, serial_number: const_ptr[int]) -> ptr[SDL_hid_device]?
3517
+ external function SDL_hid_open_path(path: cstr) -> ptr[SDL_hid_device]?
3518
+ external function SDL_hid_get_properties(dev: ptr[SDL_hid_device]) -> SDL_PropertiesID
3519
+ external function SDL_hid_write(dev: ptr[SDL_hid_device], data: const_ptr[ubyte], length: ptr_uint) -> int
3520
+ external function SDL_hid_read_timeout(dev: ptr[SDL_hid_device], data: ptr[ubyte], length: ptr_uint, milliseconds: int) -> int
3521
+ external function SDL_hid_read(dev: ptr[SDL_hid_device], data: ptr[ubyte], length: ptr_uint) -> int
3522
+ external function SDL_hid_set_nonblocking(dev: ptr[SDL_hid_device], nonblock: int) -> int
3523
+ external function SDL_hid_send_feature_report(dev: ptr[SDL_hid_device], data: const_ptr[ubyte], length: ptr_uint) -> int
3524
+ external function SDL_hid_get_feature_report(dev: ptr[SDL_hid_device], data: ptr[ubyte], length: ptr_uint) -> int
3525
+ external function SDL_hid_get_input_report(dev: ptr[SDL_hid_device], data: ptr[ubyte], length: ptr_uint) -> int
3526
+ external function SDL_hid_close(dev: ptr[SDL_hid_device]) -> int
3527
+ external function SDL_hid_get_manufacturer_string(dev: ptr[SDL_hid_device], string: ptr[int], maxlen: ptr_uint) -> int
3528
+ external function SDL_hid_get_product_string(dev: ptr[SDL_hid_device], string: ptr[int], maxlen: ptr_uint) -> int
3529
+ external function SDL_hid_get_serial_number_string(dev: ptr[SDL_hid_device], string: ptr[int], maxlen: ptr_uint) -> int
3530
+ external function SDL_hid_get_indexed_string(dev: ptr[SDL_hid_device], string_index: int, string: ptr[int], maxlen: ptr_uint) -> int
3531
+ external function SDL_hid_get_device_info(dev: ptr[SDL_hid_device]) -> ptr[SDL_hid_device_info]?
3532
+ external function SDL_hid_get_report_descriptor(dev: ptr[SDL_hid_device], buf: ptr[ubyte], buf_size: ptr_uint) -> int
3533
+ external function SDL_hid_ble_scan(active: bool) -> void
3534
+
3535
+ flags SDL_HintPriority: int
3536
+ SDL_HINT_DEFAULT = 0
3537
+ SDL_HINT_NORMAL = 1
3538
+ SDL_HINT_OVERRIDE = 2
3539
+
3540
+ external function SDL_SetHintWithPriority(name: cstr, value: cstr, priority: SDL_HintPriority) -> bool
3541
+ external function SDL_SetHint(name: cstr, value: cstr) -> bool
3542
+ external function SDL_ResetHint(name: cstr) -> bool
3543
+ external function SDL_ResetHints() -> void
3544
+ external function SDL_GetHint(name: cstr) -> cstr?
3545
+ external function SDL_GetHintBoolean(name: cstr, default_value: bool) -> bool
3546
+
3547
+ type SDL_HintCallback = fn(arg0: ptr[void], arg1: cstr, arg2: cstr, arg3: cstr) -> void
3548
+
3549
+ external function SDL_AddHintCallback(name: cstr, callback: fn(arg0: ptr[void], arg1: cstr, arg2: cstr, arg3: cstr) -> void, userdata: ptr[void]) -> bool
3550
+ external function SDL_RemoveHintCallback(name: cstr, callback: fn(arg0: ptr[void], arg1: cstr, arg2: cstr, arg3: cstr) -> void, userdata: ptr[void]) -> void
3551
+
3552
+ type SDL_InitFlags = uint
3553
+
3554
+ flags SDL_AppResult: int
3555
+ SDL_APP_CONTINUE = 0
3556
+ SDL_APP_SUCCESS = 1
3557
+ SDL_APP_FAILURE = 2
3558
+
3559
+ type SDL_AppInit_func = fn(arg0: ptr[ptr[void]], arg1: int, arg2: ptr[ptr[char]]) -> SDL_AppResult
3560
+ type SDL_AppIterate_func = fn(arg0: ptr[void]) -> SDL_AppResult
3561
+ type SDL_AppEvent_func = fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> SDL_AppResult
3562
+ type SDL_AppQuit_func = fn(arg0: ptr[void], arg1: SDL_AppResult) -> void
3563
+
3564
+ external function SDL_Init(flags_: uint) -> bool
3565
+ external function SDL_InitSubSystem(flags_: uint) -> bool
3566
+ external function SDL_QuitSubSystem(flags_: uint) -> void
3567
+ external function SDL_WasInit(flags_: uint) -> SDL_InitFlags
3568
+ external function SDL_Quit() -> void
3569
+ external function SDL_IsMainThread() -> bool
3570
+
3571
+ type SDL_MainThreadCallback = fn(arg0: ptr[void]) -> void
3572
+
3573
+ external function SDL_RunOnMainThread(callback: fn(arg0: ptr[void]) -> void, userdata: ptr[void], wait_complete: bool) -> bool
3574
+ external function SDL_SetAppMetadata(appname: cstr, appversion: cstr, appidentifier: cstr) -> bool
3575
+ external function SDL_SetAppMetadataProperty(name: cstr, value: cstr?) -> bool
3576
+ external function SDL_GetAppMetadataProperty(name: cstr) -> cstr
3577
+
3578
+ opaque SDL_SharedObject = c"SDL_SharedObject"
3579
+
3580
+ external function SDL_LoadObject(sofile: cstr) -> ptr[SDL_SharedObject]?
3581
+ external function SDL_LoadFunction(handle: ptr[SDL_SharedObject], name: cstr) -> SDL_FunctionPointer?
3582
+ external function SDL_UnloadObject(handle: ptr[SDL_SharedObject]) -> void
3583
+
3584
+ struct SDL_Locale:
3585
+ language: cstr
3586
+ country: cstr
3587
+
3588
+ external function SDL_GetPreferredLocales(count: ptr[int]?) -> ptr[ptr[SDL_Locale]]?
3589
+
3590
+ enum SDL_LogCategory: int
3591
+ SDL_LOG_CATEGORY_APPLICATION = 0
3592
+ SDL_LOG_CATEGORY_ERROR = 1
3593
+ SDL_LOG_CATEGORY_ASSERT = 2
3594
+ SDL_LOG_CATEGORY_SYSTEM = 3
3595
+ SDL_LOG_CATEGORY_AUDIO = 4
3596
+ SDL_LOG_CATEGORY_VIDEO = 5
3597
+ SDL_LOG_CATEGORY_RENDER = 6
3598
+ SDL_LOG_CATEGORY_INPUT = 7
3599
+ SDL_LOG_CATEGORY_TEST = 8
3600
+ SDL_LOG_CATEGORY_GPU = 9
3601
+ SDL_LOG_CATEGORY_RESERVED2 = 10
3602
+ SDL_LOG_CATEGORY_RESERVED3 = 11
3603
+ SDL_LOG_CATEGORY_RESERVED4 = 12
3604
+ SDL_LOG_CATEGORY_RESERVED5 = 13
3605
+ SDL_LOG_CATEGORY_RESERVED6 = 14
3606
+ SDL_LOG_CATEGORY_RESERVED7 = 15
3607
+ SDL_LOG_CATEGORY_RESERVED8 = 16
3608
+ SDL_LOG_CATEGORY_RESERVED9 = 17
3609
+ SDL_LOG_CATEGORY_RESERVED10 = 18
3610
+ SDL_LOG_CATEGORY_CUSTOM = 19
3611
+
3612
+ enum SDL_LogPriority: int
3613
+ SDL_LOG_PRIORITY_INVALID = 0
3614
+ SDL_LOG_PRIORITY_TRACE = 1
3615
+ SDL_LOG_PRIORITY_VERBOSE = 2
3616
+ SDL_LOG_PRIORITY_DEBUG = 3
3617
+ SDL_LOG_PRIORITY_INFO = 4
3618
+ SDL_LOG_PRIORITY_WARN = 5
3619
+ SDL_LOG_PRIORITY_ERROR = 6
3620
+ SDL_LOG_PRIORITY_CRITICAL = 7
3621
+ SDL_LOG_PRIORITY_COUNT = 8
3622
+
3623
+ external function SDL_SetLogPriorities(priority: SDL_LogPriority) -> void
3624
+ external function SDL_SetLogPriority(category: int, priority: SDL_LogPriority) -> void
3625
+ external function SDL_GetLogPriority(category: int) -> SDL_LogPriority
3626
+ external function SDL_ResetLogPriorities() -> void
3627
+ external function SDL_SetLogPriorityPrefix(priority: SDL_LogPriority, prefix: cstr?) -> bool
3628
+ external function SDL_Log(fmt: cstr, ...) -> void
3629
+ external function SDL_LogTrace(category: int, fmt: cstr, ...) -> void
3630
+ external function SDL_LogVerbose(category: int, fmt: cstr, ...) -> void
3631
+ external function SDL_LogDebug(category: int, fmt: cstr, ...) -> void
3632
+ external function SDL_LogInfo(category: int, fmt: cstr, ...) -> void
3633
+ external function SDL_LogWarn(category: int, fmt: cstr, ...) -> void
3634
+ external function SDL_LogError(category: int, fmt: cstr, ...) -> void
3635
+ external function SDL_LogCritical(category: int, fmt: cstr, ...) -> void
3636
+ external function SDL_LogMessage(category: int, priority: SDL_LogPriority, fmt: cstr, ...) -> void
3637
+ external function SDL_LogMessageV(category: int, priority: SDL_LogPriority, fmt: cstr, ap: va_list) -> void
3638
+
3639
+ type SDL_LogOutputFunction = fn(arg0: ptr[void], arg1: int, arg2: SDL_LogPriority, arg3: cstr) -> void
3640
+
3641
+ external function SDL_GetDefaultLogOutputFunction() -> SDL_LogOutputFunction
3642
+ external function SDL_GetLogOutputFunction(callback: ptr[SDL_LogOutputFunction], userdata: ptr[ptr[void]]) -> void
3643
+ external function SDL_SetLogOutputFunction(callback: fn(arg0: ptr[void], arg1: int, arg2: SDL_LogPriority, arg3: cstr) -> void, userdata: ptr[void]) -> void
3644
+
3645
+ type SDL_MessageBoxFlags = uint
3646
+ type SDL_MessageBoxButtonFlags = uint
3647
+
3648
+ struct SDL_MessageBoxButtonData:
3649
+ flags_: uint
3650
+ buttonID: int
3651
+ text: cstr
3652
+
3653
+ struct SDL_MessageBoxColor:
3654
+ r: ubyte
3655
+ g: ubyte
3656
+ b: ubyte
3657
+
3658
+ enum SDL_MessageBoxColorType: int
3659
+ SDL_MESSAGEBOX_COLOR_BACKGROUND = 0
3660
+ SDL_MESSAGEBOX_COLOR_TEXT = 1
3661
+ SDL_MESSAGEBOX_COLOR_BUTTON_BORDER = 2
3662
+ SDL_MESSAGEBOX_COLOR_BUTTON_BACKGROUND = 3
3663
+ SDL_MESSAGEBOX_COLOR_BUTTON_SELECTED = 4
3664
+ SDL_MESSAGEBOX_COLOR_COUNT = 5
3665
+
3666
+ struct SDL_MessageBoxColorScheme:
3667
+ colors: array[SDL_MessageBoxColor, 5]
3668
+
3669
+ struct SDL_MessageBoxData:
3670
+ flags_: uint
3671
+ window: ptr[SDL_Window]
3672
+ title: cstr
3673
+ message: cstr
3674
+ numbuttons: int
3675
+ buttons: const_ptr[SDL_MessageBoxButtonData]
3676
+ colorScheme: const_ptr[SDL_MessageBoxColorScheme]
3677
+
3678
+ external function SDL_ShowMessageBox(messageboxdata: const_ptr[SDL_MessageBoxData], buttonid: ptr[int]) -> bool
3679
+ external function SDL_ShowSimpleMessageBox(flags_: uint, title: cstr, message: cstr, window: ptr[SDL_Window]?) -> bool
3680
+
3681
+ type SDL_MetalView = ptr[void]
3682
+
3683
+ external function SDL_Metal_CreateView(window: ptr[SDL_Window]) -> SDL_MetalView
3684
+ external function SDL_Metal_DestroyView(view: ptr[void]) -> void
3685
+ external function SDL_Metal_GetLayer(view: ptr[void]) -> ptr[void]
3686
+ external function SDL_OpenURL(url: cstr) -> bool
3687
+ external function SDL_GetPlatform() -> cstr
3688
+
3689
+ opaque SDL_Process = c"SDL_Process"
3690
+
3691
+ external function SDL_CreateProcess(args: const_ptr[cstr], pipe_stdio: bool) -> ptr[SDL_Process]?
3692
+
3693
+ enum SDL_ProcessIO: int
3694
+ SDL_PROCESS_STDIO_INHERITED = 0
3695
+ SDL_PROCESS_STDIO_NULL = 1
3696
+ SDL_PROCESS_STDIO_APP = 2
3697
+ SDL_PROCESS_STDIO_REDIRECT = 3
3698
+
3699
+ external function SDL_CreateProcessWithProperties(props: uint) -> ptr[SDL_Process]?
3700
+ external function SDL_GetProcessProperties(process: ptr[SDL_Process]) -> SDL_PropertiesID
3701
+ external function SDL_ReadProcess(process: ptr[SDL_Process], datasize: ptr[ptr_uint]?, exitcode: ptr[int]?) -> ptr[void]?
3702
+ external function SDL_GetProcessInput(process: ptr[SDL_Process]) -> ptr[SDL_IOStream]?
3703
+ external function SDL_GetProcessOutput(process: ptr[SDL_Process]) -> ptr[SDL_IOStream]?
3704
+ external function SDL_KillProcess(process: ptr[SDL_Process], force: bool) -> bool
3705
+ external function SDL_WaitProcess(process: ptr[SDL_Process], block: bool, exitcode: ptr[int]?) -> bool
3706
+ external function SDL_DestroyProcess(process: ptr[SDL_Process]) -> void
3707
+
3708
+ struct SDL_Vertex:
3709
+ position: SDL_FPoint
3710
+ color: SDL_FColor
3711
+ tex_coord: SDL_FPoint
3712
+
3713
+ flags SDL_TextureAccess: int
3714
+ SDL_TEXTUREACCESS_STATIC = 0
3715
+ SDL_TEXTUREACCESS_STREAMING = 1
3716
+ SDL_TEXTUREACCESS_TARGET = 2
3717
+
3718
+ enum SDL_TextureAddressMode: int
3719
+ SDL_TEXTURE_ADDRESS_INVALID = -1
3720
+ SDL_TEXTURE_ADDRESS_AUTO = 0
3721
+ SDL_TEXTURE_ADDRESS_CLAMP = 1
3722
+ SDL_TEXTURE_ADDRESS_WRAP = 2
3723
+
3724
+ enum SDL_RendererLogicalPresentation: int
3725
+ SDL_LOGICAL_PRESENTATION_DISABLED = 0
3726
+ SDL_LOGICAL_PRESENTATION_STRETCH = 1
3727
+ SDL_LOGICAL_PRESENTATION_LETTERBOX = 2
3728
+ SDL_LOGICAL_PRESENTATION_OVERSCAN = 3
3729
+ SDL_LOGICAL_PRESENTATION_INTEGER_SCALE = 4
3730
+
3731
+ opaque SDL_Renderer = c"SDL_Renderer"
3732
+
3733
+ struct SDL_Texture:
3734
+ format: SDL_PixelFormat
3735
+ w: int
3736
+ h: int
3737
+ refcount: int
3738
+
3739
+ external function SDL_GetNumRenderDrivers() -> int
3740
+ external function SDL_GetRenderDriver(index: int) -> cstr?
3741
+ external function SDL_CreateWindowAndRenderer(title: cstr, width: int, height: int, window_flags: ptr_uint, window: ptr[ptr[SDL_Window]]?, renderer: ptr[ptr[SDL_Renderer]]?) -> bool
3742
+ external function SDL_CreateRenderer(window: ptr[SDL_Window], name: cstr?) -> ptr[SDL_Renderer]?
3743
+ external function SDL_CreateRendererWithProperties(props: uint) -> ptr[SDL_Renderer]?
3744
+ external function SDL_CreateGPURenderer(device: ptr[SDL_GPUDevice]?, window: ptr[SDL_Window]?) -> ptr[SDL_Renderer]?
3745
+ external function SDL_GetGPURendererDevice(renderer: ptr[SDL_Renderer]) -> ptr[SDL_GPUDevice]?
3746
+ external function SDL_CreateSoftwareRenderer(surface: ptr[SDL_Surface]) -> ptr[SDL_Renderer]?
3747
+ external function SDL_GetRenderer(window: ptr[SDL_Window]) -> ptr[SDL_Renderer]?
3748
+ external function SDL_GetRenderWindow(renderer: ptr[SDL_Renderer]) -> ptr[SDL_Window]?
3749
+ external function SDL_GetRendererName(renderer: ptr[SDL_Renderer]) -> cstr?
3750
+ external function SDL_GetRendererProperties(renderer: ptr[SDL_Renderer]) -> SDL_PropertiesID
3751
+ external function SDL_GetRenderOutputSize(renderer: ptr[SDL_Renderer], w: ptr[int], h: ptr[int]) -> bool
3752
+ external function SDL_GetCurrentRenderOutputSize(renderer: ptr[SDL_Renderer], w: ptr[int], h: ptr[int]) -> bool
3753
+ external function SDL_CreateTexture(renderer: ptr[SDL_Renderer], format: SDL_PixelFormat, access: SDL_TextureAccess, w: int, h: int) -> ptr[SDL_Texture]?
3754
+ external function SDL_CreateTextureFromSurface(renderer: ptr[SDL_Renderer], surface: ptr[SDL_Surface]) -> ptr[SDL_Texture]?
3755
+ external function SDL_CreateTextureWithProperties(renderer: ptr[SDL_Renderer], props: uint) -> ptr[SDL_Texture]?
3756
+ external function SDL_GetTextureProperties(texture: ptr[SDL_Texture]) -> SDL_PropertiesID
3757
+ external function SDL_GetRendererFromTexture(texture: ptr[SDL_Texture]) -> ptr[SDL_Renderer]?
3758
+ external function SDL_GetTextureSize(texture: ptr[SDL_Texture], w: ptr[float], h: ptr[float]) -> bool
3759
+ external function SDL_SetTexturePalette(texture: ptr[SDL_Texture], palette: ptr[SDL_Palette]) -> bool
3760
+ external function SDL_GetTexturePalette(texture: ptr[SDL_Texture]) -> ptr[SDL_Palette]?
3761
+ external function SDL_SetTextureColorMod(texture: ptr[SDL_Texture], r: ubyte, g: ubyte, b: ubyte) -> bool
3762
+ external function SDL_SetTextureColorModFloat(texture: ptr[SDL_Texture], r: float, g: float, b: float) -> bool
3763
+ external function SDL_GetTextureColorMod(texture: ptr[SDL_Texture], r: ptr[Uint8], g: ptr[Uint8], b: ptr[Uint8]) -> bool
3764
+ external function SDL_GetTextureColorModFloat(texture: ptr[SDL_Texture], r: ptr[float], g: ptr[float], b: ptr[float]) -> bool
3765
+ external function SDL_SetTextureAlphaMod(texture: ptr[SDL_Texture], alpha: ubyte) -> bool
3766
+ external function SDL_SetTextureAlphaModFloat(texture: ptr[SDL_Texture], alpha: float) -> bool
3767
+ external function SDL_GetTextureAlphaMod(texture: ptr[SDL_Texture], alpha: ptr[Uint8]) -> bool
3768
+ external function SDL_GetTextureAlphaModFloat(texture: ptr[SDL_Texture], alpha: ptr[float]) -> bool
3769
+ external function SDL_SetTextureBlendMode(texture: ptr[SDL_Texture], blendMode: uint) -> bool
3770
+ external function SDL_GetTextureBlendMode(texture: ptr[SDL_Texture], blendMode: ptr[SDL_BlendMode]) -> bool
3771
+ external function SDL_SetTextureScaleMode(texture: ptr[SDL_Texture], scaleMode: SDL_ScaleMode) -> bool
3772
+ external function SDL_GetTextureScaleMode(texture: ptr[SDL_Texture], scaleMode: ptr[SDL_ScaleMode]) -> bool
3773
+ external function SDL_UpdateTexture(texture: ptr[SDL_Texture], rect: const_ptr[SDL_Rect]?, pixels: const_ptr[void], pitch: int) -> bool
3774
+ external function SDL_UpdateYUVTexture(texture: ptr[SDL_Texture], rect: const_ptr[SDL_Rect]?, Yplane: const_ptr[Uint8], Ypitch: int, Uplane: const_ptr[Uint8], Upitch: int, Vplane: const_ptr[Uint8], Vpitch: int) -> bool
3775
+ external function SDL_UpdateNVTexture(texture: ptr[SDL_Texture], rect: const_ptr[SDL_Rect]?, Yplane: const_ptr[Uint8], Ypitch: int, UVplane: const_ptr[Uint8], UVpitch: int) -> bool
3776
+ external function SDL_LockTexture(texture: ptr[SDL_Texture], rect: const_ptr[SDL_Rect], pixels: ptr[ptr[void]], pitch: ptr[int]) -> bool
3777
+ external function SDL_LockTextureToSurface(texture: ptr[SDL_Texture], rect: const_ptr[SDL_Rect]?, surface: ptr[ptr[SDL_Surface]]) -> bool
3778
+ external function SDL_UnlockTexture(texture: ptr[SDL_Texture]) -> void
3779
+ external function SDL_SetRenderTarget(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture]?) -> bool
3780
+ external function SDL_GetRenderTarget(renderer: ptr[SDL_Renderer]) -> ptr[SDL_Texture]?
3781
+ external function SDL_SetRenderLogicalPresentation(renderer: ptr[SDL_Renderer], w: int, h: int, mode: SDL_RendererLogicalPresentation) -> bool
3782
+ external function SDL_GetRenderLogicalPresentation(renderer: ptr[SDL_Renderer], w: ptr[int], h: ptr[int], mode: ptr[SDL_RendererLogicalPresentation]) -> bool
3783
+ external function SDL_GetRenderLogicalPresentationRect(renderer: ptr[SDL_Renderer], rect: ptr[SDL_FRect]?) -> bool
3784
+ external function SDL_RenderCoordinatesFromWindow(renderer: ptr[SDL_Renderer], window_x: float, window_y: float, x: ptr[float], y: ptr[float]) -> bool
3785
+ external function SDL_RenderCoordinatesToWindow(renderer: ptr[SDL_Renderer], x: float, y: float, window_x: ptr[float], window_y: ptr[float]) -> bool
3786
+ external function SDL_ConvertEventToRenderCoordinates(renderer: ptr[SDL_Renderer], event_: ptr[SDL_Event]) -> bool
3787
+ external function SDL_SetRenderViewport(renderer: ptr[SDL_Renderer], rect: const_ptr[SDL_Rect]?) -> bool
3788
+ external function SDL_GetRenderViewport(renderer: ptr[SDL_Renderer], rect: ptr[SDL_Rect]) -> bool
3789
+ external function SDL_RenderViewportSet(renderer: ptr[SDL_Renderer]) -> bool
3790
+ external function SDL_GetRenderSafeArea(renderer: ptr[SDL_Renderer], rect: ptr[SDL_Rect]) -> bool
3791
+ external function SDL_SetRenderClipRect(renderer: ptr[SDL_Renderer], rect: const_ptr[SDL_Rect]?) -> bool
3792
+ external function SDL_GetRenderClipRect(renderer: ptr[SDL_Renderer], rect: ptr[SDL_Rect]) -> bool
3793
+ external function SDL_RenderClipEnabled(renderer: ptr[SDL_Renderer]) -> bool
3794
+ external function SDL_SetRenderScale(renderer: ptr[SDL_Renderer], scaleX: float, scaleY: float) -> bool
3795
+ external function SDL_GetRenderScale(renderer: ptr[SDL_Renderer], scaleX: ptr[float], scaleY: ptr[float]) -> bool
3796
+ external function SDL_SetRenderDrawColor(renderer: ptr[SDL_Renderer], r: ubyte, g: ubyte, b: ubyte, a: ubyte) -> bool
3797
+ external function SDL_SetRenderDrawColorFloat(renderer: ptr[SDL_Renderer], r: float, g: float, b: float, a: float) -> bool
3798
+ external function SDL_GetRenderDrawColor(renderer: ptr[SDL_Renderer], r: ptr[Uint8], g: ptr[Uint8], b: ptr[Uint8], a: ptr[Uint8]) -> bool
3799
+ external function SDL_GetRenderDrawColorFloat(renderer: ptr[SDL_Renderer], r: ptr[float], g: ptr[float], b: ptr[float], a: ptr[float]) -> bool
3800
+ external function SDL_SetRenderColorScale(renderer: ptr[SDL_Renderer], scale: float) -> bool
3801
+ external function SDL_GetRenderColorScale(renderer: ptr[SDL_Renderer], scale: ptr[float]) -> bool
3802
+ external function SDL_SetRenderDrawBlendMode(renderer: ptr[SDL_Renderer], blendMode: uint) -> bool
3803
+ external function SDL_GetRenderDrawBlendMode(renderer: ptr[SDL_Renderer], blendMode: ptr[SDL_BlendMode]) -> bool
3804
+ external function SDL_RenderClear(renderer: ptr[SDL_Renderer]) -> bool
3805
+ external function SDL_RenderPoint(renderer: ptr[SDL_Renderer], x: float, y: float) -> bool
3806
+ external function SDL_RenderPoints(renderer: ptr[SDL_Renderer], points: const_ptr[SDL_FPoint], count: int) -> bool
3807
+ external function SDL_RenderLine(renderer: ptr[SDL_Renderer], x1: float, y1: float, x2: float, y2: float) -> bool
3808
+ external function SDL_RenderLines(renderer: ptr[SDL_Renderer], points: const_ptr[SDL_FPoint], count: int) -> bool
3809
+ external function SDL_RenderRect(renderer: ptr[SDL_Renderer], rect: const_ptr[SDL_FRect]?) -> bool
3810
+ external function SDL_RenderRects(renderer: ptr[SDL_Renderer], rects: const_ptr[SDL_FRect], count: int) -> bool
3811
+ external function SDL_RenderFillRect(renderer: ptr[SDL_Renderer], rect: const_ptr[SDL_FRect]?) -> bool
3812
+ external function SDL_RenderFillRects(renderer: ptr[SDL_Renderer], rects: const_ptr[SDL_FRect], count: int) -> bool
3813
+ external function SDL_RenderTexture(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, dstrect: const_ptr[SDL_FRect]?) -> bool
3814
+ external function SDL_RenderTextureRotated(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, dstrect: const_ptr[SDL_FRect]?, angle: double, center: const_ptr[SDL_FPoint]?, flip: SDL_FlipMode) -> bool
3815
+ external function SDL_RenderTextureAffine(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, origin: const_ptr[SDL_FPoint]?, right: const_ptr[SDL_FPoint]?, down: const_ptr[SDL_FPoint]?) -> bool
3816
+ external function SDL_RenderTextureTiled(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, scale: float, dstrect: const_ptr[SDL_FRect]?) -> bool
3817
+ external function SDL_RenderTexture9Grid(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, left_width: float, right_width: float, top_height: float, bottom_height: float, scale: float, dstrect: const_ptr[SDL_FRect]?) -> bool
3818
+ external function SDL_RenderTexture9GridTiled(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], srcrect: const_ptr[SDL_FRect]?, left_width: float, right_width: float, top_height: float, bottom_height: float, scale: float, dstrect: const_ptr[SDL_FRect]?, tileScale: float) -> bool
3819
+ external function SDL_RenderGeometry(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture]?, vertices: const_ptr[SDL_Vertex], num_vertices: int, indices: const_ptr[int]?, num_indices: int) -> bool
3820
+ external function SDL_RenderGeometryRaw(renderer: ptr[SDL_Renderer], texture: ptr[SDL_Texture], xy: const_ptr[float], xy_stride: int, color: const_ptr[SDL_FColor], color_stride: int, uv: const_ptr[float], uv_stride: int, num_vertices: int, indices: const_ptr[void]?, num_indices: int, size_indices: int) -> bool
3821
+ external function SDL_SetRenderTextureAddressMode(renderer: ptr[SDL_Renderer], u_mode: SDL_TextureAddressMode, v_mode: SDL_TextureAddressMode) -> bool
3822
+ external function SDL_GetRenderTextureAddressMode(renderer: ptr[SDL_Renderer], u_mode: ptr[SDL_TextureAddressMode]?, v_mode: ptr[SDL_TextureAddressMode]?) -> bool
3823
+ external function SDL_RenderReadPixels(renderer: ptr[SDL_Renderer], rect: const_ptr[SDL_Rect]?) -> ptr[SDL_Surface]?
3824
+ external function SDL_RenderPresent(renderer: ptr[SDL_Renderer]) -> bool
3825
+ external function SDL_DestroyTexture(texture: ptr[SDL_Texture]) -> void
3826
+ external function SDL_DestroyRenderer(renderer: ptr[SDL_Renderer]) -> void
3827
+ external function SDL_FlushRenderer(renderer: ptr[SDL_Renderer]) -> bool
3828
+ external function SDL_GetRenderMetalLayer(renderer: ptr[SDL_Renderer]) -> ptr[void]?
3829
+ external function SDL_GetRenderMetalCommandEncoder(renderer: ptr[SDL_Renderer]) -> ptr[void]?
3830
+ external function SDL_AddVulkanRenderSemaphores(renderer: ptr[SDL_Renderer], wait_stage_mask: uint, wait_semaphore: ptr_int, signal_semaphore: ptr_int) -> bool
3831
+ external function SDL_SetRenderVSync(renderer: ptr[SDL_Renderer], vsync: int) -> bool
3832
+ external function SDL_GetRenderVSync(renderer: ptr[SDL_Renderer], vsync: ptr[int]) -> bool
3833
+ external function SDL_RenderDebugText(renderer: ptr[SDL_Renderer], x: float, y: float, str_: cstr) -> bool
3834
+ external function SDL_RenderDebugTextFormat(renderer: ptr[SDL_Renderer], x: float, y: float, fmt: cstr, ...) -> bool
3835
+ external function SDL_SetDefaultTextureScaleMode(renderer: ptr[SDL_Renderer], scale_mode: SDL_ScaleMode) -> bool
3836
+ external function SDL_GetDefaultTextureScaleMode(renderer: ptr[SDL_Renderer], scale_mode: ptr[SDL_ScaleMode]) -> bool
3837
+
3838
+ struct SDL_GPURenderStateCreateInfo:
3839
+ fragment_shader: ptr[SDL_GPUShader]
3840
+ num_sampler_bindings: int
3841
+ sampler_bindings: const_ptr[SDL_GPUTextureSamplerBinding]
3842
+ num_storage_textures: int
3843
+ storage_textures: const_ptr[ptr[SDL_GPUTexture]]
3844
+ num_storage_buffers: int
3845
+ storage_buffers: const_ptr[ptr[SDL_GPUBuffer]]
3846
+ props: uint
3847
+
3848
+ opaque SDL_GPURenderState = c"SDL_GPURenderState"
3849
+
3850
+ external function SDL_CreateGPURenderState(renderer: ptr[SDL_Renderer], createinfo: const_ptr[SDL_GPURenderStateCreateInfo]) -> ptr[SDL_GPURenderState]?
3851
+ external function SDL_SetGPURenderStateFragmentUniforms(state: ptr[SDL_GPURenderState], slot_index: uint, data: const_ptr[void], length: uint) -> bool
3852
+ external function SDL_SetGPURenderState(renderer: ptr[SDL_Renderer], state: ptr[SDL_GPURenderState]?) -> bool
3853
+ external function SDL_DestroyGPURenderState(state: ptr[SDL_GPURenderState]) -> void
3854
+
3855
+ struct SDL_StorageInterface:
3856
+ version: uint
3857
+ close: fn(arg0: ptr[void]) -> bool
3858
+ ready: fn(arg0: ptr[void]) -> bool
3859
+ enumerate: fn(arg0: ptr[void], arg1: cstr, arg2: SDL_EnumerateDirectoryCallback, arg3: ptr[void]) -> bool
3860
+ info: fn(arg0: ptr[void], arg1: cstr, arg2: ptr[SDL_PathInfo]) -> bool
3861
+ read_file: fn(arg0: ptr[void], arg1: cstr, arg2: ptr[void], arg3: Uint64) -> bool
3862
+ write_file: fn(arg0: ptr[void], arg1: cstr, arg2: const_ptr[void], arg3: Uint64) -> bool
3863
+ mkdir: fn(arg0: ptr[void], arg1: cstr) -> bool
3864
+ remove: fn(arg0: ptr[void], arg1: cstr) -> bool
3865
+ rename: fn(arg0: ptr[void], arg1: cstr, arg2: cstr) -> bool
3866
+ copy: fn(arg0: ptr[void], arg1: cstr, arg2: cstr) -> bool
3867
+ space_remaining: fn(arg0: ptr[void]) -> Uint64
3868
+
3869
+ opaque SDL_Storage = c"SDL_Storage"
3870
+
3871
+ external function SDL_OpenTitleStorage(override: cstr, props: uint) -> ptr[SDL_Storage]?
3872
+ external function SDL_OpenUserStorage(org: cstr, app: cstr, props: uint) -> ptr[SDL_Storage]?
3873
+ external function SDL_OpenFileStorage(path: cstr?) -> ptr[SDL_Storage]?
3874
+ external function SDL_OpenStorage(iface: const_ptr[SDL_StorageInterface], userdata: ptr[void]) -> ptr[SDL_Storage]?
3875
+ external function SDL_CloseStorage(storage: ptr[SDL_Storage]) -> bool
3876
+ external function SDL_StorageReady(storage: ptr[SDL_Storage]) -> bool
3877
+ external function SDL_GetStorageFileSize(storage: ptr[SDL_Storage], path: cstr, length: ptr[Uint64]) -> bool
3878
+ external function SDL_ReadStorageFile(storage: ptr[SDL_Storage], path: cstr, destination: ptr[void], length: ptr_uint) -> bool
3879
+ external function SDL_WriteStorageFile(storage: ptr[SDL_Storage], path: cstr, source: const_ptr[void], length: ptr_uint) -> bool
3880
+ external function SDL_CreateStorageDirectory(storage: ptr[SDL_Storage], path: cstr) -> bool
3881
+ external function SDL_EnumerateStorageDirectory(storage: ptr[SDL_Storage], path: cstr?, callback: fn(arg0: ptr[void], arg1: cstr, arg2: cstr) -> SDL_EnumerationResult, userdata: ptr[void]) -> bool
3882
+ external function SDL_RemoveStoragePath(storage: ptr[SDL_Storage], path: cstr) -> bool
3883
+ external function SDL_RenameStoragePath(storage: ptr[SDL_Storage], oldpath: cstr, newpath: cstr) -> bool
3884
+ external function SDL_CopyStorageFile(storage: ptr[SDL_Storage], oldpath: cstr, newpath: cstr) -> bool
3885
+ external function SDL_GetStoragePathInfo(storage: ptr[SDL_Storage], path: cstr, info: ptr[SDL_PathInfo]?) -> bool
3886
+ external function SDL_GetStorageSpaceRemaining(storage: ptr[SDL_Storage]) -> Uint64
3887
+ external function SDL_GlobStorageDirectory(storage: ptr[SDL_Storage], path: cstr?, pattern: cstr?, flags_: uint, count: ptr[int]) -> ptr[ptr[char]]?
3888
+ external function SDL_SetLinuxThreadPriority(threadID: ptr_int, priority: int) -> bool
3889
+ external function SDL_SetLinuxThreadPriorityAndPolicy(threadID: ptr_int, sdlPriority: int, schedPolicy: int) -> bool
3890
+ external function SDL_IsTablet() -> bool
3891
+ external function SDL_IsTV() -> bool
3892
+
3893
+ enum SDL_Sandbox: int
3894
+ SDL_SANDBOX_NONE = 0
3895
+ SDL_SANDBOX_UNKNOWN_CONTAINER = 1
3896
+ SDL_SANDBOX_FLATPAK = 2
3897
+ SDL_SANDBOX_SNAP = 3
3898
+ SDL_SANDBOX_MACOS = 4
3899
+
3900
+ external function SDL_GetSandbox() -> SDL_Sandbox
3901
+ external function SDL_OnApplicationWillTerminate() -> void
3902
+ external function SDL_OnApplicationDidReceiveMemoryWarning() -> void
3903
+ external function SDL_OnApplicationWillEnterBackground() -> void
3904
+ external function SDL_OnApplicationDidEnterBackground() -> void
3905
+ external function SDL_OnApplicationWillEnterForeground() -> void
3906
+ external function SDL_OnApplicationDidEnterForeground() -> void
3907
+
3908
+ struct SDL_DateTime:
3909
+ year: int
3910
+ month: int
3911
+ day: int
3912
+ hour: int
3913
+ minute: int
3914
+ second: int
3915
+ nanosecond: int
3916
+ day_of_week: int
3917
+ utc_offset: int
3918
+
3919
+ flags SDL_DateFormat: int
3920
+ SDL_DATE_FORMAT_YYYYMMDD = 0
3921
+ SDL_DATE_FORMAT_DDMMYYYY = 1
3922
+ SDL_DATE_FORMAT_MMDDYYYY = 2
3923
+ flags SDL_TimeFormat: int
3924
+ SDL_TIME_FORMAT_24HR = 0
3925
+ SDL_TIME_FORMAT_12HR = 1
3926
+
3927
+ external function SDL_GetDateTimeLocalePreferences(dateFormat: ptr[SDL_DateFormat]?, timeFormat: ptr[SDL_TimeFormat]?) -> bool
3928
+ external function SDL_GetCurrentTime(ticks: ptr[SDL_Time]) -> bool
3929
+ external function SDL_TimeToDateTime(ticks: ptr_int, dt: ptr[SDL_DateTime], localTime: bool) -> bool
3930
+ external function SDL_DateTimeToTime(dt: const_ptr[SDL_DateTime], ticks: ptr[SDL_Time]) -> bool
3931
+ external function SDL_TimeToWindows(ticks: ptr_int, dwLowDateTime: ptr[Uint32], dwHighDateTime: ptr[Uint32]) -> void
3932
+ external function SDL_TimeFromWindows(dwLowDateTime: uint, dwHighDateTime: uint) -> SDL_Time
3933
+ external function SDL_GetDaysInMonth(year: int, month: int) -> int
3934
+ external function SDL_GetDayOfYear(year: int, month: int, day: int) -> int
3935
+ external function SDL_GetDayOfWeek(year: int, month: int, day: int) -> int
3936
+ external function SDL_GetTicks() -> Uint64
3937
+ external function SDL_GetTicksNS() -> Uint64
3938
+ external function SDL_GetPerformanceCounter() -> Uint64
3939
+ external function SDL_GetPerformanceFrequency() -> Uint64
3940
+ external function SDL_Delay(ms: uint) -> void
3941
+ external function SDL_DelayNS(ns: ptr_uint) -> void
3942
+ external function SDL_DelayPrecise(ns: ptr_uint) -> void
3943
+
3944
+ type SDL_TimerID = uint
3945
+ type SDL_TimerCallback = fn(arg0: ptr[void], arg1: SDL_TimerID, arg2: Uint32) -> Uint32
3946
+
3947
+ external function SDL_AddTimer(interval: uint, callback: fn(arg0: ptr[void], arg1: SDL_TimerID, arg2: Uint32) -> Uint32, userdata: ptr[void]) -> SDL_TimerID
3948
+
3949
+ type SDL_NSTimerCallback = fn(arg0: ptr[void], arg1: SDL_TimerID, arg2: Uint64) -> Uint64
3950
+
3951
+ external function SDL_AddTimerNS(interval: ptr_uint, callback: fn(arg0: ptr[void], arg1: SDL_TimerID, arg2: Uint64) -> Uint64, userdata: ptr[void]) -> SDL_TimerID
3952
+ external function SDL_RemoveTimer(id: uint) -> bool
3953
+
3954
+ opaque SDL_Tray = c"SDL_Tray"
3955
+ opaque SDL_TrayMenu = c"SDL_TrayMenu"
3956
+ opaque SDL_TrayEntry = c"SDL_TrayEntry"
3957
+
3958
+ type SDL_TrayEntryFlags = uint
3959
+ type SDL_TrayCallback = fn(arg0: ptr[void], arg1: ptr[SDL_TrayEntry]) -> void
3960
+
3961
+ external function SDL_CreateTray(icon: ptr[SDL_Surface], tooltip: cstr) -> ptr[SDL_Tray]
3962
+ external function SDL_SetTrayIcon(tray: ptr[SDL_Tray], icon: ptr[SDL_Surface]) -> void
3963
+ external function SDL_SetTrayTooltip(tray: ptr[SDL_Tray], tooltip: cstr) -> void
3964
+ external function SDL_CreateTrayMenu(tray: ptr[SDL_Tray]) -> ptr[SDL_TrayMenu]
3965
+ external function SDL_CreateTraySubmenu(entry: ptr[SDL_TrayEntry]) -> ptr[SDL_TrayMenu]
3966
+ external function SDL_GetTrayMenu(tray: ptr[SDL_Tray]) -> ptr[SDL_TrayMenu]
3967
+ external function SDL_GetTraySubmenu(entry: ptr[SDL_TrayEntry]) -> ptr[SDL_TrayMenu]
3968
+ external function SDL_GetTrayEntries(menu: ptr[SDL_TrayMenu], count: ptr[int]) -> ptr[const_ptr[SDL_TrayEntry]]?
3969
+ external function SDL_RemoveTrayEntry(entry: ptr[SDL_TrayEntry]) -> void
3970
+ external function SDL_InsertTrayEntryAt(menu: ptr[SDL_TrayMenu], pos: int, label: cstr?, flags_: uint) -> ptr[SDL_TrayEntry]?
3971
+ external function SDL_SetTrayEntryLabel(entry: ptr[SDL_TrayEntry], label: cstr) -> void
3972
+ external function SDL_GetTrayEntryLabel(entry: ptr[SDL_TrayEntry]) -> cstr
3973
+ external function SDL_SetTrayEntryChecked(entry: ptr[SDL_TrayEntry], checked: bool) -> void
3974
+ external function SDL_GetTrayEntryChecked(entry: ptr[SDL_TrayEntry]) -> bool
3975
+ external function SDL_SetTrayEntryEnabled(entry: ptr[SDL_TrayEntry], enabled: bool) -> void
3976
+ external function SDL_GetTrayEntryEnabled(entry: ptr[SDL_TrayEntry]) -> bool
3977
+ external function SDL_SetTrayEntryCallback(entry: ptr[SDL_TrayEntry], callback: fn(arg0: ptr[void], arg1: ptr[SDL_TrayEntry]) -> void, userdata: ptr[void]) -> void
3978
+ external function SDL_ClickTrayEntry(entry: ptr[SDL_TrayEntry]) -> void
3979
+ external function SDL_DestroyTray(tray: ptr[SDL_Tray]) -> void
3980
+ external function SDL_GetTrayEntryParent(entry: ptr[SDL_TrayEntry]) -> ptr[SDL_TrayMenu]
3981
+ external function SDL_GetTrayMenuParentEntry(menu: ptr[SDL_TrayMenu]) -> ptr[SDL_TrayEntry]?
3982
+ external function SDL_GetTrayMenuParentTray(menu: ptr[SDL_TrayMenu]) -> ptr[SDL_Tray]?
3983
+ external function SDL_UpdateTrays() -> void
3984
+ external function SDL_GetVersion() -> int
3985
+ external function SDL_GetRevision() -> cstr
3986
+
3987
+ type SDL_main_func = fn(arg0: int, arg1: ptr[ptr[char]]) -> int
3988
+
3989
+ external function SDL_main(argc: int, argv: ptr[ptr[char]]) -> int
3990
+ external function SDL_SetMainReady() -> void
3991
+ external function SDL_RunApp(argc: int, argv: ptr[ptr[char]]?, mainFunction: fn(arg0: int, arg1: ptr[ptr[char]]) -> int, reserved: ptr[void]?) -> int
3992
+ external function SDL_EnterAppMainCallbacks(argc: int, argv: ptr[ptr[char]], appinit: fn(arg0: ptr[ptr[void]], arg1: int, arg2: ptr[ptr[char]]) -> SDL_AppResult, appiter: fn(arg0: ptr[void]) -> SDL_AppResult, appevent: fn(arg0: ptr[void], arg1: ptr[SDL_Event]) -> SDL_AppResult, appquit: fn(arg0: ptr[void], arg1: SDL_AppResult) -> void) -> int
3993
+ external function SDL_GDKSuspendComplete() -> void
3994
+
3995
+ const SDL_PLATFORM_LINUX: int = 1
3996
+ const SDL_PLATFORM_UNIX: int = 1
3997
+ const SDL_MAX_SINT64: ptr_int = 9223372036854775807
3998
+ const SDL_MIN_SINT64: ptr_int = ~9223372036854775807
3999
+ const SDL_MAX_UINT64: ptr_uint = 18446744073709551615
4000
+ const SDL_MIN_UINT64: ptr_uint = 0
4001
+ const SDL_FLT_EPSILON: float = 1.1920929E-7
4002
+ const SDL_INVALID_UNICODE_CODEPOINT: int = 65533
4003
+ const SDL_PI_D: double = 3.1415926535897931
4004
+ const SDL_PI_F: float = 3.14159274
4005
+ const SDL_ASSERT_LEVEL: int = 2
4006
+ const SDL_NULL_WHILE_LOOP_CONDITION: int = 0
4007
+ const SDL_LIL_ENDIAN: int = 1234
4008
+ const SDL_BIG_ENDIAN: int = 4321
4009
+ const SDL_AUDIO_MASK_BITSIZE: uint = 255
4010
+ const SDL_BLENDMODE_NONE: uint = 0
4011
+ const SDL_BLENDMODE_BLEND: uint = 1
4012
+ const SDL_BLENDMODE_BLEND_PREMULTIPLIED: uint = 16
4013
+ const SDL_BLENDMODE_ADD: uint = 2
4014
+ const SDL_BLENDMODE_ADD_PREMULTIPLIED: uint = 32
4015
+ const SDL_BLENDMODE_MOD: uint = 4
4016
+ const SDL_BLENDMODE_MUL: uint = 8
4017
+ const SDL_BLENDMODE_INVALID: uint = 2147483647
4018
+ const SDL_ALPHA_OPAQUE: int = 255
4019
+ const SDL_ALPHA_OPAQUE_FLOAT: float = 1.0
4020
+ const SDL_ALPHA_TRANSPARENT: int = 0
4021
+ const SDL_ALPHA_TRANSPARENT_FLOAT: float = 0.0
4022
+ const SDL_SURFACE_PREALLOCATED: uint = 1
4023
+ const SDL_SURFACE_LOCK_NEEDED: uint = 2
4024
+ const SDL_SURFACE_LOCKED: uint = 4
4025
+ const SDL_SURFACE_SIMD_ALIGNED: uint = 8
4026
+ const SDL_CACHELINE_SIZE: int = 128
4027
+ const SDL_WINDOW_FULLSCREEN: ptr_uint = 1
4028
+ const SDL_WINDOW_OPENGL: ptr_uint = 2
4029
+ const SDL_WINDOW_OCCLUDED: ptr_uint = 4
4030
+ const SDL_WINDOW_HIDDEN: ptr_uint = 8
4031
+ const SDL_WINDOW_BORDERLESS: ptr_uint = 16
4032
+ const SDL_WINDOW_RESIZABLE: ptr_uint = 32
4033
+ const SDL_WINDOW_MINIMIZED: ptr_uint = 64
4034
+ const SDL_WINDOW_MAXIMIZED: ptr_uint = 128
4035
+ const SDL_WINDOW_MOUSE_GRABBED: ptr_uint = 256
4036
+ const SDL_WINDOW_INPUT_FOCUS: ptr_uint = 512
4037
+ const SDL_WINDOW_MOUSE_FOCUS: ptr_uint = 1024
4038
+ const SDL_WINDOW_EXTERNAL: ptr_uint = 2048
4039
+ const SDL_WINDOW_MODAL: ptr_uint = 4096
4040
+ const SDL_WINDOW_HIGH_PIXEL_DENSITY: ptr_uint = 8192
4041
+ const SDL_WINDOW_MOUSE_CAPTURE: ptr_uint = 16384
4042
+ const SDL_WINDOW_MOUSE_RELATIVE_MODE: ptr_uint = 32768
4043
+ const SDL_WINDOW_ALWAYS_ON_TOP: ptr_uint = 65536
4044
+ const SDL_WINDOW_UTILITY: ptr_uint = 131072
4045
+ const SDL_WINDOW_TOOLTIP: ptr_uint = 262144
4046
+ const SDL_WINDOW_POPUP_MENU: ptr_uint = 524288
4047
+ const SDL_WINDOW_KEYBOARD_GRABBED: ptr_uint = 1048576
4048
+ const SDL_WINDOW_FILL_DOCUMENT: ptr_uint = 2097152
4049
+ const SDL_WINDOW_VULKAN: ptr_uint = 268435456
4050
+ const SDL_WINDOW_METAL: ptr_uint = 536870912
4051
+ const SDL_WINDOW_TRANSPARENT: ptr_uint = 1073741824
4052
+ const SDL_WINDOW_NOT_FOCUSABLE: ptr_uint = 2147483648
4053
+ const SDL_WINDOWPOS_UNDEFINED_MASK: uint = 536805376
4054
+ const SDL_WINDOWPOS_CENTERED_MASK: uint = 805240832
4055
+ const SDL_GL_CONTEXT_PROFILE_CORE: int = 1
4056
+ const SDL_GL_CONTEXT_PROFILE_COMPATIBILITY: int = 2
4057
+ const SDL_GL_CONTEXT_PROFILE_ES: int = 4
4058
+ const SDL_GL_CONTEXT_DEBUG_FLAG: int = 1
4059
+ const SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG: int = 2
4060
+ const SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG: int = 4
4061
+ const SDL_GL_CONTEXT_RESET_ISOLATION_FLAG: int = 8
4062
+ const SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE: int = 0
4063
+ const SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH: int = 1
4064
+ const SDL_GL_CONTEXT_RESET_NO_NOTIFICATION: int = 0
4065
+ const SDL_GL_CONTEXT_RESET_LOSE_CONTEXT: int = 1
4066
+ const SDL_WINDOW_SURFACE_VSYNC_DISABLED: int = 0
4067
+ const SDL_WINDOW_SURFACE_VSYNC_ADAPTIVE: int = -1
4068
+ const SDL_ELF_NOTE_DLOPEN_TYPE: uint = 1081871370
4069
+ const SDL_STANDARD_GRAVITY: float = 9.80665016
4070
+ const SDL_JOYSTICK_AXIS_MAX: int = 32767
4071
+ const SDL_JOYSTICK_AXIS_MIN: int = -32768
4072
+ const SDL_HAT_CENTERED: uint = 0
4073
+ const SDL_HAT_UP: uint = 1
4074
+ const SDL_HAT_RIGHT: uint = 2
4075
+ const SDL_HAT_DOWN: uint = 4
4076
+ const SDL_HAT_LEFT: uint = 8
4077
+ const SDL_KMOD_NONE: uint = 0
4078
+ const SDL_KMOD_LSHIFT: uint = 1
4079
+ const SDL_KMOD_RSHIFT: uint = 2
4080
+ const SDL_KMOD_LEVEL5: uint = 4
4081
+ const SDL_KMOD_LCTRL: uint = 64
4082
+ const SDL_KMOD_RCTRL: uint = 128
4083
+ const SDL_KMOD_LALT: uint = 256
4084
+ const SDL_KMOD_RALT: uint = 512
4085
+ const SDL_KMOD_LGUI: uint = 1024
4086
+ const SDL_KMOD_RGUI: uint = 2048
4087
+ const SDL_KMOD_NUM: uint = 4096
4088
+ const SDL_KMOD_CAPS: uint = 8192
4089
+ const SDL_KMOD_MODE: uint = 16384
4090
+ const SDL_KMOD_SCROLL: uint = 32768
4091
+ const SDL_BUTTON_LEFT: int = 1
4092
+ const SDL_BUTTON_MIDDLE: int = 2
4093
+ const SDL_BUTTON_RIGHT: int = 3
4094
+ const SDL_BUTTON_X1: int = 4
4095
+ const SDL_BUTTON_X2: int = 5
4096
+ const SDL_GPU_SHADERFORMAT_INVALID: int = 0
4097
+ const SDL_HAPTIC_INFINITY: uint = 4294967295
4098
+ const SDL_HAPTIC_POLAR: int = 0
4099
+ const SDL_HAPTIC_CARTESIAN: int = 1
4100
+ const SDL_HAPTIC_SPHERICAL: int = 2
4101
+ const SDL_HAPTIC_STEERING_AXIS: int = 3
4102
+ const SDL_INIT_AUDIO: uint = 16
4103
+ const SDL_INIT_VIDEO: uint = 32
4104
+ const SDL_INIT_JOYSTICK: uint = 512
4105
+ const SDL_INIT_HAPTIC: uint = 4096
4106
+ const SDL_INIT_GAMEPAD: uint = 8192
4107
+ const SDL_INIT_EVENTS: uint = 16384
4108
+ const SDL_INIT_SENSOR: uint = 32768
4109
+ const SDL_INIT_CAMERA: uint = 65536
4110
+ const SDL_MESSAGEBOX_ERROR: uint = 16
4111
+ const SDL_MESSAGEBOX_WARNING: uint = 32
4112
+ const SDL_MESSAGEBOX_INFORMATION: uint = 64
4113
+ const SDL_MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT: uint = 128
4114
+ const SDL_MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT: uint = 256
4115
+ const SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT: uint = 1
4116
+ const SDL_MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT: uint = 2
4117
+ const SDL_RENDERER_VSYNC_DISABLED: int = 0
4118
+ const SDL_RENDERER_VSYNC_ADAPTIVE: int = -1
4119
+ const SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE: int = 8
4120
+ const SDL_MS_PER_SECOND: int = 1000
4121
+ const SDL_US_PER_SECOND: int = 1000000
4122
+ const SDL_NS_PER_SECOND: long = 1000000000
4123
+ const SDL_NS_PER_MS: int = 1000000
4124
+ const SDL_NS_PER_US: int = 1000
4125
+ const SDL_TRAYENTRY_BUTTON: uint = 1
4126
+ const SDL_TRAYENTRY_CHECKBOX: uint = 2
4127
+ const SDL_TRAYENTRY_SUBMENU: uint = 4
4128
+ const SDL_TRAYENTRY_DISABLED: uint = 2147483648
4129
+ const SDL_TRAYENTRY_CHECKED: uint = 1073741824
4130
+ const SDL_MAJOR_VERSION: int = 3
4131
+ const SDL_MINOR_VERSION: int = 4
4132
+ const SDL_MICRO_VERSION: int = 12