class Display

Public Class Methods

new(renderer, options=Hash.new) click to toggle source
# File lib/delve/display/display.rb, line 3
def initialize(renderer, options=Hash.new)
  raise 'Cannot initialize display with no renderer' unless renderer
 
  @renderer = renderer
  @dirty = false
  @render_data = Hash.new
 
  default_options = {
    :width        => 80,
    :height       => 24,
    :background   => :black,
    :foreground   => :white
  }

  options.keys.each { |k| default_options[k] = options[k] }
  @options = default_options
  @renderer.init
end

Public Instance Methods

draw(x, y, char, foreground=nil, background=nil) click to toggle source
# File lib/delve/display/display.rb, line 22
def draw(x, y, char, foreground=nil, background=nil)
  fg = foreground || @options[:foreground]
  bg = background || @options[:background]
  @render_data["#{x},#{y}"] = { :x => x, :y => y, :char => char, :foreground => fg, :background => bg }
  @dirty = true
end
exit() click to toggle source
# File lib/delve/display/display.rb, line 40
def exit
  @renderer.exit
end
height() click to toggle source
# File lib/delve/display/display.rb, line 44
def height
  @renderer.height
end
options() click to toggle source
# File lib/delve/display/display.rb, line 29
def options
  return @options
end
render() click to toggle source
# File lib/delve/display/display.rb, line 33
def render
  if @dirty
    @renderer.render @render_data
    @render_data = Hash.new
  end
end
width() click to toggle source
# File lib/delve/display/display.rb, line 48
def width
  @renderer.width
end