A Fast Bresenham Type Algorithm For Drawing Ellipses by John Kennedy
[xy_vsfilter.git] / src / apps / mplayerc / ShockwaveGraph.h
blob66acf56ca95fc924dbf6eb06b4d8bddd806f4a49
1 /*
2 * Copyright (C) 2003-2006 Gabest
3 * http://www.gabest.org
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GNU Make; see the file COPYING. If not, write to
17 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18 * http://www.gnu.org/copyleft/gpl.html
22 #pragma once
24 #include "BaseGraph.h"
25 #include "CShockwaveFlash.h"
27 namespace DSObjects
30 class CShockwaveGraph : public CBaseGraph
32 CPlayerWindow m_wndWindowFrame;
33 CShockwaveFlash m_wndDestFrame;
35 FILTER_STATE m_fs;
37 public:
38 CShockwaveGraph(HWND hParent, HRESULT& hr);
39 virtual ~CShockwaveGraph();
41 protected:
42 // IGraphBuilder
43 STDMETHODIMP RenderFile(LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayList);
45 // IMediaControl
46 STDMETHODIMP Run();
47 STDMETHODIMP Pause();
48 STDMETHODIMP Stop();
49 STDMETHODIMP GetState(LONG msTimeout, OAFilterState* pfs);
51 // IMediaSeeking
52 STDMETHODIMP IsFormatSupported(const GUID* pFormat);
53 STDMETHODIMP GetTimeFormat(GUID* pFormat);
54 STDMETHODIMP GetDuration(LONGLONG* pDuration);
55 STDMETHODIMP GetCurrentPosition(LONGLONG* pCurrent);
56 STDMETHODIMP SetPositions(LONGLONG* pCurrent, DWORD dwCurrentFlags, LONGLONG* pStop, DWORD dwStopFlags);
58 // IVideoWindow
59 STDMETHODIMP put_Visible(long Visible);
60 STDMETHODIMP get_Visible(long* pVisible);
61 STDMETHODIMP SetWindowPosition(long Left, long Top, long Width, long Height);
63 // IBasicVideo
64 STDMETHODIMP SetDestinationPosition(long Left, long Top, long Width, long Height);
65 STDMETHODIMP GetVideoSize(long* pWidth, long* pHeight);
67 // IBasicAudio
68 STDMETHODIMP put_Volume(long lVolume);
69 STDMETHODIMP get_Volume(long* plVolume);
71 // IAMOpenProgress
72 STDMETHODIMP QueryProgress(LONGLONG* pllTotal, LONGLONG* pllCurrent);
74 // IGraphEngine
75 STDMETHODIMP_(engine_t) GetEngine();
79 using namespace DSObjects;