Sha256: 64ee1f71fcba3f86eeb2aebb7fe8fdc581a19a86da831af5637502a266493932
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
module Colors class ListedColormap < Colormap def initialize(colors, name: :from_list, n_colors: nil) @monochrome = false if n_colors.nil? @colors = Array.try_convert(colors) n_colors = @colors.length else case colors when String, Symbol @colors = Array.new(n_colors) { colors } @monochrome = true when Enumerable @colors = colors.cycle.take(n_colors) @monochrome = @colors.all? {|x| x == @colors[0] } else begin gray = Float(colors) rescue TypeError, ArgumentError raise ArgumentError, "invalid value for `colors` (%p)" % colors else @colors = Array.new(n_colors) { gray } end @monochrome = true end end @colors.freeze super(name, n_colors) end attr_reader :colors private def init_colormap @lookup_table = self.colors.map {|color| Utils.make_color(color).to_rgba } @initialized = true update_extreme_colors end private def make_reverse_colormap(name) ListedColormap.new(self.colors.reverse, name: name, n_colors: self.n_colors) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
red-colors-0.4.0 | lib/colors/listed_colormap.rb |
red-colors-0.3.0 | lib/colors/listed_colormap.rb |