~brian-sidebotham/wxwidgets-cmake/wxpython-2.9.4

« back to all changes in this revision

Viewing changes to include/wx/generic/splash.h

  • Committer: Brian Sidebotham
  • Date: 2013-08-03 14:30:08 UTC
  • Revision ID: brian.sidebotham@gmail.com-20130803143008-c7806tkych1tp6fc
Initial import into Bazaar

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/////////////////////////////////////////////////////////////////////////////
 
2
// Name:        wx/generic/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 69796 2011-11-22 13:18:55Z 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/eventfilter.h"
 
17
#include "wx/frame.h"
 
18
#include "wx/timer.h"
 
19
 
 
20
 
 
21
/*
 
22
 * A window for displaying a splash screen
 
23
 */
 
24
 
 
25
#define wxSPLASH_CENTRE_ON_PARENT   0x01
 
26
#define wxSPLASH_CENTRE_ON_SCREEN   0x02
 
27
#define wxSPLASH_NO_CENTRE          0x00
 
28
#define wxSPLASH_TIMEOUT            0x04
 
29
#define wxSPLASH_NO_TIMEOUT         0x00
 
30
 
 
31
class WXDLLIMPEXP_FWD_ADV wxSplashScreenWindow;
 
32
 
 
33
/*
 
34
 * wxSplashScreen
 
35
 */
 
36
 
 
37
class WXDLLIMPEXP_ADV wxSplashScreen: public wxFrame,
 
38
                                      public wxEventFilter
 
39
{
 
40
public:
 
41
    // for RTTI macros only
 
42
    wxSplashScreen() { Init(); }
 
43
    wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds,
 
44
                   wxWindow* parent, wxWindowID id,
 
45
                   const wxPoint& pos = wxDefaultPosition,
 
46
                   const wxSize& size = wxDefaultSize,
 
47
                   long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP);
 
48
    virtual ~wxSplashScreen();
 
49
 
 
50
    void OnCloseWindow(wxCloseEvent& event);
 
51
    void OnNotify(wxTimerEvent& event);
 
52
 
 
53
    long GetSplashStyle() const { return m_splashStyle; }
 
54
    wxSplashScreenWindow* GetSplashWindow() const { return m_window; }
 
55
    int GetTimeout() const { return m_milliseconds; }
 
56
 
 
57
    // Override wxEventFilter method to hide splash screen on any user input.
 
58
    virtual int FilterEvent(wxEvent& event);
 
59
 
 
60
protected:
 
61
    // Common part of all ctors.
 
62
    void Init();
 
63
 
 
64
    wxSplashScreenWindow*   m_window;
 
65
    long                    m_splashStyle;
 
66
    int                     m_milliseconds;
 
67
    wxTimer                 m_timer;
 
68
 
 
69
    DECLARE_DYNAMIC_CLASS(wxSplashScreen)
 
70
    DECLARE_EVENT_TABLE()
 
71
    wxDECLARE_NO_COPY_CLASS(wxSplashScreen);
 
72
};
 
73
 
 
74
/*
 
75
 * wxSplashScreenWindow
 
76
 */
 
77
 
 
78
class WXDLLIMPEXP_ADV wxSplashScreenWindow: public wxWindow
 
79
{
 
80
public:
 
81
    wxSplashScreenWindow(const wxBitmap& bitmap, wxWindow* parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxNO_BORDER);
 
82
 
 
83
    void OnPaint(wxPaintEvent& event);
 
84
    void OnEraseBackground(wxEraseEvent& event);
 
85
 
 
86
    void SetBitmap(const wxBitmap& bitmap) { m_bitmap = bitmap; }
 
87
    wxBitmap& GetBitmap() { return m_bitmap; }
 
88
 
 
89
protected:
 
90
    wxBitmap    m_bitmap;
 
91
 
 
92
    DECLARE_EVENT_TABLE()
 
93
    wxDECLARE_NO_COPY_CLASS(wxSplashScreenWindow);
 
94
};
 
95
 
 
96
 
 
97
#endif
 
98
    // _WX_SPLASH_H_