]>
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"
39 class wxVideoBaseDriver
;
40 class wxVideoOutput
: public wxWindow
{
42 DECLARE_DYNAMIC_CLASS(wxVideoOutput
)
49 wxVideoOutput(wxWindow
*parent
, const wxWindowID id
,
50 const wxPoint
& pos
= wxDefaultPosition
,
51 const wxSize
& size
= wxDefaultSize
, const long style
= 0,
52 const wxString
& name
= "video_output");
54 virtual ~wxVideoOutput();
57 bool DynamicSize() { return dyn_size
; }
59 void DynamicSize(bool dyn
) { dyn_size
= dyn
; }
63 class wxVideoBaseDriver
: public wxObject
, public wxMMediaFile
{
65 DECLARE_ABSTRACT_CLASS(wxVideoBaseDriver
)
67 wxVideoOutput
*video_output
;
69 friend class wxVideoOutput
;
74 wxVideoBaseDriver(wxInputStream
& str
, bool seekable
= FALSE
);
76 wxVideoBaseDriver(const wxString
& fname
);
78 virtual ~wxVideoBaseDriver();
81 virtual bool Pause() = 0;
83 virtual bool Resume() = 0;
86 virtual bool SetVolume(wxUint8 vol
) = 0;
88 virtual bool Resize(wxUint16 w
, wxUint16 h
) = 0;
91 virtual bool IsCapable(wxVideoType
WXUNUSED(v_type
)) { return FALSE
; }
94 virtual void OnFinished() {}
97 virtual bool AttachOutput(wxVideoOutput
& output
);
99 virtual void DetachOutput();
102 extern wxFrame
*wxVideoCreateFrame(wxVideoBaseDriver
*vid_drv
);