jes-ruby/runtime/lib/window.rb

41 lines
599 B
Ruby

require "set"
require "widget"
class Window
include Widget
@windows = Set.new
class << self
def register(window)
@windows << window
end
def remove(window)
@windows.delete(window)
end
end
def initialize
Window.register(self)
super
@font = Font.new(Runtime.find(:font, "DejaVuSansMono"), 20)
@buffer_widget = BufferWidget.new(Buffer.new, @font)
end
def close
Window.remove(self)
end
def render
@buffer_widget.draw
end
def resize(x, y, width, height)
super
@buffer_widget.resize(x, y, width, height)
end
end