Class: Idml::Render::SpreadRenderer
- Inherits:
-
Object
- Object
- Idml::Render::SpreadRenderer
- Defined in:
- lib/idml/render/spread_renderer.rb
Overview
Renders a typed Parts::Spread onto a Pdfrb::Content::Canvas.
Instance Method Summary collapse
-
#initialize(font_resolver: nil, font_ps_name: Render::DEFAULT_FONT, package: nil, layer_filter: LayerFilter::EXCLUDE_NONE, font_ref_resolver: nil) ⇒ SpreadRenderer
constructor
A new instance of SpreadRenderer.
- #render(canvas, spread, page_width:, page_height:, image_refs: []) ⇒ Object
Constructor Details
#initialize(font_resolver: nil, font_ps_name: Render::DEFAULT_FONT, package: nil, layer_filter: LayerFilter::EXCLUDE_NONE, font_ref_resolver: nil) ⇒ SpreadRenderer
Returns a new instance of SpreadRenderer.
7 8 9 10 11 12 13 14 15 |
# File 'lib/idml/render/spread_renderer.rb', line 7 def initialize(font_resolver: nil, font_ps_name: Render::DEFAULT_FONT, package: nil, layer_filter: LayerFilter::EXCLUDE_NONE, font_ref_resolver: nil) @font_resolver = font_resolver @font_ps_name = font_ps_name @package = package @layer_filter = layer_filter @font_ref_resolver = font_ref_resolver end |
Instance Method Details
#render(canvas, spread, page_width:, page_height:, image_refs: []) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/idml/render/spread_renderer.rb', line 17 def render(canvas, spread, page_width:, page_height:, image_refs: []) context_base = { package: @package, font_resolver: @font_resolver, font_ref_resolver: @font_ref_resolver, color_resolver: build_color_resolver, font_ps_name: @font_ps_name, page_width: page_width, page_height: page_height, layer_filter: @layer_filter, } canvas.save_graphics_state do render_background(canvas, page_width, page_height) render_images(canvas, image_refs) render_master_items(canvas, spread, context_base) spread.each_page_item do |item| next unless @layer_filter.visible?(item) context = RenderContext.new(context_base.merge(item: item)) PageItemRenderer.render(canvas, context) end end end |