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 30class WXDLLIMPEXP_FWD_ADV wxSplashScreenWindow; 31 32/* 33 * wxSplashScreen 34 */ 35 36class WXDLLIMPEXP_ADV wxSplashScreen: public wxFrame 37{ 38public: 39 // for RTTI macros only 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 51 long GetSplashStyle() const { return m_splashStyle; } 52 wxSplashScreenWindow* GetSplashWindow() const { return m_window; } 53 int GetTimeout() const { return m_milliseconds; } 54 55protected: 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 70class WXDLLIMPEXP_ADV wxSplashScreenWindow: public wxWindow 71{ 72public: 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 80 void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; } 81 wxBitmap& GetBitmap() { return m_bitmap; } 82 83protected: 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