add BufferWidget#initialize, #render, add a BufferWidget to Window

This commit is contained in:
Josh Holtrop 2014-08-14 21:51:19 -04:00
parent 8c8cae552c
commit 0244338e94
2 changed files with 21 additions and 0 deletions

View File

@ -1,5 +1,18 @@
require "widget" require "widget"
class BufferWidget class BufferWidget
include Widget include Widget
def initialize(buffer, font)
@buffer = buffer
@font = font
end
def render
(0...@buffer.size).each do |i|
draw_text(@font, 0, @height - @font.line_height * (i + 1), @buffer[i], 1, 1, 1, 1)
end
end
end end

View File

@ -20,6 +20,8 @@ class Window
def initialize def initialize
Window.register(self) Window.register(self)
super super
@font = Font.new(Runtime.find(:font, "DejaVuSansMono"), 20)
@buffer_widget = BufferWidget.new(Buffer.new, @font)
end end
def close def close
@ -27,6 +29,12 @@ class Window
end end
def render def render
@buffer_widget.draw
end
def resize(x, y, width, height)
super
@buffer_widget.resize(x, y, width, height)
end end
end end