1 /* 2 * Copyright 2010-2015, Haiku, Inc. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Clemens Zeidler <haiku@clemens-zeidler.de> 7 */ 8 #ifndef SAT_DECORATOR_H 9 #define SAT_DECORATOR_H 10 11 12 #include "DecorManager.h" 13 #include "DefaultDecorator.h" 14 #include "DefaultWindowBehaviour.h" 15 #include "StackAndTile.h" 16 17 18 class Desktop; 19 20 21 class SATDecorator : public DefaultDecorator { 22 public: 23 enum { 24 HIGHLIGHT_STACK_AND_TILE = HIGHLIGHT_USER_DEFINED 25 }; 26 27 public: 28 SATDecorator(DesktopSettings& settings, 29 BRect frame, Desktop* desktop); 30 31 protected: 32 virtual void UpdateColors(DesktopSettings& settings); 33 virtual void GetComponentColors(Component component, 34 uint8 highlight, ComponentColors _colors, 35 Decorator::Tab* tab = NULL); 36 37 private: 38 rgb_color fHighlightTabColor; 39 rgb_color fHighlightTabColorLight; 40 rgb_color fHighlightTabColorBevel; 41 rgb_color fHighlightTabColorShadow; 42 }; 43 44 45 class SATWindowBehaviour : public DefaultWindowBehaviour { 46 public: 47 SATWindowBehaviour(Window* window, 48 StackAndTile* sat); 49 50 protected: 51 virtual bool AlterDeltaForSnap(Window* window, BPoint& delta, 52 bigtime_t now); 53 54 private: 55 StackAndTile* fStackAndTile; 56 }; 57 58 59 #endif 60