computePaddedContentBounds function
Rect2D?
computePaddedContentBounds({
- required CanvasSceneDocument scene,
- required ComputedScene computed,
- ContentBoundsPolicy policy = const ContentBoundsPolicy(),
- double paddingPx = 0,
Implementation
Rect2D? computePaddedContentBounds({
required CanvasSceneDocument scene,
required ComputedScene computed,
ContentBoundsPolicy policy = const ContentBoundsPolicy(),
double paddingPx = 0,
}) {
Rect2D? b;
final preferredId = policy.preferredIdFor(scene);
if (preferredId != null) {
b = computed.visualBoundsWorldById[preferredId];
}
b ??= selectionUnionBounds(
policy.fallbackIdsFor(scene),
getBounds: (id) => computed.visualBoundsWorldById[id],
);
if (b == null || b.width <= 0 || b.height <= 0) return null;
final p = paddingPx;
return Rect2D.fromLTWH(
b.left - p,
b.top - p,
b.width + p * 2,
b.height + p * 2,
);
}