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 241 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 249 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 256 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 264 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 291 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 300 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 280 def rect(width, height, x = 0, y = 0) rect = Rect.new(width, height, x, y) @content << rect rect end