Class: RbSDL2::SDLPointer
- Inherits:
-
FFI::AutoPointer
- Object
- FFI::AutoPointer
- RbSDL2::SDLPointer
- Defined in:
- lib/rb_sdl2/sdl_pointer.rb
Overview
SDL のメモリーアロケーターで確保されたメモリー領域を表すクラスです。 SDL 関数の戻り値がポインターで Ruby 側でメモリー開放が必要な時(例えば char ポインター)に使用します。
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.from_string(s) ⇒ Object
12 13 14 15 |
# File 'lib/rb_sdl2/sdl_pointer.rb', line 12 def from_string(s) sdl = SDL.str_to_sdl(s) malloc(sdl.bytesize + 1).write_string(sdl) end |
.malloc(size) ⇒ Object
6 7 8 9 10 |
# File 'lib/rb_sdl2/sdl_pointer.rb', line 6 def malloc(size) ptr = ::SDL.calloc(1, size) raise NoMemoryError if ptr.null? new(ptr) end |
.release(ptr) ⇒ Object
17 |
# File 'lib/rb_sdl2/sdl_pointer.rb', line 17 def release(ptr) = ::SDL.free(ptr) |
Instance Method Details
#to_s ⇒ Object
20 |
# File 'lib/rb_sdl2/sdl_pointer.rb', line 20 def to_s = SDL.ptr_to_str(self) |