]> git.saurik.com Git - wxWidgets.git/blame - utils/wxMMedia2/lib/vidbase.h
* ESD works in full duplex (theorically)
[wxWidgets.git] / utils / wxMMedia2 / lib / vidbase.h
CommitLineData
4d6306eb
GL
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
4d6306eb
GL
19#include "wx/string.h"
20#include "wx/window.h"
7f42cff1 21#include "wx/frame.h"
4d6306eb
GL
22
23///
24typedef 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///
38class wxVideoBaseDriver;
4d6306eb
GL
39
40///
526ddb13 41class wxVideoBaseDriver : public wxObject {
4d6306eb
GL
42 ///
43 DECLARE_ABSTRACT_CLASS(wxVideoBaseDriver)
44protected:
d73dd2b2 45 wxWindow *m_video_output;
4d6306eb 46public:
b83290c3 47 //
4d6306eb 48 wxVideoBaseDriver();
b83290c3 49 //
526ddb13 50 wxVideoBaseDriver(wxInputStream& str);
b83290c3 51 //
4d6306eb
GL
52 virtual ~wxVideoBaseDriver();
53
b83290c3
GL
54 //
55 virtual bool Play() = 0;
56 //
57 virtual bool Stop() = 0;
58 //
4d6306eb 59 virtual bool Pause() = 0;
b83290c3 60 //
4d6306eb
GL
61 virtual bool Resume() = 0;
62
b83290c3 63 //
4d6306eb 64 virtual bool SetVolume(wxUint8 vol) = 0;
b83290c3 65 //
4d6306eb 66 virtual bool Resize(wxUint16 w, wxUint16 h) = 0;
b83290c3
GL
67 //
68 virtual bool GetSize(wxSize& size) const = 0;
4d6306eb 69
b83290c3 70 //
4d6306eb
GL
71 virtual bool IsCapable(wxVideoType WXUNUSED(v_type)) { return FALSE; }
72
b83290c3 73 //
4d6306eb
GL
74 virtual void OnFinished() {}
75
b83290c3 76 //
d73dd2b2 77 virtual bool AttachOutput(wxWindow& output);
b83290c3 78 //
4d6306eb 79 virtual void DetachOutput();
7d533797
GL
80
81 virtual bool IsPaused() = 0;
82 virtual bool IsStopped() = 0;
4d6306eb
GL
83};
84
85extern wxFrame *wxVideoCreateFrame(wxVideoBaseDriver *vid_drv);
86
87
88#endif