diff options
Diffstat (limited to 'lib/axlsx/stylesheet/color.rb')
| -rw-r--r-- | lib/axlsx/stylesheet/color.rb | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/lib/axlsx/stylesheet/color.rb b/lib/axlsx/stylesheet/color.rb index 4e9806ad..5d3e60ca 100644 --- a/lib/axlsx/stylesheet/color.rb +++ b/lib/axlsx/stylesheet/color.rb @@ -5,9 +5,9 @@ module Axlsx # Determines if the color is system color dependant # @return [Boolean] attr_reader :auto - - # The color as defined in rgb terms. - # @note + + # The color as defined in rgb terms. + # @note # rgb colors need to conform to ST_UnsignedIntHex. That basically means put 'FF' before you color # When assigning the rgb value the behavior is much like CSS selectors and can use shorthand versions as follows: # If you provide a two character value it will be repeated for each r, g, b assignment @@ -25,16 +25,16 @@ module Axlsx # no support for theme just yet # @return [Integer] #attr_reader :theme - + # The tint value. # @note valid values are between -1.0 and 1.0 # @return [Float] attr_reader :tint - + # Creates a new Color object # @option options [Boolean] auto # @option options [String] rgb - # @option options [Float] tint + # @option options [Float] tint def initialize(options={}) @rgb = "FF000000" options.each do |o| @@ -42,7 +42,7 @@ module Axlsx end end # @see auto - def auto=(v) Axlsx::validate_boolean v; @auto = v end + def auto=(v) Axlsx::validate_boolean v; @auto = v end # @see color def rgb=(v) Axlsx::validate_string(v) @@ -56,11 +56,19 @@ module Axlsx def tint=(v) Axlsx::validate_float v; @tint = v end # This version does not support themes - # def theme=(v) Axlsx::validate_unsigned_integer v; @theme = v end - + # def theme=(v) Axlsx::validate_unsigned_integer v; @theme = v end + # Indexed colors are for backward compatability which I am choosing not to support - # def indexed=(v) Axlsx::validate_unsigned_integer v; @indexed = v end + # def indexed=(v) Axlsx::validate_unsigned_integer v; @indexed = v end + def to_xml_string + str = ["<color "] + self.instance_values.each do |key, value| + str << "%s='%s' " % [key, value] + end + str << "/>" + str.join + end # Serializes the color # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to. |
