#ifndef _RISK_SPLASHSCREEN_HPP_ #define _RISK_SPLASHSCREEN_HPP_ #ifndef _COMMON_SMARTPOINTER_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_WINDOW_HPP_ #include #endif #ifndef _COMMON_RECTANGLE_HPP_ #include #endif #ifndef _COMMON_FONT_HPP_ #include #endif class ResBitmap; class DIBitmap; class SplashScreen : public Window { public: SplashScreen(const String &strBitmap,const String &strCaption,BOOL useTimer); virtual ~SplashScreen(); BOOL perform(Rect initRect=Rect(CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT)); protected: virtual int onDestroy(void); private: enum {TimerID=0,TimeOut=5000}; SplashScreen(const SplashScreen &someSplashScreen); SplashScreen &operator=(const SplashScreen &someSplashScreen); CallbackData::ReturnType createHandler(CallbackData &someCallbackData); CallbackData::ReturnType paintHandler(CallbackData &someCallbackData); CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData); CallbackData::ReturnType paletteChangedHandler(CallbackData &someCallbackData); CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData); CallbackData::ReturnType timerHandler(CallbackData &someCallbackData); void registerClass(void); BOOL useTimer(void)const; Callback mPaintHandler; Callback mCreateHandler; Callback mDestroyHandler; Callback mPaletteChangedHandler; Callback mSetFocusHandler; Callback mTimerHandler; SmartPointer mResBitmap; SmartPointer mDIBitmap; SmartPointer mPureDevice; String mBitmapName; String mStrCaption; String mInstallLine; BOOL mUseTimer; Font mTextFont; static char szClassName[]; }; inline BOOL SplashScreen::useTimer(void)const { return mUseTimer; } #endif