layout method

  1. @override
void layout(
  1. FConstraints constraints
)
override

Implementation

@override
void layout(FConstraints constraints) {
  final child = this.child!;

  child._doLayout(.loose(.vec2(constraints.maxWidth, constraints.maxHeight)));

  final w = constraints.maxWidth.isFinite ? constraints.maxWidth : child.size.x;
  final h = constraints.maxHeight.isFinite ? constraints.maxHeight : child.size.y;

  child.localOffset = .vec2(
    (w - child.size.x) / 2,
    vertical ? (h - child.size.y) / 2 : 0,
  );

  size = .vec2(w, h);
}