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