module Magick::RVG::ShapeConstructors

Methods that construct basic shapes within a container

Public Instance Methods

circle(r, cx = 0, cy = 0) click to toggle source

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
ellipse(rx, ry, cx = 0, cy = 0) click to toggle source

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
line(x1 = 0, y1 = 0, x2 = 0, y2 = 0) click to toggle source

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
path(path) click to toggle source

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
polygon(*points) click to toggle source

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
polyline(*points) click to toggle source

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
rect(width, height, x = 0, y = 0) click to toggle source

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