module TaskJuggler::Painter::Primitives
This module contains utility methods to create the canvas Elements with minimal overhead. The element is added to it’s current parent and mandatory arguments are enforced. It also eliminates the need to call ‘new’ methods of each Element
.
Constants
- FillAndStrokeAttrs
- FillAttrs
- StrokeAttrs
- TextAttrs
Public Instance Methods
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 47 def circle(cx, cy, r, attrs = {}) attrs[:cx] = cx attrs[:cy] = cy attrs[:r] = r @elements << (c = Circle.new(attrs)) c end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 34 def color(*args) Color.new(*args) end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 55 def ellipse(cx, cy, rx, ry, attrs = {}) attrs[:cx] = cx attrs[:cy] = cy attrs[:rx] = rx attrs[:ry] = ry @elements << (e = Ellipse.new(attrs)) e end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 42 def group(attrs = {}, &block) @elements << (g = Group.new(attrs, &block)) g end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 64 def line(x1, y1, x2, y2, attrs = {}) attrs[:x1] = x1 attrs[:y1] = y1 attrs[:x2] = x2 attrs[:y2] = y2 @elements << (l = Line.new(attrs)) l end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 38 def points(arr) Points.new(arr) end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 73 def polyline(points, attrs = {}) attrs[:points] = points.is_a?(Array) ? Points.new(points) : points @elements << (l = PolyLine.new(attrs)) l end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 79 def rect(x, y, width, height, attrs = {}) attrs[:x] = x attrs[:y] = y attrs[:width] = width attrs[:height] = height @elements << (r = Rect.new(attrs)) r end
Source
# File lib/taskjuggler/Painter/Primitives.rb, line 88 def text(x, y, str, attrs = {}) attrs[:x] = x attrs[:y] = y @elements << (t = Text.new(str, attrs)) t end