Module: Magick::RVG::StructureConstructors

Included in:
Embellishable, Pattern
Defined in:
lib/rvg/embellishable.rb

Overview

Methods that construct container objects within a container

Instance Method Summary collapse

Instance Method Details

#g(&block) ⇒ Object

Defines a group.

This method constructs a new Group container object. The styles and transforms specified on this object will be used by objects contained within, unless overridden by an inner container or the contained object itself. Define grouped elements by calling RVG::Embellishable methods within the associated block.



352
353
354
355
356
# File 'lib/rvg/embellishable.rb', line 352

def g(&block)
  group = Group.new(&block)
  @content << group
  group
end

#rvg(cols, rows, x = 0, y = 0, &block) ⇒ Object

Establishes a new viewport. [x, y] is the coordinate of the upper-left corner within the containing viewport. This is a container method. Styles and transforms specified on this object will be used by objects contained within, unless overridden by an inner container or the contained object itself.



329
330
331
332
333
334
335
336
337
338
339
340
341
# File 'lib/rvg/embellishable.rb', line 329

def rvg(cols, rows, x = 0, y = 0, &block)
  rvg = Magick::RVG.new(cols, rows, &block)
  begin
    x = Float(x)
    y = Float(y)
  rescue ArgumentError
    args = [cols, rows, x, y]
    raise ArgumentError, "at least one argument is not convertable to Float (got #{args.map(&:class).join(', ')})"
  end
  rvg.corner(x, y)
  @content << rvg
  rvg
end