layout method

  1. @override
PwBox layout(
  1. Context context,
  2. BoxConstraints constraints
)
override

layout API.

Implementation

@override
PwBox layout(Context context, BoxConstraints constraints) {
  final int turns = quarterTurns % 4;
  final bool swap = turns == 1 || turns == 3;
  final BoxConstraints childCs = swap
      ? BoxConstraints(
          minWidth: constraints.minHeight,
          maxWidth: constraints.maxHeight,
          minHeight: constraints.minWidth,
          maxHeight: constraints.maxWidth,
        )
      : constraints;
  final PwBox box = child.layout(context, childCs);
  final PwSize size = swap
      ? PwSize(box.size.height, box.size.width)
      : box.size;
  return _RotatedBox(size, box, turns);
}