Methods that construct basic shapes within a container
Draws a circle whose center is [cx
, cy
] and
radius is r
.
# File lib/rvg/embellishable.rb, line 243 def circle(r, cx=0, cy=0) circle = Circle.new(r, cx, cy) @content << circle circle end
Draws an ellipse whose center is [cx
, cy
] and
having a horizontal radius rx
and vertical radius
ry
.
# File lib/rvg/embellishable.rb, line 251 def ellipse(rx, ry, cx=0, cy=0) ellipse = Ellipse.new(rx, ry, cx, cy) @content << ellipse ellipse end
Draws a line from [x1
, y1
] to [x2
,
y2
].
# File lib/rvg/embellishable.rb, line 258 def line(x1=0, y1=0, x2=0, y2=0) line = Line.new(x1, y1, x2, y2) @content << line line end
Draws a path defined by an SVG path string or a PathData object.
# File lib/rvg/embellishable.rb, line 266 def path(path) path = Path.new(path) @content << path path end
Draws a polygon. The arguments are [x
, y
] pairs
that define the points that make up the polygon. At least two points must
be specified. If the last point is not the same as the first, adds an
additional point to close the polygon.
# File lib/rvg/embellishable.rb, line 293 def polygon(*points) polygon = Polygon.new(*points) @content << polygon polygon end
Draws a polyline. The arguments are [x
, y
] pairs
that define the points that make up the polyline. At least two points must
be specified.
# File lib/rvg/embellishable.rb, line 302 def polyline(*points) polyline = Polyline.new(*points) @content << polyline polyline end
Draws a rectangle whose upper-left corner is [x
,
y
] and with the specified width
and
height
. Unless otherwise specified the rectangle has square
corners. Returns a Rectangle object.
Draw a rectangle with rounded corners by calling
the round method on the Rectangle object. rx
and
ry
are the corner radii in the x- and y-directions. For
example:
canvas.rect(width, height, x, y).round(8, 6)
If ry
is omitted it defaults to rx
.
# File lib/rvg/embellishable.rb, line 282 def rect(width, height, x=0, y=0) rect = Rect.new(width, height, x, y) @content << rect rect end