class RbSDL2::RWOperator
Public Class Methods
new(obj)
click to toggle source
obj は Ruby IO と同じようにふるまうことを期待している。 obj に対して close, seek, size, read, write のメソッドを呼び出す。 メソッドの呼び出し引数は Ruby IO と同様である。 メソッドの戻り値は Ruby IO と同じ値を返せばよい。 メソッド内での例外は SDL
のエラーに変換され、Ruby 側には反映されない。 obj がメソッド呼び出しに応答しない場合も安全である。その場合は SDL
側にエラーが通知される。
Calls superclass method
# File lib/rb_sdl2/rw_ops/rw_operator.rb, line 83 def new(obj) ptr = RWOperatorPointer.new(::SDL2.SDL_AllocRW) raise RbSDL2Error if ptr.null? super(ptr, obj) end
new(ptr, obj)
click to toggle source
# File lib/rb_sdl2/rw_ops/rw_operator.rb, line 90 def initialize(ptr, obj) @obj = obj @st = ::SDL2::SDL_RWops.new(ptr).tap do |st| st[:close] = @close = CloseCallback.new(obj) st[:read] = @read = ReadCallback.new(obj) st[:seek] = @seek = SeekCallback.new(obj) st[:size] = @size = SizeCallback.new(obj) st[:write] = @write = WriteCallback.new(obj) end end
Public Instance Methods
__getobj__(= @obj)
click to toggle source
# File lib/rb_sdl2/rw_ops/rw_operator.rb, line 101 def __getobj__ = @obj def to_ptr = @st.to_ptr end end
to_ptr(= @st.to_ptr)
click to toggle source
# File lib/rb_sdl2/rw_ops/rw_operator.rb, line 103 def to_ptr = @st.to_ptr end