ruby2d 0.11.3 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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/template.html +2 -1
- 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/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/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/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/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/libopus.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 +0 -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/libwebp.a +0 -0
- data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.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 +33 -20
- 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 +5 -3
- 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 +51 -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/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-ucrt-x86_64/lib/libpng16.a +0 -0
- data/assets/windows/mingw-w64-x86_64/lib/libpng16.a +0 -0
- data/lib/ruby2d/entity.rb +0 -17
@@ -102,6 +102,7 @@ typedef enum
|
|
102
102
|
SDL_KEYMAPCHANGED, /**< Keymap changed due to a system event such as an
|
103
103
|
input language or keyboard layout change.
|
104
104
|
*/
|
105
|
+
SDL_TEXTEDITING_EXT, /**< Extended keyboard text editing (composition) */
|
105
106
|
|
106
107
|
/* Mouse events */
|
107
108
|
SDL_MOUSEMOTION = 0x400, /**< Mouse moved */
|
@@ -117,6 +118,7 @@ typedef enum
|
|
117
118
|
SDL_JOYBUTTONUP, /**< Joystick button released */
|
118
119
|
SDL_JOYDEVICEADDED, /**< A new joystick has been inserted into the system */
|
119
120
|
SDL_JOYDEVICEREMOVED, /**< An opened joystick has been removed */
|
121
|
+
SDL_JOYBATTERYUPDATED, /**< Joystick battery level change */
|
120
122
|
|
121
123
|
/* Game controller events */
|
122
124
|
SDL_CONTROLLERAXISMOTION = 0x650, /**< Game controller axis motion */
|
@@ -141,7 +143,7 @@ typedef enum
|
|
141
143
|
SDL_MULTIGESTURE,
|
142
144
|
|
143
145
|
/* Clipboard events */
|
144
|
-
SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard changed */
|
146
|
+
SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard or primary selection changed */
|
145
147
|
|
146
148
|
/* Drag and drop events */
|
147
149
|
SDL_DROPFILE = 0x1000, /**< The system requests a file open */
|
@@ -243,6 +245,19 @@ typedef struct SDL_TextEditingEvent
|
|
243
245
|
Sint32 length; /**< The length of selected editing text */
|
244
246
|
} SDL_TextEditingEvent;
|
245
247
|
|
248
|
+
/**
|
249
|
+
* \brief Extended keyboard text editing event structure (event.editExt.*) when text would be
|
250
|
+
* truncated if stored in the text buffer SDL_TextEditingEvent
|
251
|
+
*/
|
252
|
+
typedef struct SDL_TextEditingExtEvent
|
253
|
+
{
|
254
|
+
Uint32 type; /**< ::SDL_TEXTEDITING_EXT */
|
255
|
+
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
|
256
|
+
Uint32 windowID; /**< The window with keyboard focus, if any */
|
257
|
+
char* text; /**< The editing text, which should be freed with SDL_free(), and will not be NULL */
|
258
|
+
Sint32 start; /**< The start cursor of selected editing text */
|
259
|
+
Sint32 length; /**< The length of selected editing text */
|
260
|
+
} SDL_TextEditingExtEvent;
|
246
261
|
|
247
262
|
#define SDL_TEXTINPUTEVENT_TEXT_SIZE (32)
|
248
263
|
/**
|
@@ -303,6 +318,8 @@ typedef struct SDL_MouseWheelEvent
|
|
303
318
|
Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */
|
304
319
|
float preciseX; /**< The amount scrolled horizontally, positive to the right and negative to the left, with float precision (added in 2.0.18) */
|
305
320
|
float preciseY; /**< The amount scrolled vertically, positive away from the user and negative toward the user, with float precision (added in 2.0.18) */
|
321
|
+
Sint32 mouseX; /**< X coordinate, relative to window (added in 2.26.0) */
|
322
|
+
Sint32 mouseY; /**< Y coordinate, relative to window (added in 2.26.0) */
|
306
323
|
} SDL_MouseWheelEvent;
|
307
324
|
|
308
325
|
/**
|
@@ -381,6 +398,16 @@ typedef struct SDL_JoyDeviceEvent
|
|
381
398
|
Sint32 which; /**< The joystick device index for the ADDED event, instance id for the REMOVED event */
|
382
399
|
} SDL_JoyDeviceEvent;
|
383
400
|
|
401
|
+
/**
|
402
|
+
* \brief Joysick battery level change event structure (event.jbattery.*)
|
403
|
+
*/
|
404
|
+
typedef struct SDL_JoyBatteryEvent
|
405
|
+
{
|
406
|
+
Uint32 type; /**< ::SDL_JOYBATTERYUPDATED */
|
407
|
+
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
|
408
|
+
SDL_JoystickID which; /**< The joystick instance id */
|
409
|
+
SDL_JoystickPowerLevel level; /**< The joystick battery level */
|
410
|
+
} SDL_JoyBatteryEvent;
|
384
411
|
|
385
412
|
/**
|
386
413
|
* \brief Game controller axis motion event structure (event.caxis.*)
|
@@ -449,6 +476,7 @@ typedef struct SDL_ControllerSensorEvent
|
|
449
476
|
SDL_JoystickID which; /**< The joystick instance id */
|
450
477
|
Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */
|
451
478
|
float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */
|
479
|
+
Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */
|
452
480
|
} SDL_ControllerSensorEvent;
|
453
481
|
|
454
482
|
/**
|
@@ -540,6 +568,7 @@ typedef struct SDL_SensorEvent
|
|
540
568
|
Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */
|
541
569
|
Sint32 which; /**< The instance ID of the sensor */
|
542
570
|
float data[6]; /**< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() */
|
571
|
+
Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */
|
543
572
|
} SDL_SensorEvent;
|
544
573
|
|
545
574
|
/**
|
@@ -601,6 +630,7 @@ typedef union SDL_Event
|
|
601
630
|
SDL_WindowEvent window; /**< Window event data */
|
602
631
|
SDL_KeyboardEvent key; /**< Keyboard event data */
|
603
632
|
SDL_TextEditingEvent edit; /**< Text editing event data */
|
633
|
+
SDL_TextEditingExtEvent editExt; /**< Extended text editing event data */
|
604
634
|
SDL_TextInputEvent text; /**< Text input event data */
|
605
635
|
SDL_MouseMotionEvent motion; /**< Mouse motion event data */
|
606
636
|
SDL_MouseButtonEvent button; /**< Mouse button event data */
|
@@ -610,6 +640,7 @@ typedef union SDL_Event
|
|
610
640
|
SDL_JoyHatEvent jhat; /**< Joystick hat event data */
|
611
641
|
SDL_JoyButtonEvent jbutton; /**< Joystick button event data */
|
612
642
|
SDL_JoyDeviceEvent jdevice; /**< Joystick device change event data */
|
643
|
+
SDL_JoyBatteryEvent jbattery; /**< Joystick battery event data */
|
613
644
|
SDL_ControllerAxisEvent caxis; /**< Game Controller axis event data */
|
614
645
|
SDL_ControllerButtonEvent cbutton; /**< Game Controller button event data */
|
615
646
|
SDL_ControllerDeviceEvent cdevice; /**< Game Controller device event data */
|
@@ -60,6 +60,10 @@ extern "C" {
|
|
60
60
|
* - `parent`: the containing directory of the bundle. For example:
|
61
61
|
* `/Applications/SDLApp/`
|
62
62
|
*
|
63
|
+
* **Nintendo 3DS Specific Functionality**: This function returns "romfs"
|
64
|
+
* directory of the application as it is uncommon to store resources outside
|
65
|
+
* the executable. As such it is not a writable directory.
|
66
|
+
*
|
63
67
|
* The returned path is guaranteed to end with a path separator ('\' on
|
64
68
|
* Windows, '/' on most other platforms).
|
65
69
|
*
|
@@ -92,7 +96,7 @@ extern DECLSPEC char *SDLCALL SDL_GetBasePath(void);
|
|
92
96
|
*
|
93
97
|
* `C:\\Users\\bob\\AppData\\Roaming\\My Company\\My Program Name\\`
|
94
98
|
*
|
95
|
-
* On Linux, the string might look like
|
99
|
+
* On Linux, the string might look like:
|
96
100
|
*
|
97
101
|
* `/home/bob/.local/share/My Program Name/`
|
98
102
|
*
|
@@ -69,7 +69,11 @@ typedef enum
|
|
69
69
|
SDL_CONTROLLER_TYPE_VIRTUAL,
|
70
70
|
SDL_CONTROLLER_TYPE_PS5,
|
71
71
|
SDL_CONTROLLER_TYPE_AMAZON_LUNA,
|
72
|
-
SDL_CONTROLLER_TYPE_GOOGLE_STADIA
|
72
|
+
SDL_CONTROLLER_TYPE_GOOGLE_STADIA,
|
73
|
+
SDL_CONTROLLER_TYPE_NVIDIA_SHIELD,
|
74
|
+
SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_LEFT,
|
75
|
+
SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT,
|
76
|
+
SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_PAIR
|
73
77
|
} SDL_GameControllerType;
|
74
78
|
|
75
79
|
typedef enum
|
@@ -289,6 +293,25 @@ extern DECLSPEC SDL_bool SDLCALL SDL_IsGameController(int joystick_index);
|
|
289
293
|
*/
|
290
294
|
extern DECLSPEC const char *SDLCALL SDL_GameControllerNameForIndex(int joystick_index);
|
291
295
|
|
296
|
+
/**
|
297
|
+
* Get the implementation dependent path for the game controller.
|
298
|
+
*
|
299
|
+
* This function can be called before any controllers are opened.
|
300
|
+
*
|
301
|
+
* `joystick_index` is the same as the `device_index` passed to
|
302
|
+
* SDL_JoystickOpen().
|
303
|
+
*
|
304
|
+
* \param joystick_index the device_index of a device, from zero to
|
305
|
+
* SDL_NumJoysticks()-1
|
306
|
+
* \returns the implementation-dependent path for the game controller, or NULL
|
307
|
+
* if there is no path or the index is invalid.
|
308
|
+
*
|
309
|
+
* \since This function is available since SDL 2.24.0.
|
310
|
+
*
|
311
|
+
* \sa SDL_GameControllerPath
|
312
|
+
*/
|
313
|
+
extern DECLSPEC const char *SDLCALL SDL_GameControllerPathForIndex(int joystick_index);
|
314
|
+
|
292
315
|
/**
|
293
316
|
* Get the type of a game controller.
|
294
317
|
*
|
@@ -386,6 +409,23 @@ extern DECLSPEC SDL_GameController *SDLCALL SDL_GameControllerFromPlayerIndex(in
|
|
386
409
|
*/
|
387
410
|
extern DECLSPEC const char *SDLCALL SDL_GameControllerName(SDL_GameController *gamecontroller);
|
388
411
|
|
412
|
+
/**
|
413
|
+
* Get the implementation-dependent path for an opened game controller.
|
414
|
+
*
|
415
|
+
* This is the same path as returned by SDL_GameControllerNameForIndex(), but
|
416
|
+
* it takes a controller identifier instead of the (unstable) device index.
|
417
|
+
*
|
418
|
+
* \param gamecontroller a game controller identifier previously returned by
|
419
|
+
* SDL_GameControllerOpen()
|
420
|
+
* \returns the implementation dependent path for the game controller, or NULL
|
421
|
+
* if there is no path or the identifier passed is invalid.
|
422
|
+
*
|
423
|
+
* \since This function is available since SDL 2.24.0.
|
424
|
+
*
|
425
|
+
* \sa SDL_GameControllerPathForIndex
|
426
|
+
*/
|
427
|
+
extern DECLSPEC const char *SDLCALL SDL_GameControllerPath(SDL_GameController *gamecontroller);
|
428
|
+
|
389
429
|
/**
|
390
430
|
* Get the type of this currently opened controller
|
391
431
|
*
|
@@ -415,7 +455,8 @@ extern DECLSPEC int SDLCALL SDL_GameControllerGetPlayerIndex(SDL_GameController
|
|
415
455
|
* Set the player index of an opened game controller.
|
416
456
|
*
|
417
457
|
* \param gamecontroller the game controller object to adjust.
|
418
|
-
* \param player_index Player index to assign to this controller
|
458
|
+
* \param player_index Player index to assign to this controller, or -1 to
|
459
|
+
* clear the player index and turn off player LEDs.
|
419
460
|
*
|
420
461
|
* \since This function is available since SDL 2.0.12.
|
421
462
|
*/
|
@@ -457,6 +498,18 @@ extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController *
|
|
457
498
|
*/
|
458
499
|
extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController *gamecontroller);
|
459
500
|
|
501
|
+
/**
|
502
|
+
* Get the firmware version of an opened controller, if available.
|
503
|
+
*
|
504
|
+
* If the firmware version isn't available this function returns 0.
|
505
|
+
*
|
506
|
+
* \param gamecontroller the game controller object to query.
|
507
|
+
* \return the controller firmware version, or zero if unavailable.
|
508
|
+
*
|
509
|
+
* \since This function is available since SDL 2.24.0.
|
510
|
+
*/
|
511
|
+
extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetFirmwareVersion(SDL_GameController *gamecontroller);
|
512
|
+
|
460
513
|
/**
|
461
514
|
* Get the serial number of an opened controller, if available.
|
462
515
|
*
|
@@ -701,7 +754,7 @@ extern DECLSPEC SDL_GameControllerButton SDLCALL SDL_GameControllerGetButtonFrom
|
|
701
754
|
* The caller should not SDL_free() the returned string.
|
702
755
|
*
|
703
756
|
* \param button an enum value for a given SDL_GameControllerButton
|
704
|
-
* \returns a string for the given button, or NULL if an invalid
|
757
|
+
* \returns a string for the given button, or NULL if an invalid button is
|
705
758
|
* specified. The string returned is of the format used by
|
706
759
|
* SDL_GameController mapping strings.
|
707
760
|
*
|
@@ -842,6 +895,25 @@ extern DECLSPEC float SDLCALL SDL_GameControllerGetSensorDataRate(SDL_GameContro
|
|
842
895
|
*/
|
843
896
|
extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values);
|
844
897
|
|
898
|
+
/**
|
899
|
+
* Get the current state of a game controller sensor with the timestamp of the
|
900
|
+
* last update.
|
901
|
+
*
|
902
|
+
* The number of values and interpretation of the data is sensor dependent.
|
903
|
+
* See SDL_sensor.h for the details for each type of sensor.
|
904
|
+
*
|
905
|
+
* \param gamecontroller The controller to query
|
906
|
+
* \param type The type of sensor to query
|
907
|
+
* \param timestamp A pointer filled with the timestamp in microseconds of the
|
908
|
+
* current sensor reading if available, or 0 if not
|
909
|
+
* \param data A pointer filled with the current sensor state
|
910
|
+
* \param num_values The number of values to write to data
|
911
|
+
* \return 0 or -1 if an error occurred.
|
912
|
+
*
|
913
|
+
* \since This function is available since SDL 2.26.0.
|
914
|
+
*/
|
915
|
+
extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorDataWithTimestamp(SDL_GameController *gamecontroller, SDL_SensorType type, Uint64 *timestamp, float *data, int num_values);
|
916
|
+
|
845
917
|
/**
|
846
918
|
* Start a rumble effect on a game controller.
|
847
919
|
*
|
@@ -869,8 +941,9 @@ extern DECLSPEC int SDLCALL SDL_GameControllerRumble(SDL_GameController *gamecon
|
|
869
941
|
* calling it with 0 intensity stops any rumbling.
|
870
942
|
*
|
871
943
|
* Note that this is rumbling of the _triggers_ and not the game controller as
|
872
|
-
* a whole.
|
873
|
-
*
|
944
|
+
* a whole. This is currently only supported on Xbox One controllers. If you
|
945
|
+
* want the (more common) whole-controller rumble, use
|
946
|
+
* SDL_GameControllerRumble() instead.
|
874
947
|
*
|
875
948
|
* \param gamecontroller The controller to vibrate
|
876
949
|
* \param left_rumble The intensity of the left trigger rumble motor, from 0
|
@@ -0,0 +1,100 @@
|
|
1
|
+
/*
|
2
|
+
Simple DirectMedia Layer
|
3
|
+
Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org>
|
4
|
+
|
5
|
+
This software is provided 'as-is', without any express or implied
|
6
|
+
warranty. In no event will the authors be held liable for any damages
|
7
|
+
arising from the use of this software.
|
8
|
+
|
9
|
+
Permission is granted to anyone to use this software for any purpose,
|
10
|
+
including commercial applications, and to alter it and redistribute it
|
11
|
+
freely, subject to the following restrictions:
|
12
|
+
|
13
|
+
1. The origin of this software must not be misrepresented; you must not
|
14
|
+
claim that you wrote the original software. If you use this software
|
15
|
+
in a product, an acknowledgment in the product documentation would be
|
16
|
+
appreciated but is not required.
|
17
|
+
2. Altered source versions must be plainly marked as such, and must not be
|
18
|
+
misrepresented as being the original software.
|
19
|
+
3. This notice may not be removed or altered from any source distribution.
|
20
|
+
*/
|
21
|
+
|
22
|
+
/**
|
23
|
+
* \file SDL_guid.h
|
24
|
+
*
|
25
|
+
* Include file for handling ::SDL_GUID values.
|
26
|
+
*/
|
27
|
+
|
28
|
+
#ifndef SDL_guid_h_
|
29
|
+
#define SDL_guid_h_
|
30
|
+
|
31
|
+
#include "SDL_stdinc.h"
|
32
|
+
#include "SDL_error.h"
|
33
|
+
|
34
|
+
#include "begin_code.h"
|
35
|
+
/* Set up for C function definitions, even when using C++ */
|
36
|
+
#ifdef __cplusplus
|
37
|
+
extern "C" {
|
38
|
+
#endif
|
39
|
+
|
40
|
+
/**
|
41
|
+
* An SDL_GUID is a 128-bit identifier for an input device that
|
42
|
+
* identifies that device across runs of SDL programs on the same
|
43
|
+
* platform. If the device is detached and then re-attached to a
|
44
|
+
* different port, or if the base system is rebooted, the device
|
45
|
+
* should still report the same GUID.
|
46
|
+
*
|
47
|
+
* GUIDs are as precise as possible but are not guaranteed to
|
48
|
+
* distinguish physically distinct but equivalent devices. For
|
49
|
+
* example, two game controllers from the same vendor with the same
|
50
|
+
* product ID and revision may have the same GUID.
|
51
|
+
*
|
52
|
+
* GUIDs may be platform-dependent (i.e., the same device may report
|
53
|
+
* different GUIDs on different operating systems).
|
54
|
+
*/
|
55
|
+
typedef struct {
|
56
|
+
Uint8 data[16];
|
57
|
+
} SDL_GUID;
|
58
|
+
|
59
|
+
/* Function prototypes */
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Get an ASCII string representation for a given ::SDL_GUID.
|
63
|
+
*
|
64
|
+
* You should supply at least 33 bytes for pszGUID.
|
65
|
+
*
|
66
|
+
* \param guid the ::SDL_GUID you wish to convert to string
|
67
|
+
* \param pszGUID buffer in which to write the ASCII string
|
68
|
+
* \param cbGUID the size of pszGUID
|
69
|
+
*
|
70
|
+
* \since This function is available since SDL 2.24.0.
|
71
|
+
*
|
72
|
+
* \sa SDL_GUIDFromString
|
73
|
+
*/
|
74
|
+
extern DECLSPEC void SDLCALL SDL_GUIDToString(SDL_GUID guid, char *pszGUID, int cbGUID);
|
75
|
+
|
76
|
+
/**
|
77
|
+
* Convert a GUID string into a ::SDL_GUID structure.
|
78
|
+
*
|
79
|
+
* Performs no error checking. If this function is given a string containing
|
80
|
+
* an invalid GUID, the function will silently succeed, but the GUID generated
|
81
|
+
* will not be useful.
|
82
|
+
*
|
83
|
+
* \param pchGUID string containing an ASCII representation of a GUID
|
84
|
+
* \returns a ::SDL_GUID structure.
|
85
|
+
*
|
86
|
+
* \since This function is available since SDL 2.24.0.
|
87
|
+
*
|
88
|
+
* \sa SDL_GUIDToString
|
89
|
+
*/
|
90
|
+
extern DECLSPEC SDL_GUID SDLCALL SDL_GUIDFromString(const char *pchGUID);
|
91
|
+
|
92
|
+
/* Ends C function definitions when using C++ */
|
93
|
+
#ifdef __cplusplus
|
94
|
+
}
|
95
|
+
#endif
|
96
|
+
#include "close_code.h"
|
97
|
+
|
98
|
+
#endif /* SDL_guid_h_ */
|
99
|
+
|
100
|
+
/* vi: set ts=4 sw=4 expandtab: */
|