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