BeDecorator: Add Stack & Tile support

This commit is contained in:
Puck Meerburg
2015-05-16 20:23:59 +02:00
parent 85892ec52f
commit 47c470c6d0
3 changed files with 22 additions and 6 deletions
@@ -75,7 +75,7 @@ BeDecorAddOn::_AllocateDecorator(DesktopSettings& settings, BRect rect)
// methods to the Decorator base class // methods to the Decorator base class
BeDecorator::BeDecorator(DesktopSettings& settings, BRect rect) BeDecorator::BeDecorator(DesktopSettings& settings, BRect rect)
: :
TabDecorator(settings, rect) SATDecorator(settings, rect)
{ {
STRACE(("BeDecorator:\n")); STRACE(("BeDecorator:\n"));
STRACE(("\tFrame (%.1f,%.1f,%.1f,%.1f)\n", STRACE(("\tFrame (%.1f,%.1f,%.1f,%.1f)\n",
@@ -109,7 +109,17 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight,
Decorator::Tab* tab = static_cast<Decorator::Tab*>(_tab); Decorator::Tab* tab = static_cast<Decorator::Tab*>(_tab);
switch (component) { switch (component) {
case COMPONENT_TAB: 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] _colors[COLOR_TAB_FRAME_LIGHT]
= tint_color(kFocusFrameColor, B_DARKEN_2_TINT); = tint_color(kFocusFrameColor, B_DARKEN_2_TINT);
_colors[COLOR_TAB_FRAME_DARK] _colors[COLOR_TAB_FRAME_DARK]
@@ -134,7 +144,10 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight,
case COMPONENT_CLOSE_BUTTON: case COMPONENT_CLOSE_BUTTON:
case COMPONENT_ZOOM_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] = kFocusTabColor;
_colors[COLOR_BUTTON_LIGHT] = kFocusTabColorLight; _colors[COLOR_BUTTON_LIGHT] = kFocusTabColorLight;
} else { } else {
@@ -151,7 +164,9 @@ BeDecorator::GetComponentColors(Component component, uint8 highlight,
default: default:
{ {
rgb_color base; 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; base = kFocusFrameColor;
else else
base = kNonFocusFrameColor; base = kNonFocusFrameColor;
@@ -13,7 +13,7 @@
#include "DecorManager.h" #include "DecorManager.h"
#include "TabDecorator.h" #include "SATDecorator.h"
class Desktop; class Desktop;
@@ -30,7 +30,7 @@ protected:
}; };
class BeDecorator: public TabDecorator { class BeDecorator: public SATDecorator {
public: public:
BeDecorator(DesktopSettings& settings, BRect frame); BeDecorator(DesktopSettings& settings, BRect frame);
virtual ~BeDecorator(); virtual ~BeDecorator();
@@ -2,6 +2,7 @@ SubDir HAIKU_TOP src add-ons decorators BeDecorator ;
UseBuildFeatureHeaders freetype ; UseBuildFeatureHeaders freetype ;
UseHeaders [ FDirName $(HAIKU_TOP) src servers app ] ; 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 decorator ] ;
UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing ] ;
UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ;