Class: Emfsvg::Svg::Elements::Group

Inherits:
Emfsvg::Svg::Element show all
Defined in:
lib/emfsvg/svg/elements/group.rb

Overview

...: groups children with an optional coordinate transform applied to all descendants.

Constant Summary collapse

ELEMENT_NAME =
"g"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Emfsvg::Svg::Element

#clip_path, #element_name, register

Constructor Details

#initialize(children:, transform_matrix: Emf::Model::Geometry::Matrix.identity) ⇒ Group

Returns a new instance of Group.



16
17
18
19
# File 'lib/emfsvg/svg/elements/group.rb', line 16

def initialize(children:, transform_matrix: Emf::Model::Geometry::Matrix.identity)
  @children = children
  @transform_matrix = transform_matrix
end

Instance Attribute Details

#childrenObject (readonly)

Returns the value of attribute children.



14
15
16
# File 'lib/emfsvg/svg/elements/group.rb', line 14

def children
  @children
end

#transform_matrixObject (readonly)

Returns the value of attribute transform_matrix.



14
15
16
# File 'lib/emfsvg/svg/elements/group.rb', line 14

def transform_matrix
  @transform_matrix
end

Class Method Details

.from_node(node) ⇒ Object



25
26
27
28
29
# File 'lib/emfsvg/svg/elements/group.rb', line 25

def self.from_node(node)
  children = node.element_children.map { |c| Element.from_node(c) }
  new(children: children,
      transform_matrix: Svg::TransformParser.parse(node["transform"]))
end

Instance Method Details

#transformed?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/emfsvg/svg/elements/group.rb', line 21

def transformed?
  !transform_matrix.identity?
end