visitClipNode method

  1. @override
Node visitClipNode(
  1. ClipNode clipNode,
  2. AffineMatrix data
)

Visit a ClipNode.

Implementation

@override
Node visitClipNode(ClipNode clipNode, AffineMatrix data) {
  final AffineMatrix childTransform = clipNode.concatTransform(data);
  final List<Path> transformedClips = <Path>[
    for (Path clip in clipNode.resolver(clipNode.clipId))
      clip.transformed(childTransform)
  ];
  if (transformedClips.isEmpty) {
    return clipNode.child.accept(this, data);
  }
  return ResolvedClipNode(
    clips: transformedClips,
    child: clipNode.child.accept(this, data),
  );
}