Sha256: 30bbcae376007fea32b33b27c81e7e0590379ee2b7e56fb292c3d9b7a11dd352

Contents?: true

Size: 667 Bytes

Versions: 2

Compression:

Stored size: 667 Bytes

Contents

require 'publisher'
module GosuWindowAPI
  def initialize(width, height, fullscreen)
    super(width, height, fullscreen)
  end

  def update
    millis = Gosu::milliseconds
    @last_millis ||= 0
    fire :update, (millis - @last_millis)
    @last_millis = millis
  end

  def draw
    fire :draw
  end

  # in gosu this captures mouse and keyboard events
  def button_down(id)
    fire :button_down, id
  end

  def button_up(id)
    fire :button_up, id
  end

  attr_accessor :needs_cursor
  alias :needs_cursor? :needs_cursor
end

class HookedGosuWindow < Window
  include GosuWindowAPI
  extend Publisher
  can_fire :update, :draw, :button_down, :button_up

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gamebox-0.4.0.rc2 lib/gamebox/core/hooked_gosu_window.rb
gamebox-0.4.0.rc1 lib/gamebox/core/hooked_gosu_window.rb