зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1698783 - Make non-native scrollbar size configurable in Windows too. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D108960
This commit is contained in:
Родитель
c33fc977ba
Коммит
2ef90f0690
|
@ -10715,13 +10715,17 @@
|
|||
mirror: always
|
||||
|
||||
# The size in CSS pixels at full zoom of the minimum scrollbar width.
|
||||
- name: widget.non-native-theme.gtk.scrollbar.normal-size
|
||||
- name: widget.non-native-theme.scrollbar.normal-size
|
||||
type: uint32_t
|
||||
#if defined(MOZ_WIDGET_GTK)
|
||||
value: 12
|
||||
#else
|
||||
value: 17
|
||||
#endif
|
||||
mirror: always
|
||||
|
||||
# The size in CSS pixels at full zoom of the "thin" scrollbars.
|
||||
- name: widget.non-native-theme.gtk.scrollbar.thin-size
|
||||
- name: widget.non-native-theme.scrollbar.thin-size
|
||||
type: uint32_t
|
||||
value: 6
|
||||
mirror: always
|
||||
|
|
|
@ -41,18 +41,6 @@ bool nsNativeBasicThemeGTK::ThemeSupportsScrollbarButtons() {
|
|||
return StaticPrefs::widget_non_native_theme_gtk_scrollbar_allow_buttons();
|
||||
}
|
||||
|
||||
auto nsNativeBasicThemeGTK::GetScrollbarSizes(nsPresContext* aPresContext,
|
||||
StyleScrollbarWidth aWidth,
|
||||
Overlay) -> ScrollbarSizes {
|
||||
DPIRatio dpiRatio = GetDPIRatioForScrollbarPart(aPresContext);
|
||||
CSSCoord size =
|
||||
aWidth == StyleScrollbarWidth::Thin
|
||||
? StaticPrefs::widget_non_native_theme_gtk_scrollbar_thin_size()
|
||||
: StaticPrefs::widget_non_native_theme_gtk_scrollbar_normal_size();
|
||||
LayoutDeviceIntCoord s = (size * dpiRatio).Truncated();
|
||||
return {s, s};
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsNativeBasicThemeGTK::GetMinimumWidgetSize(nsPresContext* aPresContext,
|
||||
nsIFrame* aFrame,
|
||||
|
|
|
@ -40,8 +40,6 @@ class nsNativeBasicThemeGTK : public nsNativeBasicTheme {
|
|||
DPIRatio);
|
||||
|
||||
bool ThemeSupportsScrollbarButtons() override;
|
||||
ScrollbarSizes GetScrollbarSizes(nsPresContext*, StyleScrollbarWidth,
|
||||
Overlay) override;
|
||||
|
||||
protected:
|
||||
virtual ~nsNativeBasicThemeGTK() = default;
|
||||
|
|
|
@ -1518,7 +1518,7 @@ void nsNativeBasicTheme::PaintScrollbarButton(
|
|||
float arrowPolygonX[] = {-4.0f, 0.0f, 4.0f, 4.0f, 0.0f, -4.0f};
|
||||
float arrowPolygonY[] = {0.0f, -4.0f, 0.0f, 3.0f, -1.0f, 3.0f};
|
||||
|
||||
const float kPolygonSize = kMinimumScrollbarSize;
|
||||
const float kPolygonSize = 17;
|
||||
|
||||
const int32_t arrowNumPoints = ArrayLength(arrowPolygonX);
|
||||
switch (aAppearance) {
|
||||
|
@ -1934,9 +1934,10 @@ bool nsNativeBasicTheme::GetWidgetOverflow(nsDeviceContext* aContext,
|
|||
auto nsNativeBasicTheme::GetScrollbarSizes(nsPresContext* aPresContext,
|
||||
StyleScrollbarWidth aWidth, Overlay)
|
||||
-> ScrollbarSizes {
|
||||
CSSCoord size = aWidth == StyleScrollbarWidth::Thin
|
||||
? kMinimumThinScrollbarSize
|
||||
: kMinimumScrollbarSize;
|
||||
CSSCoord size =
|
||||
aWidth == StyleScrollbarWidth::Thin
|
||||
? StaticPrefs::widget_non_native_theme_scrollbar_thin_size()
|
||||
: StaticPrefs::widget_non_native_theme_scrollbar_normal_size();
|
||||
LayoutDeviceIntCoord s =
|
||||
(size * GetDPIRatioForScrollbarPart(aPresContext)).Rounded();
|
||||
return {s, s};
|
||||
|
|
|
@ -66,8 +66,6 @@ static const gfx::sRGBColor sScrollbarBorderColor(gfx::sRGBColor(1.0f, 1.0f,
|
|||
static const gfx::sRGBColor sScrollbarThumbColor(
|
||||
gfx::sRGBColor::UnusualFromARGB(0xffcdcdcd));
|
||||
|
||||
static const CSSCoord kMinimumScrollbarSize = 17.0f;
|
||||
static const CSSCoord kMinimumThinScrollbarSize = 6.0f;
|
||||
static const CSSCoord kMinimumColorPickerHeight = 32.0f;
|
||||
static const CSSCoord kMinimumRangeThumbSize = 20.0f;
|
||||
static const CSSCoord kMinimumDropdownArrowButtonWidth = 18.0f;
|
||||
|
|
Загрузка…
Ссылка в новой задаче