Class: Prawn::SVG::Elements::Viewport
- Defined in:
- lib/prawn/svg/elements/viewport.rb
Constant Summary
Constants inherited from Base
Base::COMMA_WSP_REGEXP, Base::MissingAttributesError, Base::PAINT_TYPES, Base::SVG_NAMESPACE, Base::SkipElementError, Base::SkipElementQuietly
Constants included from Attributes::Stroke
Attributes::Stroke::CAP_STYLE_TRANSLATIONS, Attributes::Stroke::JOIN_STYLE_TRANSLATIONS
Instance Attribute Summary
Attributes inherited from Base
#attributes, #base_calls, #calls, #document, #parent_calls, #properties, #source, #state
Instance Method Summary collapse
Methods inherited from Base
#initialize, #name, #parse_and_apply, #process
Methods included from TransformParser
Methods included from PDFMatrix
#load_matrix, #matrix_for_pdf, #rotation_matrix, #scale_matrix, #translation_matrix
Methods included from Attributes::Space
Methods included from Attributes::Stroke
#parse_stroke_attributes_and_call
Methods included from Attributes::ClipPath
#parse_clip_path_attribute_and_call
Methods included from Attributes::Opacity
#parse_opacity_attributes_and_call
Methods included from Attributes::Transform
#parse_transform_attribute_and_call
Constructor Details
This class inherits a constructor from Prawn::SVG::Elements::Base
Instance Method Details
#apply ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/prawn/svg/elements/viewport.rb', line 14 def apply add_call 'transformation_matrix', 1, 0, 0, 1, @x, -@y if @x != 0 || @y != 0 if overflow_hidden? add_call 'rectangle', [0, y(0)], @sizing.output_width, @sizing.output_height add_call 'clip' end 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 |
#container? ⇒ Boolean
26 27 28 |
# File 'lib/prawn/svg/elements/viewport.rb', line 26 def container? true end |
#parse ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 |
# File 'lib/prawn/svg/elements/viewport.rb', line 2 def parse parent_dimensions = [state.., state..] @sizing = Prawn::SVG::Calculators::DocumentSizing.new(parent_dimensions, attributes) @sizing.calculate @x = x_pixels(attributes['x'] || 0) @y = y_pixels(attributes['y'] || 0) state. = @sizing end |