visitPatternNode method
Visit a PatternNode
.
Implementation
@override
Node visitPatternNode(PatternNode node, AffineMatrix data) {
final AttributedNode? resolvedPattern = node.resolver(node.patternId);
if (resolvedPattern == null) {
return node.child.accept(this, data);
}
final Node child = node.child.accept(this, data);
final AffineMatrix childTransform = node.concatTransform(data);
final Node pattern = resolvedPattern.accept(this, childTransform);
return ResolvedPatternNode(
child: child,
pattern: pattern,
x: resolvedPattern.attributes.x?.calculate(0) ?? 0,
y: resolvedPattern.attributes.y?.calculate(0) ?? 0,
width: resolvedPattern.attributes.width!,
height: resolvedPattern.attributes.height!,
transform: data,
id: node.patternId,
);
}