visitMaskNode method

  1. @override
Node visitMaskNode(
  1. MaskNode maskNode,
  2. AffineMatrix data
)

Visit a MaskNode.

Implementation

@override
Node visitMaskNode(MaskNode maskNode, AffineMatrix data) {
  final AttributedNode? resolvedMask = maskNode.resolver(maskNode.maskId);
  if (resolvedMask == null) {
    return maskNode.child.accept(this, data);
  }
  final Node child = maskNode.child.accept(this, data);
  final AffineMatrix childTransform = maskNode.concatTransform(data);
  final Node mask = resolvedMask.accept(this, childTransform);

  return ResolvedMaskNode(
    child: child,
    mask: mask,
    blendMode: maskNode.blendMode,
  );
}