ruby2d 0.11.2 → 0.12.0
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.
- checksums.yaml +4 -4
- data/assets/include/GLES2/gl2.h +656 -0
- data/assets/include/GLES2/gl2ext.h +3949 -0
- data/assets/include/GLES2/gl2ext_angle.h +701 -0
- data/assets/include/GLES2/gl2platform.h +27 -0
- data/assets/include/GLES3/gl3.h +1192 -0
- data/assets/include/GLES3/gl31.h +1507 -0
- data/assets/include/GLES3/gl32.h +1808 -0
- data/assets/include/GLES3/gl3platform.h +27 -0
- data/assets/include/KHR/khrplatform.h +290 -0
- data/assets/include/SDL2/SDL.h +1 -0
- data/assets/include/SDL2/SDL_assert.h +4 -2
- data/assets/include/SDL2/SDL_atomic.h +20 -0
- data/assets/include/SDL2/SDL_audio.h +40 -4
- data/assets/include/SDL2/SDL_blendmode.h +4 -6
- data/assets/include/SDL2/SDL_clipboard.h +47 -0
- data/assets/include/SDL2/SDL_config.h +6 -2
- data/assets/include/SDL2/SDL_config_android.h +2 -0
- data/assets/include/SDL2/SDL_config_emscripten.h +2 -0
- data/assets/include/SDL2/SDL_config_iphoneos.h +3 -1
- data/assets/include/SDL2/SDL_config_macosx.h +3 -6
- data/assets/include/SDL2/SDL_config_minimal.h +18 -11
- data/assets/include/SDL2/SDL_config_ngage.h +89 -0
- data/assets/include/SDL2/SDL_config_os2.h +5 -3
- data/assets/include/SDL2/SDL_config_pandora.h +1 -0
- data/assets/include/SDL2/SDL_config_windows.h +71 -45
- data/assets/include/SDL2/SDL_config_wingdk.h +253 -0
- data/assets/include/SDL2/SDL_config_winrt.h +11 -49
- data/assets/include/SDL2/SDL_config_xbox.h +235 -0
- data/assets/include/SDL2/SDL_cpuinfo.h +39 -4
- data/assets/include/SDL2/SDL_egl.h +59 -9
- data/assets/include/SDL2/SDL_endian.h +34 -3
- data/assets/include/SDL2/SDL_events.h +32 -1
- data/assets/include/SDL2/SDL_filesystem.h +5 -1
- data/assets/include/SDL2/SDL_gamecontroller.h +78 -5
- data/assets/include/SDL2/SDL_guid.h +100 -0
- data/assets/include/SDL2/SDL_hints.h +645 -43
- data/assets/include/SDL2/SDL_image.h +2045 -33
- data/assets/include/SDL2/SDL_joystick.h +127 -7
- data/assets/include/SDL2/SDL_keyboard.h +38 -1
- data/assets/include/SDL2/SDL_keycode.h +6 -1
- data/assets/include/SDL2/SDL_log.h +2 -2
- data/assets/include/SDL2/SDL_main.h +42 -2
- data/assets/include/SDL2/SDL_metal.h +2 -1
- data/assets/include/SDL2/SDL_mixer.h +2529 -396
- data/assets/include/SDL2/SDL_mouse.h +12 -1
- data/assets/include/SDL2/SDL_opengl.h +0 -51
- data/assets/include/SDL2/SDL_opengl_glext.h +2260 -231
- data/assets/include/SDL2/SDL_opengles2_gl2.h +374 -339
- data/assets/include/SDL2/SDL_opengles2_gl2ext.h +3479 -1496
- data/assets/include/SDL2/SDL_opengles2_gl2platform.h +6 -9
- data/assets/include/SDL2/SDL_opengles2_khrplatform.h +43 -14
- data/assets/include/SDL2/SDL_platform.h +32 -6
- data/assets/include/SDL2/SDL_rect.h +154 -2
- data/assets/include/SDL2/SDL_render.h +46 -17
- data/assets/include/SDL2/SDL_revision.h +4 -0
- data/assets/include/SDL2/SDL_rwops.h +1 -15
- data/assets/include/SDL2/SDL_scancode.h +46 -21
- data/assets/include/SDL2/SDL_sensor.h +24 -3
- data/assets/include/SDL2/SDL_stdinc.h +119 -8
- data/assets/include/SDL2/SDL_surface.h +3 -1
- data/assets/include/SDL2/SDL_system.h +66 -6
- data/assets/include/SDL2/SDL_syswm.h +2 -0
- data/assets/include/SDL2/SDL_test_common.h +1 -0
- data/assets/include/SDL2/SDL_test_font.h +90 -3
- data/assets/include/SDL2/SDL_thread.h +3 -3
- data/assets/include/SDL2/SDL_touch.h +8 -0
- data/assets/include/SDL2/SDL_ttf.h +2084 -155
- data/assets/include/SDL2/SDL_version.h +19 -3
- data/assets/include/SDL2/SDL_video.h +71 -9
- data/assets/include/SDL2/begin_code.h +4 -4
- data/assets/include/mrbconf.h +15 -17
- data/assets/include/mruby/array.h +8 -21
- data/assets/include/mruby/boxing_nan.h +115 -86
- data/assets/include/mruby/boxing_word.h +104 -78
- data/assets/include/mruby/common.h +6 -0
- data/assets/include/mruby/compile.h +3 -4
- data/assets/include/mruby/debug.h +4 -2
- data/assets/include/mruby/dump.h +5 -2
- data/assets/include/mruby/error.h +12 -2
- data/assets/include/mruby/gc.h +2 -0
- data/assets/include/mruby/hash.h +1 -3
- data/assets/include/mruby/irep.h +4 -4
- data/assets/include/mruby/numeric.h +21 -13
- data/assets/include/mruby/opcode.h +30 -0
- data/assets/include/mruby/ops.h +99 -101
- data/assets/include/mruby/presym/scanning.h +15 -9
- data/assets/include/mruby/proc.h +4 -2
- data/assets/include/mruby/string.h +3 -24
- data/assets/include/mruby/value.h +80 -40
- data/assets/include/mruby/variable.h +0 -15
- data/assets/include/mruby/version.h +5 -5
- data/assets/include/mruby.h +86 -16
- data/assets/macos/universal/bin/mrbc +0 -0
- data/assets/macos/universal/lib/libFLAC.a +0 -0
- data/assets/macos/universal/lib/libSDL2.a +0 -0
- data/assets/macos/universal/lib/libSDL2_image.a +0 -0
- data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
- data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
- data/assets/macos/universal/lib/libavif.a +0 -0
- data/assets/macos/universal/lib/libbrotlicommon-static.a +0 -0
- data/assets/macos/universal/lib/libbrotlidec-static.a +0 -0
- data/assets/macos/universal/lib/libfreetype.a +0 -0
- data/assets/macos/universal/lib/libgraphite2.a +0 -0
- data/assets/macos/universal/lib/libharfbuzz.a +0 -0
- data/assets/macos/universal/lib/libhwy.a +0 -0
- data/assets/macos/universal/lib/libjpeg.a +0 -0
- data/assets/macos/universal/lib/libjxl.a +0 -0
- data/assets/macos/universal/lib/libmodplug.a +0 -0
- data/assets/macos/universal/lib/libmpg123.a +0 -0
- data/assets/macos/universal/lib/libmruby.a +0 -0
- data/assets/macos/universal/lib/libogg.a +0 -0
- data/assets/macos/universal/lib/libpng.a +0 -0
- data/assets/macos/universal/lib/libtiff.a +0 -0
- data/assets/macos/universal/lib/libvorbis.a +0 -0
- data/assets/macos/universal/lib/libvorbisfile.a +0 -0
- data/assets/macos/universal/lib/libwebp.a +0 -0
- data/assets/macos/universal/lib/libzstd.a +0 -0
- data/assets/wasm/libmruby.a +0 -0
- data/assets/wasm/template.html +52 -4
- data/assets/windows/mingw-w64-ucrt-x86_64/bin/mrbc.exe +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libLerc.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_image.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_ttf.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlicommon.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlidec.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbz2.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libdeflate.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libfreetype.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libglew32.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libgraphite2.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libharfbuzz.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libhwy.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjbig.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjpeg.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjxl.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/liblzma.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmruby.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libpng.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libssp.a +1 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libtiff.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libwebp.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libzstd.a +0 -0
- data/assets/windows/mingw-w64-x86_64/bin/mrbc.exe +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libLerc.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libSDL2_image.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libSDL2_ttf.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libbrotlicommon.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libbrotlidec.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libdeflate.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libfreetype.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libharfbuzz.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libhwy.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libjpeg.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libjxl.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/liblzma.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libmruby.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libpng.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libssp.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libtiff.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libwebp.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
- data/ext/ruby2d/canvas.c +540 -0
- data/ext/ruby2d/extconf.rb +39 -21
- data/ext/ruby2d/gl.c +3 -3
- data/ext/ruby2d/image.c +7 -7
- data/ext/ruby2d/ruby2d.c +741 -24
- data/ext/ruby2d/ruby2d.h +66 -3
- data/ext/ruby2d/sound.c +16 -2
- data/lib/ruby2d/canvas.rb +315 -0
- data/lib/ruby2d/circle.rb +30 -15
- data/lib/ruby2d/cli/build.rb +11 -4
- data/lib/ruby2d/cli/enable_console.rb +3 -1
- data/lib/ruby2d/color.rb +133 -77
- data/lib/ruby2d/core.rb +32 -0
- data/lib/ruby2d/dsl.rb +38 -32
- data/lib/ruby2d/exceptions.rb +2 -1
- data/lib/ruby2d/font.rb +97 -62
- data/lib/ruby2d/image.rb +48 -27
- data/lib/ruby2d/line.rb +84 -45
- data/lib/ruby2d/music.rb +33 -23
- data/lib/ruby2d/pixel.rb +10 -9
- data/lib/ruby2d/pixmap.rb +39 -0
- data/lib/ruby2d/pixmap_atlas.rb +56 -0
- data/lib/ruby2d/quad.rb +98 -49
- data/lib/ruby2d/rectangle.rb +35 -36
- data/lib/ruby2d/renderable.rb +7 -6
- data/lib/ruby2d/sound.rb +23 -17
- data/lib/ruby2d/sprite.rb +181 -140
- data/lib/ruby2d/square.rb +21 -20
- data/lib/ruby2d/text.rb +47 -19
- data/lib/ruby2d/texture.rb +13 -3
- data/lib/ruby2d/tileset.rb +97 -44
- data/lib/ruby2d/triangle.rb +91 -42
- data/lib/ruby2d/version.rb +3 -1
- data/lib/ruby2d/vertices.rb +81 -45
- data/lib/ruby2d/window.rb +508 -371
- data/lib/ruby2d.rb +11 -29
- metadata +84 -16
- data/assets/include/SDL2/SDL_config_psp.h +0 -165
- data/assets/include/SDL2/SDL_config_wiz.h +0 -154
- data/assets/include/glew.h +0 -23686
- data/assets/macos/universal/lib/libpng16.a +0 -0
- data/assets/wasm/build_config.rb +0 -13
- data/assets/windows/glew/README.md +0 -10
- data/assets/windows/glew/glew.h +0 -23686
- data/assets/windows/glew/libglew32.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libpng16.a +0 -0
- data/lib/ruby2d/entity.rb +0 -17
|
@@ -225,16 +225,16 @@ typedef enum
|
|
|
225
225
|
SDL_SCANCODE_F23 = 114,
|
|
226
226
|
SDL_SCANCODE_F24 = 115,
|
|
227
227
|
SDL_SCANCODE_EXECUTE = 116,
|
|
228
|
-
SDL_SCANCODE_HELP = 117,
|
|
229
|
-
SDL_SCANCODE_MENU = 118,
|
|
228
|
+
SDL_SCANCODE_HELP = 117, /**< AL Integrated Help Center */
|
|
229
|
+
SDL_SCANCODE_MENU = 118, /**< Menu (show menu) */
|
|
230
230
|
SDL_SCANCODE_SELECT = 119,
|
|
231
|
-
SDL_SCANCODE_STOP = 120,
|
|
232
|
-
SDL_SCANCODE_AGAIN = 121, /**<
|
|
233
|
-
SDL_SCANCODE_UNDO = 122,
|
|
234
|
-
SDL_SCANCODE_CUT = 123,
|
|
235
|
-
SDL_SCANCODE_COPY = 124,
|
|
236
|
-
SDL_SCANCODE_PASTE = 125,
|
|
237
|
-
SDL_SCANCODE_FIND = 126,
|
|
231
|
+
SDL_SCANCODE_STOP = 120, /**< AC Stop */
|
|
232
|
+
SDL_SCANCODE_AGAIN = 121, /**< AC Redo/Repeat */
|
|
233
|
+
SDL_SCANCODE_UNDO = 122, /**< AC Undo */
|
|
234
|
+
SDL_SCANCODE_CUT = 123, /**< AC Cut */
|
|
235
|
+
SDL_SCANCODE_COPY = 124, /**< AC Copy */
|
|
236
|
+
SDL_SCANCODE_PASTE = 125, /**< AC Paste */
|
|
237
|
+
SDL_SCANCODE_FIND = 126, /**< AC Find */
|
|
238
238
|
SDL_SCANCODE_MUTE = 127,
|
|
239
239
|
SDL_SCANCODE_VOLUMEUP = 128,
|
|
240
240
|
SDL_SCANCODE_VOLUMEDOWN = 129,
|
|
@@ -265,9 +265,9 @@ typedef enum
|
|
|
265
265
|
SDL_SCANCODE_LANG8 = 151, /**< reserved */
|
|
266
266
|
SDL_SCANCODE_LANG9 = 152, /**< reserved */
|
|
267
267
|
|
|
268
|
-
SDL_SCANCODE_ALTERASE = 153,
|
|
268
|
+
SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
|
|
269
269
|
SDL_SCANCODE_SYSREQ = 154,
|
|
270
|
-
SDL_SCANCODE_CANCEL = 155,
|
|
270
|
+
SDL_SCANCODE_CANCEL = 155, /**< AC Cancel */
|
|
271
271
|
SDL_SCANCODE_CLEAR = 156,
|
|
272
272
|
SDL_SCANCODE_PRIOR = 157,
|
|
273
273
|
SDL_SCANCODE_RETURN2 = 158,
|
|
@@ -345,6 +345,11 @@ typedef enum
|
|
|
345
345
|
* \name Usage page 0x0C
|
|
346
346
|
*
|
|
347
347
|
* These values are mapped from usage page 0x0C (USB consumer page).
|
|
348
|
+
* See https://usb.org/sites/default/files/hut1_2.pdf
|
|
349
|
+
*
|
|
350
|
+
* There are way more keys in the spec than we can represent in the
|
|
351
|
+
* current scancode range, so pick the ones that commonly come up in
|
|
352
|
+
* real world usage.
|
|
348
353
|
*/
|
|
349
354
|
/* @{ */
|
|
350
355
|
|
|
@@ -354,17 +359,17 @@ typedef enum
|
|
|
354
359
|
SDL_SCANCODE_AUDIOPLAY = 261,
|
|
355
360
|
SDL_SCANCODE_AUDIOMUTE = 262,
|
|
356
361
|
SDL_SCANCODE_MEDIASELECT = 263,
|
|
357
|
-
SDL_SCANCODE_WWW = 264,
|
|
362
|
+
SDL_SCANCODE_WWW = 264, /**< AL Internet Browser */
|
|
358
363
|
SDL_SCANCODE_MAIL = 265,
|
|
359
|
-
SDL_SCANCODE_CALCULATOR = 266,
|
|
364
|
+
SDL_SCANCODE_CALCULATOR = 266, /**< AL Calculator */
|
|
360
365
|
SDL_SCANCODE_COMPUTER = 267,
|
|
361
|
-
SDL_SCANCODE_AC_SEARCH = 268,
|
|
362
|
-
SDL_SCANCODE_AC_HOME = 269,
|
|
363
|
-
SDL_SCANCODE_AC_BACK = 270,
|
|
364
|
-
SDL_SCANCODE_AC_FORWARD = 271,
|
|
365
|
-
SDL_SCANCODE_AC_STOP = 272,
|
|
366
|
-
SDL_SCANCODE_AC_REFRESH = 273,
|
|
367
|
-
SDL_SCANCODE_AC_BOOKMARKS = 274,
|
|
366
|
+
SDL_SCANCODE_AC_SEARCH = 268, /**< AC Search */
|
|
367
|
+
SDL_SCANCODE_AC_HOME = 269, /**< AC Home */
|
|
368
|
+
SDL_SCANCODE_AC_BACK = 270, /**< AC Back */
|
|
369
|
+
SDL_SCANCODE_AC_FORWARD = 271, /**< AC Forward */
|
|
370
|
+
SDL_SCANCODE_AC_STOP = 272, /**< AC Stop */
|
|
371
|
+
SDL_SCANCODE_AC_REFRESH = 273, /**< AC Refresh */
|
|
372
|
+
SDL_SCANCODE_AC_BOOKMARKS = 274, /**< AC Bookmarks */
|
|
368
373
|
|
|
369
374
|
/* @} *//* Usage page 0x0C */
|
|
370
375
|
|
|
@@ -383,7 +388,7 @@ typedef enum
|
|
|
383
388
|
SDL_SCANCODE_KBDILLUMDOWN = 279,
|
|
384
389
|
SDL_SCANCODE_KBDILLUMUP = 280,
|
|
385
390
|
SDL_SCANCODE_EJECT = 281,
|
|
386
|
-
SDL_SCANCODE_SLEEP = 282,
|
|
391
|
+
SDL_SCANCODE_SLEEP = 282, /**< SC System Sleep */
|
|
387
392
|
|
|
388
393
|
SDL_SCANCODE_APP1 = 283,
|
|
389
394
|
SDL_SCANCODE_APP2 = 284,
|
|
@@ -402,6 +407,26 @@ typedef enum
|
|
|
402
407
|
|
|
403
408
|
/* @} *//* Usage page 0x0C (additional media keys) */
|
|
404
409
|
|
|
410
|
+
/**
|
|
411
|
+
* \name Mobile keys
|
|
412
|
+
*
|
|
413
|
+
* These are values that are often used on mobile phones.
|
|
414
|
+
*/
|
|
415
|
+
/* @{ */
|
|
416
|
+
|
|
417
|
+
SDL_SCANCODE_SOFTLEFT = 287, /**< Usually situated below the display on phones and
|
|
418
|
+
used as a multi-function feature key for selecting
|
|
419
|
+
a software defined function shown on the bottom left
|
|
420
|
+
of the display. */
|
|
421
|
+
SDL_SCANCODE_SOFTRIGHT = 288, /**< Usually situated below the display on phones and
|
|
422
|
+
used as a multi-function feature key for selecting
|
|
423
|
+
a software defined function shown on the bottom right
|
|
424
|
+
of the display. */
|
|
425
|
+
SDL_SCANCODE_CALL = 289, /**< Used for accepting phone calls. */
|
|
426
|
+
SDL_SCANCODE_ENDCALL = 290, /**< Used for rejecting phone calls. */
|
|
427
|
+
|
|
428
|
+
/* @} *//* Mobile keys */
|
|
429
|
+
|
|
405
430
|
/* Add any other keys here. */
|
|
406
431
|
|
|
407
432
|
SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
|
|
@@ -71,7 +71,11 @@ typedef enum
|
|
|
71
71
|
SDL_SENSOR_INVALID = -1, /**< Returned for an invalid sensor */
|
|
72
72
|
SDL_SENSOR_UNKNOWN, /**< Unknown sensor type */
|
|
73
73
|
SDL_SENSOR_ACCEL, /**< Accelerometer */
|
|
74
|
-
SDL_SENSOR_GYRO
|
|
74
|
+
SDL_SENSOR_GYRO, /**< Gyroscope */
|
|
75
|
+
SDL_SENSOR_ACCEL_L, /**< Accelerometer for left Joy-Con controller and Wii nunchuk */
|
|
76
|
+
SDL_SENSOR_GYRO_L, /**< Gyroscope for left Joy-Con controller */
|
|
77
|
+
SDL_SENSOR_ACCEL_R, /**< Accelerometer for right Joy-Con controller */
|
|
78
|
+
SDL_SENSOR_GYRO_R /**< Gyroscope for right Joy-Con controller */
|
|
75
79
|
} SDL_SensorType;
|
|
76
80
|
|
|
77
81
|
/**
|
|
@@ -263,7 +267,24 @@ extern DECLSPEC SDL_SensorID SDLCALL SDL_SensorGetInstanceID(SDL_Sensor *sensor)
|
|
|
263
267
|
*
|
|
264
268
|
* \since This function is available since SDL 2.0.9.
|
|
265
269
|
*/
|
|
266
|
-
extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor *
|
|
270
|
+
extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor *sensor, float *data, int num_values);
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Get the current state of an opened sensor with the timestamp of the last
|
|
274
|
+
* update.
|
|
275
|
+
*
|
|
276
|
+
* The number of values and interpretation of the data is sensor dependent.
|
|
277
|
+
*
|
|
278
|
+
* \param sensor The SDL_Sensor object to query
|
|
279
|
+
* \param timestamp A pointer filled with the timestamp in microseconds of the
|
|
280
|
+
* current sensor reading if available, or 0 if not
|
|
281
|
+
* \param data A pointer filled with the current sensor state
|
|
282
|
+
* \param num_values The number of values to write to data
|
|
283
|
+
* \returns 0 or -1 if an error occurred.
|
|
284
|
+
*
|
|
285
|
+
* \since This function is available since SDL 2.26.0.
|
|
286
|
+
*/
|
|
287
|
+
extern DECLSPEC int SDLCALL SDL_SensorGetDataWithTimestamp(SDL_Sensor *sensor, Uint64 *timestamp, float *data, int num_values);
|
|
267
288
|
|
|
268
289
|
/**
|
|
269
290
|
* Close a sensor previously opened with SDL_SensorOpen().
|
|
@@ -272,7 +293,7 @@ extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor * sensor, float *data,
|
|
|
272
293
|
*
|
|
273
294
|
* \since This function is available since SDL 2.0.9.
|
|
274
295
|
*/
|
|
275
|
-
extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor *
|
|
296
|
+
extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor *sensor);
|
|
276
297
|
|
|
277
298
|
/**
|
|
278
299
|
* Update the current state of the open sensors.
|
|
@@ -80,9 +80,9 @@
|
|
|
80
80
|
# include <ctype.h>
|
|
81
81
|
#endif
|
|
82
82
|
#ifdef HAVE_MATH_H
|
|
83
|
-
# if defined(
|
|
83
|
+
# if defined(_MSC_VER)
|
|
84
84
|
/* Defining _USE_MATH_DEFINES is required to get M_PI to be defined on
|
|
85
|
-
|
|
85
|
+
Visual Studio. See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx
|
|
86
86
|
for more information.
|
|
87
87
|
*/
|
|
88
88
|
# define _USE_MATH_DEFINES
|
|
@@ -115,6 +115,12 @@ char *alloca();
|
|
|
115
115
|
# endif
|
|
116
116
|
#endif
|
|
117
117
|
|
|
118
|
+
#ifdef SIZE_MAX
|
|
119
|
+
# define SDL_SIZE_MAX SIZE_MAX
|
|
120
|
+
#else
|
|
121
|
+
# define SDL_SIZE_MAX ((size_t) -1)
|
|
122
|
+
#endif
|
|
123
|
+
|
|
118
124
|
/**
|
|
119
125
|
* Check if the compiler supports a given builtin.
|
|
120
126
|
* Supported by virtually all clang versions and recent gcc. Use this
|
|
@@ -234,13 +240,26 @@ typedef uint64_t Uint64;
|
|
|
234
240
|
|
|
235
241
|
/* @} *//* Basic data types */
|
|
236
242
|
|
|
243
|
+
/**
|
|
244
|
+
* \name Floating-point constants
|
|
245
|
+
*/
|
|
246
|
+
/* @{ */
|
|
247
|
+
|
|
248
|
+
#ifdef FLT_EPSILON
|
|
249
|
+
#define SDL_FLT_EPSILON FLT_EPSILON
|
|
250
|
+
#else
|
|
251
|
+
#define SDL_FLT_EPSILON 1.1920928955078125e-07F /* 0x0.000002p0 */
|
|
252
|
+
#endif
|
|
253
|
+
|
|
254
|
+
/* @} *//* Floating-point constants */
|
|
255
|
+
|
|
237
256
|
/* Make sure we have macros for printing width-based integers.
|
|
238
257
|
* <stdint.h> should define these but this is not true all platforms.
|
|
239
258
|
* (for example win32) */
|
|
240
259
|
#ifndef SDL_PRIs64
|
|
241
260
|
#ifdef PRIs64
|
|
242
261
|
#define SDL_PRIs64 PRIs64
|
|
243
|
-
#elif defined(__WIN32__)
|
|
262
|
+
#elif defined(__WIN32__) || defined(__GDK__)
|
|
244
263
|
#define SDL_PRIs64 "I64d"
|
|
245
264
|
#elif defined(__LINUX__) && defined(__LP64__)
|
|
246
265
|
#define SDL_PRIs64 "ld"
|
|
@@ -251,7 +270,7 @@ typedef uint64_t Uint64;
|
|
|
251
270
|
#ifndef SDL_PRIu64
|
|
252
271
|
#ifdef PRIu64
|
|
253
272
|
#define SDL_PRIu64 PRIu64
|
|
254
|
-
#elif defined(__WIN32__)
|
|
273
|
+
#elif defined(__WIN32__) || defined(__GDK__)
|
|
255
274
|
#define SDL_PRIu64 "I64u"
|
|
256
275
|
#elif defined(__LINUX__) && defined(__LP64__)
|
|
257
276
|
#define SDL_PRIu64 "lu"
|
|
@@ -262,7 +281,7 @@ typedef uint64_t Uint64;
|
|
|
262
281
|
#ifndef SDL_PRIx64
|
|
263
282
|
#ifdef PRIx64
|
|
264
283
|
#define SDL_PRIx64 PRIx64
|
|
265
|
-
#elif defined(__WIN32__)
|
|
284
|
+
#elif defined(__WIN32__) || defined(__GDK__)
|
|
266
285
|
#define SDL_PRIx64 "I64x"
|
|
267
286
|
#elif defined(__LINUX__) && defined(__LP64__)
|
|
268
287
|
#define SDL_PRIx64 "lx"
|
|
@@ -273,7 +292,7 @@ typedef uint64_t Uint64;
|
|
|
273
292
|
#ifndef SDL_PRIX64
|
|
274
293
|
#ifdef PRIX64
|
|
275
294
|
#define SDL_PRIX64 PRIX64
|
|
276
|
-
#elif defined(__WIN32__)
|
|
295
|
+
#elif defined(__WIN32__) || defined(__GDK__)
|
|
277
296
|
#define SDL_PRIX64 "I64X"
|
|
278
297
|
#elif defined(__LINUX__) && defined(__LP64__)
|
|
279
298
|
#define SDL_PRIX64 "lX"
|
|
@@ -354,8 +373,22 @@ typedef uint64_t Uint64;
|
|
|
354
373
|
#endif
|
|
355
374
|
#endif /* SDL_DISABLE_ANALYZE_MACROS */
|
|
356
375
|
|
|
376
|
+
#ifndef SDL_COMPILE_TIME_ASSERT
|
|
377
|
+
#if defined(__cplusplus)
|
|
378
|
+
#if (__cplusplus >= 201103L)
|
|
379
|
+
#define SDL_COMPILE_TIME_ASSERT(name, x) static_assert(x, #x)
|
|
380
|
+
#endif
|
|
381
|
+
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
|
|
382
|
+
#define SDL_COMPILE_TIME_ASSERT(name, x) _Static_assert(x, #x)
|
|
383
|
+
#endif
|
|
384
|
+
#endif /* !SDL_COMPILE_TIME_ASSERT */
|
|
385
|
+
|
|
386
|
+
#ifndef SDL_COMPILE_TIME_ASSERT
|
|
387
|
+
/* universal, but may trigger -Wunused-local-typedefs */
|
|
357
388
|
#define SDL_COMPILE_TIME_ASSERT(name, x) \
|
|
358
389
|
typedef int SDL_compile_time_assert_ ## name[(x) * 2 - 1]
|
|
390
|
+
#endif
|
|
391
|
+
|
|
359
392
|
/** \cond */
|
|
360
393
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
|
361
394
|
SDL_COMPILE_TIME_ASSERT(uint8, sizeof(Uint8) == 1);
|
|
@@ -377,7 +410,7 @@ SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
|
|
|
377
410
|
|
|
378
411
|
/** \cond */
|
|
379
412
|
#ifndef DOXYGEN_SHOULD_IGNORE_THIS
|
|
380
|
-
#if !defined(__ANDROID__) && !defined(__VITA__)
|
|
413
|
+
#if !defined(__ANDROID__) && !defined(__VITA__) && !defined(__3DS__)
|
|
381
414
|
/* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */
|
|
382
415
|
typedef enum
|
|
383
416
|
{
|
|
@@ -413,6 +446,16 @@ typedef void *(SDLCALL *SDL_calloc_func)(size_t nmemb, size_t size);
|
|
|
413
446
|
typedef void *(SDLCALL *SDL_realloc_func)(void *mem, size_t size);
|
|
414
447
|
typedef void (SDLCALL *SDL_free_func)(void *mem);
|
|
415
448
|
|
|
449
|
+
/**
|
|
450
|
+
* Get the original set of SDL memory functions
|
|
451
|
+
*
|
|
452
|
+
* \since This function is available since SDL 2.24.0.
|
|
453
|
+
*/
|
|
454
|
+
extern DECLSPEC void SDLCALL SDL_GetOriginalMemoryFunctions(SDL_malloc_func *malloc_func,
|
|
455
|
+
SDL_calloc_func *calloc_func,
|
|
456
|
+
SDL_realloc_func *realloc_func,
|
|
457
|
+
SDL_free_func *free_func);
|
|
458
|
+
|
|
416
459
|
/**
|
|
417
460
|
* Get the current set of SDL memory functions
|
|
418
461
|
*
|
|
@@ -443,7 +486,8 @@ extern DECLSPEC int SDLCALL SDL_GetNumAllocations(void);
|
|
|
443
486
|
extern DECLSPEC char *SDLCALL SDL_getenv(const char *name);
|
|
444
487
|
extern DECLSPEC int SDLCALL SDL_setenv(const char *name, const char *value, int overwrite);
|
|
445
488
|
|
|
446
|
-
extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, int (*compare) (const void *, const void *));
|
|
489
|
+
extern DECLSPEC void SDLCALL SDL_qsort(void *base, size_t nmemb, size_t size, int (SDLCALL *compare) (const void *, const void *));
|
|
490
|
+
extern DECLSPEC void * SDLCALL SDL_bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (SDLCALL *compare) (const void *, const void *));
|
|
447
491
|
|
|
448
492
|
extern DECLSPEC int SDLCALL SDL_abs(int x);
|
|
449
493
|
|
|
@@ -467,6 +511,7 @@ extern DECLSPEC int SDLCALL SDL_isgraph(int x);
|
|
|
467
511
|
extern DECLSPEC int SDLCALL SDL_toupper(int x);
|
|
468
512
|
extern DECLSPEC int SDLCALL SDL_tolower(int x);
|
|
469
513
|
|
|
514
|
+
extern DECLSPEC Uint16 SDLCALL SDL_crc16(Uint16 crc, const void *data, size_t len);
|
|
470
515
|
extern DECLSPEC Uint32 SDLCALL SDL_crc32(Uint32 crc, const void *data, size_t len);
|
|
471
516
|
|
|
472
517
|
extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len);
|
|
@@ -475,6 +520,11 @@ extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c,
|
|
|
475
520
|
#define SDL_zerop(x) SDL_memset((x), 0, sizeof(*(x)))
|
|
476
521
|
#define SDL_zeroa(x) SDL_memset((x), 0, sizeof((x)))
|
|
477
522
|
|
|
523
|
+
#define SDL_copyp(dst, src) \
|
|
524
|
+
{ SDL_COMPILE_TIME_ASSERT(SDL_copyp, sizeof (*(dst)) == sizeof (*(src))); } \
|
|
525
|
+
SDL_memcpy((dst), (src), sizeof (*(src)))
|
|
526
|
+
|
|
527
|
+
|
|
478
528
|
/* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */
|
|
479
529
|
SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords)
|
|
480
530
|
{
|
|
@@ -533,8 +583,10 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str);
|
|
|
533
583
|
extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c);
|
|
534
584
|
extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c);
|
|
535
585
|
extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle);
|
|
586
|
+
extern DECLSPEC char *SDLCALL SDL_strcasestr(const char *haystack, const char *needle);
|
|
536
587
|
extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr);
|
|
537
588
|
extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str);
|
|
589
|
+
extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes);
|
|
538
590
|
|
|
539
591
|
extern DECLSPEC char *SDLCALL SDL_itoa(int value, char *str, int radix);
|
|
540
592
|
extern DECLSPEC char *SDLCALL SDL_uitoa(unsigned int value, char *str, int radix);
|
|
@@ -708,6 +760,65 @@ SDL_FORCE_INLINE void *SDL_memcpy4(SDL_OUT_BYTECAP(dwords*4) void *dst, SDL_IN_B
|
|
|
708
760
|
return SDL_memcpy(dst, src, dwords * 4);
|
|
709
761
|
}
|
|
710
762
|
|
|
763
|
+
/**
|
|
764
|
+
* If a * b would overflow, return -1. Otherwise store a * b via ret
|
|
765
|
+
* and return 0.
|
|
766
|
+
*
|
|
767
|
+
* \since This function is available since SDL 2.24.0.
|
|
768
|
+
*/
|
|
769
|
+
SDL_FORCE_INLINE int SDL_size_mul_overflow (size_t a,
|
|
770
|
+
size_t b,
|
|
771
|
+
size_t *ret)
|
|
772
|
+
{
|
|
773
|
+
if (a != 0 && b > SDL_SIZE_MAX / a) {
|
|
774
|
+
return -1;
|
|
775
|
+
}
|
|
776
|
+
*ret = a * b;
|
|
777
|
+
return 0;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
#if _SDL_HAS_BUILTIN(__builtin_mul_overflow)
|
|
781
|
+
/* This needs to be wrapped in an inline rather than being a direct #define,
|
|
782
|
+
* because __builtin_mul_overflow() is type-generic, but we want to be
|
|
783
|
+
* consistent about interpreting a and b as size_t. */
|
|
784
|
+
SDL_FORCE_INLINE int _SDL_size_mul_overflow_builtin (size_t a,
|
|
785
|
+
size_t b,
|
|
786
|
+
size_t *ret)
|
|
787
|
+
{
|
|
788
|
+
return __builtin_mul_overflow(a, b, ret) == 0 ? 0 : -1;
|
|
789
|
+
}
|
|
790
|
+
#define SDL_size_mul_overflow(a, b, ret) (_SDL_size_mul_overflow_builtin(a, b, ret))
|
|
791
|
+
#endif
|
|
792
|
+
|
|
793
|
+
/**
|
|
794
|
+
* If a + b would overflow, return -1. Otherwise store a + b via ret
|
|
795
|
+
* and return 0.
|
|
796
|
+
*
|
|
797
|
+
* \since This function is available since SDL 2.24.0.
|
|
798
|
+
*/
|
|
799
|
+
SDL_FORCE_INLINE int SDL_size_add_overflow (size_t a,
|
|
800
|
+
size_t b,
|
|
801
|
+
size_t *ret)
|
|
802
|
+
{
|
|
803
|
+
if (b > SDL_SIZE_MAX - a) {
|
|
804
|
+
return -1;
|
|
805
|
+
}
|
|
806
|
+
*ret = a + b;
|
|
807
|
+
return 0;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
#if _SDL_HAS_BUILTIN(__builtin_add_overflow)
|
|
811
|
+
/* This needs to be wrapped in an inline rather than being a direct #define,
|
|
812
|
+
* the same as the call to __builtin_mul_overflow() above. */
|
|
813
|
+
SDL_FORCE_INLINE int _SDL_size_add_overflow_builtin (size_t a,
|
|
814
|
+
size_t b,
|
|
815
|
+
size_t *ret)
|
|
816
|
+
{
|
|
817
|
+
return __builtin_add_overflow(a, b, ret) == 0 ? 0 : -1;
|
|
818
|
+
}
|
|
819
|
+
#define SDL_size_add_overflow(a, b, ret) (_SDL_size_add_overflow_builtin(a, b, ret))
|
|
820
|
+
#endif
|
|
821
|
+
|
|
711
822
|
/* Ends C function definitions when using C++ */
|
|
712
823
|
#ifdef __cplusplus
|
|
713
824
|
}
|
|
@@ -61,6 +61,8 @@ extern "C" {
|
|
|
61
61
|
*/
|
|
62
62
|
#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
|
|
63
63
|
|
|
64
|
+
typedef struct SDL_BlitMap SDL_BlitMap; /* this is an opaque type. */
|
|
65
|
+
|
|
64
66
|
/**
|
|
65
67
|
* \brief A collection of pixels used in software blitting.
|
|
66
68
|
*
|
|
@@ -88,7 +90,7 @@ typedef struct SDL_Surface
|
|
|
88
90
|
SDL_Rect clip_rect; /**< Read-only */
|
|
89
91
|
|
|
90
92
|
/** info for fast blit mapping to other surfaces */
|
|
91
|
-
|
|
93
|
+
SDL_BlitMap *map; /**< Private */
|
|
92
94
|
|
|
93
95
|
/** Reference count -- used when freeing surface */
|
|
94
96
|
int refcount; /**< Read-mostly */
|
|
@@ -41,7 +41,7 @@ extern "C" {
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
/* Platform specific functions for Windows */
|
|
44
|
-
#
|
|
44
|
+
#if defined(__WIN32__) || defined(__GDK__)
|
|
45
45
|
|
|
46
46
|
typedef void (SDLCALL * SDL_WindowsMessageHook)(void *userdata, void *hWnd, unsigned int message, Uint64 wParam, Sint64 lParam);
|
|
47
47
|
|
|
@@ -55,6 +55,10 @@ typedef void (SDLCALL * SDL_WindowsMessageHook)(void *userdata, void *hWnd, unsi
|
|
|
55
55
|
*/
|
|
56
56
|
extern DECLSPEC void SDLCALL SDL_SetWindowsMessageHook(SDL_WindowsMessageHook callback, void *userdata);
|
|
57
57
|
|
|
58
|
+
#endif /* defined(__WIN32__) || defined(__GDK__) */
|
|
59
|
+
|
|
60
|
+
#if defined(__WIN32__) || defined(__WINGDK__)
|
|
61
|
+
|
|
58
62
|
/**
|
|
59
63
|
* Get the D3D9 adapter index that matches the specified display index.
|
|
60
64
|
*
|
|
@@ -102,6 +106,30 @@ typedef struct ID3D11Device ID3D11Device;
|
|
|
102
106
|
*/
|
|
103
107
|
extern DECLSPEC ID3D11Device* SDLCALL SDL_RenderGetD3D11Device(SDL_Renderer * renderer);
|
|
104
108
|
|
|
109
|
+
#endif /* defined(__WIN32__) || defined(__WINGDK__) */
|
|
110
|
+
|
|
111
|
+
#if defined(__WIN32__) || defined(__GDK__)
|
|
112
|
+
|
|
113
|
+
typedef struct ID3D12Device ID3D12Device;
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Get the D3D12 device associated with a renderer.
|
|
117
|
+
*
|
|
118
|
+
* Once you are done using the device, you should release it to avoid a
|
|
119
|
+
* resource leak.
|
|
120
|
+
*
|
|
121
|
+
* \param renderer the renderer from which to get the associated D3D12 device
|
|
122
|
+
* \returns the D3D12 device associated with given renderer or NULL if it is
|
|
123
|
+
* not a D3D12 renderer; call SDL_GetError() for more information.
|
|
124
|
+
*
|
|
125
|
+
* \since This function is available since SDL 2.24.0.
|
|
126
|
+
*/
|
|
127
|
+
extern DECLSPEC ID3D12Device* SDLCALL SDL_RenderGetD3D12Device(SDL_Renderer* renderer);
|
|
128
|
+
|
|
129
|
+
#endif /* defined(__WIN32__) || defined(__GDK__) */
|
|
130
|
+
|
|
131
|
+
#if defined(__WIN32__) || defined(__WINGDK__)
|
|
132
|
+
|
|
105
133
|
/**
|
|
106
134
|
* Get the DXGI Adapter and Output indices for the specified display index.
|
|
107
135
|
*
|
|
@@ -122,8 +150,7 @@ extern DECLSPEC ID3D11Device* SDLCALL SDL_RenderGetD3D11Device(SDL_Renderer * re
|
|
|
122
150
|
*/
|
|
123
151
|
extern DECLSPEC SDL_bool SDLCALL SDL_DXGIGetOutputInfo( int displayIndex, int *adapterIndex, int *outputIndex );
|
|
124
152
|
|
|
125
|
-
#endif /* __WIN32__ */
|
|
126
|
-
|
|
153
|
+
#endif /* defined(__WIN32__) || defined(__WINGDK__) */
|
|
127
154
|
|
|
128
155
|
/* Platform specific functions for Linux */
|
|
129
156
|
#ifdef __LINUX__
|
|
@@ -178,7 +205,7 @@ extern DECLSPEC int SDLCALL SDL_LinuxSetThreadPriorityAndPolicy(Sint64 threadID,
|
|
|
178
205
|
* This function is only available on Apple iOS.
|
|
179
206
|
*
|
|
180
207
|
* For more information see:
|
|
181
|
-
*
|
|
208
|
+
* https://github.com/libsdl-org/SDL/blob/main/docs/README-ios.md
|
|
182
209
|
*
|
|
183
210
|
* This functions is also accessible using the macro
|
|
184
211
|
* SDL_iOSSetAnimationCallback() since SDL 2.0.4.
|
|
@@ -195,7 +222,7 @@ extern DECLSPEC int SDLCALL SDL_LinuxSetThreadPriorityAndPolicy(Sint64 threadID,
|
|
|
195
222
|
*
|
|
196
223
|
* \sa SDL_iPhoneSetEventPump
|
|
197
224
|
*/
|
|
198
|
-
extern DECLSPEC int SDLCALL SDL_iPhoneSetAnimationCallback(SDL_Window * window, int interval, void (*callback)(void*), void *callbackParam);
|
|
225
|
+
extern DECLSPEC int SDLCALL SDL_iPhoneSetAnimationCallback(SDL_Window * window, int interval, void (SDLCALL *callback)(void*), void *callbackParam);
|
|
199
226
|
|
|
200
227
|
#define SDL_iOSSetEventPump(enabled) SDL_iPhoneSetEventPump(enabled)
|
|
201
228
|
|
|
@@ -425,6 +452,18 @@ extern DECLSPEC SDL_bool SDLCALL SDL_AndroidRequestPermission(const char *permis
|
|
|
425
452
|
*/
|
|
426
453
|
extern DECLSPEC int SDLCALL SDL_AndroidShowToast(const char* message, int duration, int gravity, int xoffset, int yoffset);
|
|
427
454
|
|
|
455
|
+
/**
|
|
456
|
+
* Send a user command to SDLActivity.
|
|
457
|
+
*
|
|
458
|
+
* Override "boolean onUnhandledMessage(Message msg)" to handle the message.
|
|
459
|
+
*
|
|
460
|
+
* \param command user command that must be greater or equal to 0x8000
|
|
461
|
+
* \param param user parameter
|
|
462
|
+
*
|
|
463
|
+
* \since This function is available since SDL 2.0.22.
|
|
464
|
+
*/
|
|
465
|
+
extern DECLSPEC int SDLCALL SDL_AndroidSendMessage(Uint32 command, int param);
|
|
466
|
+
|
|
428
467
|
#endif /* __ANDROID__ */
|
|
429
468
|
|
|
430
469
|
/* Platform specific functions for WinRT */
|
|
@@ -520,7 +559,7 @@ extern DECLSPEC const wchar_t * SDLCALL SDL_WinRTGetFSPathUNICODE(SDL_WinRT_Path
|
|
|
520
559
|
extern DECLSPEC const char * SDLCALL SDL_WinRTGetFSPathUTF8(SDL_WinRT_Path pathType);
|
|
521
560
|
|
|
522
561
|
/**
|
|
523
|
-
* Detects the device family of WinRT
|
|
562
|
+
* Detects the device family of WinRT platform at runtime.
|
|
524
563
|
*
|
|
525
564
|
* \returns a value from the SDL_WinRT_DeviceFamily enum.
|
|
526
565
|
*
|
|
@@ -552,6 +591,27 @@ extern DECLSPEC void SDLCALL SDL_OnApplicationDidBecomeActive(void);
|
|
|
552
591
|
extern DECLSPEC void SDLCALL SDL_OnApplicationDidChangeStatusBarOrientation(void);
|
|
553
592
|
#endif
|
|
554
593
|
|
|
594
|
+
/* Functions used only by GDK */
|
|
595
|
+
#if defined(__GDK__)
|
|
596
|
+
typedef struct XTaskQueueObject * XTaskQueueHandle;
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Gets a reference to the global async task queue handle for GDK,
|
|
600
|
+
* initializing if needed.
|
|
601
|
+
*
|
|
602
|
+
* Once you are done with the task queue, you should call
|
|
603
|
+
* XTaskQueueCloseHandle to reduce the reference count to avoid a resource
|
|
604
|
+
* leak.
|
|
605
|
+
*
|
|
606
|
+
* \param outTaskQueue a pointer to be filled in with task queue handle.
|
|
607
|
+
* \returns 0 if success, -1 if any error occurs.
|
|
608
|
+
*
|
|
609
|
+
* \since This function is available since SDL 2.24.0.
|
|
610
|
+
*/
|
|
611
|
+
extern DECLSPEC int SDLCALL SDL_GDKGetTaskQueue(XTaskQueueHandle * outTaskQueue);
|
|
612
|
+
|
|
613
|
+
#endif
|
|
614
|
+
|
|
555
615
|
/* Ends C function definitions when using C++ */
|
|
556
616
|
#ifdef __cplusplus
|
|
557
617
|
}
|
|
@@ -298,6 +298,8 @@ struct SDL_SysWMinfo
|
|
|
298
298
|
struct wl_egl_window *egl_window; /**< Wayland EGL window (native window) */
|
|
299
299
|
struct xdg_surface *xdg_surface; /**< Wayland xdg surface (window manager handle) */
|
|
300
300
|
struct xdg_toplevel *xdg_toplevel; /**< Wayland xdg toplevel role */
|
|
301
|
+
struct xdg_popup *xdg_popup; /**< Wayland xdg popup role */
|
|
302
|
+
struct xdg_positioner *xdg_positioner; /**< Wayland xdg positioner, for popup */
|
|
301
303
|
} wl;
|
|
302
304
|
#endif
|
|
303
305
|
#if defined(SDL_VIDEO_DRIVER_MIR) /* no longer available, left for API/ABI compatibility. Remove in 2.1! */
|
|
@@ -38,7 +38,8 @@ extern "C" {
|
|
|
38
38
|
|
|
39
39
|
/* Function prototypes */
|
|
40
40
|
|
|
41
|
-
#define FONT_CHARACTER_SIZE
|
|
41
|
+
#define FONT_CHARACTER_SIZE 8
|
|
42
|
+
#define FONT_LINE_HEIGHT (FONT_CHARACTER_SIZE + 2)
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
45
|
* \brief Draw a string in the currently set font.
|
|
@@ -50,10 +51,12 @@ extern "C" {
|
|
|
50
51
|
*
|
|
51
52
|
* \returns 0 on success, -1 on failure.
|
|
52
53
|
*/
|
|
53
|
-
int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y,
|
|
54
|
+
int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, Uint32 c);
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* \brief Draw a string in the currently set font.
|
|
57
|
+
* \brief Draw a UTF-8 string in the currently set font.
|
|
58
|
+
*
|
|
59
|
+
* The font currently only supports characters in the Basic Latin and Latin-1 Supplement sets.
|
|
57
60
|
*
|
|
58
61
|
* \param renderer The renderer to draw on.
|
|
59
62
|
* \param x The X coordinate of the upper left corner of the string.
|
|
@@ -64,6 +67,90 @@ int SDLTest_DrawCharacter(SDL_Renderer *renderer, int x, int y, char c);
|
|
|
64
67
|
*/
|
|
65
68
|
int SDLTest_DrawString(SDL_Renderer *renderer, int x, int y, const char *s);
|
|
66
69
|
|
|
70
|
+
/**
|
|
71
|
+
* \brief Data used for multi-line text output
|
|
72
|
+
*/
|
|
73
|
+
typedef struct SDLTest_TextWindow
|
|
74
|
+
{
|
|
75
|
+
SDL_Rect rect;
|
|
76
|
+
int current;
|
|
77
|
+
int numlines;
|
|
78
|
+
char **lines;
|
|
79
|
+
} SDLTest_TextWindow;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* \brief Create a multi-line text output window
|
|
83
|
+
*
|
|
84
|
+
* \param x The X coordinate of the upper left corner of the window.
|
|
85
|
+
* \param y The Y coordinate of the upper left corner of the window.
|
|
86
|
+
* \param w The width of the window (currently ignored)
|
|
87
|
+
* \param h The height of the window (currently ignored)
|
|
88
|
+
*
|
|
89
|
+
* \returns the new window, or NULL on failure.
|
|
90
|
+
*
|
|
91
|
+
* \since This function is available since SDL 2.24.0
|
|
92
|
+
*/
|
|
93
|
+
SDLTest_TextWindow *SDLTest_TextWindowCreate(int x, int y, int w, int h);
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* \brief Display a multi-line text output window
|
|
97
|
+
*
|
|
98
|
+
* This function should be called every frame to display the text
|
|
99
|
+
*
|
|
100
|
+
* \param textwin The text output window
|
|
101
|
+
* \param renderer The renderer to use for display
|
|
102
|
+
*
|
|
103
|
+
* \since This function is available since SDL 2.24.0
|
|
104
|
+
*/
|
|
105
|
+
void SDLTest_TextWindowDisplay(SDLTest_TextWindow *textwin, SDL_Renderer *renderer);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* \brief Add text to a multi-line text output window
|
|
109
|
+
*
|
|
110
|
+
* Adds UTF-8 text to the end of the current text. The newline character starts a
|
|
111
|
+
* new line of text. The backspace character deletes the last character or, if the
|
|
112
|
+
* line is empty, deletes the line and goes to the end of the previous line.
|
|
113
|
+
*
|
|
114
|
+
* \param textwin The text output window
|
|
115
|
+
* \param fmt A printf() style format string
|
|
116
|
+
* \param ... additional parameters matching % tokens in the `fmt` string, if any
|
|
117
|
+
*
|
|
118
|
+
* \since This function is available since SDL 2.24.0
|
|
119
|
+
*/
|
|
120
|
+
void SDLTest_TextWindowAddText(SDLTest_TextWindow *textwin, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* \brief Add text to a multi-line text output window
|
|
124
|
+
*
|
|
125
|
+
* Adds UTF-8 text to the end of the current text. The newline character starts a
|
|
126
|
+
* new line of text. The backspace character deletes the last character or, if the
|
|
127
|
+
* line is empty, deletes the line and goes to the end of the previous line.
|
|
128
|
+
*
|
|
129
|
+
* \param textwin The text output window
|
|
130
|
+
* \param text The text to add to the window
|
|
131
|
+
* \param len The length, in bytes, of the text to add to the window
|
|
132
|
+
*
|
|
133
|
+
* \since This function is available since SDL 2.24.0
|
|
134
|
+
*/
|
|
135
|
+
void SDLTest_TextWindowAddTextWithLength(SDLTest_TextWindow *textwin, const char *text, size_t len);
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* \brief Clear the text in a multi-line text output window
|
|
139
|
+
*
|
|
140
|
+
* \param textwin The text output window
|
|
141
|
+
*
|
|
142
|
+
* \since This function is available since SDL 2.24.0
|
|
143
|
+
*/
|
|
144
|
+
void SDLTest_TextWindowClear(SDLTest_TextWindow *textwin);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* \brief Free the storage associated with a multi-line text output window
|
|
148
|
+
*
|
|
149
|
+
* \param textwin The text output window
|
|
150
|
+
*
|
|
151
|
+
* \since This function is available since SDL 2.24.0
|
|
152
|
+
*/
|
|
153
|
+
void SDLTest_TextWindowDestroy(SDLTest_TextWindow *textwin);
|
|
67
154
|
|
|
68
155
|
/**
|
|
69
156
|
* \brief Cleanup textures used by font drawing functions.
|