1 /* 2 * Copyright 2005-2009, Haiku. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Axel Dörfler, axeld@pinc-software.de 7 */ 8 #ifndef WORKSPACE_H 9 #define WORKSPACE_H 10 11 12 #include <InterfaceDefs.h> 13 14 15 class Desktop; 16 class Window; 17 18 19 class Workspace { 20 public: 21 Workspace(Desktop& desktop, int32 index); 22 ~Workspace(); 23 24 const rgb_color& Color() const; 25 void SetColor(const rgb_color& color, 26 bool makeDefault); 27 bool IsCurrent() const 28 { return fCurrentWorkspace; } 29 30 status_t GetNextWindow(Window*& _window, 31 BPoint& _leftTop); 32 status_t GetPreviousWindow(Window*& _window, 33 BPoint& _leftTop); 34 void RewindWindows(); 35 36 class Private; 37 38 private: 39 Workspace::Private& fWorkspace; 40 Desktop& fDesktop; 41 Window* fCurrent; 42 bool fCurrentWorkspace; 43 }; 44 45 #endif /* WORKSPACE_H */ 46