]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/splash.h
Applied rowspan patch #15276 (dghart)
[wxWidgets.git] / include / wx / generic / splash.h
index dc5c195930cf9d89ff82c17b60566fbcef9dcdd5..1441be4420c36fc86d98184d861a63dcffcf1c89 100644 (file)
@@ -1,27 +1,21 @@
 /////////////////////////////////////////////////////////////////////////////
-// 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"
 
 
 /*
 #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:
     // for RTTI macros only
-    wxSplashScreen() {};
+    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);
-    ~wxSplashScreen();
+    virtual ~wxSplashScreen();
 
     void OnCloseWindow(wxCloseEvent& event);
     void OnNotify(wxTimerEvent& event);
@@ -59,29 +54,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_DYNAMIC_CLASS(wxSplashScreen)
-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; }
@@ -89,7 +89,8 @@ public:
 protected:
     wxBitmap    m_bitmap;
 
-DECLARE_EVENT_TABLE()
+    DECLARE_EVENT_TABLE()
+    wxDECLARE_NO_COPY_CLASS(wxSplashScreenWindow);
 };