Module: Magick::RVG::ShapeConstructors
- Included in:
- ClipPath, Embellishable, Pattern
- Defined in:
- lib/rvg/embellishable.rb
Overview
Methods that construct basic shapes within a container
Instance Method Summary collapse
-
#circle(r, cx = 0, cy = 0) ⇒ Object
Draws a circle whose center is [
cx,cy] and radius isr. -
#ellipse(rx, ry, cx = 0, cy = 0) ⇒ Object
Draws an ellipse whose center is [
cx,cy] and having a horizontal radiusrxand vertical radiusry. -
#line(x1 = 0, y1 = 0, x2 = 0, y2 = 0) ⇒ Object
Draws a line from [
x1,y1] to [x2,y2]. -
#path(path) ⇒ Object
Draws a path defined by an SVG path string or a PathData object.
-
#polygon(*points) ⇒ Object
Draws a polygon.
-
#polyline(*points) ⇒ Object
Draws a polyline.
-
#rect(width, height, x = 0, y = 0) ⇒ Object
Draws a rectangle whose upper-left corner is [
x,y] and with the specifiedwidthandheight.
Instance Method Details
#circle(r, cx = 0, cy = 0) ⇒ Object
Draws a circle whose center is [cx, cy] and radius is r.
247 248 249 250 251 |
# File 'lib/rvg/embellishable.rb', line 247 def circle(r, cx = 0, cy = 0) circle = Circle.new(r, cx, cy) @content << circle circle end |
#ellipse(rx, ry, cx = 0, cy = 0) ⇒ Object
Draws an ellipse whose center is [cx, cy] and having a horizontal radius rx and vertical radius ry.
255 256 257 258 259 |
# File 'lib/rvg/embellishable.rb', line 255 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) ⇒ Object
Draws a line from [x1, y1] to [x2, y2].
262 263 264 265 266 |
# File 'lib/rvg/embellishable.rb', line 262 def line(x1 = 0, y1 = 0, x2 = 0, y2 = 0) line = Line.new(x1, y1, x2, y2) @content << line line end |
#path(path) ⇒ Object
Draws a path defined by an SVG path string or a PathData object.
270 271 272 273 274 |
# File 'lib/rvg/embellishable.rb', line 270 def path(path) path = Path.new(path) @content << path path end |
#polygon(*points) ⇒ Object
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.
297 298 299 300 301 |
# File 'lib/rvg/embellishable.rb', line 297 def polygon(*points) polygon = Polygon.new(*points) @content << polygon polygon end |
#polyline(*points) ⇒ Object
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.
306 307 308 309 310 |
# File 'lib/rvg/embellishable.rb', line 306 def polyline(*points) polyline = Polyline.new(*points) @content << polyline polyline end |
#rect(width, height, x = 0, y = 0) ⇒ Object
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.
286 287 288 289 290 |
# File 'lib/rvg/embellishable.rb', line 286 def rect(width, height, x = 0, y = 0) rect = Rect.new(width, height, x, y) @content << rect rect end |