layout method

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

layout API.

Implementation

@override
PwBox layout(Context context, BoxConstraints constraints) {
  final TextStyle merged = context.theme.defaultTextStyle
      .merge(context.theme.paragraphStyle)
      .merge(style);
  final EdgeInsets pad = padding ?? EdgeInsets.zero;
  final EdgeInsets inset = EdgeInsets.fromLTRB(
    margin.left + pad.left,
    margin.top + pad.top,
    margin.right + pad.right,
    margin.bottom + pad.bottom,
  );
  final BoxConstraints inner = constraints.deflate(inset);
  final PwBox child = Text(
    text ?? '',
    style: merged,
    textAlign: textAlign,
  ).layout(context, inner);
  return ProxyBox(
    PwSize(
      constraints.constrainWidth(child.size.width + inset.horizontal),
      constraints.constrainHeight(child.size.height + inset.vertical),
    ),
    child: child,
    childOffset: PwOffset(inset.left, inset.top),
  );
}