reman3/Rayman_X/cpa/Appli/WinS2B/Splash.h

41 lines
1.1 KiB
C++

//¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
// FILE : Splash.h
// AUTHOR : Catalin Cocos
//__________________________________________________________________________________________________
#ifndef __SPLASH__
#define __SPLASH__
class CSplashScreen
{
BYTE R,G,B;
RECT r;
int Dlg_RES, Bmp_RES, m_TextHeight;
HWND StartDialog;
HGLOBAL hDib;
BITMAPINFO* pDib;
HPALETTE pal;
char* szSplashString, *m_FontName;
HFONT hfont;
BOOL volatile CanDelete;
static void RGBQuadToPaletteEntry(RGBQUAD rgbq[256], PALETTEENTRY pe[256], int flag);
static HPALETTE CreatePaletteHandle(RGBQUAD rgbq[256], int flag = 0);
static BOOL CALLBACK StartDlgProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp );
static void TimeCollapse( CSplashScreen* pSS);
~CSplashScreen();
public:
CSplashScreen(HINSTANCE hInstance, int SplashBmpID, UINT minTime = 2000, int FontHeight = 16, RECT* TextRect = NULL, char* FontName = NULL, RGBQUAD* Clr = NULL);
void SetText( char* szText);
void Close()
{
if(!CanDelete)
CanDelete = TRUE;
else
delete this;
}
};
#endif