Sha256: 2a77f694d5753e014cd527aca9cbb8cecbffb253fd15cd32de28c994062c385b
Contents?: true
Size: 837 Bytes
Versions: 15
Compression:
Stored size: 837 Bytes
Contents
class Prawn::SVG::Elements::Viewport < Prawn::SVG::Elements::Base def parse parent_dimensions = [state.viewport_sizing.viewport_width, state.viewport_sizing.viewport_height] @sizing = Prawn::SVG::Calculators::DocumentSizing.new(parent_dimensions, attributes) @sizing.calculate @x = x_pixels(attributes['x'] || 0) @y = y_pixels(attributes['y'] || 0) state.viewport_sizing = @sizing end def apply if @x != 0 || @y != 0 add_call 'transformation_matrix', 1, 0, 0, 1, @x, -@y end add_call 'rectangle', [0, y(0)], @sizing.output_width, @sizing.output_height add_call 'clip' add_call 'transformation_matrix', @sizing.x_scale, 0, 0, @sizing.y_scale, 0, 0 add_call 'transformation_matrix', 1, 0, 0, 1, -@sizing.x_offset, @sizing.y_offset end def container? true end end
Version data entries
15 entries across 15 versions & 1 rubygems