sdl3-bindings 1.0.0.beta.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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +159 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +132 -0
  5. data/lib/sdl3.rb +150 -0
  6. data/lib/sdl3_assert.rb +61 -0
  7. data/lib/sdl3_asyncio.rb +68 -0
  8. data/lib/sdl3_atomic.rb +64 -0
  9. data/lib/sdl3_audio.rb +120 -0
  10. data/lib/sdl3_bits.rb +38 -0
  11. data/lib/sdl3_blendmode.rb +63 -0
  12. data/lib/sdl3_camera.rb +67 -0
  13. data/lib/sdl3_clipboard.rb +49 -0
  14. data/lib/sdl3_cpuinfo.rb +55 -0
  15. data/lib/sdl3_dialog.rb +60 -0
  16. data/lib/sdl3_endian.rb +39 -0
  17. data/lib/sdl3_error.rb +41 -0
  18. data/lib/sdl3_events.rb +680 -0
  19. data/lib/sdl3_filesystem.rb +82 -0
  20. data/lib/sdl3_gamepad.rb +216 -0
  21. data/lib/sdl3_gpu.rb +836 -0
  22. data/lib/sdl3_guid.rb +44 -0
  23. data/lib/sdl3_haptic.rb +209 -0
  24. data/lib/sdl3_hidapi.rb +84 -0
  25. data/lib/sdl3_hints.rb +285 -0
  26. data/lib/sdl3_image.rb +108 -0
  27. data/lib/sdl3_init.rb +71 -0
  28. data/lib/sdl3_iostream.rb +115 -0
  29. data/lib/sdl3_joystick.rb +174 -0
  30. data/lib/sdl3_keyboard.rb +81 -0
  31. data/lib/sdl3_keycode.rb +310 -0
  32. data/lib/sdl3_loadso.rb +39 -0
  33. data/lib/sdl3_locale.rb +44 -0
  34. data/lib/sdl3_log.rb +85 -0
  35. data/lib/sdl3_messagebox.rb +88 -0
  36. data/lib/sdl3_misc.rb +37 -0
  37. data/lib/sdl3_mixer.rb +179 -0
  38. data/lib/sdl3_mouse.rb +90 -0
  39. data/lib/sdl3_mutex.rb +77 -0
  40. data/lib/sdl3_pen.rb +56 -0
  41. data/lib/sdl3_pixels.rb +296 -0
  42. data/lib/sdl3_platform.rb +37 -0
  43. data/lib/sdl3_power.rb +44 -0
  44. data/lib/sdl3_process.rb +65 -0
  45. data/lib/sdl3_properties.rb +67 -0
  46. data/lib/sdl3_rect.rb +98 -0
  47. data/lib/sdl3_render.rb +240 -0
  48. data/lib/sdl3_revision.rb +37 -0
  49. data/lib/sdl3_scancode.rb +286 -0
  50. data/lib/sdl3_sensor.rb +61 -0
  51. data/lib/sdl3_sound.rb +98 -0
  52. data/lib/sdl3_stdinc.rb +229 -0
  53. data/lib/sdl3_storage.rb +70 -0
  54. data/lib/sdl3_surface.rb +122 -0
  55. data/lib/sdl3_thread.rb +65 -0
  56. data/lib/sdl3_time.rb +66 -0
  57. data/lib/sdl3_timer.rb +54 -0
  58. data/lib/sdl3_touch.rb +56 -0
  59. data/lib/sdl3_tray.rb +66 -0
  60. data/lib/sdl3_ttf.rb +216 -0
  61. data/lib/sdl3_version.rb +41 -0
  62. data/lib/sdl3_video.rb +341 -0
  63. data/lib/sdl3_vulkan.rb +46 -0
  64. metadata +118 -0
