module Magick::RVG::ShapeConstructors
Methods that construct basic shapes within a container
Public Instance Methods
Draws a circle whose center is [cx
, cy
] and radius is r
.
# File lib/rvg/embellishable.rb, line 245 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 253 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 260 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 268 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 295 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 304 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 284 def rect(width, height, x = 0, y = 0) rect = Rect.new(width, height, x, y) @content << rect rect end