]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/moviectrl.h
wxMovieCtrl - for playing movies - mac carbon QT 3 MSW-compatable implementation...
[wxWidgets.git] / include / wx / msw / moviectrl.h
CommitLineData
4ad7af2b
RN
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
18enum wxMovieCtrlState
19{
20 wxMOVIECTRL_STOPPED,
21 wxMOVIECTRL_PAUSED,
22 wxMOVIECTRL_PLAYING
23};
24
25class wxMovieCtrl : public wxControl
26{
27public:
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
54protected:
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