In addition to the methods listed above, this class also implements the styles method, the shape methods and the transform methods.
RVG::Pattern.new(width=0, height=0, x=0, y=0) [ { |pattern| drawing method calls } ] -> pattern
Creates a pattern that can be used with the :fill
and :stroke
styles.
Define the pattern in the associated block. The pattern can be composed of shapes, text, raster images, groups, and RVG objects. You can use the use method to include graphic objects in the pattern.
+m*width
and
y+n*height
offsets.
pattern.g [{|grp| ...}] -> group
Calls RVG::Group.new to construct a group and adds it to the pattern. Yields to a block if one is present, passing the new group as an argument.
Returns the new group, so RVG::Group
methods can be chained to this method.
pattern.image(raster_image, width=nil, height=nil, x=0, y=0) -> image
Calls RVG::Image.new to construct an image and adds it to the pattern.
Returns the new image, so RVG::Image
methods can be chained to this method.
pattern.preserve_aspect_ratio(align, meet_or_slice='meet') [{|self| ...}] -> self
If you use the viewbox method and the user coordinate system does not scale uniformly to the default coordinate system, use the
preserve_aspect_ratio
method to specify whether or not the content is stretched to fit. If not, you can specify how to fit the content into
the space.
Preserve_aspect_ratio
yields to a block if one is present, passing self as an argument.
meet_or_slice
argument is 'meet' or 'slice', this argument controls the placement of the content within the
viewport. The align
argument is the concatenation of an x-alignment and a y-alignment. The values are shown in these
lists:
See the RVG class example.
Self, so other RVG::Pattern
methods can be chained to this method.
pattern.rvg(width, height, x=0, y=0) [{|new_rvg| ...}] -> pattern
This method constructs a new RVG object and adds it to the pattern. Each nested RVG object can use the
viewbox method to define its own coordinate system. The rvg
method yields to a block, passing the nested
RVG object as an argument. Within the block, any drawing objects added to the nested RVG object are rendered within the nested RVG object's viewport.
See the example for
preserve_aspect_ratio in class RVG
.
The RVG
object, so other RVG
methods can be chained to this method.
pattern.text(x=0, y=0, text=nil) [{|text| ...}] -> text
Calls RVG::Text.new to construct a text object and adds it to the pattern. Yields to a block if one is present, passing the new text object as an argument.
The RVG::Text
object, so other RVG::Text
methods can be chained to this method.
pattern.use(obj, x=0, y=0, width=nil, height=nil) -> use
Calls RVG::Use.new to constructs a use
object and adds it to the pattern.
When the referenced argument is an RVG object,
width and height can be used to specify the width and height of the viewport. If present and non-nil,
these arguments override any width and height specified when the RVG object was created. You must specify the viewport size either when creating the RVG
object or when referencing it with use
.
See RVG::Use.new
The RVG::Use
object, so other RVG::Use
methods can be chained to this method.
pattern.viewbox(min_x, min_y, width, height) [{|self| ...}] -> self
The area of the pattern is called the viewport. By default the origin of the coordinate system for an pattern is (0,0). The user coordinates
are pixels and the width and height are established by the width and height arguments to
RVG::Pattern.new
.
Use the viewbox
method to superimpose a user coordinate system on the viewport. The viewbox
method lets you set up a
coordinate system using the units of your choice.
The viewbox
method yields to a block if one is present, passing self
as an argument.
See the example for the RVG
class.
Self, so other RVG::Pattern
methods may be chained to viewbox
.