absoluteTransform method

MMatrix3 absoluteTransform([
  1. Node? upTo
])

This node's transform composed with every TransformNode ancestor, stopping at (but not including) upTo.

The returned matrix is owned by this node and should not be retained.

Implementation

MMatrix3 absoluteTransform([Node? upTo]) {
  final transform = _lastAbsoluteTransform;
  transform.setFrom(localTransform);
  var current = parent;

  while (current != null && !identical(current, upTo)) {
    if (current is TransformNode) {
      transform.premultiply(current.localTransform);
    }

    current = current.parent;
  }

  return transform;
}