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