diff --git a/runtime/lib/buffer_widget.rb b/runtime/lib/buffer_widget.rb index 6e96326..c60503e 100644 --- a/runtime/lib/buffer_widget.rb +++ b/runtime/lib/buffer_widget.rb @@ -1,5 +1,18 @@ require "widget" class BufferWidget + 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 diff --git a/runtime/lib/window.rb b/runtime/lib/window.rb index ae584ae..ada2116 100644 --- a/runtime/lib/window.rb +++ b/runtime/lib/window.rb @@ -20,6 +20,8 @@ class Window def initialize Window.register(self) super + @font = Font.new(Runtime.find(:font, "DejaVuSansMono"), 20) + @buffer_widget = BufferWidget.new(Buffer.new, @font) end def close @@ -27,6 +29,12 @@ class Window end def render + @buffer_widget.draw + end + + def resize(x, y, width, height) + super + @buffer_widget.resize(x, y, width, height) end end