Windows2003-3790/multimedia/opengl/toolkits/libmtk/mtkwproc.hxx
2020-09-30 16:53:55 +02:00

61 lines
1.5 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__