data/lib/sdl3_guid.rb ADDED
@@ -0,0 +1,44 @@
1
+ # Ruby-SDL3 : SDL3 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl3-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+
14
+ # Enum
15
+
16
+
17
+ # Typedef
18
+
19
+
20
+ # Struct
21
+
22
+ class GUID < FFI::Struct
23
+ layout(
24
+ :data, [:uchar, 16],
25
+ )
26
+ end
27
+
28
+
29
+ # Function
30
+
31
+ def self.setup_guid_symbols(output_error = false)
32
+ entries = [
33
+ [:GUIDToString, :SDL_GUIDToString, [GUID.by_value, :pointer, :int], :void],
34
+ [:StringToGUID, :SDL_StringToGUID, [:pointer], GUID.by_value],
35
+ ]
36
+ entries.each do |entry|
37
+ attach_function entry[0], entry[1], entry[2], entry[3]
38
+ rescue FFI::NotFoundError => e
39
+ warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
40
+ end
41
+ end
42
+
43
+ end
44
+
@@ -0,0 +1,209 @@
1
+ # Ruby-SDL3 : SDL3 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl3-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+ HAPTIC_CONSTANT = 1 << 0
14
+ HAPTIC_SINE = 1 << 1
15
+ HAPTIC_SQUARE = 1 << 2
16
+ HAPTIC_TRIANGLE = 1 << 3
17
+ HAPTIC_SAWTOOTHUP = 1 << 4
18
+ HAPTIC_SAWTOOTHDOWN = 1 << 5
19
+ HAPTIC_RAMP = 1 << 6
20
+ HAPTIC_SPRING = 1 << 7
21
+ HAPTIC_DAMPER = 1 << 8
22
+ HAPTIC_INERTIA = 1 << 9
23
+ HAPTIC_FRICTION = 1 << 10
24
+ HAPTIC_LEFTRIGHT = 1 << 11
25
+ HAPTIC_RESERVED1 = 1 << 12
26
+ HAPTIC_RESERVED2 = 1 << 13
27
+ HAPTIC_RESERVED3 = 1 << 14
28
+ HAPTIC_CUSTOM = 1 << 15
29
+ HAPTIC_GAIN = 1 << 16
30
+ HAPTIC_AUTOCENTER = 1 << 17
31
+ HAPTIC_STATUS = 1 << 18
32
+ HAPTIC_PAUSE = 1 << 19
33
+ HAPTIC_POLAR = 0
34
+ HAPTIC_CARTESIAN = 1
35
+ HAPTIC_SPHERICAL = 2
36
+ HAPTIC_STEERING_AXIS = 3
37
+ HAPTIC_INFINITY = 4294967295
38
+
39
+ # Enum
40
+
41
+
42
+ # Typedef
43
+
44
+ typedef :uint, :SDL_HapticID
45
+
46
+ # Struct
47
+
48
+ class HapticDirection < FFI::Struct
49
+ layout(
50
+ :type, :uchar,
51
+ :dir, [:int, 3],
52
+ )
53
+ end
54
+
55
+ class HapticConstant < FFI::Struct
56
+ layout(
57
+ :type, :ushort,
58
+ :direction, HapticDirection,
59
+ :length, :uint,
60
+ :delay, :ushort,
61
+ :button, :ushort,
62
+ :interval, :ushort,
63
+ :level, :short,
64
+ :attack_length, :ushort,
65
+ :attack_level, :ushort,
66
+ :fade_length, :ushort,
67
+ :fade_level, :ushort,
68
+ )
69
+ end
70
+
71
+ class HapticPeriodic < FFI::Struct
72
+ layout(
73
+ :type, :ushort,
74
+ :direction, HapticDirection,
75
+ :length, :uint,
76
+ :delay, :ushort,
77
+ :button, :ushort,
78
+ :interval, :ushort,
79
+ :period, :ushort,
80
+ :magnitude, :short,
81
+ :offset, :short,
82
+ :phase, :ushort,
83
+ :attack_length, :ushort,
84
+ :attack_level, :ushort,
85
+ :fade_length, :ushort,
86
+ :fade_level, :ushort,
87
+ )
88
+ end
89
+
90
+ class HapticCondition < FFI::Struct
91
+ layout(
92
+ :type, :ushort,
93
+ :direction, HapticDirection,
94
+ :length, :uint,
95
+ :delay, :ushort,
96
+ :button, :ushort,
97
+ :interval, :ushort,
98
+ :right_sat, [:ushort, 3],
99
+ :left_sat, [:ushort, 3],
100
+ :right_coeff, [:short, 3],
101
+ :left_coeff, [:short, 3],
102
+ :deadband, [:ushort, 3],
103
+ :center, [:short, 3],
104
+ )
105
+ end
106
+
107
+ class HapticRamp < FFI::Struct
108
+ layout(
109
+ :type, :ushort,
110
+ :direction, HapticDirection,
111
+ :length, :uint,
112
+ :delay, :ushort,
113
+ :button, :ushort,
114
+ :interval, :ushort,
115
+ :start, :short,
116
+ :end, :short,
117
+ :attack_length, :ushort,
118
+ :attack_level, :ushort,
119
+ :fade_length, :ushort,
120
+ :fade_level, :ushort,
121
+ )
122
+ end
123
+
124
+ class HapticLeftRight < FFI::Struct
125
+ layout(
126
+ :type, :ushort,
127
+ :length, :uint,
128
+ :large_magnitude, :ushort,
129
+ :small_magnitude, :ushort,
130
+ )
131
+ end
132
+
133
+ class HapticCustom < FFI::Struct
134
+ layout(
135
+ :type, :ushort,
136
+ :direction, HapticDirection,
137
+ :length, :uint,
138
+ :delay, :ushort,
139
+ :button, :ushort,
140
+ :interval, :ushort,
141
+ :channels, :uchar,
142
+ :period, :ushort,
143
+ :samples, :ushort,
144
+ :data, :pointer,
145
+ :attack_length, :ushort,
146
+ :attack_level, :ushort,
147
+ :fade_length, :ushort,
148
+ :fade_level, :ushort,
149
+ )
150
+ end
151
+
152
+ class HapticEffect < FFI::Union
153
+ layout(
154
+ :type, :ushort,
155
+ :constant, HapticConstant,
156
+ :periodic, HapticPeriodic,
157
+ :condition, HapticCondition,
158
+ :ramp, HapticRamp,
159
+ :leftright, HapticLeftRight,
160
+ :custom, HapticCustom,
161
+ )
162
+ end
163
+
164
+
165
+ # Function
166
+
167
+ def self.setup_haptic_symbols(output_error = false)
168
+ entries = [
169
+ [:GetHaptics, :SDL_GetHaptics, [:pointer], :pointer],
170
+ [:GetHapticNameForID, :SDL_GetHapticNameForID, [:uint], :pointer],
171
+ [:OpenHaptic, :SDL_OpenHaptic, [:uint], :pointer],
172
+ [:GetHapticFromID, :SDL_GetHapticFromID, [:uint], :pointer],
173
+ [:GetHapticID, :SDL_GetHapticID, [:pointer], :uint],
174
+ [:GetHapticName, :SDL_GetHapticName, [:pointer], :pointer],
175
+ [:IsMouseHaptic, :SDL_IsMouseHaptic, [], :bool],
176
+ [:OpenHapticFromMouse, :SDL_OpenHapticFromMouse, [], :pointer],
177
+ [:IsJoystickHaptic, :SDL_IsJoystickHaptic, [:pointer], :bool],
178
+ [:OpenHapticFromJoystick, :SDL_OpenHapticFromJoystick, [:pointer], :pointer],
179
+ [:CloseHaptic, :SDL_CloseHaptic, [:pointer], :void],
180
+ [:GetMaxHapticEffects, :SDL_GetMaxHapticEffects, [:pointer], :int],
181
+ [:GetMaxHapticEffectsPlaying, :SDL_GetMaxHapticEffectsPlaying, [:pointer], :int],
182
+ [:GetHapticFeatures, :SDL_GetHapticFeatures, [:pointer], :uint],
183
+ [:GetNumHapticAxes, :SDL_GetNumHapticAxes, [:pointer], :int],
184
+ [:HapticEffectSupported, :SDL_HapticEffectSupported, [:pointer, :pointer], :bool],
185
+ [:CreateHapticEffect, :SDL_CreateHapticEffect, [:pointer, :pointer], :int],
186
+ [:UpdateHapticEffect, :SDL_UpdateHapticEffect, [:pointer, :int, :pointer], :bool],
187
+ [:RunHapticEffect, :SDL_RunHapticEffect, [:pointer, :int, :uint], :bool],
188
+ [:StopHapticEffect, :SDL_StopHapticEffect, [:pointer, :int], :bool],
189
+ [:DestroyHapticEffect, :SDL_DestroyHapticEffect, [:pointer, :int], :void],
190
+ [:GetHapticEffectStatus, :SDL_GetHapticEffectStatus, [:pointer, :int], :bool],
191
+ [:SetHapticGain, :SDL_SetHapticGain, [:pointer, :int], :bool],
192
+ [:SetHapticAutocenter, :SDL_SetHapticAutocenter, [:pointer, :int], :bool],
193
+ [:PauseHaptic, :SDL_PauseHaptic, [:pointer], :bool],
194
+ [:ResumeHaptic, :SDL_ResumeHaptic, [:pointer], :bool],
195
+ [:StopHapticEffects, :SDL_StopHapticEffects, [:pointer], :bool],
196
+ [:HapticRumbleSupported, :SDL_HapticRumbleSupported, [:pointer], :bool],
197
+ [:InitHapticRumble, :SDL_InitHapticRumble, [:pointer], :bool],
198
+ [:PlayHapticRumble, :SDL_PlayHapticRumble, [:pointer, :float, :uint], :bool],
199
+ [:StopHapticRumble, :SDL_StopHapticRumble, [:pointer], :bool],
200
+ ]
201
+ entries.each do |entry|
202
+ attach_function entry[0], entry[1], entry[2], entry[3]
203
+ rescue FFI::NotFoundError => e
204
+ warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
205
+ end
206
+ end
207
+
208
+ end
209
+
@@ -0,0 +1,84 @@
1
+ # Ruby-SDL3 : SDL3 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl3-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+
14
+ # Enum
15
+
16
+ HID_API_BUS_UNKNOWN = 0
17
+ HID_API_BUS_USB = 1
18
+ HID_API_BUS_BLUETOOTH = 2
19
+ HID_API_BUS_I2C = 3
20
+ HID_API_BUS_SPI = 4
21
+
22
+ # Typedef
23
+
24
+ typedef :int, :SDL_hid_bus_type
25
+
26
+ # Struct
27
+
28
+ class Hid_device_info < FFI::Struct
29
+ layout(
30
+ :path, :pointer,
31
+ :vendor_id, :ushort,
32
+ :product_id, :ushort,
33
+ :serial_number, :pointer,
34
+ :release_number, :ushort,
35
+ :manufacturer_string, :pointer,
36
+ :product_string, :pointer,
37
+ :usage_page, :ushort,
38
+ :usage, :ushort,
39
+ :interface_number, :int,
40
+ :interface_class, :int,
41
+ :interface_subclass, :int,
42
+ :interface_protocol, :int,
43
+ :bus_type, :int,
44
+ :next, :pointer,
45
+ )
46
+ end
47
+
48
+
49
+ # Function
50
+
51
+ def self.setup_hidapi_symbols(output_error = false)
52
+ entries = [
53
+ [:hid_init, :SDL_hid_init, [], :int],
54
+ [:hid_exit, :SDL_hid_exit, [], :int],
55
+ [:hid_device_change_count, :SDL_hid_device_change_count, [], :uint],
56
+ [:hid_enumerate, :SDL_hid_enumerate, [:ushort, :ushort], :pointer],
57
+ [:hid_free_enumeration, :SDL_hid_free_enumeration, [:pointer], :void],
58
+ [:hid_open, :SDL_hid_open, [:ushort, :ushort, :pointer], :pointer],
59
+ [:hid_open_path, :SDL_hid_open_path, [:pointer], :pointer],
60
+ [:hid_write, :SDL_hid_write, [:pointer, :pointer, :ulong_long], :int],
61
+ [:hid_read_timeout, :SDL_hid_read_timeout, [:pointer, :pointer, :ulong_long, :int], :int],
62
+ [:hid_read, :SDL_hid_read, [:pointer, :pointer, :ulong_long], :int],
63
+ [:hid_set_nonblocking, :SDL_hid_set_nonblocking, [:pointer, :int], :int],
64
+ [:hid_send_feature_report, :SDL_hid_send_feature_report, [:pointer, :pointer, :ulong_long], :int],
65
+ [:hid_get_feature_report, :SDL_hid_get_feature_report, [:pointer, :pointer, :ulong_long], :int],
66
+ [:hid_get_input_report, :SDL_hid_get_input_report, [:pointer, :pointer, :ulong_long], :int],
67
+ [:hid_close, :SDL_hid_close, [:pointer], :int],
68
+ [:hid_get_manufacturer_string, :SDL_hid_get_manufacturer_string, [:pointer, :pointer, :ulong_long], :int],
69
+ [:hid_get_product_string, :SDL_hid_get_product_string, [:pointer, :pointer, :ulong_long], :int],
70
+ [:hid_get_serial_number_string, :SDL_hid_get_serial_number_string, [:pointer, :pointer, :ulong_long], :int],
71
+ [:hid_get_indexed_string, :SDL_hid_get_indexed_string, [:pointer, :int, :pointer, :ulong_long], :int],
72
+ [:hid_get_device_info, :SDL_hid_get_device_info, [:pointer], :pointer],
73
+ [:hid_get_report_descriptor, :SDL_hid_get_report_descriptor, [:pointer, :pointer, :ulong_long], :int],
74
+ [:hid_ble_scan, :SDL_hid_ble_scan, [:bool], :void],
75
+ ]
76
+ entries.each do |entry|
77
+ attach_function entry[0], entry[1], entry[2], entry[3]
78
+ rescue FFI::NotFoundError => e
79
+ warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
80
+ end
81
+ end
82
+
83
+ end
84
+
data/lib/sdl3_hints.rb ADDED
@@ -0,0 +1,285 @@
1
+ # Ruby-SDL3 : SDL3 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl3-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+ HINT_ALLOW_ALT_TAB_WHILE_GRABBED = "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
14
+ HINT_ANDROID_ALLOW_RECREATE_ACTIVITY = "SDL_ANDROID_ALLOW_RECREATE_ACTIVITY"
15
+ HINT_ANDROID_BLOCK_ON_PAUSE = "SDL_ANDROID_BLOCK_ON_PAUSE"
16
+ HINT_ANDROID_LOW_LATENCY_AUDIO = "SDL_ANDROID_LOW_LATENCY_AUDIO"
17
+ HINT_ANDROID_TRAP_BACK_BUTTON = "SDL_ANDROID_TRAP_BACK_BUTTON"
18
+ HINT_APP_ID = "SDL_APP_ID"
19
+ HINT_APP_NAME = "SDL_APP_NAME"
20
+ HINT_APPLE_TV_CONTROLLER_UI_EVENTS = "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
21
+ HINT_APPLE_TV_REMOTE_ALLOW_ROTATION = "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
22
+ HINT_AUDIO_ALSA_DEFAULT_DEVICE = "SDL_AUDIO_ALSA_DEFAULT_DEVICE"
23
+ HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE = "SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE"
24
+ HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE = "SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE"
25
+ HINT_AUDIO_CATEGORY = "SDL_AUDIO_CATEGORY"
26
+ HINT_AUDIO_CHANNELS = "SDL_AUDIO_CHANNELS"
27
+ HINT_AUDIO_DEVICE_APP_ICON_NAME = "SDL_AUDIO_DEVICE_APP_ICON_NAME"
28
+ HINT_AUDIO_DEVICE_SAMPLE_FRAMES = "SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
29
+ HINT_AUDIO_DEVICE_STREAM_NAME = "SDL_AUDIO_DEVICE_STREAM_NAME"
30
+ HINT_AUDIO_DEVICE_STREAM_ROLE = "SDL_AUDIO_DEVICE_STREAM_ROLE"
31
+ HINT_AUDIO_DISK_INPUT_FILE = "SDL_AUDIO_DISK_INPUT_FILE"
32
+ HINT_AUDIO_DISK_OUTPUT_FILE = "SDL_AUDIO_DISK_OUTPUT_FILE"
33
+ HINT_AUDIO_DISK_TIMESCALE = "SDL_AUDIO_DISK_TIMESCALE"
34
+ HINT_AUDIO_DRIVER = "SDL_AUDIO_DRIVER"
35
+ HINT_AUDIO_DUMMY_TIMESCALE = "SDL_AUDIO_DUMMY_TIMESCALE"
36
+ HINT_AUDIO_FORMAT = "SDL_AUDIO_FORMAT"
37
+ HINT_AUDIO_FREQUENCY = "SDL_AUDIO_FREQUENCY"
38
+ HINT_AUDIO_INCLUDE_MONITORS = "SDL_AUDIO_INCLUDE_MONITORS"
39
+ HINT_AUTO_UPDATE_JOYSTICKS = "SDL_AUTO_UPDATE_JOYSTICKS"
40
+ HINT_AUTO_UPDATE_SENSORS = "SDL_AUTO_UPDATE_SENSORS"
41
+ HINT_BMP_SAVE_LEGACY_FORMAT = "SDL_BMP_SAVE_LEGACY_FORMAT"
42
+ HINT_CAMERA_DRIVER = "SDL_CAMERA_DRIVER"
43
+ HINT_CPU_FEATURE_MASK = "SDL_CPU_FEATURE_MASK"
44
+ HINT_JOYSTICK_DIRECTINPUT = "SDL_JOYSTICK_DIRECTINPUT"
45
+ HINT_FILE_DIALOG_DRIVER = "SDL_FILE_DIALOG_DRIVER"
46
+ HINT_DISPLAY_USABLE_BOUNDS = "SDL_DISPLAY_USABLE_BOUNDS"
47
+ HINT_EMSCRIPTEN_ASYNCIFY = "SDL_EMSCRIPTEN_ASYNCIFY"
48
+ HINT_EMSCRIPTEN_CANVAS_SELECTOR = "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
49
+ HINT_EMSCRIPTEN_KEYBOARD_ELEMENT = "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
50
+ HINT_ENABLE_SCREEN_KEYBOARD = "SDL_ENABLE_SCREEN_KEYBOARD"
51
+ HINT_EVDEV_DEVICES = "SDL_EVDEV_DEVICES"
52
+ HINT_EVENT_LOGGING = "SDL_EVENT_LOGGING"
53
+ HINT_FORCE_RAISEWINDOW = "SDL_FORCE_RAISEWINDOW"
54
+ HINT_FRAMEBUFFER_ACCELERATION = "SDL_FRAMEBUFFER_ACCELERATION"
55
+ HINT_GAMECONTROLLERCONFIG = "SDL_GAMECONTROLLERCONFIG"
56
+ HINT_GAMECONTROLLERCONFIG_FILE = "SDL_GAMECONTROLLERCONFIG_FILE"
57
+ HINT_GAMECONTROLLERTYPE = "SDL_GAMECONTROLLERTYPE"
58
+ HINT_GAMECONTROLLER_IGNORE_DEVICES = "SDL_GAMECONTROLLER_IGNORE_DEVICES"
59
+ HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT = "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
60
+ HINT_GAMECONTROLLER_SENSOR_FUSION = "SDL_GAMECONTROLLER_SENSOR_FUSION"
61
+ HINT_GDK_TEXTINPUT_DEFAULT_TEXT = "SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
62
+ HINT_GDK_TEXTINPUT_DESCRIPTION = "SDL_GDK_TEXTINPUT_DESCRIPTION"
63
+ HINT_GDK_TEXTINPUT_MAX_LENGTH = "SDL_GDK_TEXTINPUT_MAX_LENGTH"
64
+ HINT_GDK_TEXTINPUT_SCOPE = "SDL_GDK_TEXTINPUT_SCOPE"
65
+ HINT_GDK_TEXTINPUT_TITLE = "SDL_GDK_TEXTINPUT_TITLE"
66
+ HINT_HIDAPI_LIBUSB = "SDL_HIDAPI_LIBUSB"
67
+ HINT_HIDAPI_LIBUSB_WHITELIST = "SDL_HIDAPI_LIBUSB_WHITELIST"
68
+ HINT_HIDAPI_UDEV = "SDL_HIDAPI_UDEV"
69
+ HINT_GPU_DRIVER = "SDL_GPU_DRIVER"
70
+ HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS = "SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
71
+ HINT_HIDAPI_IGNORE_DEVICES = "SDL_HIDAPI_IGNORE_DEVICES"
72
+ HINT_IME_IMPLEMENTED_UI = "SDL_IME_IMPLEMENTED_UI"
73
+ HINT_IOS_HIDE_HOME_INDICATOR = "SDL_IOS_HIDE_HOME_INDICATOR"
74
+ HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
75
+ HINT_JOYSTICK_ARCADESTICK_DEVICES = "SDL_JOYSTICK_ARCADESTICK_DEVICES"
76
+ HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED = "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
77
+ HINT_JOYSTICK_BLACKLIST_DEVICES = "SDL_JOYSTICK_BLACKLIST_DEVICES"
78
+ HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED = "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
79
+ HINT_JOYSTICK_DEVICE = "SDL_JOYSTICK_DEVICE"
80
+ HINT_JOYSTICK_ENHANCED_REPORTS = "SDL_JOYSTICK_ENHANCED_REPORTS"
81
+ HINT_JOYSTICK_FLIGHTSTICK_DEVICES = "SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
82
+ HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED = "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
83
+ HINT_JOYSTICK_GAMEINPUT = "SDL_JOYSTICK_GAMEINPUT"
84
+ HINT_JOYSTICK_GAMECUBE_DEVICES = "SDL_JOYSTICK_GAMECUBE_DEVICES"
85
+ HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED = "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
86
+ HINT_JOYSTICK_HIDAPI = "SDL_JOYSTICK_HIDAPI"
87
+ HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS = "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
88
+ HINT_JOYSTICK_HIDAPI_GAMECUBE = "SDL_JOYSTICK_HIDAPI_GAMECUBE"
89
+ HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE = "SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
90
+ HINT_JOYSTICK_HIDAPI_JOY_CONS = "SDL_JOYSTICK_HIDAPI_JOY_CONS"
91
+ HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED = "SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
92
+ HINT_JOYSTICK_HIDAPI_LUNA = "SDL_JOYSTICK_HIDAPI_LUNA"
93
+ HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC = "SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
94
+ HINT_JOYSTICK_HIDAPI_PS3 = "SDL_JOYSTICK_HIDAPI_PS3"
95
+ HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER = "SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
96
+ HINT_JOYSTICK_HIDAPI_PS4 = "SDL_JOYSTICK_HIDAPI_PS4"
97
+ HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL = "SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
98
+ HINT_JOYSTICK_HIDAPI_PS5 = "SDL_JOYSTICK_HIDAPI_PS5"
99
+ HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
100
+ HINT_JOYSTICK_HIDAPI_SHIELD = "SDL_JOYSTICK_HIDAPI_SHIELD"
101
+ HINT_JOYSTICK_HIDAPI_STADIA = "SDL_JOYSTICK_HIDAPI_STADIA"
102
+ HINT_JOYSTICK_HIDAPI_STEAM = "SDL_JOYSTICK_HIDAPI_STEAM"
103
+ HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED = "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
104
+ HINT_JOYSTICK_HIDAPI_STEAMDECK = "SDL_JOYSTICK_HIDAPI_STEAMDECK"
105
+ HINT_JOYSTICK_HIDAPI_STEAM_HORI = "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
106
+ HINT_JOYSTICK_HIDAPI_SWITCH = "SDL_JOYSTICK_HIDAPI_SWITCH"
107
+ HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
108
+ HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
109
+ HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS = "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
110
+ HINT_JOYSTICK_HIDAPI_WII = "SDL_JOYSTICK_HIDAPI_WII"
111
+ HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
112
+ HINT_JOYSTICK_HIDAPI_XBOX = "SDL_JOYSTICK_HIDAPI_XBOX"
113
+ HINT_JOYSTICK_HIDAPI_XBOX_360 = "SDL_JOYSTICK_HIDAPI_XBOX_360"
114
+ HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
115
+ HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS = "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
116
+ HINT_JOYSTICK_HIDAPI_XBOX_ONE = "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
117
+ HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED = "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
118
+ HINT_JOYSTICK_IOKIT = "SDL_JOYSTICK_IOKIT"
119
+ HINT_JOYSTICK_LINUX_CLASSIC = "SDL_JOYSTICK_LINUX_CLASSIC"
120
+ HINT_JOYSTICK_LINUX_DEADZONES = "SDL_JOYSTICK_LINUX_DEADZONES"
121
+ HINT_JOYSTICK_LINUX_DIGITAL_HATS = "SDL_JOYSTICK_LINUX_DIGITAL_HATS"
122
+ HINT_JOYSTICK_LINUX_HAT_DEADZONES = "SDL_JOYSTICK_LINUX_HAT_DEADZONES"
123
+ HINT_JOYSTICK_MFI = "SDL_JOYSTICK_MFI"
124
+ HINT_JOYSTICK_RAWINPUT = "SDL_JOYSTICK_RAWINPUT"
125
+ HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT = "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
126
+ HINT_JOYSTICK_ROG_CHAKRAM = "SDL_JOYSTICK_ROG_CHAKRAM"
127
+ HINT_JOYSTICK_THREAD = "SDL_JOYSTICK_THREAD"
128
+ HINT_JOYSTICK_THROTTLE_DEVICES = "SDL_JOYSTICK_THROTTLE_DEVICES"
129
+ HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED = "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
130
+ HINT_JOYSTICK_WGI = "SDL_JOYSTICK_WGI"
131
+ HINT_JOYSTICK_WHEEL_DEVICES = "SDL_JOYSTICK_WHEEL_DEVICES"
132
+ HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED = "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
133
+ HINT_JOYSTICK_ZERO_CENTERED_DEVICES = "SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
134
+ HINT_KEYCODE_OPTIONS = "SDL_KEYCODE_OPTIONS"
135
+ HINT_KMSDRM_DEVICE_INDEX = "SDL_KMSDRM_DEVICE_INDEX"
136
+ HINT_KMSDRM_REQUIRE_DRM_MASTER = "SDL_KMSDRM_REQUIRE_DRM_MASTER"
137
+ HINT_LOGGING = "SDL_LOGGING"
138
+ HINT_MAC_BACKGROUND_APP = "SDL_MAC_BACKGROUND_APP"
139
+ HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
140
+ HINT_MAC_OPENGL_ASYNC_DISPATCH = "SDL_MAC_OPENGL_ASYNC_DISPATCH"
141
+ HINT_MAC_OPTION_AS_ALT = "SDL_MAC_OPTION_AS_ALT"
142
+ HINT_MAC_SCROLL_MOMENTUM = "SDL_MAC_SCROLL_MOMENTUM"
143
+ HINT_MAIN_CALLBACK_RATE = "SDL_MAIN_CALLBACK_RATE"
144
+ HINT_MOUSE_AUTO_CAPTURE = "SDL_MOUSE_AUTO_CAPTURE"
145
+ HINT_MOUSE_DOUBLE_CLICK_RADIUS = "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
146
+ HINT_MOUSE_DOUBLE_CLICK_TIME = "SDL_MOUSE_DOUBLE_CLICK_TIME"
147
+ HINT_MOUSE_DEFAULT_SYSTEM_CURSOR = "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
148
+ HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE = "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
149
+ HINT_MOUSE_FOCUS_CLICKTHROUGH = "SDL_MOUSE_FOCUS_CLICKTHROUGH"
150
+ HINT_MOUSE_NORMAL_SPEED_SCALE = "SDL_MOUSE_NORMAL_SPEED_SCALE"
151
+ HINT_MOUSE_RELATIVE_MODE_CENTER = "SDL_MOUSE_RELATIVE_MODE_CENTER"
152
+ HINT_MOUSE_RELATIVE_SPEED_SCALE = "SDL_MOUSE_RELATIVE_SPEED_SCALE"
153
+ HINT_MOUSE_RELATIVE_SYSTEM_SCALE = "SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
154
+ HINT_MOUSE_RELATIVE_WARP_MOTION = "SDL_MOUSE_RELATIVE_WARP_MOTION"
155
+ HINT_MOUSE_RELATIVE_CURSOR_VISIBLE = "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
156
+ HINT_MOUSE_TOUCH_EVENTS = "SDL_MOUSE_TOUCH_EVENTS"
157
+ HINT_MUTE_CONSOLE_KEYBOARD = "SDL_MUTE_CONSOLE_KEYBOARD"
158
+ HINT_NO_SIGNAL_HANDLERS = "SDL_NO_SIGNAL_HANDLERS"
159
+ HINT_OPENGL_LIBRARY = "SDL_OPENGL_LIBRARY"
160
+ HINT_EGL_LIBRARY = "SDL_EGL_LIBRARY"
161
+ HINT_OPENGL_ES_DRIVER = "SDL_OPENGL_ES_DRIVER"
162
+ HINT_OPENVR_LIBRARY = "SDL_OPENVR_LIBRARY"
163
+ HINT_ORIENTATIONS = "SDL_ORIENTATIONS"
164
+ HINT_POLL_SENTINEL = "SDL_POLL_SENTINEL"
165
+ HINT_PREFERRED_LOCALES = "SDL_PREFERRED_LOCALES"
166
+ HINT_QUIT_ON_LAST_WINDOW_CLOSE = "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
167
+ HINT_RENDER_DIRECT3D_THREADSAFE = "SDL_RENDER_DIRECT3D_THREADSAFE"
168
+ HINT_RENDER_DIRECT3D11_DEBUG = "SDL_RENDER_DIRECT3D11_DEBUG"
169
+ HINT_RENDER_VULKAN_DEBUG = "SDL_RENDER_VULKAN_DEBUG"
170
+ HINT_RENDER_GPU_DEBUG = "SDL_RENDER_GPU_DEBUG"
171
+ HINT_RENDER_GPU_LOW_POWER = "SDL_RENDER_GPU_LOW_POWER"
172
+ HINT_RENDER_DRIVER = "SDL_RENDER_DRIVER"
173
+ HINT_RENDER_LINE_METHOD = "SDL_RENDER_LINE_METHOD"
174
+ HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE = "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
175
+ HINT_RENDER_VSYNC = "SDL_RENDER_VSYNC"
176
+ HINT_RETURN_KEY_HIDES_IME = "SDL_RETURN_KEY_HIDES_IME"
177
+ HINT_ROG_GAMEPAD_MICE = "SDL_ROG_GAMEPAD_MICE"
178
+ HINT_ROG_GAMEPAD_MICE_EXCLUDED = "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
179
+ HINT_RPI_VIDEO_LAYER = "SDL_RPI_VIDEO_LAYER"
180
+ HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME = "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
181
+ HINT_SHUTDOWN_DBUS_ON_QUIT = "SDL_SHUTDOWN_DBUS_ON_QUIT"
182
+ HINT_STORAGE_TITLE_DRIVER = "SDL_STORAGE_TITLE_DRIVER"
183
+ HINT_STORAGE_USER_DRIVER = "SDL_STORAGE_USER_DRIVER"
184
+ HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL = "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
185
+ HINT_THREAD_PRIORITY_POLICY = "SDL_THREAD_PRIORITY_POLICY"
186
+ HINT_TIMER_RESOLUTION = "SDL_TIMER_RESOLUTION"
187
+ HINT_TOUCH_MOUSE_EVENTS = "SDL_TOUCH_MOUSE_EVENTS"
188
+ HINT_TRACKPAD_IS_TOUCH_ONLY = "SDL_TRACKPAD_IS_TOUCH_ONLY"
189
+ HINT_TV_REMOTE_AS_JOYSTICK = "SDL_TV_REMOTE_AS_JOYSTICK"
190
+ HINT_VIDEO_ALLOW_SCREENSAVER = "SDL_VIDEO_ALLOW_SCREENSAVER"
191
+ HINT_VIDEO_DISPLAY_PRIORITY = "SDL_VIDEO_DISPLAY_PRIORITY"
192
+ HINT_VIDEO_DOUBLE_BUFFER = "SDL_VIDEO_DOUBLE_BUFFER"
193
+ HINT_VIDEO_DRIVER = "SDL_VIDEO_DRIVER"
194
+ HINT_VIDEO_DUMMY_SAVE_FRAMES = "SDL_VIDEO_DUMMY_SAVE_FRAMES"
195
+ HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK = "SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
196
+ HINT_VIDEO_FORCE_EGL = "SDL_VIDEO_FORCE_EGL"
197
+ HINT_VIDEO_MAC_FULLSCREEN_SPACES = "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
198
+ HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY = "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
199
+ HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
200
+ HINT_VIDEO_OFFSCREEN_SAVE_FRAMES = "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
201
+ HINT_VIDEO_SYNC_WINDOW_OPERATIONS = "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
202
+ HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR = "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
203
+ HINT_VIDEO_WAYLAND_MODE_EMULATION = "SDL_VIDEO_WAYLAND_MODE_EMULATION"
204
+ HINT_VIDEO_WAYLAND_MODE_SCALING = "SDL_VIDEO_WAYLAND_MODE_SCALING"
205
+ HINT_VIDEO_WAYLAND_PREFER_LIBDECOR = "SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
206
+ HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY = "SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
207
+ HINT_VIDEO_WIN_D3DCOMPILER = "SDL_VIDEO_WIN_D3DCOMPILER"
208
+ HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR = "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
209
+ HINT_VIDEO_X11_NET_WM_PING = "SDL_VIDEO_X11_NET_WM_PING"
210
+ HINT_VIDEO_X11_NODIRECTCOLOR = "SDL_VIDEO_X11_NODIRECTCOLOR"
211
+ HINT_VIDEO_X11_SCALING_FACTOR = "SDL_VIDEO_X11_SCALING_FACTOR"
212
+ HINT_VIDEO_X11_VISUALID = "SDL_VIDEO_X11_VISUALID"
213
+ HINT_VIDEO_X11_WINDOW_VISUALID = "SDL_VIDEO_X11_WINDOW_VISUALID"
214
+ HINT_VIDEO_X11_XRANDR = "SDL_VIDEO_X11_XRANDR"
215
+ HINT_VITA_ENABLE_BACK_TOUCH = "SDL_VITA_ENABLE_BACK_TOUCH"
216
+ HINT_VITA_ENABLE_FRONT_TOUCH = "SDL_VITA_ENABLE_FRONT_TOUCH"
217
+ HINT_VITA_MODULE_PATH = "SDL_VITA_MODULE_PATH"
218
+ HINT_VITA_PVR_INIT = "SDL_VITA_PVR_INIT"
219
+ HINT_VITA_RESOLUTION = "SDL_VITA_RESOLUTION"
220
+ HINT_VITA_PVR_OPENGL = "SDL_VITA_PVR_OPENGL"
221
+ HINT_VITA_TOUCH_MOUSE_DEVICE = "SDL_VITA_TOUCH_MOUSE_DEVICE"
222
+ HINT_VULKAN_DISPLAY = "SDL_VULKAN_DISPLAY"
223
+ HINT_VULKAN_LIBRARY = "SDL_VULKAN_LIBRARY"
224
+ HINT_WAVE_FACT_CHUNK = "SDL_WAVE_FACT_CHUNK"
225
+ HINT_WAVE_CHUNK_LIMIT = "SDL_WAVE_CHUNK_LIMIT"
226
+ HINT_WAVE_RIFF_CHUNK_SIZE = "SDL_WAVE_RIFF_CHUNK_SIZE"
227
+ HINT_WAVE_TRUNCATION = "SDL_WAVE_TRUNCATION"
228
+ HINT_WINDOW_ACTIVATE_WHEN_RAISED = "SDL_WINDOW_ACTIVATE_WHEN_RAISED"
229
+ HINT_WINDOW_ACTIVATE_WHEN_SHOWN = "SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
230
+ HINT_WINDOW_ALLOW_TOPMOST = "SDL_WINDOW_ALLOW_TOPMOST"
231
+ HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN = "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
232
+ HINT_WINDOWS_CLOSE_ON_ALT_F4 = "SDL_WINDOWS_CLOSE_ON_ALT_F4"
233
+ HINT_WINDOWS_ENABLE_MENU_MNEMONICS = "SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
234
+ HINT_WINDOWS_ENABLE_MESSAGELOOP = "SDL_WINDOWS_ENABLE_MESSAGELOOP"
235
+ HINT_WINDOWS_GAMEINPUT = "SDL_WINDOWS_GAMEINPUT"
236
+ HINT_WINDOWS_RAW_KEYBOARD = "SDL_WINDOWS_RAW_KEYBOARD"
237
+ HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL = "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
238
+ HINT_WINDOWS_INTRESOURCE_ICON = "SDL_WINDOWS_INTRESOURCE_ICON"
239
+ HINT_WINDOWS_INTRESOURCE_ICON_SMALL = "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
240
+ HINT_WINDOWS_USE_D3D9EX = "SDL_WINDOWS_USE_D3D9EX"
241
+ HINT_WINDOWS_ERASE_BACKGROUND_MODE = "SDL_WINDOWS_ERASE_BACKGROUND_MODE"
242
+ HINT_X11_FORCE_OVERRIDE_REDIRECT = "SDL_X11_FORCE_OVERRIDE_REDIRECT"
243
+ HINT_X11_WINDOW_TYPE = "SDL_X11_WINDOW_TYPE"
244
+ HINT_X11_XCB_LIBRARY = "SDL_X11_XCB_LIBRARY"
245
+ HINT_XINPUT_ENABLED = "SDL_XINPUT_ENABLED"
246
+ HINT_ASSERT = "SDL_ASSERT"
247
+ HINT_PEN_MOUSE_EVENTS = "SDL_PEN_MOUSE_EVENTS"
248
+ HINT_PEN_TOUCH_EVENTS = "SDL_PEN_TOUCH_EVENTS"
249
+
250
+ # Enum
251
+
252
+ HINT_DEFAULT = 0
253
+ HINT_NORMAL = 1
254
+ HINT_OVERRIDE = 2
255
+
256
+ # Typedef
257
+
258
+ typedef :int, :SDL_HintPriority
259
+ callback :SDL_HintCallback, [:pointer, :pointer, :pointer, :pointer], :void
260
+
261
+ # Struct
262
+
263
+
264
+ # Function
265
+
266
+ def self.setup_hints_symbols(output_error = false)
267
+ entries = [
268
+ [:SetHintWithPriority, :SDL_SetHintWithPriority, [:pointer, :pointer, :int], :bool],
269
+ [:SetHint, :SDL_SetHint, [:pointer, :pointer], :bool],
270
+ [:ResetHint, :SDL_ResetHint, [:pointer], :bool],
271
+ [:ResetHints, :SDL_ResetHints, [], :void],
272
+ [:GetHint, :SDL_GetHint, [:pointer], :pointer],
273
+ [:GetHintBoolean, :SDL_GetHintBoolean, [:pointer, :bool], :bool],
274
+ [:AddHintCallback, :SDL_AddHintCallback, [:pointer, :SDL_HintCallback, :pointer], :bool],
275
+ [:RemoveHintCallback, :SDL_RemoveHintCallback, [:pointer, :SDL_HintCallback, :pointer], :void],
276
+ ]
277
+ entries.each do |entry|
278
+ attach_function entry[0], entry[1], entry[2], entry[3]
279
+ rescue FFI::NotFoundError => e
280
+ warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
281
+ end
282
+ end
283
+
284
+ end
285
+