getDefaultCrossAxisDirection static method Null safety

AxisDirection getDefaultCrossAxisDirection(
  1. BuildContext context,
  2. AxisDirection axisDirection
)

Given a BuildContext and an AxisDirection, determine the correct cross axis direction.

This depends on the Directionality if the axisDirection is vertical; otherwise, the default cross axis direction is downwards.

Implementation

static AxisDirection getDefaultCrossAxisDirection(BuildContext context, AxisDirection axisDirection) {
  assert(axisDirection != null);
  switch (axisDirection) {
    case AxisDirection.up:
      assert(debugCheckHasDirectionality(
        context,
        why: "to determine the cross-axis direction when the viewport has an 'up' axisDirection",
        alternative: "Alternatively, consider specifying the 'crossAxisDirection' argument on the Viewport.",
      ));
      return textDirectionToAxisDirection(Directionality.of(context));
    case AxisDirection.right:
      return AxisDirection.down;
    case AxisDirection.down:
      assert(debugCheckHasDirectionality(
        context,
        why: "to determine the cross-axis direction when the viewport has a 'down' axisDirection",
        alternative: "Alternatively, consider specifying the 'crossAxisDirection' argument on the Viewport.",
      ));
      return textDirectionToAxisDirection(Directionality.of(context));
    case AxisDirection.left:
      return AxisDirection.down;
  }
}