Module Magick::RVG::Stylable
In: lib/rvg/stylable.rb
Enum GeometryValue Stylable RVG\n[lib/rvg/clippath.rb\nlib/rvg/container.rb\nlib/rvg/deep_equal.rb\nlib/rvg/describable.rb\nlib/rvg/embellishable.rb\nlib/rvg/misc.rb\nlib/rvg/paint.rb\nlib/rvg/pathdata.rb\nlib/rvg/rvg.rb\nlib/rvg/stretchable.rb\nlib/rvg/stylable.rb\nlib/rvg/text.rb\nlib/rvg/transformable.rb\nlib/rvg/units.rb] Transformable Stretchable Embellishable Describable Duplicatable Comparable Image ImageList Enumerable Geometry OptionalMethodArguments HatchFill Draw lib/RMagick.rb lib/rvg/container.rb ObjectData Application Pre_ObjectData_Descriptor Envelope Post_ObjectData_Descriptor IPTC Magick dot/m_14_0.png

This module is mixed into classes that can have styles.

Methods

Public Class methods

[Source]

    # File lib/rvg/stylable.rb, line 73
73:             def initialize
74:                 super
75:                 @styles = Styles.new
76:             end

Public Instance methods

This method can be used with any RVG, Group, Use, Text, or shape object. The argument is a hash. The style names are the hash keys. The style names and values are:

:baseline_shift
modify the text baseline
:clip_path
clipping path defined by clip_path
:clip_rule
‘evenodd’ or ‘nozero‘
:fill
color name
:fill_opacity
the fill opacity, 0.0<=N<=1.0
:fill_rule
‘evenodd’ or ‘nozero‘
:font
font name or font file name
:font_family
font family name, ex. ‘serif‘
:font_size
font size in points
:font_stretch
‘normal’,’ultra_condensed’,’extra_condensed’, ‘condensed’,’semi_condensed’,’semi_expanded’, ‘expanded’,’extra_expanded’,’ultra_expanded‘
:font_style
‘normal’,’italic’,’oblique‘
:font_weight
‘normal’,’bold’,’bolder’,’lighter’, or a multiple of 100 between 100 and 900.
:glyph_orientation_horizontal
0, 90, 180, 270
:glyph_orientation_vertical
0, 90, 180, 270
:letter_spacing
modify the spacing between letters
:opacity
both fill and stroke opacity, 0.0<=N<=1.0
:stroke
color name
:stroke_dasharray
dash pattern (Array)
:stroke_dashoffset
initial distance into dash pattern
:stroke_linecap
‘butt’, ‘round’, ‘square‘
:stroke_linejoin
‘miter’, ‘round’, ‘bevel‘
:stroke_miterlimit
miter length constraint
:stroke_opacity
the stroke opacity, 0.0<=N<=1.0
:stroke_width
stroke width
:text_anchor
‘start’,’middle’,’end‘
:text_decoration
‘none’,’underline’,’overline’,’line_through‘
:word_spacing
modify the spacing between words
:writing_mode
‘lr-tb’, ‘lr’, ‘rt-tb’, ‘rl’, ‘tb-rl’, ‘tb‘

[Source]

     # File lib/rvg/stylable.rb, line 114
114:             def styles(styles)
115:                 @styles.set(styles)
116:                 yield(self) if block_given?
117:                 self
118:             end

Private Instance methods

For each style that has a value, add a style primitive to the gc. Use splat to splat out Array arguments such as stroke_dasharray.

[Source]

    # File lib/rvg/stylable.rb, line 63
63:             def add_style_primitives(gc)
64:                 @styles.each_value do |style, value|
65:                     if value.respond_to? :add_primitives
66:                         value.add_primitives(gc, style)
67:                     else
68:                         gc.__send__(style, *value)
69:                     end
70:                 end
71:             end

[Validate]