1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: splash.h 3 // Purpose: Splash screen class 4 // Author: Julian Smart 5 // Modified by: 6 // Created: 28/6/2000 7 // RCS-ID: $Id: splash.h 53135 2008-04-12 02:31:04Z VZ $ 8 // Copyright: (c) Julian Smart 9 // Licence: wxWindows Licence 10 ///////////////////////////////////////////////////////////////////////////// 11 12 #ifndef _WX_SPLASH_H_ 13 #define _WX_SPLASH_H_ 14 15 #include "wx/bitmap.h" 16 #include "wx/timer.h" 17 #include "wx/frame.h" 18 19 20 /* 21 * A window for displaying a splash screen 22 */ 23 24 #define wxSPLASH_CENTRE_ON_PARENT 0x01 25 #define wxSPLASH_CENTRE_ON_SCREEN 0x02 26 #define wxSPLASH_NO_CENTRE 0x00 27 #define wxSPLASH_TIMEOUT 0x04 28 #define wxSPLASH_NO_TIMEOUT 0x00 29 30 class WXDLLIMPEXP_FWD_ADV wxSplashScreenWindow; 31 32 /* 33 * wxSplashScreen 34 */ 35 36 class WXDLLIMPEXP_ADV wxSplashScreen: public wxFrame 37 { 38 public: 39 // for RTTI macros only wxSplashScreen()40 wxSplashScreen() {} 41 wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds, 42 wxWindow* parent, wxWindowID id, 43 const wxPoint& pos = wxDefaultPosition, 44 const wxSize& size = wxDefaultSize, 45 long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP); 46 virtual ~wxSplashScreen(); 47 48 void OnCloseWindow(wxCloseEvent& event); 49 void OnNotify(wxTimerEvent& event); 50 GetSplashStyle()51 long GetSplashStyle() const { return m_splashStyle; } GetSplashWindow()52 wxSplashScreenWindow* GetSplashWindow() const { return m_window; } GetTimeout()53 int GetTimeout() const { return m_milliseconds; } 54 55 protected: 56 wxSplashScreenWindow* m_window; 57 long m_splashStyle; 58 int m_milliseconds; 59 wxTimer m_timer; 60 61 DECLARE_DYNAMIC_CLASS(wxSplashScreen) 62 DECLARE_EVENT_TABLE() 63 DECLARE_NO_COPY_CLASS(wxSplashScreen) 64 }; 65 66 /* 67 * wxSplashScreenWindow 68 */ 69 70 class WXDLLIMPEXP_ADV wxSplashScreenWindow: public wxWindow 71 { 72 public: 73 wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxNO_BORDER); 74 75 void OnPaint(wxPaintEvent& event); 76 void OnEraseBackground(wxEraseEvent& event); 77 void OnMouseEvent(wxMouseEvent& event); 78 void OnChar(wxKeyEvent& event); 79 SetBitmap(const wxBitmap & bitmap)80 void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; } GetBitmap()81 wxBitmap& GetBitmap() { return m_bitmap; } 82 83 protected: 84 wxBitmap m_bitmap; 85 86 DECLARE_EVENT_TABLE() 87 DECLARE_NO_COPY_CLASS(wxSplashScreenWindow) 88 }; 89 90 91 #endif 92 // _WX_SPLASH_H_ 93