Bug 1769269 - Center non-overlay scrollbar thumb on cocoa. r=mstange

As per discussion in bug 1764435.

Differential Revision: https://phabricator.services.mozilla.com/D146315
This commit is contained in:
Emilio Cobos Álvarez 2022-05-13 15:59:24 +00:00
Родитель aa8c3727dc
Коммит 3a9dbcaaba
1 изменённых файлов: 9 добавлений и 3 удалений

Просмотреть файл

@ -162,11 +162,17 @@ static ThumbRect GetThumbRect(const LayoutDeviceRect& aRect,
}
thickness *= aScale;
// Compute the thumb rect.
const float outerSpacing =
((aParams.isOverlay || aParams.isSmall) ? 1.0f : 2.0f) * aScale;
LayoutDeviceRect thumbRect = aRect;
thumbRect.Deflate(1.0f * aScale);
// Compute the thumb rect. The thumb rect is centered in non-overlay mode,
// and spaced in overlay mode.
const float outerSpacing = [&] {
if (aParams.isOverlay) {
return 1.0f * aScale;
}
float size = aParams.isHorizontal ? thumbRect.Height() : thumbRect.Width();
return (size - thickness) / 2.0f;
}();
if (aParams.isHorizontal) {
float bottomEdge = thumbRect.YMost() - outerSpacing;
thumbRect.SetBoxY(bottomEdge - thickness, bottomEdge);