]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/splash.h
GTK+ callbacks must have C linkage (patch 1157384)
[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 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
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 WXDLLIMPEXP_ADV wxSplashScreenWindow;
38
39 /*
40 * wxSplashScreen
41 */
42
43 class WXDLLIMPEXP_ADV wxSplashScreen: public wxFrame
44 {
45 public:
46 // for RTTI macros only
47 wxSplashScreen() {}
48 wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds,
49 wxWindow* parent, wxWindowID id,
50 const wxPoint& pos = wxDefaultPosition,
51 const wxSize& size = wxDefaultSize,
52 long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP);
53 ~wxSplashScreen();
54
55 void OnCloseWindow(wxCloseEvent& event);
56 void OnNotify(wxTimerEvent& event);
57
58 long GetSplashStyle() const { return m_splashStyle; }
59 wxSplashScreenWindow* GetSplashWindow() const { return m_window; }
60 int GetTimeout() const { return m_milliseconds; }
61
62 protected:
63 wxSplashScreenWindow* m_window;
64 long m_splashStyle;
65 int m_milliseconds;
66 wxTimer m_timer;
67
68 DECLARE_DYNAMIC_CLASS(wxSplashScreen)
69 DECLARE_EVENT_TABLE()
70 DECLARE_NO_COPY_CLASS(wxSplashScreen)
71 };
72
73 /*
74 * wxSplashScreenWindow
75 */
76
77 class WXDLLIMPEXP_ADV wxSplashScreenWindow: public wxWindow
78 {
79 public:
80 wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxNO_BORDER);
81
82 void OnPaint(wxPaintEvent& event);
83 void OnEraseBackground(wxEraseEvent& event);
84 void OnMouseEvent(wxMouseEvent& event);
85 void OnChar(wxKeyEvent& event);
86
87 void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; }
88 wxBitmap& GetBitmap() { return m_bitmap; }
89
90 protected:
91 wxBitmap m_bitmap;
92
93 DECLARE_EVENT_TABLE()
94 DECLARE_NO_COPY_CLASS(wxSplashScreenWindow)
95 };
96
97
98 #endif
99 // _WX_SPLASH_H_