Class: NeedForType::Window
- Inherits:
-
Curses::Window
- Object
- Curses::Window
- NeedForType::Window
- Defined in:
- lib/need_for_type/window.rb
Direct Known Subclasses
Constant Summary collapse
- CURSOR_VISIBLE =
Cursor visibility
1
- CURSOR_INVISIBLE =
0
- WHITE =
Colors
1
- GREEN =
2
- YELLOW =
3
- RED =
4
- NORMAL =
Modes
Curses::A_NORMAL
- STANDOUT =
Curses::A_STANDOUT
- LINE_PADDING =
Padding
2
- COL_PADDING =
4
Class Method Summary collapse
-
.init_colors ⇒ Object
Class methods.
Instance Method Summary collapse
-
#addstr(str) ⇒ Object
Overrides.
-
#get_input ⇒ Object
Instance methods.
-
#initialize(lines, cols, top, left) ⇒ Window
constructor
A new instance of Window.
- #render_box(color = WHITE, mode = NORMAL) ⇒ Object
- #render_text(text, color = WHITE, mode = NORMAL) ⇒ Object
- #render_with_color(color = WHITE, mode = NORMAL) ⇒ Object
- #set_render_pos(y, x) ⇒ Object
Constructor Details
#initialize(lines, cols, top, left) ⇒ Window
Returns a new instance of Window.
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/need_for_type/window.rb', line 23 def initialize(lines, cols, top, left) super(lines, cols, top, left) @current_line = LINE_PADDING @current_col = COL_PADDING self.box('|', '-') self.keypad = true self.refresh end |
Class Method Details
.init_colors ⇒ Object
Class methods
48 49 50 51 52 53 54 |
# File 'lib/need_for_type/window.rb', line 48 def self.init_colors Curses.start_color Curses.init_pair(WHITE, Curses::COLOR_WHITE, Curses::COLOR_BLACK) Curses.init_pair(GREEN, Curses::COLOR_GREEN, Curses::COLOR_BLACK) Curses.init_pair(YELLOW, Curses::COLOR_YELLOW, Curses::COLOR_BLACK) Curses.init_pair(RED, Curses::COLOR_RED, Curses::COLOR_BLACK) end |
Instance Method Details
#addstr(str) ⇒ Object
Overrides
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/need_for_type/window.rb', line 35 def addstr(str) str.split('').each do |c| if @current_col == (Curses.cols - COL_PADDING) @current_line += 1 @current_col = COL_PADDING end self.setpos(@current_line, @current_col) @current_col += 1 super(c) end end |
#get_input ⇒ Object
Instance methods
57 58 59 |
# File 'lib/need_for_type/window.rb', line 57 def get_input self.getch end |
#render_box(color = WHITE, mode = NORMAL) ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/need_for_type/window.rb', line 66 def render_box(color = WHITE, mode = NORMAL) self.attrset(Curses.color_pair(color) | mode) self.clear self.box('|', '-') yield if block_given? self.refresh end |
#render_text(text, color = WHITE, mode = NORMAL) ⇒ Object
77 78 79 80 81 |
# File 'lib/need_for_type/window.rb', line 77 def render_text(text, color = WHITE, mode = NORMAL) self.attron(Curses.color_pair(color) | mode) self.addstr(text) self.attroff(Curses.color_pair(color) | mode) end |
#render_with_color(color = WHITE, mode = NORMAL) ⇒ Object
83 84 85 86 87 |
# File 'lib/need_for_type/window.rb', line 83 def render_with_color(color = WHITE, mode = NORMAL) self.attron(Curses.color_pair(color) | mode) yield self.attroff(Curses.color_pair(color) | mode) end |
#set_render_pos(y, x) ⇒ Object
61 62 63 64 |
# File 'lib/need_for_type/window.rb', line 61 def set_render_pos(y, x) @current_line = y @current_col = x end |