applyPaintTransformForBoxChild method

  1. @protected
void applyPaintTransformForBoxChild (RenderBox child, Matrix4 transform)
@protected

Utility function for applyPaintTransform for use when the children are RenderBox widgets.

This function turns the value returned by childMainAxisPosition and childCrossAxisPositionfor the child in question into a translation that it then applies to the given matrix.

Calling this for a child that is not visible is not valid.

Implementation

@protected
void applyPaintTransformForBoxChild(RenderBox child, Matrix4 transform) {
  final bool rightWayUp = _getRightWayUp(constraints);
  double delta = childMainAxisPosition(child);
  final double crossAxisDelta = childCrossAxisPosition(child);
  assert(constraints.axis != null);
  switch (constraints.axis) {
    case Axis.horizontal:
      if (!rightWayUp)
        delta = geometry.paintExtent - child.size.width - delta;
      transform.translate(delta, crossAxisDelta);
      break;
    case Axis.vertical:
      if (!rightWayUp)
        delta = geometry.paintExtent - child.size.height - delta;
      transform.translate(crossAxisDelta, delta);
      break;
  }
}