setChildParentData method

void setChildParentData(
  1. RenderObject child,
  2. SliverConstraints constraints,
  3. SliverGeometry geometry
)
inherited

Implementation

void setChildParentData(
  RenderObject child,
  SliverConstraints constraints,
  SliverGeometry geometry,
) {
  final SliverPhysicalParentData childParentData =
      child.parentData as SliverPhysicalParentData;
  switch (applyGrowthDirectionToAxisDirection(
    constraints.axisDirection,
    constraints.growthDirection,
  )) {
    case AxisDirection.up:
      childParentData.paintOffset = Offset(
        0.0,
        geometry.paintExtent -
            childMainAxisPosition(child) -
            childPaintExtent(child),
      );
      break;
    case AxisDirection.right:
      childParentData.paintOffset = Offset(childMainAxisPosition(child), 0.0);
      break;
    case AxisDirection.down:
      childParentData.paintOffset = Offset(0.0, childMainAxisPosition(child));
      break;
    case AxisDirection.left:
      childParentData.paintOffset = Offset(
        geometry.paintExtent -
            childMainAxisPosition(child) -
            childPaintExtent(child),
        0.0,
      );
      break;
  }
}