Class: HandyToolbox::Screen

Inherits:
Object
  • Object
show all
Defined in:
lib/handy_toolbox/screen.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#scrollObject (readonly)

Returns the value of attribute scroll.



7
8
9
# File 'lib/handy_toolbox/screen.rb', line 7

def scroll
  @scroll
end

Instance Method Details

#clearObject



21
22
23
24
# File 'lib/handy_toolbox/screen.rb', line 21

def clear
  scroll.reset
  Curses.clear
end

#closeObject



40
41
42
# File 'lib/handy_toolbox/screen.rb', line 40

def close
  Curses.close_screen
end

#drawObject



26
27
28
29
30
31
# File 'lib/handy_toolbox/screen.rb', line 26

def draw
  @max_y = 0
  yield
  @scroll.update(@max_y)
  Curses.refresh
end

#initObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/handy_toolbox/screen.rb', line 9

def init
  Curses.init_screen
  Curses.start_color
  Ui.hide_cursor
  Curses.cbreak
  Curses.crmode
  Curses.noecho
  Curses.nonl
  Curses.stdscr.keypad(true)
  @scroll = Scroll.new
end

#text_at(x, y, str) ⇒ Object



33
34
35
36
37
38
# File 'lib/handy_toolbox/screen.rb', line 33

def text_at(x, y, str)
  if scroll.fits_into_pane?(y)
    Ui.text_at(x, y - scroll.top, str)
  end
  @max_y = y if @max_y < y
end