module EverydayCurses::CursesUtils
Constants
- COLOR_TO_CURSES
Public Instance Methods
add_color(bgcolor, fgcolor)
click to toggle source
# File lib/everyday-curses/curses_utils.rb, line 21 def add_color(bgcolor, fgcolor) Curses::init_pair(@colors.count + 1, COLOR_TO_CURSES[fgcolor || :none], COLOR_TO_CURSES[bgcolor || :none]) ind = @colors.count + 1 @colors << [fgcolor || :none, bgcolor || :none] ind end
find_color(bgcolor, fgcolor)
click to toggle source
# File lib/everyday-curses/curses_utils.rb, line 17 def find_color(bgcolor, fgcolor) @colors.find_index { |v| v[0] == (fgcolor || :none) && v[1] == (bgcolor || :none) } end
Private Instance Methods
get_format(str)
click to toggle source
# File lib/everyday-curses/curses_utils.rb, line 37 def get_format(str) bold, underline, fgcolor, bgcolor = EverydayCliUtils::Format::parse_format(str) (bold ? Curses::A_BOLD : 0) | (underline ? Curses::A_UNDERLINE : 0) | handle_color(fgcolor, bgcolor) end
handle_color(fgcolor, bgcolor)
click to toggle source
# File lib/everyday-curses/curses_utils.rb, line 30 def handle_color(fgcolor, bgcolor) return 0 if (fgcolor.nil? || fgcolor == :none) && (bgcolor.nil? || bgcolor == :none) ind = find_color(bgcolor, fgcolor) ind = ind.nil? ? add_color(bgcolor, fgcolor) : ind + 1 Curses::color_pair(ind) end