class Laser::Cutter::Renderer::BoxRenderer
Public Class Methods
new(config)
click to toggle source
Calls superclass method
Laser::Cutter::Renderer::Base::new
# File lib/laser-cutter/renderer/box_renderer.rb, line 9 def initialize(config) super(config) self.subject = Laser::Cutter::Box.new(config) end
Public Instance Methods
enclosure()
click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 19 def enclosure box.enclosure end
ensure_space_for(rect)
click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 14 def ensure_space_for(rect) coords = [ rect.p2.x, rect.p2.y ].map{|a| page_manager.value_from_units(a)} box.metadata = Geometry::Point.new(coords) end
render(pdf = nil)
click to toggle source
# File lib/laser-cutter/renderer/box_renderer.rb, line 23 def render pdf = nil renderer = self pdf.instance_eval do self.line_width = renderer.config.stroke.send(renderer.config.units.to_sym) stroke_color renderer.config[:color] || BLACK renderer.box.generate_notches.each do |notch| LineRenderer.new(renderer.config, notch).render(self) end end end