From 47c470c6d0332d33a1080b762c4a238a9a656e14 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Sat, 16 May 2015 20:16:57 +0200 Subject: [PATCH] BeDecorator: Add Stack & Tile support --- .../decorators/BeDecorator/BeDecorator.cpp | 23 +++++++++++++++---- .../decorators/BeDecorator/BeDecorator.h | 4 ++-- src/add-ons/decorators/BeDecorator/Jamfile | 1 + 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/add-ons/decorators/BeDecorator/BeDecorator.cpp b/src/add-ons/decorators/BeDecorator/BeDecorator.cpp index f89df1134e1..f2a98f03f3c 100644 --- a/src/add-ons/decorators/BeDecorator/BeDecorator.cpp +++ b/src/add-ons/decorators/BeDecorator/BeDecorator.cpp @@ -75,7 +75,7 @@ BeDecorAddOn::_AllocateDecorator(DesktopSettings& settings, BRect rect) // methods to the Decorator base class BeDecorator::BeDecorator(DesktopSettings& settings, BRect rect) : - TabDecorator(settings, rect) + SATDecorator(settings, rect) { STRACE(("BeDecorator:\n")); STRACE(("\tFrame (%.1f,%.1f,%.1f,%.1f)\n", @@ -109,7 +109,17 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight, Decorator::Tab* tab = static_cast(_tab); switch (component) { case COMPONENT_TAB: - if (tab && tab->buttonFocus) { + if (highlight == HIGHLIGHT_STACK_AND_TILE) { + _colors[COLOR_TAB_FRAME_LIGHT] + = tint_color(kFocusFrameColor, B_DARKEN_3_TINT); + _colors[COLOR_TAB_FRAME_DARK] + = tint_color(kFocusFrameColor, B_DARKEN_4_TINT); + _colors[COLOR_TAB] = tint_color(kFocusTabColor, B_DARKEN_1_TINT); + _colors[COLOR_TAB_LIGHT] = tint_color(kFocusTabColorLight, B_DARKEN_1_TINT); + _colors[COLOR_TAB_BEVEL] = kFocusTabColorBevel; + _colors[COLOR_TAB_SHADOW] = kFocusTabColorShadow; + _colors[COLOR_TAB_TEXT] = kFocusTextColor; + } else if (tab && tab->buttonFocus) { _colors[COLOR_TAB_FRAME_LIGHT] = tint_color(kFocusFrameColor, B_DARKEN_2_TINT); _colors[COLOR_TAB_FRAME_DARK] @@ -134,7 +144,10 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight, case COMPONENT_CLOSE_BUTTON: case COMPONENT_ZOOM_BUTTON: - if (tab && tab->buttonFocus) { + if (highlight == HIGHLIGHT_STACK_AND_TILE) { + _colors[COLOR_BUTTON] = tint_color(kFocusTabColor, B_DARKEN_1_TINT); + _colors[COLOR_BUTTON_LIGHT] = tint_color(kFocusTabColorLight, B_DARKEN_1_TINT); + } else if (tab && tab->buttonFocus) { _colors[COLOR_BUTTON] = kFocusTabColor; _colors[COLOR_BUTTON_LIGHT] = kFocusTabColorLight; } else { @@ -151,7 +164,9 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight, default: { rgb_color base; - if (tab && tab->buttonFocus) + if (highlight == HIGHLIGHT_STACK_AND_TILE) + base = tint_color(kFocusFrameColor, B_DARKEN_3_TINT); + else if (tab && tab->buttonFocus) base = kFocusFrameColor; else base = kNonFocusFrameColor; diff --git a/src/add-ons/decorators/BeDecorator/BeDecorator.h b/src/add-ons/decorators/BeDecorator/BeDecorator.h index fe223e76424..afdec09da1a 100644 --- a/src/add-ons/decorators/BeDecorator/BeDecorator.h +++ b/src/add-ons/decorators/BeDecorator/BeDecorator.h @@ -13,7 +13,7 @@ #include "DecorManager.h" -#include "TabDecorator.h" +#include "SATDecorator.h" class Desktop; @@ -30,7 +30,7 @@ class BeDecorAddOn : public DecorAddOn { }; -class BeDecorator: public TabDecorator { +class BeDecorator: public SATDecorator { public: BeDecorator(DesktopSettings& settings, BRect frame); virtual ~BeDecorator(); diff --git a/src/add-ons/decorators/BeDecorator/Jamfile b/src/add-ons/decorators/BeDecorator/Jamfile index c992ae57d4c..c773adadb68 100644 --- a/src/add-ons/decorators/BeDecorator/Jamfile +++ b/src/add-ons/decorators/BeDecorator/Jamfile @@ -2,6 +2,7 @@ SubDir HAIKU_TOP src add-ons decorators BeDecorator ; UseBuildFeatureHeaders freetype ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app ] ; +UseHeaders [ FDirName $(HAIKU_TOP) src servers app stackandtile ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app decorator ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ;