]> git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/lib/vidbase.h
4498131a6220f403910d35fc3f41d09407438ccb
[wxWidgets.git] / utils / wxMMedia2 / lib / vidbase.h
1 // /////////////////////////////////////////////////////////////////////////////
2 // Name: vidbase.h
3 // Purpose: wxMMedia
4 // Author: Guilhem Lavaux
5 // Created: 1997
6 // Updated: 1998
7 // Copyright: (C) 1997, 1998, Guilhem Lavaux
8 // CVS: $Id$
9 // License: wxWindows license
10 // /////////////////////////////////////////////////////////////////////////////
11 /* Real -*- C++ -*- */
12 #ifndef __VID_bdrv_H__
13 #define __VID_bdrv_H__
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "wx/string.h"
20 #include "wx/window.h"
21 #include "wx/frame.h"
22
23 ///
24 typedef enum {
25 wxVIDEO_MSAVI,
26 wxVIDEO_MPEG,
27 wxVIDEO_QT,
28 wxVIDEO_GIF,
29 wxVIDEO_JMOV,
30 wxVIDEO_FLI,
31 wxVIDEO_IFF,
32 wxVIDEO_SGI,
33 wxVIDEO_MPEG2
34 } ///
35 wxVideoType;
36
37 ///
38 class wxVideoBaseDriver;
39
40 ///
41 class wxVideoBaseDriver : public wxObject {
42 ///
43 DECLARE_ABSTRACT_CLASS(wxVideoBaseDriver)
44 protected:
45 wxWindow *m_video_output;
46 public:
47 //
48 wxVideoBaseDriver();
49 //
50 wxVideoBaseDriver(wxInputStream& str);
51 //
52 virtual ~wxVideoBaseDriver();
53
54 //
55 virtual bool Play() = 0;
56 //
57 virtual bool Stop() = 0;
58 //
59 virtual bool Pause() = 0;
60 //
61 virtual bool Resume() = 0;
62
63 //
64 virtual bool SetVolume(wxUint8 vol) = 0;
65 //
66 virtual bool Resize(wxUint16 w, wxUint16 h) = 0;
67 //
68 virtual bool GetSize(wxSize& size) const = 0;
69
70 //
71 virtual bool IsCapable(wxVideoType WXUNUSED(v_type)) { return FALSE; }
72
73 //
74 virtual void OnFinished() {}
75
76 //
77 virtual bool AttachOutput(wxWindow& output);
78 //
79 virtual void DetachOutput();
80
81 virtual bool IsPaused() = 0;
82 virtual bool IsStopped() = 0;
83 };
84
85 extern wxFrame *wxVideoCreateFrame(wxVideoBaseDriver *vid_drv);
86
87
88 #endif