Module: Sevgi::Graphics::Mixtures::Duplicate
- Defined in:
- lib/sevgi/graphics/mixtures/duplicate.rb
Instance Method Summary collapse
- #Duplicate(dx: nil, dy: nil, parent: nil, &block) ⇒ Object
- #DuplicateX(dx, parent: nil, &block) ⇒ Object
- #DuplicateY(dy, parent: nil, &block) ⇒ Object
Instance Method Details
#Duplicate(dx: nil, dy: nil, parent: nil, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/sevgi/graphics/mixtures/duplicate.rb', line 7 def Duplicate(dx: nil, dy: nil, parent: nil, &block) duplicated = dup duplicated.Traverse() do |element| element.children = element.children.map(&:dup) id = (element.attributes = element.attributes.dup).delete(:id) element[:"#{ATTRIBUTE_INTERNAL_PREFIX}id"] = id if id block&.call(element) end duplicated.Translate(dx, dy) if dx || dy duplicated.Adopt(parent) duplicated end |
#DuplicateX(dx, parent: nil, &block) ⇒ Object
24 |
# File 'lib/sevgi/graphics/mixtures/duplicate.rb', line 24 def DuplicateX(dx, parent: nil, &block) = Duplicate(dx:, dy: 0, parent:, &block) |
#DuplicateY(dy, parent: nil, &block) ⇒ Object
26 |
# File 'lib/sevgi/graphics/mixtures/duplicate.rb', line 26 def DuplicateY(dy, parent: nil, &block) = Duplicate(dx: 0, dy:, parent:, &block) |