]>
git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia/vidbase.h
1 // /////////////////////////////////////////////////////////////////////////////
4 // Author: Guilhem Lavaux
7 // Copyright: (C) 1997, 1998, Guilhem Lavaux
9 // License: wxWindows license
10 // /////////////////////////////////////////////////////////////////////////////
11 /* Real -*- C++ -*- */
12 #ifndef __VID_bdrv_H__
13 #define __VID_bdrv_H__
21 #include "wx/string.h"
22 #include "wx/window.h"
40 class wxVideoBaseDriver
;
41 class wxVideoOutput
: public wxWindow
{
43 DECLARE_DYNAMIC_CLASS(wxVideoOutput
)
50 wxVideoOutput(wxWindow
*parent
, const wxWindowID id
,
51 const wxPoint
& pos
= wxDefaultPosition
,
52 const wxSize
& size
= wxDefaultSize
, const long style
= 0,
53 const wxString
& name
= "video_output");
55 virtual ~wxVideoOutput();
58 bool DynamicSize() { return dyn_size
; }
60 void DynamicSize(bool dyn
) { dyn_size
= dyn
; }
64 class wxVideoBaseDriver
: public wxObject
, public wxMMediaFile
{
66 DECLARE_ABSTRACT_CLASS(wxVideoBaseDriver
)
68 wxVideoOutput
*video_output
;
70 friend class wxVideoOutput
;
75 wxVideoBaseDriver(wxInputStream
& str
, bool seekable
= FALSE
);
77 wxVideoBaseDriver(const wxString
& fname
);
79 virtual ~wxVideoBaseDriver();
82 virtual bool Pause() = 0;
84 virtual bool Resume() = 0;
87 virtual bool SetVolume(wxUint8 vol
) = 0;
89 virtual bool Resize(wxUint16 w
, wxUint16 h
) = 0;
92 virtual bool IsCapable(wxVideoType
WXUNUSED(v_type
)) { return FALSE
; }
95 virtual void OnFinished() {}
98 virtual bool AttachOutput(wxVideoOutput
& output
);
100 virtual void DetachOutput();
103 extern wxFrame
*wxVideoCreateFrame(wxVideoBaseDriver
*vid_drv
);