Module: RubyCurses::ColorMap
- Included in:
- RubyCurses
- Defined in:
- lib/rbcurse/core/system/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
50 51 52 |
# File 'lib/rbcurse/core/system/colormap.rb', line 50 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
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rbcurse/core/system/colormap.rb', line 39 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
8 9 10 11 12 13 |
# File 'lib/rbcurse/core/system/colormap.rb', line 8 def ColorMap.get_color_const colorstring # added check for fixnum if we go beyond these constants 2011-11-28 # e.g. to use full 256 colors return colorstring if colorstring.is_a? Fixnum ret = FFI::NCurses.const_get "COLOR_#{colorstring.to_s.upcase}" 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.
34 35 36 |
# File 'lib/rbcurse/core/system/colormap.rb', line 34 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
17 18 19 20 21 22 23 24 25 |
# File 'lib/rbcurse/core/system/colormap.rb', line 17 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
56 57 58 59 |
# File 'lib/rbcurse/core/system/colormap.rb', line 56 def ColorMap.is_color? color return true if color.is_a? Fixnum # so we can use 256 colors @@colors.include? color.to_sym end |
.setup ⇒ Object
public setup color map at start of application
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 91 92 93 94 95 |
# File 'lib/rbcurse/core/system/colormap.rb', line 63 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 # NOTE hope this doesn't do something if you change def_bg 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 |