sdl2-bindings 0.0.9 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog +12 -0
- data/README.md +39 -26
- data/lib/sdl2.rb +54 -99
- data/lib/sdl2_audio.rb +59 -20
- data/lib/sdl2_blendmode.rb +28 -25
- data/lib/sdl2_clipboard.rb +9 -4
- data/lib/sdl2_cpuinfo.rb +28 -5
- data/lib/sdl2_error.rb +17 -10
- data/lib/sdl2_events.rb +150 -131
- data/lib/sdl2_filesystem.rb +8 -4
- data/lib/sdl2_framerate.rb +11 -4
- data/lib/sdl2_gamecontroller.rb +112 -57
- data/lib/sdl2_gesture.rb +10 -4
- data/lib/sdl2_gfxPrimitives.rb +65 -4
- data/lib/sdl2_haptic.rb +76 -44
- data/lib/sdl2_hidapi.rb +26 -5
- data/lib/sdl2_hints.rb +146 -137
- data/lib/sdl2_image.rb +54 -7
- data/lib/sdl2_imageFilter.rb +36 -4
- data/lib/sdl2_joystick.rb +93 -38
- data/lib/sdl2_keyboard.rb +23 -5
- data/lib/sdl2_keycode.rb +6 -4
- data/lib/sdl2_log.rb +48 -32
- data/lib/sdl2_main.rb +21 -14
- data/lib/sdl2_messagebox.rb +26 -22
- data/lib/sdl2_misc.rb +7 -4
- data/lib/sdl2_mixer.rb +86 -11
- data/lib/sdl2_mouse.rb +44 -25
- data/lib/sdl2_pixels.rb +115 -99
- data/lib/sdl2_platform.rb +7 -4
- data/lib/sdl2_power.rb +12 -9
- data/lib/sdl2_rect.rb +18 -11
- data/lib/sdl2_render.rb +107 -25
- data/lib/sdl2_rotozoom.rb +14 -4
- data/lib/sdl2_rwops.rb +58 -28
- data/lib/sdl2_scancode.rb +250 -248
- data/lib/sdl2_sensor.rb +27 -9
- data/lib/sdl2_shape.rb +17 -11
- data/lib/sdl2_stdinc.rb +135 -10
- data/lib/sdl2_surface.rb +56 -15
- data/lib/sdl2_syswm.rb +47 -44
- data/lib/sdl2_timer.rb +13 -4
- data/lib/sdl2_touch.rb +18 -11
- data/lib/sdl2_ttf.rb +180 -25
- data/lib/sdl2_version.rb +13 -8
- data/lib/sdl2_video.rb +204 -110
- data/lib/sdl2_vulkan.rb +12 -4
- metadata +17 -3
data/lib/sdl2_hints.rb
CHANGED
@@ -6,146 +6,146 @@
|
|
6
6
|
|
7
7
|
require 'ffi'
|
8
8
|
|
9
|
-
module
|
9
|
+
module SDL
|
10
10
|
extend FFI::Library
|
11
11
|
# Define/Macro
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
13
|
+
HINT_ACCELEROMETER_AS_JOYSTICK = "SDL_ACCELEROMETER_AS_JOYSTICK"
|
14
|
+
HINT_ALLOW_ALT_TAB_WHILE_GRABBED = "SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
|
15
|
+
HINT_ALLOW_TOPMOST = "SDL_ALLOW_TOPMOST"
|
16
|
+
HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION = "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"
|
17
|
+
HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION = "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"
|
18
|
+
HINT_ANDROID_BLOCK_ON_PAUSE = "SDL_ANDROID_BLOCK_ON_PAUSE"
|
19
|
+
HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO = "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO"
|
20
|
+
HINT_ANDROID_TRAP_BACK_BUTTON = "SDL_ANDROID_TRAP_BACK_BUTTON"
|
21
|
+
HINT_APP_NAME = "SDL_APP_NAME"
|
22
|
+
HINT_APPLE_TV_CONTROLLER_UI_EVENTS = "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"
|
23
|
+
HINT_APPLE_TV_REMOTE_ALLOW_ROTATION = "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"
|
24
|
+
HINT_AUDIO_CATEGORY = "SDL_AUDIO_CATEGORY"
|
25
|
+
HINT_AUDIO_DEVICE_APP_NAME = "SDL_AUDIO_DEVICE_APP_NAME"
|
26
|
+
HINT_AUDIO_DEVICE_STREAM_NAME = "SDL_AUDIO_DEVICE_STREAM_NAME"
|
27
|
+
HINT_AUDIO_DEVICE_STREAM_ROLE = "SDL_AUDIO_DEVICE_STREAM_ROLE"
|
28
|
+
HINT_AUDIO_RESAMPLING_MODE = "SDL_AUDIO_RESAMPLING_MODE"
|
29
|
+
HINT_AUTO_UPDATE_JOYSTICKS = "SDL_AUTO_UPDATE_JOYSTICKS"
|
30
|
+
HINT_AUTO_UPDATE_SENSORS = "SDL_AUTO_UPDATE_SENSORS"
|
31
|
+
HINT_BMP_SAVE_LEGACY_FORMAT = "SDL_BMP_SAVE_LEGACY_FORMAT"
|
32
|
+
HINT_DISPLAY_USABLE_BOUNDS = "SDL_DISPLAY_USABLE_BOUNDS"
|
33
|
+
HINT_EMSCRIPTEN_ASYNCIFY = "SDL_EMSCRIPTEN_ASYNCIFY"
|
34
|
+
HINT_EMSCRIPTEN_KEYBOARD_ELEMENT = "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
|
35
|
+
HINT_ENABLE_STEAM_CONTROLLERS = "SDL_ENABLE_STEAM_CONTROLLERS"
|
36
|
+
HINT_EVENT_LOGGING = "SDL_EVENT_LOGGING"
|
37
|
+
HINT_FRAMEBUFFER_ACCELERATION = "SDL_FRAMEBUFFER_ACCELERATION"
|
38
|
+
HINT_GAMECONTROLLERCONFIG = "SDL_GAMECONTROLLERCONFIG"
|
39
|
+
HINT_GAMECONTROLLERCONFIG_FILE = "SDL_GAMECONTROLLERCONFIG_FILE"
|
40
|
+
HINT_GAMECONTROLLERTYPE = "SDL_GAMECONTROLLERTYPE"
|
41
|
+
HINT_GAMECONTROLLER_IGNORE_DEVICES = "SDL_GAMECONTROLLER_IGNORE_DEVICES"
|
42
|
+
HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT = "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
|
43
|
+
HINT_GAMECONTROLLER_USE_BUTTON_LABELS = "SDL_GAMECONTROLLER_USE_BUTTON_LABELS"
|
44
|
+
HINT_GRAB_KEYBOARD = "SDL_GRAB_KEYBOARD"
|
45
|
+
HINT_IDLE_TIMER_DISABLED = "SDL_IOS_IDLE_TIMER_DISABLED"
|
46
|
+
HINT_IME_INTERNAL_EDITING = "SDL_IME_INTERNAL_EDITING"
|
47
|
+
HINT_IME_SHOW_UI = "SDL_IME_SHOW_UI"
|
48
|
+
HINT_IOS_HIDE_HOME_INDICATOR = "SDL_IOS_HIDE_HOME_INDICATOR"
|
49
|
+
HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
|
50
|
+
HINT_JOYSTICK_HIDAPI = "SDL_JOYSTICK_HIDAPI"
|
51
|
+
HINT_JOYSTICK_HIDAPI_GAMECUBE = "SDL_JOYSTICK_HIDAPI_GAMECUBE"
|
52
|
+
HINT_JOYSTICK_HIDAPI_JOY_CONS = "SDL_JOYSTICK_HIDAPI_JOY_CONS"
|
53
|
+
HINT_JOYSTICK_HIDAPI_LUNA = "SDL_JOYSTICK_HIDAPI_LUNA"
|
54
|
+
HINT_JOYSTICK_HIDAPI_PS4 = "SDL_JOYSTICK_HIDAPI_PS4"
|
55
|
+
HINT_JOYSTICK_HIDAPI_PS4_RUMBLE = "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"
|
56
|
+
HINT_JOYSTICK_HIDAPI_PS5 = "SDL_JOYSTICK_HIDAPI_PS5"
|
57
|
+
HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
|
58
|
+
HINT_JOYSTICK_HIDAPI_PS5_RUMBLE = "SDL_JOYSTICK_HIDAPI_PS5_RUMBLE"
|
59
|
+
HINT_JOYSTICK_HIDAPI_STADIA = "SDL_JOYSTICK_HIDAPI_STADIA"
|
60
|
+
HINT_JOYSTICK_HIDAPI_STEAM = "SDL_JOYSTICK_HIDAPI_STEAM"
|
61
|
+
HINT_JOYSTICK_HIDAPI_SWITCH = "SDL_JOYSTICK_HIDAPI_SWITCH"
|
62
|
+
HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
|
63
|
+
HINT_JOYSTICK_HIDAPI_XBOX = "SDL_JOYSTICK_HIDAPI_XBOX"
|
64
|
+
HINT_JOYSTICK_RAWINPUT = "SDL_JOYSTICK_RAWINPUT"
|
65
|
+
HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT = "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
|
66
|
+
HINT_JOYSTICK_THREAD = "SDL_JOYSTICK_THREAD"
|
67
|
+
HINT_KMSDRM_REQUIRE_DRM_MASTER = "SDL_KMSDRM_REQUIRE_DRM_MASTER"
|
68
|
+
HINT_JOYSTICK_DEVICE = "SDL_JOYSTICK_DEVICE"
|
69
|
+
HINT_LINUX_JOYSTICK_CLASSIC = "SDL_LINUX_JOYSTICK_CLASSIC"
|
70
|
+
HINT_LINUX_JOYSTICK_DEADZONES = "SDL_LINUX_JOYSTICK_DEADZONES"
|
71
|
+
HINT_MAC_BACKGROUND_APP = "SDL_MAC_BACKGROUND_APP"
|
72
|
+
HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
|
73
|
+
HINT_MOUSE_DOUBLE_CLICK_RADIUS = "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
|
74
|
+
HINT_MOUSE_DOUBLE_CLICK_TIME = "SDL_MOUSE_DOUBLE_CLICK_TIME"
|
75
|
+
HINT_MOUSE_FOCUS_CLICKTHROUGH = "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
76
|
+
HINT_MOUSE_NORMAL_SPEED_SCALE = "SDL_MOUSE_NORMAL_SPEED_SCALE"
|
77
|
+
HINT_MOUSE_RELATIVE_MODE_WARP = "SDL_MOUSE_RELATIVE_MODE_WARP"
|
78
|
+
HINT_MOUSE_RELATIVE_SCALING = "SDL_MOUSE_RELATIVE_SCALING"
|
79
|
+
HINT_MOUSE_RELATIVE_SPEED_SCALE = "SDL_MOUSE_RELATIVE_SPEED_SCALE"
|
80
|
+
HINT_MOUSE_TOUCH_EVENTS = "SDL_MOUSE_TOUCH_EVENTS"
|
81
|
+
HINT_NO_SIGNAL_HANDLERS = "SDL_NO_SIGNAL_HANDLERS"
|
82
|
+
HINT_OPENGL_ES_DRIVER = "SDL_OPENGL_ES_DRIVER"
|
83
|
+
HINT_ORIENTATIONS = "SDL_IOS_ORIENTATIONS"
|
84
|
+
HINT_POLL_SENTINEL = "SDL_POLL_SENTINEL"
|
85
|
+
HINT_PREFERRED_LOCALES = "SDL_PREFERRED_LOCALES"
|
86
|
+
HINT_QTWAYLAND_CONTENT_ORIENTATION = "SDL_QTWAYLAND_CONTENT_ORIENTATION"
|
87
|
+
HINT_QTWAYLAND_WINDOW_FLAGS = "SDL_QTWAYLAND_WINDOW_FLAGS"
|
88
|
+
HINT_RENDER_BATCHING = "SDL_RENDER_BATCHING"
|
89
|
+
HINT_RENDER_LINE_METHOD = "SDL_RENDER_LINE_METHOD"
|
90
|
+
HINT_RENDER_DIRECT3D11_DEBUG = "SDL_RENDER_DIRECT3D11_DEBUG"
|
91
|
+
HINT_RENDER_DIRECT3D_THREADSAFE = "SDL_RENDER_DIRECT3D_THREADSAFE"
|
92
|
+
HINT_RENDER_DRIVER = "SDL_RENDER_DRIVER"
|
93
|
+
HINT_RENDER_LOGICAL_SIZE_MODE = "SDL_RENDER_LOGICAL_SIZE_MODE"
|
94
|
+
HINT_RENDER_OPENGL_SHADERS = "SDL_RENDER_OPENGL_SHADERS"
|
95
|
+
HINT_RENDER_SCALE_QUALITY = "SDL_RENDER_SCALE_QUALITY"
|
96
|
+
HINT_RENDER_VSYNC = "SDL_RENDER_VSYNC"
|
97
|
+
HINT_RETURN_KEY_HIDES_IME = "SDL_RETURN_KEY_HIDES_IME"
|
98
|
+
HINT_RPI_VIDEO_LAYER = "SDL_RPI_VIDEO_LAYER"
|
99
|
+
HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME = "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
|
100
|
+
HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL = "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
|
101
|
+
HINT_THREAD_PRIORITY_POLICY = "SDL_THREAD_PRIORITY_POLICY"
|
102
|
+
HINT_THREAD_STACK_SIZE = "SDL_THREAD_STACK_SIZE"
|
103
|
+
HINT_TIMER_RESOLUTION = "SDL_TIMER_RESOLUTION"
|
104
|
+
HINT_TOUCH_MOUSE_EVENTS = "SDL_TOUCH_MOUSE_EVENTS"
|
105
|
+
HINT_TV_REMOTE_AS_JOYSTICK = "SDL_TV_REMOTE_AS_JOYSTICK"
|
106
|
+
HINT_VIDEO_ALLOW_SCREENSAVER = "SDL_VIDEO_ALLOW_SCREENSAVER"
|
107
|
+
HINT_VIDEO_DOUBLE_BUFFER = "SDL_VIDEO_DOUBLE_BUFFER"
|
108
|
+
HINT_VIDEO_EGL_ALLOW_TRANSPARENCY = "SDL_VIDEO_EGL_ALLOW_TRANSPARENCY"
|
109
|
+
HINT_VIDEO_EXTERNAL_CONTEXT = "SDL_VIDEO_EXTERNAL_CONTEXT"
|
110
|
+
HINT_VIDEO_HIGHDPI_DISABLED = "SDL_VIDEO_HIGHDPI_DISABLED"
|
111
|
+
HINT_VIDEO_MAC_FULLSCREEN_SPACES = "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
|
112
|
+
HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
|
113
|
+
HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR = "SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
|
114
|
+
HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT = "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"
|
115
|
+
HINT_VIDEO_WIN_D3DCOMPILER = "SDL_VIDEO_WIN_D3DCOMPILER"
|
116
|
+
HINT_VIDEO_X11_FORCE_EGL = "SDL_VIDEO_X11_FORCE_EGL"
|
117
|
+
HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR = "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
|
118
|
+
HINT_VIDEO_X11_NET_WM_PING = "SDL_VIDEO_X11_NET_WM_PING"
|
119
|
+
HINT_VIDEO_X11_WINDOW_VISUALID = "SDL_VIDEO_X11_WINDOW_VISUALID"
|
120
|
+
HINT_VIDEO_X11_XINERAMA = "SDL_VIDEO_X11_XINERAMA"
|
121
|
+
HINT_VIDEO_X11_XRANDR = "SDL_VIDEO_X11_XRANDR"
|
122
|
+
HINT_VIDEO_X11_XVIDMODE = "SDL_VIDEO_X11_XVIDMODE"
|
123
|
+
HINT_WAVE_FACT_CHUNK = "SDL_WAVE_FACT_CHUNK"
|
124
|
+
HINT_WAVE_RIFF_CHUNK_SIZE = "SDL_WAVE_RIFF_CHUNK_SIZE"
|
125
|
+
HINT_WAVE_TRUNCATION = "SDL_WAVE_TRUNCATION"
|
126
|
+
HINT_WINDOWS_DISABLE_THREAD_NAMING = "SDL_WINDOWS_DISABLE_THREAD_NAMING"
|
127
|
+
HINT_WINDOWS_ENABLE_MESSAGELOOP = "SDL_WINDOWS_ENABLE_MESSAGELOOP"
|
128
|
+
HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS = "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS"
|
129
|
+
HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL = "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
130
|
+
HINT_WINDOWS_INTRESOURCE_ICON = "SDL_WINDOWS_INTRESOURCE_ICON"
|
131
|
+
HINT_WINDOWS_INTRESOURCE_ICON_SMALL = "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
|
132
|
+
HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 = "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"
|
133
|
+
HINT_WINDOWS_USE_D3D9EX = "SDL_WINDOWS_USE_D3D9EX"
|
134
|
+
HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN = "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
|
135
|
+
HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN = "SDL_WINDOW_NO_ACTIVATION_WHEN_SHOWN"
|
136
|
+
HINT_WINRT_HANDLE_BACK_BUTTON = "SDL_WINRT_HANDLE_BACK_BUTTON"
|
137
|
+
HINT_WINRT_PRIVACY_POLICY_LABEL = "SDL_WINRT_PRIVACY_POLICY_LABEL"
|
138
|
+
HINT_WINRT_PRIVACY_POLICY_URL = "SDL_WINRT_PRIVACY_POLICY_URL"
|
139
|
+
HINT_X11_FORCE_OVERRIDE_REDIRECT = "SDL_X11_FORCE_OVERRIDE_REDIRECT"
|
140
|
+
HINT_XINPUT_ENABLED = "SDL_XINPUT_ENABLED"
|
141
|
+
HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING = "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"
|
142
|
+
HINT_AUDIO_INCLUDE_MONITORS = "SDL_AUDIO_INCLUDE_MONITORS"
|
143
143
|
|
144
144
|
# Enum
|
145
145
|
|
146
|
-
|
147
|
-
|
148
|
-
|
146
|
+
HINT_DEFAULT = 0
|
147
|
+
HINT_NORMAL = 1
|
148
|
+
HINT_OVERRIDE = 2
|
149
149
|
|
150
150
|
# Typedef
|
151
151
|
|
@@ -157,7 +157,7 @@ module SDL2
|
|
157
157
|
|
158
158
|
# Function
|
159
159
|
|
160
|
-
def self.setup_hints_symbols()
|
160
|
+
def self.setup_hints_symbols(output_error = false)
|
161
161
|
symbols = [
|
162
162
|
:SDL_SetHintWithPriority,
|
163
163
|
:SDL_SetHint,
|
@@ -167,6 +167,15 @@ module SDL2
|
|
167
167
|
:SDL_DelHintCallback,
|
168
168
|
:SDL_ClearHints,
|
169
169
|
]
|
170
|
+
apis = {
|
171
|
+
:SDL_SetHintWithPriority => :SetHintWithPriority,
|
172
|
+
:SDL_SetHint => :SetHint,
|
173
|
+
:SDL_GetHint => :GetHint,
|
174
|
+
:SDL_GetHintBoolean => :GetHintBoolean,
|
175
|
+
:SDL_AddHintCallback => :AddHintCallback,
|
176
|
+
:SDL_DelHintCallback => :DelHintCallback,
|
177
|
+
:SDL_ClearHints => :ClearHints,
|
178
|
+
}
|
170
179
|
args = {
|
171
180
|
:SDL_SetHintWithPriority => [:pointer, :pointer, :int],
|
172
181
|
:SDL_SetHint => [:pointer, :pointer],
|
@@ -187,9 +196,9 @@ module SDL2
|
|
187
196
|
}
|
188
197
|
symbols.each do |sym|
|
189
198
|
begin
|
190
|
-
attach_function sym, args[sym], retvals[sym]
|
199
|
+
attach_function apis[sym], sym, args[sym], retvals[sym]
|
191
200
|
rescue FFI::NotFoundError => error
|
192
|
-
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
|
201
|
+
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
|
193
202
|
end
|
194
203
|
end
|
195
204
|
end
|
data/lib/sdl2_image.rb
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
|
7
7
|
require 'ffi'
|
8
8
|
|
9
|
-
module
|
9
|
+
module SDL
|
10
10
|
extend FFI::Library
|
11
11
|
# Define/Macro
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
IMAGE_MAJOR_VERSION = 2
|
14
|
+
IMAGE_MINOR_VERSION = 0
|
15
|
+
IMAGE_PATCHLEVEL = 5
|
16
16
|
|
17
17
|
# Enum
|
18
18
|
|
@@ -30,7 +30,7 @@ module SDL2
|
|
30
30
|
|
31
31
|
# Function
|
32
32
|
|
33
|
-
def self.setup_image_symbols()
|
33
|
+
def self.setup_image_symbols(output_error = false)
|
34
34
|
symbols = [
|
35
35
|
:IMG_Linked_Version,
|
36
36
|
:IMG_Init,
|
@@ -78,6 +78,53 @@ module SDL2
|
|
78
78
|
:IMG_SaveJPG,
|
79
79
|
:IMG_SaveJPG_RW,
|
80
80
|
]
|
81
|
+
apis = {
|
82
|
+
:IMG_Linked_Version => :IMG_Linked_Version,
|
83
|
+
:IMG_Init => :IMG_Init,
|
84
|
+
:IMG_Quit => :IMG_Quit,
|
85
|
+
:IMG_LoadTyped_RW => :IMG_LoadTyped_RW,
|
86
|
+
:IMG_Load => :IMG_Load,
|
87
|
+
:IMG_Load_RW => :IMG_Load_RW,
|
88
|
+
:IMG_LoadTexture => :IMG_LoadTexture,
|
89
|
+
:IMG_LoadTexture_RW => :IMG_LoadTexture_RW,
|
90
|
+
:IMG_LoadTextureTyped_RW => :IMG_LoadTextureTyped_RW,
|
91
|
+
:IMG_isICO => :IMG_isICO,
|
92
|
+
:IMG_isCUR => :IMG_isCUR,
|
93
|
+
:IMG_isBMP => :IMG_isBMP,
|
94
|
+
:IMG_isGIF => :IMG_isGIF,
|
95
|
+
:IMG_isJPG => :IMG_isJPG,
|
96
|
+
:IMG_isLBM => :IMG_isLBM,
|
97
|
+
:IMG_isPCX => :IMG_isPCX,
|
98
|
+
:IMG_isPNG => :IMG_isPNG,
|
99
|
+
:IMG_isPNM => :IMG_isPNM,
|
100
|
+
:IMG_isSVG => :IMG_isSVG,
|
101
|
+
:IMG_isTIF => :IMG_isTIF,
|
102
|
+
:IMG_isXCF => :IMG_isXCF,
|
103
|
+
:IMG_isXPM => :IMG_isXPM,
|
104
|
+
:IMG_isXV => :IMG_isXV,
|
105
|
+
:IMG_isWEBP => :IMG_isWEBP,
|
106
|
+
:IMG_LoadICO_RW => :IMG_LoadICO_RW,
|
107
|
+
:IMG_LoadCUR_RW => :IMG_LoadCUR_RW,
|
108
|
+
:IMG_LoadBMP_RW => :IMG_LoadBMP_RW,
|
109
|
+
:IMG_LoadGIF_RW => :IMG_LoadGIF_RW,
|
110
|
+
:IMG_LoadJPG_RW => :IMG_LoadJPG_RW,
|
111
|
+
:IMG_LoadLBM_RW => :IMG_LoadLBM_RW,
|
112
|
+
:IMG_LoadPCX_RW => :IMG_LoadPCX_RW,
|
113
|
+
:IMG_LoadPNG_RW => :IMG_LoadPNG_RW,
|
114
|
+
:IMG_LoadPNM_RW => :IMG_LoadPNM_RW,
|
115
|
+
:IMG_LoadSVG_RW => :IMG_LoadSVG_RW,
|
116
|
+
:IMG_LoadTGA_RW => :IMG_LoadTGA_RW,
|
117
|
+
:IMG_LoadTIF_RW => :IMG_LoadTIF_RW,
|
118
|
+
:IMG_LoadXCF_RW => :IMG_LoadXCF_RW,
|
119
|
+
:IMG_LoadXPM_RW => :IMG_LoadXPM_RW,
|
120
|
+
:IMG_LoadXV_RW => :IMG_LoadXV_RW,
|
121
|
+
:IMG_LoadWEBP_RW => :IMG_LoadWEBP_RW,
|
122
|
+
:IMG_ReadXPMFromArray => :IMG_ReadXPMFromArray,
|
123
|
+
:IMG_SavePNG => :IMG_SavePNG,
|
124
|
+
:IMG_SavePNG_RW => :IMG_SavePNG_RW,
|
125
|
+
:IMG_SaveJPG => :IMG_SaveJPG,
|
126
|
+
:IMG_SaveJPG_RW => :IMG_SaveJPG_RW,
|
127
|
+
}
|
81
128
|
args = {
|
82
129
|
:IMG_Linked_Version => [],
|
83
130
|
:IMG_Init => [:int],
|
@@ -174,9 +221,9 @@ module SDL2
|
|
174
221
|
}
|
175
222
|
symbols.each do |sym|
|
176
223
|
begin
|
177
|
-
attach_function sym, args[sym], retvals[sym]
|
224
|
+
attach_function apis[sym], sym, args[sym], retvals[sym]
|
178
225
|
rescue FFI::NotFoundError => error
|
179
|
-
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
|
226
|
+
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
|
180
227
|
end
|
181
228
|
end
|
182
229
|
end
|
data/lib/sdl2_imageFilter.rb
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
require 'ffi'
|
8
8
|
|
9
|
-
module
|
9
|
+
module SDL
|
10
10
|
extend FFI::Library
|
11
11
|
# Define/Macro
|
12
12
|
|
@@ -22,7 +22,7 @@ module SDL2
|
|
22
22
|
|
23
23
|
# Function
|
24
24
|
|
25
|
-
def self.setup_gfx_imagefilter_symbols()
|
25
|
+
def self.setup_gfx_imagefilter_symbols(output_error = false)
|
26
26
|
symbols = [
|
27
27
|
:SDL_imageFilterMMXdetect,
|
28
28
|
:SDL_imageFilterMMXoff,
|
@@ -55,6 +55,38 @@ module SDL2
|
|
55
55
|
:SDL_imageFilterClipToRange,
|
56
56
|
:SDL_imageFilterNormalizeLinear,
|
57
57
|
]
|
58
|
+
apis = {
|
59
|
+
:SDL_imageFilterMMXdetect => :imageFilterMMXdetect,
|
60
|
+
:SDL_imageFilterMMXoff => :imageFilterMMXoff,
|
61
|
+
:SDL_imageFilterMMXon => :imageFilterMMXon,
|
62
|
+
:SDL_imageFilterAdd => :imageFilterAdd,
|
63
|
+
:SDL_imageFilterMean => :imageFilterMean,
|
64
|
+
:SDL_imageFilterSub => :imageFilterSub,
|
65
|
+
:SDL_imageFilterAbsDiff => :imageFilterAbsDiff,
|
66
|
+
:SDL_imageFilterMult => :imageFilterMult,
|
67
|
+
:SDL_imageFilterMultNor => :imageFilterMultNor,
|
68
|
+
:SDL_imageFilterMultDivby2 => :imageFilterMultDivby2,
|
69
|
+
:SDL_imageFilterMultDivby4 => :imageFilterMultDivby4,
|
70
|
+
:SDL_imageFilterBitAnd => :imageFilterBitAnd,
|
71
|
+
:SDL_imageFilterBitOr => :imageFilterBitOr,
|
72
|
+
:SDL_imageFilterDiv => :imageFilterDiv,
|
73
|
+
:SDL_imageFilterBitNegation => :imageFilterBitNegation,
|
74
|
+
:SDL_imageFilterAddByte => :imageFilterAddByte,
|
75
|
+
:SDL_imageFilterAddUint => :imageFilterAddUint,
|
76
|
+
:SDL_imageFilterAddByteToHalf => :imageFilterAddByteToHalf,
|
77
|
+
:SDL_imageFilterSubByte => :imageFilterSubByte,
|
78
|
+
:SDL_imageFilterSubUint => :imageFilterSubUint,
|
79
|
+
:SDL_imageFilterShiftRight => :imageFilterShiftRight,
|
80
|
+
:SDL_imageFilterShiftRightUint => :imageFilterShiftRightUint,
|
81
|
+
:SDL_imageFilterMultByByte => :imageFilterMultByByte,
|
82
|
+
:SDL_imageFilterShiftRightAndMultByByte => :imageFilterShiftRightAndMultByByte,
|
83
|
+
:SDL_imageFilterShiftLeftByte => :imageFilterShiftLeftByte,
|
84
|
+
:SDL_imageFilterShiftLeftUint => :imageFilterShiftLeftUint,
|
85
|
+
:SDL_imageFilterShiftLeft => :imageFilterShiftLeft,
|
86
|
+
:SDL_imageFilterBinarizeUsingThreshold => :imageFilterBinarizeUsingThreshold,
|
87
|
+
:SDL_imageFilterClipToRange => :imageFilterClipToRange,
|
88
|
+
:SDL_imageFilterNormalizeLinear => :imageFilterNormalizeLinear,
|
89
|
+
}
|
58
90
|
args = {
|
59
91
|
:SDL_imageFilterMMXdetect => [],
|
60
92
|
:SDL_imageFilterMMXoff => [],
|
@@ -121,9 +153,9 @@ module SDL2
|
|
121
153
|
}
|
122
154
|
symbols.each do |sym|
|
123
155
|
begin
|
124
|
-
attach_function sym, args[sym], retvals[sym]
|
156
|
+
attach_function apis[sym], sym, args[sym], retvals[sym]
|
125
157
|
rescue FFI::NotFoundError => error
|
126
|
-
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
|
158
|
+
$stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
|
127
159
|
end
|
128
160
|
end
|
129
161
|
end
|