Class: Kamelopard::ColorStyle

Inherits:
Object
  • Object
show all
Defined in:
lib/kamelopard/classes.rb

Overview

Corresponds to KML’s ColorStyle object. Color is stored as an 8-character hex string, with two characters each of alpha, blue, green, and red values, in that order, matching the ordering the KML spec demands.

Direct Known Subclasses

IconStyle, LabelStyle, LineStyle, ListStyle, PolyStyle

Instance Attribute Summary collapse

Attributes inherited from Object

#comment, #id

Instance Method Summary collapse

Constructor Details

#initialize(color, colorMode = :normal) ⇒ ColorStyle

Returns a new instance of ColorStyle.



783
784
785
786
787
788
789
# File 'lib/kamelopard/classes.rb', line 783

def initialize(color, colorMode = :normal)
    super()
    # Note: color element order is aabbggrr
    @color = color
    validate_colorMode colorMode
    @colorMode = colorMode # Can be :normal or :random
end

Instance Attribute Details

#colorObject

Returns the value of attribute color.



780
781
782
# File 'lib/kamelopard/classes.rb', line 780

def color
  @color
end

#colorModeObject

Returns the value of attribute colorMode.



781
782
783
# File 'lib/kamelopard/classes.rb', line 781

def colorMode
  @colorMode
end

Instance Method Details

#alphaObject



800
801
802
# File 'lib/kamelopard/classes.rb', line 800

def alpha
    @color[0,2]
end

#alpha=(a) ⇒ Object



804
805
806
# File 'lib/kamelopard/classes.rb', line 804

def alpha=(a)
    @color[0,2] = a
end

#blueObject



808
809
810
# File 'lib/kamelopard/classes.rb', line 808

def blue
    @color[2,2]
end

#blue=(a) ⇒ Object



812
813
814
# File 'lib/kamelopard/classes.rb', line 812

def blue=(a)
    @color[2,2] = a
end

#greenObject



816
817
818
# File 'lib/kamelopard/classes.rb', line 816

def green
    @color[4,2]
end

#green=(a) ⇒ Object



820
821
822
# File 'lib/kamelopard/classes.rb', line 820

def green=(a)
    @color[4,2] = a
end

#redObject



824
825
826
# File 'lib/kamelopard/classes.rb', line 824

def red
    @color[6,2]
end

#red=(a) ⇒ Object



828
829
830
# File 'lib/kamelopard/classes.rb', line 828

def red=(a)
    @color[6,2] = a
end

#to_kml(elem = nil) ⇒ Object



832
833
834
835
836
837
838
839
840
841
842
# File 'lib/kamelopard/classes.rb', line 832

def to_kml(elem = nil)
    k = elem.nil? ? REXML::Element.new('ColorStyle') : elem
    super k
    e = REXML::Element.new 'color'
    e.text = @color
    k.elements << e
    e = REXML::Element.new 'colorMode'
    e.text = @colorMode
    k.elements << e
    k
end

#validate_colorMode(a) ⇒ Object



791
792
793
# File 'lib/kamelopard/classes.rb', line 791

def validate_colorMode(a)
    raise "colorMode must be either \"normal\" or \"random\"" unless a == :normal or a == :random
end