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.
 
 
 
 
 
 

47 lines
1.5 KiB

/******************************Module*Header*******************************\
* Module Name: palette.hxx
*
* Copyright (c) 1996 Microsoft Corporation
*
\**************************************************************************/
#ifndef __palette_hxx__
#define __palette_hxx__
typedef LONG (*PALETTEMANAGEPROC)(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
/**************************************************************************\
* SS_PAL(ETTE)
*
\**************************************************************************/
class SS_PAL {
public:
HPALETTE hPal;
BOOL bUseStatic;
BOOL bTakeOver; // usually if in full screen mode
//mf: !!! this should be per window !!!
BOOL bFlush; // if palette needs to be flushed
BOOL bSystemColorsInUse;
UINT uiOldStaticUse; // original static mode at startup
PIXELFORMATDESCRIPTOR pfd;
PALETTEMANAGEPROC paletteManageProc;
SS_PAL( HDC hdc, PIXELFORMATDESCRIPTOR *ppfd, BOOL bTakeOverPalette );
~SS_PAL();
long Realize( HWND hwnd, HDC hdc, BOOL bForceBackground );
void ReCreateRGBPalette();
void SetDC( HDC hdcArg ) { hdc = hdcArg; }
private:
HWND hwnd; // cached here for convenience sometimes during processing
HDC hdc; // "
int nEntries; // number of entries in palette
HPALETTE MakeRGBPalette();
BOOL GrabStaticEntries();
BOOL ReleaseStaticEntries();
long Realize( BOOL bForceBackground );
void Flush();
};
#endif // __palette_hxx__