setChildParentData method
void
setChildParentData(
- RenderObject child,
- SliverConstraints constraints,
- SliverGeometry? geometry
override
Sets the SliverPhysicalParentData.paintOffset for the given child according to the SliverConstraints.axisDirection and SliverConstraints.growthDirection and the given geometry.
Implementation
@override
void setChildParentData(RenderObject child, SliverConstraints constraints,
SliverGeometry? geometry) {
final SliverPhysicalParentData? childParentData =
child.parentData as SliverPhysicalParentData?;
Offset offset = Offset.zero;
switch (applyGrowthDirectionToAxisDirection(
constraints.axisDirection, constraints.growthDirection)) {
case AxisDirection.up:
offset += Offset(
0.0,
geometry!.paintExtent -
childMainAxisPosition(child as RenderBox) -
childExtent!);
break;
case AxisDirection.down:
offset += Offset(0.0, childMainAxisPosition(child as RenderBox));
break;
case AxisDirection.left:
offset += Offset(
geometry!.paintExtent -
childMainAxisPosition(child as RenderBox) -
childExtent!,
0.0);
break;
case AxisDirection.right:
offset += Offset(childMainAxisPosition(child as RenderBox), 0.0);
break;
}
childParentData!.paintOffset = offset;
}