xref: /haiku/src/preferences/screensaver/ScreenSaverWindow.h (revision 220d04022750f40f8bac8f01fa551211e28d04f2)
1 /*
2  * Copyright 2003-2013 Haiku, Inc. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  *
5  * Authors:
6  *		Axel Dörfler, axeld@pinc-software.de
7  *		Jérôme Duval, jerome.duval@free.fr
8  *		Michael Phipps
9  *		John Scipione, jscipione@gmail.com
10  */
11 #ifndef SCREEN_SAVER_WINDOW_H
12 #define SCREEN_SAVER_WINDOW_H
13 
14 
15 #include <DirectWindow.h>
16 
17 #include "PasswordWindow.h"
18 #include "ScreenSaverSettings.h"
19 
20 
21 class BMessage;
22 class BRect;
23 
24 class FadeView;
25 class ModulesView;
26 class TabView;
27 
28 
29 class ScreenSaverWindow : public BDirectWindow {
30 public:
31 								ScreenSaverWindow();
32 	virtual						~ScreenSaverWindow();
33 
34 	virtual	void				DirectConnected(direct_buffer_info* info);
35 
36 	virtual	void				MessageReceived(BMessage* message);
37 	virtual	void				ScreenChanged(BRect frame, color_space space);
38 	virtual	bool				QuitRequested();
39 
40 			void				LoadSettings();
41 
42 private:
43 			float				fMinWidth;
44 			float				fMinHeight;
45 			ScreenSaverSettings	fSettings;
46 			PasswordWindow*		fPasswordWindow;
47 
48 			FadeView*			fFadeView;
49 			ModulesView*		fModulesView;
50 			TabView*			fTabView;
51 };
52 
53 
54 static const int32 kMsgUpdateList = 'UPDL';
55 
56 
57 #endif	// SCREEN_SAVER_WINDOW_H
58