68 lines
1.9 KiB
C++
68 lines
1.9 KiB
C++
#ifndef _RISK_SPLASHSCREEN_HPP_
|
|
#define _RISK_SPLASHSCREEN_HPP_
|
|
#ifndef _COMMON_SMARTPOINTER_HPP_
|
|
#include <common/pointer.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _COMMON_WINDOW_HPP_
|
|
#include <common/window.hpp>
|
|
#endif
|
|
#ifndef _COMMON_RECTANGLE_HPP_
|
|
#include <common/rect.hpp>
|
|
#endif
|
|
#ifndef _COMMON_FONT_HPP_
|
|
#include <common/font.hpp>
|
|
#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<SplashScreen> mPaintHandler;
|
|
Callback<SplashScreen> mCreateHandler;
|
|
Callback<SplashScreen> mDestroyHandler;
|
|
Callback<SplashScreen> mPaletteChangedHandler;
|
|
Callback<SplashScreen> mSetFocusHandler;
|
|
Callback<SplashScreen> mTimerHandler;
|
|
|
|
SmartPointer<ResBitmap> mResBitmap;
|
|
SmartPointer<DIBitmap> mDIBitmap;
|
|
SmartPointer<PureDevice> mPureDevice;
|
|
String mBitmapName;
|
|
String mStrCaption;
|
|
String mInstallLine;
|
|
BOOL mUseTimer;
|
|
Font mTextFont;
|
|
static char szClassName[];
|
|
};
|
|
|
|
inline
|
|
BOOL SplashScreen::useTimer(void)const
|
|
{
|
|
return mUseTimer;
|
|
}
|
|
|
|
#endif
|