Module: RubyText

Defined in:
lib/version.rb,
lib/rubytext.rb,
lib/rubytext.rb

Defined Under Namespace

Modules: Keys Classes: Window

Constant Summary collapse

VERSION =
"0.0.17"
Path =
File.expand_path(File.join(File.dirname(__FILE__)))
Colors =
%w[black blue cyan green magenta red white yellow]
ColorPairs =
{}

Class Method Summary collapse

Class Method Details

.hide_cursorObject



136
137
138
# File 'lib/rubytext.rb', line 136

def self.hide_cursor
  X.curs_set(0)
end

.method_missing(name, *args) ⇒ Object

For passing through arbitrary method calls to the lower level…



90
91
92
93
94
95
96
97
# File 'lib/rubytext.rb', line 90

def self.method_missing(name, *args)
  debug "method_missing: #{name}  #{args.inspect}"
  if name[0] == '_'
    X.send(name[1..-1], *args)
  else
    raise "#{name} #{args.inspect}" # NoMethodError
  end
end

.show_cursorObject



140
141
142
# File 'lib/rubytext.rb', line 140

def self.show_cursor
  X.curs_set(1)
end

.show_cursor!Object



144
145
146
# File 'lib/rubytext.rb', line 144

def self.show_cursor!
  X.curs_set(2)  # Doesn't work?
end

.start(*args, log: nil, fg: nil, bg: nil) ⇒ Object



103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/rubytext.rb', line 103

def self.start(*args, log: nil, fg: nil, bg: nil)
  $debug = File.new(log, "w") if log
#   fg ||= :white
#   bg ||= :black
debug "Version = #{RubyText::Version}"
$debug.flush
  debug "fg = #{fg} is not a valid color" unless Colors.include?(fg.to_s)
  debug "bg = #{bg} is not a valid color" unless Colors.include?(bg.to_s)
debug "Colors are: #{fg} on #{bg}"
  fg = X.const_get("COLOR_#{fg.upcase}")
  bg = X.const_get("COLOR_#{bg.upcase}")
debug "Curses colors are: #{fg} on #{bg}"
  cp = ColorPairs[[fg, bg]]
debug "cp is: #{cp}"
  X.stdscr.bkgd(cp|X::A_NORMAL)
  X.noecho
  X.stdscr.keypad(true)
  X.cbreak   # by default

  args.each do |arg|
    case arg
      when :raw
        X.raw
      when :echo
        X.echo
      when :noecho
        X.noecho
      when :color
        X.start_color
    end
  end
end

.window(high, wide, r0, c0, border = false, fg = "white", bg = "black") ⇒ Object



99
100
101
# File 'lib/rubytext.rb', line 99

def RubyText.window(high, wide, r0, c0, border=false, fg="white", bg="black")
  RubyText::Window.new(high, wide, r0, c0, border, fg, bg)
end