class BadSdl::Engine::Engines
An engine multiplexor. Only has one focus, but that focus can change.
Attributes
engines[R]
Public Class Methods
new(opts)
click to toggle source
Calls superclass method
BadSdl::Engine::new
# File lib/bad_sdl/engine/engines.rb, line 10 def initialize(opts) super(opts) @engines = [] #opts[:engines] || [] @current_idx = 0 end
Public Instance Methods
current_engine()
click to toggle source
# File lib/bad_sdl/engine/engines.rb, line 18 def current_engine @engines[@current_idx] end
handle_event(event)
click to toggle source
Calls superclass method
BadSdl::Engine#handle_event
# File lib/bad_sdl/engine/engines.rb, line 22 def handle_event(event) return true if super(event) # self swallowed event. if current_engine Debug.log(self){"Passing to current engine."} return true if current_engine.handle_event(event) end SDL2::Debug.log(self){"Unable to handle"} return false # if we get to here. end
paint_to(surface)
click to toggle source
Calls superclass method
BadSdl::Engine#paint_to
# File lib/bad_sdl/engine/engines.rb, line 32 def paint_to(surface) result = false result = true if super(surface) if ce = current_engine result = true if ce.paint_to(surface) end return result end
quit()
click to toggle source
Calls superclass method
BadSdl::Engine#quit
# File lib/bad_sdl/engine/engines.rb, line 43 def quit() @engines.each(&:quit) super() end