]> git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/lib/vidwin.h
Major changes in wxVidXANIM (support for output filtering)
[wxWidgets.git] / utils / wxMMedia2 / lib / vidwin.h
1 // ----------------------------------------------------------------------------
2 // Name: vidwin.h
3 // Purpose: wxMMedia
4 // Author: Guilhem Lavaux
5 // Created: February 1998
6 // Updated:
7 // Copyright: (C) 1998, Guilhem Lavaux
8 // License: wxWindows license
9 // ----------------------------------------------------------------------------
10
11 #ifndef __VID_windows_H__
12 #define __VID_windows_H__
13
14 #ifdef __GNUG__
15 #pragma interface "vidwin.h"
16 #endif
17
18 // ----------------------------------------------------------------------------
19 // headers
20 // ----------------------------------------------------------------------------
21 // For compilers that support precompilation, includes "wx/wx.h".
22 #include "wx/wxprec.h"
23
24 #ifdef __BORLANDC__
25 #pragma hdrstop
26 #endif
27
28 // for all others, include the necessary headers (this file is usually all you
29 // need because it includes almost all "standard" wxWindows headers
30 #ifndef WX_PRECOMP
31 #include "wx/string.h"
32 #include "wx/stream.h"
33 #include "wx/window.h"
34 #endif
35
36 // ----------------------------------------------------------------------------
37 // wxMMedia2 headers
38
39 #include "vidbase.h"
40
41 // ----------------------------------------------------------------------------
42 // System headers and private types
43
44 #ifdef WXMMEDIA_INTERNAL
45 #include <windows.h>
46 #include <mmsystem.h>
47
48 typedef struct VIDW_Internal {
49 MCIDEVICEID m_dev_id;
50 } wxVIDWinternal;
51 #endif
52
53 // ----------------------------------------------------------------------------
54 // Class definition
55
56 class WXDLLEXPORT wxVideoWindows : public wxVideoBaseDriver {
57 DECLARE_DYNAMIC_CLASS(wxVideoWindows)
58 protected:
59 struct VIDW_Internal *m_internal;
60 bool m_paused, m_stopped, m_remove_file;
61 wxString m_filename;
62
63 void OpenFile();
64 public:
65 wxVideoWindows(void);
66 wxVideoWindows(wxInputStream& str);
67 wxVideoWindows(const wxString& fname);
68 ~wxVideoWindows(void);
69
70 bool Play();
71 bool Stop();
72 bool Pause();
73 bool Resume();
74
75 bool Resize(wxUint16 w, wxUint16 h);
76 bool GetSize(wxSize& size) const;
77
78 bool IsCapable(wxVideoType v_type);
79
80 bool AttachOutput(wxWindow& output);
81 void DetachOutput(void);
82
83 bool IsPaused();
84 bool IsStopped();
85 };
86
87 #endif