Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*******************************************************************************
* * (C) COPYRIGHT MICROSOFT CORPORATION, 1998 * * TITLE: SSHNDLER.H * * VERSION: 1.0 * * AUTHOR: ShaunIv * * DATE: 12/4/1999 * * DESCRIPTION: * *******************************************************************************/ #ifndef __SSHNDLER_H_INCLUDED
#define __SSHNDLER_H_INCLUDED
#include <windows.h>
#include "imagescr.h"
#include "extimer.h"
#include "simstr.h"
#include "findthrd.h"
//
// We will shuffle the list every [SHUFFLE_INTERVAL] images until we are done gathering files.
//
#define SHUFFLE_INTERVAL 50
//
// To decrease the tendency to see the same image first, we will try to vary the image that
// causes the screensaver to be started to a random image index less than this number
//
#define MAX_START_IMAGE 20
//
// Number of ms to wait before starting up the screensaver timers
// in case we don't find an image before this timer runs.
//
#define BACKUP_START_TIMER_PERIOD 5000
class CScreenSaverHandler { private: CImageScreenSaver *m_pImageScreenSaver; HINSTANCE m_hInstance; CSimpleString m_strRegistryPath; HWND m_hWnd; UINT m_nPaintTimerId; UINT m_nChangeTimerId; UINT m_nBackupStartTimerId; UINT m_nBackupStartTimerPeriod; UINT m_nFindNotifyMessage; bool m_bPaused; CExclusiveTimer m_Timer; HANDLE m_hFindThread; HANDLE m_hFindCancel; bool m_bScreensaverStarted; int m_nStartImage; int m_nShuffleInterval; CRandomNumberGen m_Random;
private: // No implementation
CScreenSaverHandler(void); CScreenSaverHandler( const CScreenSaverHandler & ); CScreenSaverHandler &operator=( const CScreenSaverHandler & );
public: void Initialize(void); CScreenSaverHandler( HWND hWnd, UINT nFindNotifyMessage, UINT nPaintTimer, UINT nChangeTimer, UINT nBackupStartTimer, LPCTSTR szRegistryPath, HINSTANCE hInstance ); ~CScreenSaverHandler(void);
// Message handlers
bool HandleKeyboardMessage( UINT nMessage, WPARAM nVirtkey ); void HandleConfigChanged(void); void HandleTimer( WPARAM nEvent ); void HandlePaint(void); void HandleFindFile( CFoundFileMessageData *pFoundFileMessageData ); };
#endif // __SSHNDLER_H_INCLUDED
|