Files
Work/test/SPLASH.HPP
2024-08-07 09:16:27 -04:00

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