Parent

SDL::Event

Public Class Methods

wrap( event ) click to toggle source

Creates a generic Event containing a specific event. You usually don't need to do this, because you can pass specific events directly to SDL::SDL_PushEvent.

# File lib/ruby-sdl-ffi/sdl/event.rb, line 213
def self.wrap( event )
  self.new( event.pointer )
end

Public Instance Methods

inspect() click to toggle source
# File lib/ruby-sdl-ffi/sdl/event.rb, line 245
def inspect
  super.gsub(">", " :type=#{self[:type]}>")
end
unwrap() click to toggle source

Extracts a specific event class from a generic Event.

# File lib/ruby-sdl-ffi/sdl/event.rb, line 219
def unwrap
  case self[:type]
  when ACTIVEEVENT;       ActiveEvent.new(self.pointer)
  when KEYDOWN, KEYUP;    KeyboardEvent.new(self.pointer)
  when MOUSEMOTION;       MouseMotionEvent.new(self.pointer)

  when MOUSEBUTTONDOWN, MOUSEBUTTONUP;
                          MouseButtonEvent.new(self.pointer)

  when JOYAXISMOTION;     JoyAxisEvent.new(self.pointer)
  when JOYBALLMOTION;     JoyBallEvent.new(self.pointer)
  when JOYHATMOTION;      JoyHatEvent.new(self.pointer)

  when JOYBUTTONDOWN, JOYBUTTONUP;
                          JoyButtonEvent.new(self.pointer)

  when QUIT;              QuitEvent.new( self.pointer )
  when SYSWMEVENT;        SysWMEvent.new( self.pointer )
  when VIDEORESIZE;       ResizeEvent.new( self.pointer )
  when VIDEOEXPOSE;       ExposeEvent.new( self.pointer )
  when USEREVENT;         UserEvent.new( self.pointer )

  else; raise TypeError, "Invalid event #{self.inspect}"
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.