]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/moviectrl.h
wxMovieCtrl - for playing movies - mac carbon QT 3 MSW-compatable implementation...
[wxWidgets.git] / include / wx / msw / moviectrl.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/moviectrl.h
3 // Purpose: DirectX7+ wxMovieCtrl MSW
4 // Author: Ryan Norton <wxprojects@comcast.net>
5 // Modified by:
6 // Created: 11/07/04
7 // RCS-ID: $Id$
8 // Copyright: (c) Ryan Norton
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #include "wx/defs.h"
13
14 #if wxUSE_MOVIECTRL
15
16 #include "wx/datetime.h"
17
18 enum wxMovieCtrlState
19 {
20 wxMOVIECTRL_STOPPED,
21 wxMOVIECTRL_PAUSED,
22 wxMOVIECTRL_PLAYING
23 };
24
25 class wxMovieCtrl : public wxControl
26 {
27 public:
28 wxMovieCtrl()
29 { }
30
31 wxMovieCtrl(wxWindow* parent, wxWindowID id, const wxString& fileName, const wxString& label = wxT(""),
32 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
33 long style = 0, const wxString& name = wxPanelNameStr)
34 { Create(parent, id, fileName, label, pos, size, style, name); }
35
36 ~wxMovieCtrl();
37
38 bool Create(wxWindow* parent, wxWindowID id, const wxString& fileName, const wxString& label = wxT(""),
39 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
40 long style = 0, const wxString& name = wxPanelNameStr);
41
42 bool Play();
43 bool Pause();
44 bool Stop();
45
46 wxMovieCtrlState GetState();
47
48 #if wxUSE_DATETIME
49 bool Seek(const wxTimeSpan& where);
50 #endif
51
52 virtual void SetLabel(const wxString& label);
53
54 protected:
55 void OnSize(wxSizeEvent& evt);
56 wxSize DoGetBestSize() const;
57
58 // void OnActivate(wxActivateEvent& evt);
59
60 //msw-specific - we need to overload the window proc
61 // WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
62
63 void* m_pGB;
64 void* m_pMC;
65 void* m_pME;
66 void* m_pVW;
67 void* m_pBA;
68 void* m_pBV;
69 void* m_pMS;
70
71 wxSize m_bestSize;
72
73 DECLARE_DYNAMIC_CLASS(wxMovieCtrl);
74 DECLARE_EVENT_TABLE()
75 };
76
77 #endif // wxUSE_MOVIECTRL