Class: Magick::RVG::Pattern

Inherits:
Object
  • Object
show all
Includes:
Duplicatable, ImageConstructors, ShapeConstructors, Stretchable, StructureConstructors, Stylable, TextConstructors, UseConstructors
Defined in:
lib/rvg/paint.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Stylable

#styles

Methods included from Duplicatable

#deep_copy

Methods included from Stretchable

#viewbox

Methods included from PreserveAspectRatio

#preserve_aspect_ratio

Methods included from ImageConstructors

#image

Methods included from TextConstructors

#text

Methods included from ShapeConstructors

#circle, #ellipse, #line, #path, #polygon, #polyline, #rect

Methods included from UseConstructors

#use

Methods included from StructureConstructors

#g, #rvg

Constructor Details

#initialize(width = 0, height = 0, x = 0, y = 0) {|_self| ... } ⇒ Pattern

Create a pattern that can be used with the :fill or :stroke styles. The width and height arguments define the viewport. The pattern will be repeated at x+m*width and y+n*height offsets.

Define the pattern in the block. The pattern can be composed of shapes (rectangle, circles, etc.), text, raster images and container objects. You can include graphic objects by referring to them with #use.

Yields:

  • (_self)

Yield Parameters:



35
36
37
38
39
40
# File 'lib/rvg/paint.rb', line 35

def initialize(width=0, height=0, x=0, y=0)
    super()
    @width, @height, @x, @y = Magick::RVG.convert_to_float(width, height, x, y)
    @content = Content.new
    yield(self) if block_given?
end

Instance Attribute Details

#heightObject (readonly)

Return upper-left corner, width, height of viewport in user coordinates. Usually these are the values specified when the Pattern object is created, but they can be changed by a call to the viewbox method.



24
25
26
# File 'lib/rvg/paint.rb', line 24

def height
  @height
end

#widthObject (readonly)

Return upper-left corner, width, height of viewport in user coordinates. Usually these are the values specified when the Pattern object is created, but they can be changed by a call to the viewbox method.



24
25
26
# File 'lib/rvg/paint.rb', line 24

def width
  @width
end

#xObject (readonly)

Return upper-left corner, width, height of viewport in user coordinates. Usually these are the values specified when the Pattern object is created, but they can be changed by a call to the viewbox method.



24
25
26
# File 'lib/rvg/paint.rb', line 24

def x
  @x
end

#yObject (readonly)

Return upper-left corner, width, height of viewport in user coordinates. Usually these are the values specified when the Pattern object is created, but they can be changed by a call to the viewbox method.



24
25
26
# File 'lib/rvg/paint.rb', line 24

def y
  @y
end

Instance Method Details

#add_primitives(gc, style) ⇒ Object

:nodoc:



42
43
44
45
46
47
48
49
# File 'lib/rvg/paint.rb', line 42

def add_primitives(gc, style)       #:nodoc:
    name = __id__.to_s
    gc.pattern(name, @x, @y, @width, @height) do
        add_viewbox_primitives(@width, @height, gc)
        @content.each { |element| element.add_primitives(gc) }
    end
    gc.__send__(style, name)
end