xref: /haiku/src/servers/app/stackandtile/SATDecorator.h (revision bab64f65bb775dc23060e276f1f1c4498ab7af6c)
127f5d579SClemens Zeidler /*
2*7f9368caSlooncraz  * Copyright 2010-2015, Haiku, Inc.
327f5d579SClemens Zeidler  * Distributed under the terms of the MIT License.
427f5d579SClemens Zeidler  *
527f5d579SClemens Zeidler  * Authors:
627f5d579SClemens Zeidler  *		Clemens Zeidler <haiku@clemens-zeidler.de>
727f5d579SClemens Zeidler  */
827f5d579SClemens Zeidler #ifndef SAT_DECORATOR_H
927f5d579SClemens Zeidler #define SAT_DECORATOR_H
1027f5d579SClemens Zeidler 
1127f5d579SClemens Zeidler 
1227f5d579SClemens Zeidler #include "DecorManager.h"
1327f5d579SClemens Zeidler #include "DefaultDecorator.h"
1427f5d579SClemens Zeidler #include "DefaultWindowBehaviour.h"
1527f5d579SClemens Zeidler #include "StackAndTile.h"
1627f5d579SClemens Zeidler 
1727f5d579SClemens Zeidler 
18*7f9368caSlooncraz class Desktop;
19*7f9368caSlooncraz 
20*7f9368caSlooncraz 
2127f5d579SClemens Zeidler class SATDecorator : public DefaultDecorator {
2227f5d579SClemens Zeidler public:
2327f5d579SClemens Zeidler 			enum {
2427f5d579SClemens Zeidler 				HIGHLIGHT_STACK_AND_TILE = HIGHLIGHT_USER_DEFINED
2527f5d579SClemens Zeidler 			};
2627f5d579SClemens Zeidler 
2727f5d579SClemens Zeidler public:
2827f5d579SClemens Zeidler 								SATDecorator(DesktopSettings& settings,
29*7f9368caSlooncraz 									BRect frame, Desktop* desktop);
3027f5d579SClemens Zeidler 
3127f5d579SClemens Zeidler protected:
32*7f9368caSlooncraz 	virtual	void				UpdateColors(DesktopSettings& settings);
3327f5d579SClemens Zeidler 	virtual	void				GetComponentColors(Component component,
3427f5d579SClemens Zeidler 									uint8 highlight, ComponentColors _colors,
3527f5d579SClemens Zeidler 									Decorator::Tab* tab = NULL);
36ae0218edSAdrien Destugues 
37ae0218edSAdrien Destugues private:
38*7f9368caSlooncraz 				rgb_color		fHighlightTabColor;
39*7f9368caSlooncraz 				rgb_color		fHighlightTabColorLight;
40*7f9368caSlooncraz 				rgb_color		fHighlightTabColorBevel;
41*7f9368caSlooncraz 				rgb_color		fHighlightTabColorShadow;
4227f5d579SClemens Zeidler };
4327f5d579SClemens Zeidler 
4427f5d579SClemens Zeidler 
4527f5d579SClemens Zeidler class SATWindowBehaviour : public DefaultWindowBehaviour {
4627f5d579SClemens Zeidler public:
4727f5d579SClemens Zeidler 								SATWindowBehaviour(Window* window,
4827f5d579SClemens Zeidler 									StackAndTile* sat);
4927f5d579SClemens Zeidler 
5027f5d579SClemens Zeidler protected:
5127f5d579SClemens Zeidler 	virtual bool				AlterDeltaForSnap(Window* window, BPoint& delta,
5227f5d579SClemens Zeidler 									bigtime_t now);
5327f5d579SClemens Zeidler 
5427f5d579SClemens Zeidler private:
5527f5d579SClemens Zeidler 			StackAndTile*		fStackAndTile;
5627f5d579SClemens Zeidler };
5727f5d579SClemens Zeidler 
5827f5d579SClemens Zeidler 
5927f5d579SClemens Zeidler #endif
60