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