1 /* 2 * Copyright 2005-2007, 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 <SupportDefs.h> 13 14 15 class Desktop; 16 class RGBColor; 17 class WindowLayer; 18 19 20 class Workspace { 21 public: 22 Workspace(Desktop& desktop, int32 index); 23 ~Workspace(); 24 25 const RGBColor& Color() const; 26 void SetColor(const RGBColor& color, bool makeDefault); 27 bool IsCurrent() const 28 { return fCurrentWorkspace; } 29 30 status_t GetNextWindow(WindowLayer*& _window, BPoint& _leftTop); 31 status_t GetPreviousWindow(WindowLayer*& _window, BPoint& _leftTop); 32 void RewindWindows(); 33 34 class Private; 35 36 private: 37 Workspace::Private& fWorkspace; 38 Desktop& fDesktop; 39 WindowLayer* fCurrent; 40 bool fCurrentWorkspace; 41 }; 42 43 #endif /* WORKSPACE_H */ 44