Module: ColorMap
- Included in:
- RubyCurses
- Defined in:
- lib/rbcurse/colormap.rb
Class Method Summary collapse
- .colors ⇒ Object
-
.get_color(fgc, bgc = $def_bg_color) ⇒ Object
public returns a color_pair for a given foreground and background color.
-
.get_color_const(colorstring) ⇒ Object
2010-09-20 12:22 changed colors from string to symbol private returns a color constant for a human color string.
-
.get_colors_for_pair(pair) ⇒ Symbol
returns the colors that make up the given pair you may want to find what makes up $bottomcolor and set color and bgcolor with it.
-
.install_color(fgc, bgc) ⇒ Object
private creates a new color pair, puts in color map and returns color_pair number.
-
.is_color?(color) ⇒ Boolean
returns true if color is a valid one, else false.
-
.setup ⇒ Object
public setup color map at start of application.
Class Method Details
.colors ⇒ Object
46 47 48 |
# File 'lib/rbcurse/colormap.rb', line 46 def ColorMap.colors @@colors end |
.get_color(fgc, bgc = $def_bg_color) ⇒ Object
public returns a color_pair for a given foreground and background color
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rbcurse/colormap.rb', line 35 def ColorMap.get_color fgc, bgc=$def_bg_color fgc = fgc.to_sym if fgc.is_a? String bgc = bgc.to_sym if bgc.is_a? String if $color_map.include? [fgc, bgc] #$log.debug " get_color found #{fgc} #{@bgc} " return $color_map[[fgc, bgc]] else #$log.debug " get_color NOT found #{fgc} #{@bgc} " return ColorMap.install_color fgc, bgc end end |
.get_color_const(colorstring) ⇒ Object
2010-09-20 12:22 changed colors from string to symbol private returns a color constant for a human color string
6 7 8 9 |
# File 'lib/rbcurse/colormap.rb', line 6 def ColorMap.get_color_const colorstring ret = FFI::NCurses.const_get "COLOR_#{colorstring.upcase}" #raise "color const nil ColorMap 8 " if !ret end |
.get_colors_for_pair(pair) ⇒ Symbol
returns the colors that make up the given pair you may want to find what makes up $bottomcolor and set color and bgcolor with it.
30 31 32 |
# File 'lib/rbcurse/colormap.rb', line 30 def ColorMap.get_colors_for_pair pair $color_map.invert[pair] end |
.install_color(fgc, bgc) ⇒ Object
private creates a new color pair, puts in color map and returns color_pair number
13 14 15 16 17 18 19 20 21 |
# File 'lib/rbcurse/colormap.rb', line 13 def ColorMap.install_color fgc, bgc #$log.debug " install_color found #{fgc} #{@bgc} " @color_id += 1 fg = ColorMap.get_color_const fgc bg = ColorMap.get_color_const bgc FFI::NCurses.init_pair(@color_id, fg, bg); $color_map[[fgc, bgc]] = @color_id return @color_id end |
.is_color?(color) ⇒ Boolean
returns true if color is a valid one, else false
52 53 54 |
# File 'lib/rbcurse/colormap.rb', line 52 def ColorMap.is_color? color @@colors.include? color.to_sym end |
.setup ⇒ Object
public setup color map at start of application
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/rbcurse/colormap.rb', line 58 def ColorMap.setup @color_id = 0 $color_map = {} FFI::NCurses.start_color(); # Initialize few color pairs $def_fg_color = :white # pls set these 2 for your application $def_bg_color = :black #COLORS = [COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, # COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE] @@colors = [:black, :red, :green, :yellow, :blue, :magenta, :cyan, :white] # make foreground colors bg = ColorMap.get_color_const $def_bg_color @@colors[0...@@colors.size].each_with_index do |color, i| next if color == $def_bg_color ColorMap.install_color color, $def_bg_color end $reversecolor = ColorMap.get_color $def_bg_color, $def_fg_color $popupcolor = ColorMap.get_color :cyan, $def_fg_color $errorcolor = ColorMap.get_color :white, :red #$promptcolor = $selectedcolor = ColorMap.get_color(:yellow, :red) $promptcolor = ColorMap.get_color(:yellow, :red) $normalcolor = $datacolor = ColorMap.get_color(:white, :black) $bottomcolor = $topcolor = ColorMap.get_color(:white, :blue) $selectedcolor = $datacolor # since we now use reverse attr in list $row_selected_attr = Ncurses::A_REVERSE $row_focussed_attr = Ncurses::A_BOLD $row_attr = Ncurses::A_NORMAL # $log.debug " colormap SETUP: #{$datacolor} #{$reversecolor} " end |