class CursesRenderer
Public Instance Methods
draw(x, y, char, fg, bg)
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 38 def draw(x, y, char, fg, bg) pair = "#{fg.to_s},#{bg.to_s}" if !@pairs.include? pair @pairs.push pair Curses.init_pair(@pairs.index(pair)+1, @@colors[fg], @@colors[bg]) end # Seem to need to flip x and y index = @pairs.index(pair)+1 Curses.setpos(y, x) Curses.attron(Curses.color_pair(index)) do begin Curses.addstr(char) rescue TypeError => e raise 'The char was ' + char.to_s end end end
exit()
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 25 def exit Curses.close_screen end
height()
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 60 def height Curses.lines end
init()
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 16 def init Curses.init_screen Curses.start_color Curses.nl Curses.noecho Curses.curs_set 0 @pairs = Array.new end
render(data)
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 29 def render(data) Curses.clear data.keys.each do |key| draw_data = data[key] draw(draw_data[:x], draw_data[:y], draw_data[:char], draw_data[:foreground], draw_data[:background]) end Curses.refresh end
width()
click to toggle source
# File lib/delve/display/curses_renderer.rb, line 56 def width Curses.cols end