X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d84d25dd9383c29745842d6916314ebaaf643b4c..e91e1e3d5cab263883c1cee1689c898b8f7c4ecd:/include/wx/generic/splash.h diff --git a/include/wx/generic/splash.h b/include/wx/generic/splash.h index 961deb1ade..24ad733d5d 100644 --- a/include/wx/generic/splash.h +++ b/include/wx/generic/splash.h @@ -1,27 +1,20 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: splash.h +// Name: wx/generic/splash.h // Purpose: Splash screen class // Author: Julian Smart // Modified by: // Created: 28/6/2000 -// RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: +// Licence: wxWindows Licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma interface "splash.h" -#endif - #ifndef _WX_SPLASH_H_ #define _WX_SPLASH_H_ -#ifndef WX_PRECOMP #include "wx/bitmap.h" -#include "wx/timer.h" -#endif - +#include "wx/eventfilter.h" #include "wx/frame.h" +#include "wx/timer.h" /* @@ -34,17 +27,24 @@ #define wxSPLASH_TIMEOUT 0x04 #define wxSPLASH_NO_TIMEOUT 0x00 -class WXDLLEXPORT wxSplashScreenWindow; +class WXDLLIMPEXP_FWD_ADV wxSplashScreenWindow; /* * wxSplashScreen */ -class WXDLLEXPORT wxSplashScreen: public wxFrame +class WXDLLIMPEXP_ADV wxSplashScreen: public wxFrame, + public wxEventFilter { public: - wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSIMPLE_BORDER|wxFRAME_FLOAT_ON_PARENT); - ~wxSplashScreen(); + // for RTTI macros only + wxSplashScreen() { Init(); } + wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds, + wxWindow* parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP); + virtual ~wxSplashScreen(); void OnCloseWindow(wxCloseEvent& event); void OnNotify(wxTimerEvent& event); @@ -53,28 +53,34 @@ public: wxSplashScreenWindow* GetSplashWindow() const { return m_window; } int GetTimeout() const { return m_milliseconds; } + // Override wxEventFilter method to hide splash screen on any user input. + virtual int FilterEvent(wxEvent& event); + protected: + // Common part of all ctors. + void Init(); + wxSplashScreenWindow* m_window; long m_splashStyle; int m_milliseconds; wxTimer m_timer; -DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxSplashScreen) + DECLARE_EVENT_TABLE() + wxDECLARE_NO_COPY_CLASS(wxSplashScreen); }; /* * wxSplashScreenWindow */ -class WXDLLEXPORT wxSplashScreenWindow: public wxWindow +class WXDLLIMPEXP_ADV wxSplashScreenWindow: public wxWindow { public: wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxNO_BORDER); void OnPaint(wxPaintEvent& event); void OnEraseBackground(wxEraseEvent& event); - void OnMouseEvent(wxMouseEvent& event); - void OnChar(wxKeyEvent& event); void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; } wxBitmap& GetBitmap() { return m_bitmap; } @@ -82,7 +88,8 @@ public: protected: wxBitmap m_bitmap; -DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() + wxDECLARE_NO_COPY_CLASS(wxSplashScreenWindow); };