module Magick::RVG::ShapeConstructors

def circle(r, cx = 0, cy = 0)

Draws a circle whose center is [cx, cy] and radius is +r+.
def circle(r, cx = 0, cy = 0)
  circle = Circle.new(r, cx, cy)
  @content << circle
  circle
end

def ellipse(rx, ry, cx = 0, cy = 0)

a horizontal radius +rx+ and vertical radius +ry+.
Draws an ellipse whose center is [cx, cy] and having
def ellipse(rx, ry, cx = 0, cy = 0)
  ellipse = Ellipse.new(rx, ry, cx, cy)
  @content << ellipse
  ellipse
end

def line(x1 = 0, y1 = 0, x2 = 0, y2 = 0)

Draws a line from [x1, y1] to [x2, y2].
def line(x1 = 0, y1 = 0, x2 = 0, y2 = 0)
  line = Line.new(x1, y1, x2, y2)
  @content << line
  line
end

def path(path)

object.
Draws a path defined by an SVG path string or a PathData
def path(path)
  path = Path.new(path)
  @content << path
  path
end

def polygon(*points)

the polygon.
same as the first, adds an additional point to close
points must be specified. If the last point is not the
define the points that make up the polygon. At least two
Draws a polygon. The arguments are [x, y] pairs that
def polygon(*points)
  polygon = Polygon.new(*points)
  @content << polygon
  polygon
end

def polyline(*points)

points must be specified.
define the points that make up the polyline. At least two
Draws a polyline. The arguments are [x, y] pairs that
def polyline(*points)
  polyline = Polyline.new(*points)
  @content << polyline
  polyline
end

def rect(width, height, x = 0, y = 0)

If ry is omitted it defaults to rx.
canvas.rect(width, height, x, y).round(8, 6)
the corner radii in the x- and y-directions. For example:
method on the Rectangle object. rx and ry are
Draw a rectangle with rounded corners by calling the #round

Rectangle object.
specified the rectangle has square corners. Returns a
with the specified +width+ and +height+. Unless otherwise
Draws a rectangle whose upper-left corner is [x, y] and
def rect(width, height, x = 0, y = 0)
  rect = Rect.new(width, height, x, y)
  @content << rect
  rect
end