layoutGroup method

Rect layoutGroup(
  1. Constraints constraints,
  2. Map<V, Rect> b
)

Implementation

Rect layoutGroup(Constraints constraints, Map<V, Rect> b) {
  final groupBounds =
      Map.fromEntries(b.entries.where((entry) => group.contains(entry.key)));
  if (groupBounds.length == 1) {
    bounds = groupBounds.values.first;
  } else {
    bounds = groupBounds.values
        .skip(1)
        .fold(groupBounds.values.first, (a, c) => a.expandToInclude(c));
  }

  final RRect? rBounds = borderRadius == 0
      ? null
      : RRect.fromRectAndRadius(bounds, Radius.circular(borderRadius));
  paintGroup = rBounds == null
      ? (canvas, offset) {
          canvas.drawRect(bounds, borderPaint!);
        }
      : (canvas, offset) {
          canvas.drawRRect(rBounds, borderPaint!);
        };

  layout(constraints);
  return bounds;
}