00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #pragma once
00023
00024 #include "BaseGraph.h"
00025 #include "CShockwaveFlash.h"
00026
00027 namespace DSObjects
00028 {
00029
00030 class CShockwaveGraph : public CBaseGraph
00031 {
00032 CPlayerWindow m_wndWindowFrame;
00033 CShockwaveFlash m_wndDestFrame;
00034
00035 FILTER_STATE m_fs;
00036
00037 public:
00038 CShockwaveGraph(HWND hParent, HRESULT& hr);
00039 virtual ~CShockwaveGraph();
00040
00041 protected:
00042
00043 STDMETHODIMP RenderFile(LPCWSTR lpcwstrFile, LPCWSTR lpcwstrPlayList);
00044
00045
00046 STDMETHODIMP Run();
00047 STDMETHODIMP Pause();
00048 STDMETHODIMP Stop();
00049 STDMETHODIMP GetState(LONG msTimeout, OAFilterState* pfs);
00050
00051
00052 STDMETHODIMP IsFormatSupported(const GUID* pFormat);
00053 STDMETHODIMP GetTimeFormat(GUID* pFormat);
00054 STDMETHODIMP GetDuration(LONGLONG* pDuration);
00055 STDMETHODIMP GetCurrentPosition(LONGLONG* pCurrent);
00056 STDMETHODIMP SetPositions(LONGLONG* pCurrent, DWORD dwCurrentFlags, LONGLONG* pStop, DWORD dwStopFlags);
00057
00058
00059 STDMETHODIMP put_Visible(long Visible);
00060 STDMETHODIMP get_Visible(long* pVisible);
00061 STDMETHODIMP SetWindowPosition(long Left, long Top, long Width, long Height);
00062
00063
00064 STDMETHODIMP SetDestinationPosition(long Left, long Top, long Width, long Height);
00065 STDMETHODIMP GetVideoSize(long* pWidth, long* pHeight);
00066
00067
00068 STDMETHODIMP put_Volume(long lVolume);
00069 STDMETHODIMP get_Volume(long* plVolume);
00070
00071
00072 STDMETHODIMP QueryProgress(LONGLONG* pllTotal, LONGLONG* pllCurrent);
00073
00074
00075 STDMETHODIMP_(engine_t) GetEngine();
00076 };
00077
00078 }
00079 using namespace DSObjects;