1 /* 2 * Copyright 2005-2008, 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, bool makeDefault); 26 bool IsCurrent() const 27 { return fCurrentWorkspace; } 28 29 status_t GetNextWindow(Window*& _window, BPoint& _leftTop); 30 status_t GetPreviousWindow(Window*& _window, BPoint& _leftTop); 31 void RewindWindows(); 32 33 class Private; 34 35 private: 36 Workspace::Private& fWorkspace; 37 Desktop& fDesktop; 38 Window* fCurrent; 39 bool fCurrentWorkspace; 40 }; 41 42 #endif /* WORKSPACE_H */ 43