61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
/******************************Module*Header*******************************\
|
|
* Module Name: sswproc.hxx
|
|
*
|
|
* Defines and externals for screen saver common shell
|
|
*
|
|
* Copyright (c) 1996 Microsoft Corporation
|
|
*
|
|
\**************************************************************************/
|
|
|
|
#ifndef __mtkwproc_hxx__
|
|
#define __mtkwproc_hxx__
|
|
|
|
#include "mtk.hxx"
|
|
|
|
#include "mtkwin.hxx"
|
|
|
|
// Window proc messages
|
|
|
|
enum {
|
|
MTK_WM_PALETTE = WM_USER,
|
|
MTK_WM_INITGL,
|
|
MTK_WM_START,
|
|
MTK_WM_CLOSING,
|
|
MTK_WM_IDLE,
|
|
MTK_WM_RETURN,
|
|
MTK_WM_REDRAW
|
|
};
|
|
|
|
/**************************************************************************\
|
|
* SSW_TABLE
|
|
*
|
|
\**************************************************************************/
|
|
|
|
typedef struct {
|
|
HWND hwnd;
|
|
PMTKWIN pssw;
|
|
} SSW_TABLE_ENTRY;
|
|
|
|
#define SS_MAX_WINDOWS 10
|
|
|
|
class SSW_TABLE{
|
|
public:
|
|
SSW_TABLE();
|
|
void Register( HWND hwnd, PMTKWIN pssw );
|
|
PMTKWIN PsswFromHwnd( HWND hwnd );
|
|
BOOL Remove( HWND hwnd );
|
|
int GetNumWindows() { return nEntries; };
|
|
private:
|
|
SSW_TABLE_ENTRY sswTable[SS_MAX_WINDOWS];
|
|
int nEntries;
|
|
};
|
|
|
|
// Generic ss window proc
|
|
extern LONG SS_ScreenSaverProc(HWND, UINT, WPARAM, LPARAM);
|
|
extern LONG mtkWndProc(HWND, UINT, WPARAM, LPARAM);
|
|
extern LONG FullScreenPaletteManageProc( HWND, UINT, WPARAM, LPARAM );
|
|
extern LONG PaletteManageProc( HWND, UINT, WPARAM, LPARAM );
|
|
extern SSW_TABLE sswTable;
|
|
|
|
#endif // __mtkwproc_hxx__
|