class RbSDL2::RWOperator::CloseCallback

コールバック関数からの例外は全てコールバック中で拾いエラーを表す戻り値に変える。 SDL がコールバック関数を呼び出すときに与える引数はチェックされていないことを前提とするべきである。 SDL が期待するコールバック関数の戻り値は成功か失敗(エラー)かであり、 read, write などの戻り値を考慮した動作を行わない。 コールバック関数を実装する際には Ruby アプリケーションが困らない設計を行えばよい。

Public Class Methods

new(obj) click to toggle source
Calls superclass method
# File lib/rb_sdl2/rw_ops/rw_operator.rb, line 10
def initialize(obj)
  # int (* close) (struct SDL_RWops * context);
  super(:int, [:pointer]) do |_context|
    # close の際に _context ポインターを開放してはならない。ポインターは GC が管理する。
    (obj.close; 0) rescue -1
  end
end