From 6670202514af1a16f6055522bf9911393d4b48c6 Mon Sep 17 00:00:00 2001 From: Niklas Poslovski Date: Sun, 2 Feb 2025 14:27:07 +0100 Subject: [PATCH] ControlLook: Use B_PANEL_TEXT_COLOR for scrollbar arrows Change-Id: I7a291842eeaaba00176cb4473a075fad1d3d6293 Reviewed-on: https://review.haiku-os.org/c/haiku/+/8895 Reviewed-by: nephele nephele Tested-by: Commit checker robot --- headers/os/interface/ControlLook.h | 4 ++-- headers/private/interface/HaikuControlLook.h | 4 ++-- .../BeControlLook/BeControlLook.cpp | 4 ++-- .../control_look/BeControlLook/BeControlLook.h | 4 ++-- .../FlatControlLook/FlatControlLook.cpp | 12 ++++++------ .../FlatControlLook/FlatControlLook.h | 4 ++-- src/kits/interface/ControlLook.cpp | 8 ++++---- src/kits/interface/HaikuControlLook.cpp | 7 +++---- src/kits/interface/ScrollBar.cpp | 17 +++++++++-------- src/preferences/appearance/FakeScrollBar.cpp | 9 +++++---- 10 files changed, 37 insertions(+), 36 deletions(-) diff --git a/headers/os/interface/ControlLook.h b/headers/os/interface/ControlLook.h index b8d9bf4881..fd85418b79 100644 --- a/headers/os/interface/ControlLook.h +++ b/headers/os/interface/ControlLook.h @@ -415,8 +415,8 @@ public: virtual void DrawScrollBarButton(BView* view, BRect rect, const BRect& updateRect, - const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, + const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down = false) = 0; virtual void DrawScrollBarThumb(BView* view, BRect& rect, const BRect& updateRect, diff --git a/headers/private/interface/HaikuControlLook.h b/headers/private/interface/HaikuControlLook.h index be6f9c624d..565c154758 100644 --- a/headers/private/interface/HaikuControlLook.h +++ b/headers/private/interface/HaikuControlLook.h @@ -161,8 +161,8 @@ public: orientation orientation); virtual void DrawScrollBarButton(BView* view, BRect rect, const BRect& updateRect, - const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, + const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down = false); virtual void DrawScrollBarBackground(BView* view, BRect& rect1, BRect& rect2, diff --git a/src/add-ons/control_look/BeControlLook/BeControlLook.cpp b/src/add-ons/control_look/BeControlLook/BeControlLook.cpp index 54f9b7625e..a5e472f6cc 100644 --- a/src/add-ons/control_look/BeControlLook/BeControlLook.cpp +++ b/src/add-ons/control_look/BeControlLook/BeControlLook.cpp @@ -424,8 +424,8 @@ BeControlLook::DrawScrollBarBorder(BView* view, BRect rect, void BeControlLook::DrawScrollBarButton(BView* view, BRect rect, - const BRect& updateRect, const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, bool down) + const BRect& updateRect, const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down) { view->PushState(); diff --git a/src/add-ons/control_look/BeControlLook/BeControlLook.h b/src/add-ons/control_look/BeControlLook/BeControlLook.h index 314ad53014..3de3fd69f1 100644 --- a/src/add-ons/control_look/BeControlLook/BeControlLook.h +++ b/src/add-ons/control_look/BeControlLook/BeControlLook.h @@ -84,8 +84,8 @@ public: orientation orientation); virtual void DrawScrollBarButton(BView* view, BRect rect, const BRect& updateRect, - const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, + const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down = false); virtual void DrawScrollBarBackground(BView* view, BRect& rect1, BRect& rect2, diff --git a/src/add-ons/control_look/FlatControlLook/FlatControlLook.cpp b/src/add-ons/control_look/FlatControlLook/FlatControlLook.cpp index ae1ef6895e..8dffbf5080 100644 --- a/src/add-ons/control_look/FlatControlLook/FlatControlLook.cpp +++ b/src/add-ons/control_look/FlatControlLook/FlatControlLook.cpp @@ -360,8 +360,8 @@ FlatControlLook::DrawScrollBarBorder(BView* view, BRect rect, void FlatControlLook::DrawScrollBarButton(BView* view, BRect rect, - const BRect& updateRect, const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, bool down) + const BRect& updateRect, const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down) { if (!ShouldDraw(view, rect, updateRect)) return; @@ -371,16 +371,16 @@ FlatControlLook::DrawScrollBarButton(BView* view, BRect rect, bool isEnabled = (flags & B_DISABLED) == 0; if (isEnabled) { - arrowColor = tint_color(ui_color(B_CONTROL_TEXT_COLOR), 0.6); + arrowColor = tint_color(text, 0.6); // if the base color is too dark, then lets make it lighter if (base.IsDark()) { - arrowColor = tint_color(ui_color(B_CONTROL_TEXT_COLOR), 1.3);; + arrowColor = tint_color(text, 1.3); } } else { - arrowColor = tint_color(ui_color(B_CONTROL_TEXT_COLOR), 0.4); + arrowColor = tint_color(text, 0.4); // if the base color is too dark, then lets make it lighter if (base.IsDark()) { - arrowColor = tint_color(ui_color(B_CONTROL_TEXT_COLOR), 1.5);; + arrowColor = tint_color(text, 1.5); } } diff --git a/src/add-ons/control_look/FlatControlLook/FlatControlLook.h b/src/add-ons/control_look/FlatControlLook/FlatControlLook.h index 38bb34b9c0..55f40822e9 100644 --- a/src/add-ons/control_look/FlatControlLook/FlatControlLook.h +++ b/src/add-ons/control_look/FlatControlLook/FlatControlLook.h @@ -86,8 +86,8 @@ public: orientation orientation); virtual void DrawScrollBarButton(BView* view, BRect rect, const BRect& updateRect, - const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, + const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down = false); virtual void DrawScrollBarBackground(BView* view, BRect& rect1, BRect& rect2, diff --git a/src/kits/interface/ControlLook.cpp b/src/kits/interface/ControlLook.cpp index 7dce80c4c4..a2ae152e3c 100644 --- a/src/kits/interface/ControlLook.cpp +++ b/src/kits/interface/ControlLook.cpp @@ -151,11 +151,11 @@ extern "C" void B_IF_GCC_2(_ReservedControlLook2__Q28BPrivate12BControlLook, _ZN8BPrivate12BControlLook21_ReservedControlLook2Ev)( BControlLook* controlLook, BView* view, BRect rect, - const BRect& updateRect, const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, bool down) + const BRect& updateRect, const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down) { - controlLook->DrawScrollBarButton(view, rect, updateRect, base, flags, - direction, orientation, down); + controlLook->DrawScrollBarButton(view, rect, updateRect, base, text, + flags, direction, orientation, down); } diff --git a/src/kits/interface/HaikuControlLook.cpp b/src/kits/interface/HaikuControlLook.cpp index 493700645f..faa6e2c685 100644 --- a/src/kits/interface/HaikuControlLook.cpp +++ b/src/kits/interface/HaikuControlLook.cpp @@ -615,8 +615,8 @@ HaikuControlLook::DrawScrollBarBorder(BView* view, BRect rect, void HaikuControlLook::DrawScrollBarButton(BView* view, BRect rect, - const BRect& updateRect, const rgb_color& base, uint32 flags, - int32 direction, orientation orientation, bool down) + const BRect& updateRect, const rgb_color& base, const rgb_color& text, + uint32 flags, int32 direction, orientation orientation, bool down) { if (!ShouldDraw(view, rect, updateRect)) return; @@ -634,8 +634,7 @@ HaikuControlLook::DrawScrollBarButton(BView* view, BRect rect, BControlLook::B_ALL_BORDERS, orientation); rect.InsetBy(-1, -1); - DrawArrowShape(view, rect, updateRect, base, direction, flags, 1.9f); - // almost but not quite B_DARKEN_MAX_TINT + DrawArrowShape(view, rect, updateRect, text, direction, flags, 1); // revert clipping constraints view->PopState(); diff --git a/src/kits/interface/ScrollBar.cpp b/src/kits/interface/ScrollBar.cpp index e781e9996b..a5cc82cf98 100644 --- a/src/kits/interface/ScrollBar.cpp +++ b/src/kits/interface/ScrollBar.cpp @@ -388,6 +388,7 @@ void BScrollBar::Draw(BRect updateRect) { rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR); + rgb_color text = ui_color(B_PANEL_TEXT_COLOR); uint32 flags = 0; bool scrollingEnabled = fMin < fMax @@ -419,7 +420,7 @@ BScrollBar::Draw(BRect updateRect) rect.left + rect.Height(), rect.bottom); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW1 + base, text, flags | (fPrivateData->fButtonDown == ARROW1 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_LEFT_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW1); @@ -427,7 +428,7 @@ BScrollBar::Draw(BRect updateRect) if (doubleArrows) { buttonFrame.OffsetBy(rect.Height() + 1, 0.0f); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW2 + base, text, flags | (fPrivateData->fButtonDown == ARROW2 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_RIGHT_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW2); @@ -435,7 +436,7 @@ BScrollBar::Draw(BRect updateRect) buttonFrame.OffsetTo(rect.right - ((rect.Height() * 2) + 1), rect.top); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW3 + base, text, flags | (fPrivateData->fButtonDown == ARROW3 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_LEFT_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW3); @@ -449,7 +450,7 @@ BScrollBar::Draw(BRect updateRect) buttonFrame.OffsetTo(rect.right - rect.Height(), rect.top); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW4 + base, text, flags | (fPrivateData->fButtonDown == ARROW4 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_RIGHT_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW4); @@ -458,7 +459,7 @@ BScrollBar::Draw(BRect updateRect) rect.top + rect.Width()); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW1 + base, text, flags | (fPrivateData->fButtonDown == ARROW1 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_UP_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW1); @@ -466,7 +467,7 @@ BScrollBar::Draw(BRect updateRect) if (doubleArrows) { buttonFrame.OffsetBy(0, rect.Width() + 1); be_control_look->DrawScrollBarButton(this, buttonFrame, - updateRect, base, flags | (fPrivateData->fButtonDown == ARROW2 + updateRect, base, text, flags | (fPrivateData->fButtonDown == ARROW2 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_DOWN_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW2); @@ -474,7 +475,7 @@ BScrollBar::Draw(BRect updateRect) buttonFrame.OffsetTo(rect.left, rect.bottom - ((rect.Width() * 2) + 1)); be_control_look->DrawScrollBarButton(this, buttonFrame, - updateRect, base, flags | (fPrivateData->fButtonDown == ARROW3 + updateRect, base, text, flags | (fPrivateData->fButtonDown == ARROW3 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_UP_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW3); @@ -488,7 +489,7 @@ BScrollBar::Draw(BRect updateRect) buttonFrame.OffsetTo(rect.left, rect.bottom - rect.Width()); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags | (fPrivateData->fButtonDown == ARROW4 + base, text, flags | (fPrivateData->fButtonDown == ARROW4 ? BControlLook::B_ACTIVATED : 0), BControlLook::B_DOWN_ARROW, fOrientation, fPrivateData->fButtonDown == ARROW4); diff --git a/src/preferences/appearance/FakeScrollBar.cpp b/src/preferences/appearance/FakeScrollBar.cpp index 6d218f96e8..f8e0b40a80 100644 --- a/src/preferences/appearance/FakeScrollBar.cpp +++ b/src/preferences/appearance/FakeScrollBar.cpp @@ -49,6 +49,7 @@ void FakeScrollBar::Draw(BRect updateRect) { rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR); + rgb_color text = ui_color(B_PANEL_TEXT_COLOR); uint32 flags = BControlLook::B_PARTIALLY_ACTIVATED; @@ -82,21 +83,21 @@ FakeScrollBar::Draw(BRect updateRect) BRect buttonFrame(rect.left, rect.top, rect.left + rect.Height(), rect.bottom); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags, BControlLook::B_LEFT_ARROW, B_HORIZONTAL); + base, text, flags, BControlLook::B_LEFT_ARROW, B_HORIZONTAL); if (fDoubleArrows) { buttonFrame.OffsetBy(rect.Height() + 1, 0.0f); be_control_look->DrawScrollBarButton(this, buttonFrame, - updateRect, base, flags, BControlLook::B_RIGHT_ARROW, + updateRect, base, text, flags, BControlLook::B_RIGHT_ARROW, B_HORIZONTAL); buttonFrame.OffsetTo(rect.right - ((rect.Height() * 2) + 1), rect.top); be_control_look->DrawScrollBarButton(this, buttonFrame, - updateRect, base, flags, BControlLook::B_LEFT_ARROW, + updateRect, base, text, flags, BControlLook::B_LEFT_ARROW, B_HORIZONTAL); } buttonFrame.OffsetTo(rect.right - rect.Height(), rect.top); be_control_look->DrawScrollBarButton(this, buttonFrame, updateRect, - base, flags, BControlLook::B_RIGHT_ARROW, B_HORIZONTAL); + base, text, flags, BControlLook::B_RIGHT_ARROW, B_HORIZONTAL); } // inset rect to make room for arrows