]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/splash.h
fix for stupid segfault
[wxWidgets.git] / include / wx / generic / splash.h
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$
8 // Copyright: (c) Julian Smart
9 // Licence:
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifdef __GNUG__
13 #pragma interface "splash.h"
14 #endif
15
16 #ifndef _WX_SPLASH_H_
17 #define _WX_SPLASH_H_
18
19 #ifndef WX_PRECOMP
20 #include "wx/bitmap.h"
21 #include "wx/timer.h"
22 #endif
23
24 #include "wx/frame.h"
25
26
27 /*
28 * A window for displaying a splash screen
29 */
30
31 #define wxSPLASH_CENTRE_ON_PARENT 0x01
32 #define wxSPLASH_CENTRE_ON_SCREEN 0x02
33 #define wxSPLASH_NO_CENTRE 0x00
34 #define wxSPLASH_TIMEOUT 0x04
35 #define wxSPLASH_NO_TIMEOUT 0x00
36
37 class WXDLLEXPORT wxSplashScreenWindow;
38
39 /*
40 * wxSplashScreen
41 */
42
43 class WXDLLEXPORT wxSplashScreen: public wxFrame
44 {
45 public:
46 // for RTTI macros obly
47 wxSplashScreen() {};
48 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);
49 ~wxSplashScreen();
50
51 void OnCloseWindow(wxCloseEvent& event);
52 void OnNotify(wxTimerEvent& event);
53
54 long GetSplashStyle() const { return m_splashStyle; }
55 wxSplashScreenWindow* GetSplashWindow() const { return m_window; }
56 int GetTimeout() const { return m_milliseconds; }
57
58 protected:
59 wxSplashScreenWindow* m_window;
60 long m_splashStyle;
61 int m_milliseconds;
62 wxTimer m_timer;
63
64 DECLARE_DYNAMIC_CLASS(wxSplashScreen)
65 DECLARE_EVENT_TABLE()
66 };
67
68 /*
69 * wxSplashScreenWindow
70 */
71
72 class WXDLLEXPORT wxSplashScreenWindow: public wxWindow
73 {
74 public:
75 wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxNO_BORDER);
76
77 void OnPaint(wxPaintEvent& event);
78 void OnEraseBackground(wxEraseEvent& event);
79 void OnMouseEvent(wxMouseEvent& event);
80 void OnChar(wxKeyEvent& event);
81
82 void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; }
83 wxBitmap& GetBitmap() { return m_bitmap; }
84
85 protected:
86 wxBitmap m_bitmap;
87
88 DECLARE_EVENT_TABLE()
89 };
90
91
92 #endif
93 // _WX_SPLASH_H_