module Magick::RVG::Stylable
This module is mixed into classes that can have styles.
Public Class Methods
# File lib/rvg/stylable.rb, line 68 def initialize super @styles = Styles.new 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'
# File lib/rvg/stylable.rb, line 109 def styles(styles) @styles.set(styles) yield(self) if block_given? self 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.
# File lib/rvg/stylable.rb, line 58 def add_style_primitives(gc) @styles.each_value do |style, value| if value.respond_to? :add_primitives value.add_primitives(gc, style) else gc.__send__(style, *value) end end end