Module: Frusdl::Low::SDL
- Extended by:
- FFI::Library
- Included in:
- SDL, SDL, SDL::PixelFormat, SDL::PixelFormat, SDL::Screen, SDL::Screen, SDL::VideoInfo, SDL::VideoInfo
- Defined in:
- lib/frusdl/low/sdl.rb
Defined Under Namespace
Classes: SDL_ActiveEvent, SDL_AudioSpec, SDL_Color, SDL_Cursor, SDL_Event, SDL_ExposeEvent, SDL_JoyAxisEvent, SDL_JoyBallEvent, SDL_JoyButtonEvent, SDL_JoyHatEvent, SDL_Joystick, SDL_KeyboardEvent, SDL_MouseButtonEvent, SDL_MouseMotionEvent, SDL_Palette, SDL_PixelFormat, SDL_QuitEvent, SDL_RWops, SDL_Rect, SDL_ResizeEvent, SDL_Surface, SDL_UserEvent, SDL_VideoInfo, SDL_keysym, SDL_version
Constant Summary collapse
- SDL_INIT_TIMER =
Define some constants for the init function
0x00000001- SDL_INIT_AUDIO =
0x00000010- SDL_INIT_VIDEO =
0x00000020- SDL_INIT_CDROM =
0x00000100- SDL_INIT_JOYSTICK =
0x00000200- SDL_INIT_NOPARACHUTE =
0x00100000- SDL_INIT_EVENTTHREAD =
0x01000000- SDL_INIT_EVERYTHING =
0x0000FFFF- SDL_SWSURFACE =
And some for video functions
0x00000000- SDL_HWSURFACE =
0x00000001- SDL_ASYNCBLIT =
0x00000004- SDL_ANYFORMAT =
0x10000000- SDL_HWPALETTE =
0x20000000- SDL_DOUBLEBUF =
0x40000000- SDL_FULLSCREEN =
0x80000000- SDL_OPENGL =
0x00000002- SDL_OPENGLBLIT =
0x0000000A- SDL_RESIZABLE =
0x00000010- SDL_NOFRAME =
0x00000020- SDL_GRAB_QUERY =
And some more for mouse grabbing
-1
- SDL_GRAB_OFF =
0- SDL_GRAB_ON =
1- SDL_GRAB_FULLSCREEN =
2- SDL_LIL_ENDIAN =
:little_endian- SDL_BYTEORDER =
SDL_BIG_ENDIAN- AUDIO_U8 =
Unsigned 8-bit samples
0x0008- AUDIO_S8 =
Signed 8-bit samples
0x8008- AUDIO_U16LSB =
Unsigned 16-bit samples
0x0010- AUDIO_S16LSB =
Signed 16-bit samples
0x8010- AUDIO_U16MSB =
As above, but big-endian byte order
0x1010- AUDIO_S16MSB =
As above, but big-endian byte order
0x9010- AUDIO_U16 =
AUDIO_U16LSB- AUDIO_S16 =
AUDIO_S16LSB- AUDIO_U16SYS =
AUDIO_U16MSB- AUDIO_S16SYS =
AUDIO_S16MSB- SDL_AUDIO_STOPPED =
0- SDL_AUDIO_PLAYING =
1- SDL_AUDIO_PAUSED =
2- SDL_MIX_MAXVOLUME =
128- SDL_DEFAULT_REPEAT_DELAY =
500- SDL_DEFAULT_REPEAT_INTERVAL =
30- SDLK_UNKNOWN =
SDL_keysym (lots of boring constants ahead :p )
0- SDLK_FIRST =
0- SDLK_BACKSPACE =
8- SDLK_TAB =
9- SDLK_CLEAR =
12- SDLK_RETURN =
13- SDLK_PAUSE =
19- SDLK_ESCAPE =
27- SDLK_SPACE =
32- SDLK_EXCLAIM =
33- SDLK_QUOTEDBL =
34- SDLK_HASH =
35- SDLK_DOLLAR =
36- SDLK_AMPERSAND =
38- SDLK_QUOTE =
39- SDLK_LEFTPAREN =
40- SDLK_RIGHTPAREN =
41- SDLK_ASTERISK =
42- SDLK_PLUS =
43- SDLK_COMMA =
44- SDLK_MINUS =
45- SDLK_PERIOD =
46- SDLK_SLASH =
47- SDLK_0 =
48- SDLK_1 =
49- SDLK_2 =
50- SDLK_3 =
51- SDLK_4 =
52- SDLK_5 =
53- SDLK_6 =
54- SDLK_7 =
55- SDLK_8 =
56- SDLK_9 =
57- SDLK_COLON =
58- SDLK_SEMICOLON =
59- SDLK_LESS =
60- SDLK_EQUALS =
61- SDLK_GREATER =
62- SDLK_QUESTION =
63- SDLK_AT =
64- SDLK_LEFTBRACKET =
91- SDLK_BACKSLASH =
92- SDLK_RIGHTBRACKET =
93- SDLK_CARET =
94- SDLK_UNDERSCORE =
95- SDLK_BACKQUOTE =
96- SDLK_a =
97- SDLK_b =
98- SDLK_c =
99- SDLK_d =
100- SDLK_e =
101- SDLK_f =
102- SDLK_g =
103- SDLK_h =
104- SDLK_i =
105- SDLK_j =
106- SDLK_k =
107- SDLK_l =
108- SDLK_m =
109- SDLK_n =
110- SDLK_o =
111- SDLK_p =
112- SDLK_q =
113- SDLK_r =
114- SDLK_s =
115- SDLK_t =
116- SDLK_u =
117- SDLK_v =
118- SDLK_w =
119- SDLK_x =
120- SDLK_y =
121- SDLK_z =
122- SDLK_DELETE =
127- SDLK_WORLD_0 =
160- SDLK_WORLD_1 =
161- SDLK_WORLD_2 =
162- SDLK_WORLD_3 =
163- SDLK_WORLD_4 =
164- SDLK_WORLD_5 =
165- SDLK_WORLD_6 =
166- SDLK_WORLD_7 =
167- SDLK_WORLD_8 =
168- SDLK_WORLD_9 =
169- SDLK_WORLD_10 =
170- SDLK_WORLD_11 =
171- SDLK_WORLD_12 =
172- SDLK_WORLD_13 =
173- SDLK_WORLD_14 =
174- SDLK_WORLD_15 =
175- SDLK_WORLD_16 =
176- SDLK_WORLD_17 =
177- SDLK_WORLD_18 =
178- SDLK_WORLD_19 =
179- SDLK_WORLD_20 =
180- SDLK_WORLD_21 =
181- SDLK_WORLD_22 =
182- SDLK_WORLD_23 =
183- SDLK_WORLD_24 =
184- SDLK_WORLD_25 =
185- SDLK_WORLD_26 =
186- SDLK_WORLD_27 =
187- SDLK_WORLD_28 =
188- SDLK_WORLD_29 =
189- SDLK_WORLD_30 =
190- SDLK_WORLD_31 =
191- SDLK_WORLD_32 =
192- SDLK_WORLD_33 =
193- SDLK_WORLD_34 =
194- SDLK_WORLD_35 =
195- SDLK_WORLD_36 =
196- SDLK_WORLD_37 =
197- SDLK_WORLD_38 =
198- SDLK_WORLD_39 =
199- SDLK_WORLD_40 =
200- SDLK_WORLD_41 =
201- SDLK_WORLD_42 =
202- SDLK_WORLD_43 =
203- SDLK_WORLD_44 =
204- SDLK_WORLD_45 =
205- SDLK_WORLD_46 =
206- SDLK_WORLD_47 =
207- SDLK_WORLD_48 =
208- SDLK_WORLD_49 =
209- SDLK_WORLD_50 =
210- SDLK_WORLD_51 =
211- SDLK_WORLD_52 =
212- SDLK_WORLD_53 =
213- SDLK_WORLD_54 =
214- SDLK_WORLD_55 =
215- SDLK_WORLD_56 =
216- SDLK_WORLD_57 =
217- SDLK_WORLD_58 =
218- SDLK_WORLD_59 =
219- SDLK_WORLD_60 =
220- SDLK_WORLD_61 =
221- SDLK_WORLD_62 =
222- SDLK_WORLD_63 =
223- SDLK_WORLD_64 =
224- SDLK_WORLD_65 =
225- SDLK_WORLD_66 =
226- SDLK_WORLD_67 =
227- SDLK_WORLD_68 =
228- SDLK_WORLD_69 =
229- SDLK_WORLD_70 =
230- SDLK_WORLD_71 =
231- SDLK_WORLD_72 =
232- SDLK_WORLD_73 =
233- SDLK_WORLD_74 =
234- SDLK_WORLD_75 =
235- SDLK_WORLD_76 =
236- SDLK_WORLD_77 =
237- SDLK_WORLD_78 =
238- SDLK_WORLD_79 =
239- SDLK_WORLD_80 =
240- SDLK_WORLD_81 =
241- SDLK_WORLD_82 =
242- SDLK_WORLD_83 =
243- SDLK_WORLD_84 =
244- SDLK_WORLD_85 =
245- SDLK_WORLD_86 =
246- SDLK_WORLD_87 =
247- SDLK_WORLD_88 =
248- SDLK_WORLD_89 =
249- SDLK_WORLD_90 =
250- SDLK_WORLD_91 =
251- SDLK_WORLD_92 =
252- SDLK_WORLD_93 =
253- SDLK_WORLD_94 =
254- SDLK_WORLD_95 =
255- SDLK_KP0 =
256- SDLK_KP1 =
257- SDLK_KP2 =
258- SDLK_KP3 =
259- SDLK_KP4 =
260- SDLK_KP5 =
261- SDLK_KP6 =
262- SDLK_KP7 =
263- SDLK_KP8 =
264- SDLK_KP9 =
265- SDLK_KP_PERIOD =
266- SDLK_KP_DIVIDE =
267- SDLK_KP_MULTIPLY =
268- SDLK_KP_MINUS =
269- SDLK_KP_PLUS =
270- SDLK_KP_ENTER =
271- SDLK_KP_EQUALS =
272- SDLK_UP =
273- SDLK_DOWN =
274- SDLK_RIGHT =
275- SDLK_LEFT =
276- SDLK_INSERT =
277- SDLK_HOME =
278- SDLK_END =
279- SDLK_PAGEUP =
280- SDLK_PAGEDOWN =
281- SDLK_F1 =
282- SDLK_F2 =
283- SDLK_F3 =
284- SDLK_F4 =
285- SDLK_F5 =
286- SDLK_F6 =
287- SDLK_F7 =
288- SDLK_F8 =
289- SDLK_F9 =
290- SDLK_F10 =
291- SDLK_F11 =
292- SDLK_F12 =
293- SDLK_F13 =
294- SDLK_F14 =
295- SDLK_F15 =
296- SDLK_NUMLOCK =
300- SDLK_CAPSLOCK =
301- SDLK_SCROLLOCK =
302- SDLK_RSHIFT =
303- SDLK_LSHIFT =
304- SDLK_RCTRL =
305- SDLK_LCTRL =
306- SDLK_RALT =
307- SDLK_LALT =
308- SDLK_RMETA =
309- SDLK_LMETA =
310- SDLK_LSUPER =
311- SDLK_RSUPER =
312- SDLK_MODE =
313- SDLK_COMPOSE =
314- SDLK_HELP =
315- SDLK_PRINT =
316- SDLK_SYSREQ =
317- SDLK_BREAK =
318- SDLK_MENU =
319- SDLK_POWER =
320- SDLK_EURO =
321- SDLK_UNDO =
322- SDLK_LAST =
323- KMOD_NONE =
0x0000- KMOD_LSHIFT =
0x0001- KMOD_RSHIFT =
0x0002- KMOD_LCTRL =
0x0040- KMOD_RCTRL =
0x0080- KMOD_LALT =
0x0100- KMOD_RALT =
0x0200- KMOD_LMETA =
0x0400- KMOD_RMETA =
0x0800- KMOD_NUM =
0x1000- KMOD_CAPS =
0x2000- KMOD_MODE =
0x4000- KMOD_RESERVED =
0x8000- KMOD_CTRL =
(KMOD_LCTRL|KMOD_RCTRL)
- KMOD_SHIFT =
(KMOD_LSHIFT|KMOD_RSHIFT)
- KMOD_ALT =
(KMOD_LALT|KMOD_RALT)
- KMOD_META =
(KMOD_LMETA|KMOD_RMETA)
- SDL_BUTTON_LEFT =
1- SDL_BUTTON_MIDDLE =
2- SDL_BUTTON_RIGHT =
3- SDL_BUTTON_WHEELUP =
4- SDL_BUTTON_WHEELDOWN =
5- RW_SEEK_SET =
0- RW_SEEK_CUR =
1- RW_SEEK_END =
2- SDL_TIMESLICE =
SDL_timer
10- TIMER_RESOLUTION =
10- SDL_RELEASED =
SDL_event
0- SDL_PRESSED =
1- SDL_NOEVENT =
0- SDL_ACTIVEEVENT =
1- SDL_KEYDOWN =
2- SDL_KEYUP =
3- SDL_MOUSEMOTION =
4- SDL_MOUSEBUTTONDOWN =
5- SDL_MOUSEBUTTONUP =
6- SDL_JOYAXISMOTION =
7- SDL_JOYBALLMOTION =
8- SDL_JOYHATMOTION =
9- SDL_JOYBUTTONDOWN =
10- SDL_JOYBUTTONUP =
11- SDL_QUIT =
12- SDL_SYSWMEVENT =
13- SDL_EVENT_RESERVEDA =
14- SDL_EVENT_RESERVEDB =
15- SDL_VIDEORESIZE =
16- SDL_VIDEOEXPOSE =
17- SDL_EVENT_RESERVED2 =
18- SDL_EVENT_RESERVED3 =
19- SDL_EVENT_RESERVED4 =
20- SDL_EVENT_RESERVED5 =
21- SDL_EVENT_RESERVED6 =
22- SDL_EVENT_RESERVED7 =
23- SDL_USEREVENT =
24- SDL_NUMEVENTS =
32- SDL_ADDEVENT =
0- SDL_PEEKEVENT =
1- SDL_GETEVENT =
2- SDL_QUERY =
-1
- SDL_IGNORE =
0- SDL_DISABLE =
0- SDL_ENABLE =
1- SDL_HAT_CENTERED =
0x00- SDL_HAT_UP =
0x01- SDL_HAT_RIGHT =
0x02- SDL_HAT_DOWN =
0x04- SDL_HAT_LEFT =
0x08- SDL_HAT_RIGHTUP =
(SDL_HAT_RIGHT|SDL_HAT_UP)
- SDL_HAT_RIGHTDOWN =
(SDL_HAT_RIGHT|SDL_HAT_DOWN)
- SDL_HAT_LEFTUP =
(SDL_HAT_LEFT|SDL_HAT_UP)
- SDL_HAT_LEFTDOWN =
(SDL_HAT_LEFT|SDL_HAT_DOWN)
Class Method Summary collapse
- .SDL_BlitSurface(src, srcrect, dst, dstrect) ⇒ Object
- .SDL_LoadBMP(filename) ⇒ Object
-
.SDL_LoadWAV(filename, spec, audio_buf, audio_len) ⇒ Object
Compatibility convenience function – loads a WAV from a file.
- .SDL_SaveBMP(surface, filename) ⇒ Object
Instance Method Summary collapse
- #SDL_RWclose(ctx) ⇒ Object
- #SDL_RWread(ctx, ptr, size, n) ⇒ Object
-
#SDL_RWseek(ctx, offset, whence) ⇒ Object
SDL uses macros to “easily” read and write from an SDL_RWops structure unfortunately, we need to use callbacks for this.
- #SDL_RWtell(ctx) ⇒ Object
- #SDL_RWwrite(ctx, offset, whence) ⇒ Object
Class Method Details
.SDL_BlitSurface(src, srcrect, dst, dstrect) ⇒ Object
860 861 862 |
# File 'lib/frusdl/low/sdl.rb', line 860 def self.SDL_BlitSurface(src, srcrect, dst, dstrect) SDL_UpperBlit(src, srcrect, dst, dstrect) end |
.SDL_LoadBMP(filename) ⇒ Object
845 846 847 |
# File 'lib/frusdl/low/sdl.rb', line 845 def self.SDL_LoadBMP(filename) SDL_LoadBMP_RW(SDL_RWFromFile(filename, "rb"), 1) end |
.SDL_LoadWAV(filename, spec, audio_buf, audio_len) ⇒ Object
Compatibility convenience function – loads a WAV from a file
197 198 199 |
# File 'lib/frusdl/low/sdl.rb', line 197 def self.SDL_LoadWAV(filename, spec, audio_buf, audio_len) SDL_LoadWAV_RW(SDL_RWFromFile(filename, "rb"),1, spec, audio_buf, audio_len) end |
.SDL_SaveBMP(surface, filename) ⇒ Object
849 850 851 |
# File 'lib/frusdl/low/sdl.rb', line 849 def self.SDL_SaveBMP(surface, filename) SDL_SaveBMP_RW(surface, SDL_RWFromFile(filename, "wb"), 1) end |
Instance Method Details
#SDL_RWclose(ctx) ⇒ Object
550 551 552 |
# File 'lib/frusdl/low/sdl.rb', line 550 def SDL_RWclose(ctx) ctx[:close].call(ctx) end |
#SDL_RWread(ctx, ptr, size, n) ⇒ Object
542 543 544 |
# File 'lib/frusdl/low/sdl.rb', line 542 def SDL_RWread(ctx, ptr, size, n) ctx[:read].call(ctx, ptr, size, n) end |
#SDL_RWseek(ctx, offset, whence) ⇒ Object
SDL uses macros to “easily” read and write from an SDL_RWops structure unfortunately, we need to use callbacks for this
534 535 536 |
# File 'lib/frusdl/low/sdl.rb', line 534 def SDL_RWseek(ctx, offset, whence) ctx[:seek].call(ctx, offset, whence) end |
#SDL_RWtell(ctx) ⇒ Object
538 539 540 |
# File 'lib/frusdl/low/sdl.rb', line 538 def SDL_RWtell(ctx) ctx[:seek].call(ctx, 0, RW_SEEK_CUR) end |
#SDL_RWwrite(ctx, offset, whence) ⇒ Object
546 547 548 |
# File 'lib/frusdl/low/sdl.rb', line 546 def SDL_RWwrite(ctx, offset, whence) ctx[:write].call(ctx, ptr, size, n) end |