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