Class: Axlsx::GradientFill

Inherits:
Object
  • Object
show all
Defined in:
lib/axlsx/stylesheet/gradient_fill.rb

Overview

A GradientFill defines the color and positioning for gradiant cell fill.

See Also:

  • Office XML Part 1 ยง18.8.24

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ GradientFill

Creates a new GradientFill object

Parameters:

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • type (Symbol)
  • degree (Float)
  • left (Float)
  • right (Float)
  • top (Float)
  • bottom (Float)


46
47
48
49
50
51
52
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 46

def initialize(options={})
  options[:type] ||= :linear
  options.each do |o|
    self.send("#{o[0]}=", o[1]) if self.respond_to? o[0]
  end
  @stop = SimpleTypedList.new GradientStop
end

Instance Attribute Details

#bottomFloat

Percentage format bottom

Returns:

  • (Float)


33
34
35
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 33

def bottom
  @bottom
end

#degreeFloat

Angle of the linear gradient

Returns:

  • (Float)


17
18
19
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 17

def degree
  @degree
end

#leftFloat

Percentage format left

Returns:

  • (Float)


21
22
23
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 21

def left
  @left
end

#rightFloat

Percentage format right

Returns:

  • (Float)


25
26
27
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 25

def right
  @right
end

#stopSimpleTypedList (readonly)

Collection of stop objects

Returns:

  • (SimpleTypedList)


37
38
39
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 37

def stop
  @stop
end

#topFloat

Percentage format top

Returns:

  • (Float)


29
30
31
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 29

def top
  @top
end

#typeSymbol

Note:

valid options are

:linear
:path

The type of gradient.

Returns:

  • (Symbol)


13
14
15
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 13

def type
  @type
end

Instance Method Details

#to_xml_string(str = '') ⇒ String

Serializes the object

Parameters:

  • str (String) (defaults to: '')

Returns:

  • (String)


70
71
72
73
74
75
76
77
# File 'lib/axlsx/stylesheet/gradient_fill.rb', line 70

def to_xml_string(str = '')
  str << '<gradientFill'
  h = self.instance_values.reject { |k,v| k.to_sym == :stop }
  str << h.map { |key, value| '' << key.to_s << '="' << value.to_s << '"' }.join(' ')
  str << '>'
  @stop.each { |s| s.to_xml_string(str) }
  str << '</gradientFill>'
end