UI: Center views inside their margins

Centering gravity centered in the whole cell, ignoring the margins, so a view with
uneven margins ended up off center.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Henrik RydgårdandClaude Opus 5.5 committed 2026-10-24 12:36:07 +02:00
1 parent 81d078efc4
commit 7fa69ac27f
1 file changed
+2 -2
+2 -2
View File
@@ -31,14 +31,14 @@ void ApplyGravity(const Bounds &outer, const Margins &margins, float w, float h,
switch ((Gravity)((int)gravity & (int)Gravity::G_HORIZMASK)) {
case Gravity::G_LEFT: inner.x = outer.x + margins.left; break;
case Gravity::G_RIGHT: inner.x = outer.x + outer.w - w - margins.right; break;
case Gravity::G_HCENTER: inner.x = outer.x + (outer.w - w) * 0.5f; break;
case Gravity::G_HCENTER: inner.x = outer.x + margins.left + (outer.w - margins.horiz() - w) * 0.5f; break;
default: break;
}
switch ((Gravity)((int)gravity & (int)Gravity::G_VERTMASK)) {
case Gravity::G_TOP: inner.y = outer.y + margins.top; break;
case Gravity::G_BOTTOM: inner.y = outer.y + outer.h - h - margins.bottom; break;
case Gravity::G_VCENTER: inner.y = outer.y + (outer.h - h) * 0.5f; break;
case Gravity::G_VCENTER: inner.y = outer.y + margins.top + (outer.h - margins.vert() - h) * 0.5f; break;
default: break;
}
}