xref: /haiku/src/servers/app/Workspace.h (revision 16d5c24e533eb14b7b8a99ee9f3ec9ba66335b1e)
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