]>
git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/lib/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__
19 #include "wx/string.h"
20 #include "wx/window.h"
38 class wxVideoBaseDriver
;
39 class wxVideoOutput
: public wxWindow
{
41 DECLARE_DYNAMIC_CLASS(wxVideoOutput
)
48 wxVideoOutput(wxWindow
*parent
, const wxWindowID id
,
49 const wxPoint
& pos
= wxDefaultPosition
,
50 const wxSize
& size
= wxDefaultSize
, const long style
= 0,
51 const wxString
& name
= "video_output");
53 virtual ~wxVideoOutput();
56 bool DynamicSize() { return m_dyn_size
; }
58 void DynamicSize(bool dyn
) { m_dyn_size
= dyn
; }
62 class wxVideoBaseDriver
: public wxObject
{
64 DECLARE_ABSTRACT_CLASS(wxVideoBaseDriver
)
66 wxVideoOutput
*m_video_output
;
68 friend class wxVideoOutput
;
73 wxVideoBaseDriver(wxInputStream
& str
);
75 virtual ~wxVideoBaseDriver();
78 virtual bool Pause() = 0;
80 virtual bool Resume() = 0;
83 virtual bool SetVolume(wxUint8 vol
) = 0;
85 virtual bool Resize(wxUint16 w
, wxUint16 h
) = 0;
88 virtual bool IsCapable(wxVideoType
WXUNUSED(v_type
)) { return FALSE
; }
91 virtual void OnFinished() {}
94 virtual bool AttachOutput(wxVideoOutput
& output
);
96 virtual void DetachOutput();
99 extern wxFrame
*wxVideoCreateFrame(wxVideoBaseDriver
*vid_drv
);