Class: Idml::Render::Renderers::RectangleRenderer
- Inherits:
-
Object
- Object
- Idml::Render::Renderers::RectangleRenderer
- Defined in:
- lib/idml/render/renderers/rectangle_renderer.rb
Overview
Renders an IDML Rectangle on a Pdfrb::Content::Canvas.
Class Method Summary collapse
- .placement_box(rect, page_height) ⇒ Object
- .render(canvas, context) ⇒ Object
- .strokeable?(rect) ⇒ Boolean
Class Method Details
.placement_box(rect, page_height) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/idml/render/renderers/rectangle_renderer.rb', line 21 def self.placement_box(rect, page_height) bounds = rect.geometric_bounds return nil unless bounds Geometry.placement_rect(bounds, rect.item_transform, page_height) end |
.render(canvas, context) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/idml/render/renderers/rectangle_renderer.rb', line 8 def self.render(canvas, context) rect = context.item return if rect.visible == false box = placement_box(rect, context.page_height) return unless box canvas.save_graphics_state do render_fill(canvas, rect, context, box) render_stroke(canvas, rect, context, box) end end |
.strokeable?(rect) ⇒ Boolean
54 55 56 57 58 |
# File 'lib/idml/render/renderers/rectangle_renderer.rb', line 54 def self.strokeable?(rect) rect.stroke_color && rect.stroke_color != "Color/None" && rect.stroke_weight&.positive? end |