class DrawSvg::Line
Attributes
angle[R]
length[R]
Public Class Methods
new(parent, location, length, angle, opts={})
click to toggle source
Calls superclass method
DrawSvg::Item::new
# File lib/drawsvg.rb, line 128 def initialize parent, location, length, angle, opts={} super(parent, location) @length = length @angle = angle * Math::PI / 180 @opts = opts @snap = @opts.has_key?(:snap) ? @opts.delete(:snap) : true end
Public Instance Methods
draw()
click to toggle source
# File lib/drawsvg.rb, line 135 def draw; end
p1()
click to toggle source
# File lib/drawsvg.rb, line 139 def p1 @snap ? location : (location * scale) end
p1_absolute()
click to toggle source
# File lib/drawsvg.rb, line 145 def p1_absolute parent.absolute_location + p1 end
p1_svg()
click to toggle source
# File lib/drawsvg.rb, line 151 def p1_svg Point.new(p1_absolute.x, (canvas.height - p1_absolute.y)).round end
p2()
click to toggle source
# File lib/drawsvg.rb, line 142 def p2 p1 + Point.new(length*Math.cos(angle), length*Math.sin(angle))*scale end
p2_absolute()
click to toggle source
# File lib/drawsvg.rb, line 148 def p2_absolute parent.absolute_location + p2 end
p2_svg()
click to toggle source
# File lib/drawsvg.rb, line 154 def p2_svg Point.new(p2_absolute.x, (canvas.height - p2_absolute.y)).round end
to_svg(img)
click to toggle source
# File lib/drawsvg.rb, line 136 def to_svg img img.line(p1_svg.x, p1_svg.y, p2_svg.x, p2_svg.y, Rasem::SVGImage::DefaultStyles[:line].merge(@opts)) end