Class: Rfd::Window

Inherits:
Object
  • Object
show all
Defined in:
lib/rfd/windows.rb

Constant Summary collapse

ACS_URCORNER =
4194411
ACS_LRCORNER =
4194410
ACS_ULCORNER =
4194412
ACS_LLCORNER =
4194413
ACS_HLINE =
4194417
ACS_LTEE =
4194420
ACS_RTEE =
4194421
ACS_BTEE =
4194422
ACS_TTEE =
4194423
ACS_VLINE =
4194424

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#windowObject (readonly)

Returns the value of attribute window.



14
15
16
# File 'lib/rfd/windows.rb', line 14

def window
  @window
end

Class Method Details

.draw_bordersObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/rfd/windows.rb', line 16

def self.draw_borders
  Curses.attron Curses.color_pair(Curses::COLOR_CYAN) do
    Curses.addch ACS_ULCORNER
    (Curses.cols - 32).times { Curses.addch ACS_HLINE }
    Curses.addch ACS_TTEE
    29.times { Curses.addch ACS_HLINE }
    Curses.addch ACS_URCORNER

    [*1..3, *5..(Curses.lines - 3)].each do |i|
      Curses.setpos i, 0
      Curses.addch ACS_VLINE
      Curses.setpos i, Curses.cols - 1
      Curses.addch ACS_VLINE
    end
    [1, 2, 3].each do |i|
      Curses.setpos i, Curses.cols - 31
      Curses.addch ACS_VLINE
    end

    Curses.setpos 4, 0
    Curses.addch ACS_LTEE
    (Curses.cols - 32).times { Curses.addch ACS_HLINE }
    Curses.addch ACS_BTEE
    29.times { Curses.addch ACS_HLINE }
    Curses.addch ACS_RTEE

    Curses.setpos Curses.lines - 2, 0
    Curses.addch ACS_LLCORNER
    (Curses.cols - 2).times { Curses.addch ACS_HLINE }
    Curses.addch ACS_LRCORNER
  end
end

Instance Method Details

#begxObject



74
75
76
# File 'lib/rfd/windows.rb', line 74

def begx
  window.begx
end

#begyObject



78
79
80
# File 'lib/rfd/windows.rb', line 78

def begy
  window.begy
end

#maxxObject



66
67
68
# File 'lib/rfd/windows.rb', line 66

def maxx
  window.maxx
end

#maxyObject



70
71
72
# File 'lib/rfd/windows.rb', line 70

def maxy
  window.maxy
end

#waddstr(str, clear_to_eol_before_add: false) ⇒ Object



53
54
55
56
# File 'lib/rfd/windows.rb', line 53

def waddstr(str, clear_to_eol_before_add: false)
  window.clrtoeol if clear_to_eol_before_add
  window.addstr str
end

#wclearObject



58
59
60
# File 'lib/rfd/windows.rb', line 58

def wclear
  window.clear
end

#wmove(y, x = 0) ⇒ Object



49
50
51
# File 'lib/rfd/windows.rb', line 49

def wmove(y, x = 0)
  window.setpos y, x
end

#wrefreshObject



62
63
64
# File 'lib/rfd/windows.rb', line 62

def wrefresh
  window.refresh
end