Module: SDL2
- Extended by:
- FFI::Library, Library
- Defined in:
- lib/sdl2.rb,
lib/sdl2/log.rb,
lib/sdl2/ttf.rb,
lib/sdl2/init.rb,
lib/sdl2/rect.rb,
lib/sdl2/audio.rb,
lib/sdl2/color.rb,
lib/sdl2/debug.rb,
lib/sdl2/error.rb,
lib/sdl2/event.rb,
lib/sdl2/hints.rb,
lib/sdl2/image.rb,
lib/sdl2/mixer.rb,
lib/sdl2/mouse.rb,
lib/sdl2/point.rb,
lib/sdl2/power.rb,
lib/sdl2/rwops.rb,
lib/sdl2/syswm.rb,
lib/sdl2/timer.rb,
lib/sdl2/touch.rb,
lib/sdl2/union.rb,
lib/sdl2/video.rb,
lib/sdl2/assert.rb,
lib/sdl2/events.rb,
lib/sdl2/haptic.rb,
lib/sdl2/pixels.rb,
lib/sdl2/render.rb,
lib/sdl2/stdinc.rb,
lib/sdl2/struct.rb,
lib/sdl2/window.rb,
lib/sdl2/cpuinfo.rb,
lib/sdl2/display.rb,
lib/sdl2/gesture.rb,
lib/sdl2/keycode.rb,
lib/sdl2/library.rb,
lib/sdl2/palette.rb,
lib/sdl2/surface.rb,
lib/sdl2/texture.rb,
lib/sdl2/version.rb,
lib/struct_array.rb,
lib/sdl2/event/os.rb,
lib/sdl2/joystick.rb,
lib/sdl2/keyboard.rb,
lib/sdl2/renderer.rb,
lib/sdl2/scancode.rb,
lib/sdl2/ttf/font.rb,
lib/sdl2/blendmode.rb,
lib/sdl2/clipboard.rb,
lib/sdl2/syswm/msg.rb,
lib/sdl2/event/drop.rb,
lib/sdl2/event/quit.rb,
lib/sdl2/event/type.rb,
lib/sdl2/event/user.rb,
lib/sdl2/sdl_module.rb,
lib/sdl2/syswm/info.rb,
lib/sdl2/event/state.rb,
lib/sdl2/gem_version.rb,
lib/sdl2/mixer/chunk.rb,
lib/sdl2/display/mode.rb,
lib/sdl2/event/action.rb,
lib/sdl2/event/common.rb,
lib/sdl2/event/sys_wm.rb,
lib/sdl2/event/window.rb,
lib/sdl2/pixel_format.rb,
lib/sdl2/display/modes.rb,
lib/sdl2/event/joy_hat.rb,
lib/sdl2/joystick/axes.rb,
lib/sdl2/joystick/hats.rb,
lib/sdl2/renderer_info.rb,
lib/sdl2/struct_helper.rb,
lib/sdl2/typed_pointer.rb,
lib/sdl2/event/abstract.rb,
lib/sdl2/event/joy_axis.rb,
lib/sdl2/event/joy_ball.rb,
lib/sdl2/event/keyboard.rb,
lib/sdl2/gamecontroller.rb,
lib/sdl2/joystick/balls.rb,
lib/sdl2/managed_struct.rb,
lib/sdl2/mixer/lib_paths.rb,
lib/sdl2/event/joy_button.rb,
lib/sdl2/event/joy_device.rb,
lib/sdl2/event/text_input.rb,
lib/sdl2/joystick/buttons.rb,
lib/sdl2/event/mouse_wheel.rb,
lib/sdl2/event/mouse_button.rb,
lib/sdl2/event/mouse_motion.rb,
lib/sdl2/event/text_editing.rb,
lib/sdl2/event/touch_finger.rb,
lib/sdl2/ttf/sdl_ttf_module.rb,
lib/sdl2/event/multi_gesture.rb,
lib/sdl2/joystick/components.rb,
lib/sdl2/event/dollar_gesture.rb,
lib/sdl2/event/controller_axis.rb,
lib/sdl2/image/sdl_image_module.rb,
lib/sdl2/event/controller_button.rb,
lib/sdl2/event/controller_device.rb
Overview
SDL_syswm.h
Defined Under Namespace
Modules: ARRAYORDER, Audio, BITMAPORDER, BLENDMODE, Clipboard, Debug, FLIP, GLattr, GLcontextFlag, GLprofile, HAT, HINT, INIT, Image, KEYCODE, KEYMOD, Keyboard, Library, Log, Mixer, Mouse, PACKEDLAYOUT, PACKEDORDER, PIXELFORMAT, PIXELTYPE, POWERSTATE, RENDERER, SCANCODE, ScreenSaver, StructHelper, SysWM, TEXTUREACCESS, TEXTUREMODULATE, TTF, Touch, Video, WINDOWEVENT, WINDOWPOS Classes: Color, Cursor, Display, Event, EventFilterStruct, GameController, Haptic, Hint, Joystick, JoystickGUID, Keysym, ManagedStruct, Palette, PixelFormat, Point, RWops, Rect, Renderer, RendererInfo, Struct, StructArray, Surface, Texture, TypedPointer, Union, Version, Window
Constant Summary collapse
- MIX_MAXVOLUME =
128
- Colour =
Alternative spelling of Color
Color
- IMG =
Alias to follow IMG_xxx convention
Image
- MIX =
Alias for constants like, ex: MIX_DEFAULT_FORMAT -> MIX::DEFAULT_FORMAT
Mixer
- Mix =
Alias for method calls
Mixer
- SYSWM =
Because I don’t care about case.
SysWM
- TOUCH_MOUSEID =
-1 ## # SDL's touch functionality.
- RELEASED =
General keyboard/mouse released state
0
- PRESSED =
General keyboard/mouse pressed state
1
- ALPHA_OPAQUE =
255
- ALPHA_TRANSPARENT =
0
- OK_WHEN_ZERO =
When the result is zero, everything is ok.
Proc.new { |result| result == 0 }
- OK_WHEN_ONE =
When the result is one, everything is ok
Proc.new{|result| result == 1}
- OK_WHEN_GTE_ZERO =
When the result must be positive
Proc.new{|result| result >= 0}
- OK_WHEN_NOT_ZERO =
When result is anything but zero
Proc.new { |result| result != 0 }
- OK_WHEN_NOT_NULL =
When resultnot null?
Proc.new { |result| (!result.nil?) and (!result.null?) }
- OK_WHEN_TRUE =
When result is true
Proc.new { |result| result == true }
- CACHELINE_SIZE =
128
- SCANCODE_MASK =
TODO: Review if I translated lines 44~45 right.
1<<30
- NUM_SCANCODES =
Not a key, just marks the number of scancodes for array bounds
512
- SDL_MODULE =
Default load-path. To modify what library this RubyGem loads: 1) require ‘sdl2/sdl_module’ before anything else.
2) Modify the SDL2::SDL_MODULE array. 3) require any of the rest of the SDL2 module: require ‘sdl2/video’, etc
['libSDL2','/usr/local/lib/libSDL2.so']
- GEM_VERSION =
"0.0.7"
Class Method Summary collapse
-
.bitsperpixel(x) ⇒ Object
MACRO: SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF).
-
.blit_scaled(src, srcrect, dst, dstrect) ⇒ Object
using upper_blit_scaled.
-
.blit_surface(src, srcrect, dst, dstrect) ⇒ Object
using upper_blit.
-
.bytesperpixel(x) ⇒ Object
MACRO: SDL_BYTESPERPIXEL(X) \ (SDL_ISPIXELFORMAT_FOURCC(X) ? \ ((((X) == SDL_PIXELFORMAT_YUY2) || \ ((X) == SDL_PIXELFORMAT_UYVY) || \ ((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF)).
-
.define_pixelformat(type, order, layout, bits, bytes) ⇒ Object
MACRO: SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \ ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \ ((bits) << 8) | ((bytes) << 0)).
-
.define_pixelfourcc(a, b, c, d) ⇒ Object
MACRO: SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D).
-
.fourcc(*args) ⇒ Object
Define a four character code as a Uint32 MACRO: SDL_FOURCC(A, B, C, D) \ ((SDL_static_cast(Uint32, SDL_static_cast(Uint8, (A))) << 0) | \ (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (B))) << 8) | \ (SDL_static_cast(Uint32, SDL_static_cast(Uint8, ©)) << 16) | \ (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (D))) << 24)).
-
.ispixelformat_alpha(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_ALPHA(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA))).
-
.ispixelformat_fourcc(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_FOURCC(format) \ ((format) && (SDL_PIXELFLAG(format) != 1)).
-
.ispixelformat_indexed(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8))).
-
.load_bmp(file) ⇒ Object
Redefine SDL_LoadBMP macro:.
- .load_wav(file, spec, audio_buf, audio_len) ⇒ Object
-
.pixelflag(x) ⇒ Object
MACRO: SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F).
-
.pixellayout(x) ⇒ Object
MACRO: SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F).
-
.pixelorder(x) ⇒ Object
MACRO: SDL_PIXELORDER(X) (((X) >> 20) & 0x0F).
-
.pixeltype(x) ⇒ Object
MACRO: SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F).
- .save_bmp(surface, file) ⇒ Object
- .scancode_to_keycode(scancode) ⇒ Object
Instance Method Summary collapse
-
#event_filter ⇒ Object
callback event_filter #=> Proc.new do |pointer, event|; return int; end.
- #get_event_state(type) ⇒ Object
- #init_sub_system!(flags) ⇒ Object
Methods included from Library
api, boolean?, metaclass, raise_error, raise_error_if, raise_error_unless, returns_error
Class Method Details
.bitsperpixel(x) ⇒ Object
MACRO: SDL_BITSPERPIXEL(X) (((X) >> 8) & 0xFF)
113 |
# File 'lib/sdl2/pixels.rb', line 113 def self.bitsperpixel(x); (((x) >> 8) & 0xFF); end |
.blit_scaled(src, srcrect, dst, dstrect) ⇒ Object
using upper_blit_scaled
299 300 301 |
# File 'lib/sdl2/surface.rb', line 299 def self.blit_scaled(src, srcrect, dst, dstrect) upper_blit_scaled(src, srcrect, dst, dstrect) end |
.blit_surface(src, srcrect, dst, dstrect) ⇒ Object
using upper_blit
281 282 283 284 |
# File 'lib/sdl2/surface.rb', line 281 def self.blit_surface(src, srcrect, dst, dstrect) upper_blit(src, srcrect, dst, dstrect) end |
.bytesperpixel(x) ⇒ Object
MACRO: SDL_BYTESPERPIXEL(X) \
(SDL_ISPIXELFORMAT_FOURCC(X) ? \
((((X) == SDL_PIXELFORMAT_YUY2) || \
((X) == SDL_PIXELFORMAT_UYVY) || \
((X) == SDL_PIXELFORMAT_YVYU)) ? 2 : 1) : (((X) >> 0) & 0xFF))
120 121 122 123 124 125 |
# File 'lib/sdl2/pixels.rb', line 120 def self.bytesperpixel(x) (ispixelformat_fourcc(x) ? ((( x == PIXELFORMAT.YUV2 ) || ( x == PIXELFORMAT.UYVY ) || ( x == PIXELFORMAT.YVYU )) ? 2 : 1) : ((x >> 0) & 0xFF)) end |
.define_pixelformat(type, order, layout, bits, bytes) ⇒ Object
MACRO: SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \
((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
((bits) << 8) | ((bytes) << 0))
95 96 97 98 |
# File 'lib/sdl2/pixels.rb', line 95 def self.define_pixelformat(type, order, layout, bits, bytes) ((1 << 28) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | ((bits) << 8) | ((bytes) << 0)) end |
.define_pixelfourcc(a, b, c, d) ⇒ Object
MACRO: SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
88 89 90 |
# File 'lib/sdl2/pixels.rb', line 88 def self.define_pixelfourcc(a,b,c,d) SDL2.fourcc(a,b,c,d); end |
.fourcc(*args) ⇒ Object
Define a four character code as a Uint32 MACRO: SDL_FOURCC(A, B, C, D) \
((SDL_static_cast(Uint32, SDL_static_cast(Uint8, (A))) << 0) | \
(SDL_static_cast(Uint32, SDL_static_cast(Uint8, (B))) << 8) | \
(SDL_static_cast(Uint32, SDL_static_cast(Uint8, (C))) << 16) | \
(SDL_static_cast(Uint32, SDL_static_cast(Uint8, (D))) << 24))
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/sdl2/stdinc.rb', line 14 def self.fourcc(*args) bit_cnt = 0 result = 0 args.each do |arg| arg = arg.codepoints[0] if arg.kind_of? String result = result | (arg << bit_cnt) bit_cnt += 8 end return result end |
.ispixelformat_alpha(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_ALPHA(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELORDER(format) == SDL_PACKEDORDER_ARGB) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_RGBA) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_ABGR) || \ (SDL_PIXELORDER(format) == SDL_PACKEDORDER_BGRA)))
145 146 147 148 149 150 151 |
# File 'lib/sdl2/pixels.rb', line 145 def self.ispixelformat_alpha(format) (!pixelformat_fourcc(format) && ((pixelorder(format) == PACKEDORDER.ARGB) || (pixelorder(format) == PACKEDORDER.RGBA) || (pixelorder(format) == PACKEDORDER.ABGR) || (pixelorder(format) == PACKEDORDER.BGRA))) end |
.ispixelformat_fourcc(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_FOURCC(format) \ ((format) && (SDL_PIXELFLAG(format) != 1))
155 156 157 |
# File 'lib/sdl2/pixels.rb', line 155 def self.ispixelformat_fourcc(format) ((format) && (pixelflag(format) != 1)) end |
.ispixelformat_indexed(format) ⇒ Object
MACRO: SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8)))
132 133 134 135 136 137 |
# File 'lib/sdl2/pixels.rb', line 132 def self.ispixelformat_indexed(format) (!ispixelformat_fourcc(format) && ((pixeltype(format) == PIXELTYPE.INDEX1) || (pixeltype(format) == PIXELTYPE.INDEX4) || (pixeltype(format) == PIXELTYPE.INDEX8))) end |
.load_bmp(file) ⇒ Object
Redefine SDL_LoadBMP macro:
212 213 214 |
# File 'lib/sdl2/surface.rb', line 212 def self.load_bmp(file) SDL2.load_bmp_rw(RWops.from_file(file, 'rb'), 1) end |
.load_wav(file, spec, audio_buf, audio_len) ⇒ Object
147 148 149 |
# File 'lib/sdl2/audio.rb', line 147 def self.load_wav(file, spec, audio_buf, audio_len) load_wav_rw(rw_from_file) end |
.pixelflag(x) ⇒ Object
MACRO: SDL_PIXELFLAG(X) (((X) >> 28) & 0x0F)
101 |
# File 'lib/sdl2/pixels.rb', line 101 def self.pixelflag(x); (((x) >> 28) & 0x0F); end |
.pixellayout(x) ⇒ Object
MACRO: SDL_PIXELLAYOUT(X) (((X) >> 16) & 0x0F)
110 |
# File 'lib/sdl2/pixels.rb', line 110 def self.pixellayout(x); (((x) >> 16) & 0x0F); end |
.pixelorder(x) ⇒ Object
MACRO: SDL_PIXELORDER(X) (((X) >> 20) & 0x0F)
107 |
# File 'lib/sdl2/pixels.rb', line 107 def self.pixelorder(x); (((x) >> 20) & 0x0F); end |
.pixeltype(x) ⇒ Object
MACRO: SDL_PIXELTYPE(X) (((X) >> 24) & 0x0F)
104 |
# File 'lib/sdl2/pixels.rb', line 104 def self.pixeltype(x); (((x) >> 24) & 0x0F); end |
.save_bmp(surface, file) ⇒ Object
222 223 224 |
# File 'lib/sdl2/surface.rb', line 222 def self.save_bmp(surface, file) SDL2.save_bmp_rw(surface, RWops.from_file(file, 'wb'), 1) end |
.scancode_to_keycode(scancode) ⇒ Object
12 13 14 |
# File 'lib/sdl2/keycode.rb', line 12 def self.scancode_to_keycode(scancode) scancode | SCANCODE_MASK end |
Instance Method Details
#event_filter ⇒ Object
callback event_filter #=> Proc.new do |pointer, event|; return int; end
36 |
# File 'lib/sdl2/events.rb', line 36 callback :event_filter, [:pointer, Event.by_ref], :int |
#get_event_state(type) ⇒ Object
59 60 61 |
# File 'lib/sdl2/events.rb', line 59 def get_event_state(type) event_state(type, EVENTSTATE::QUERY) end |
#init_sub_system!(flags) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/sdl2/init.rb', line 31 def init_sub_system!(flags) error_code = init_sub_system(flags) if (error_code != 0) throw get_error end end |