1 /************************************************************************/
4 /************************************************************************/
10 class CSubPicProviderExWrapper
: public CUnknown
, public ISubPicProviderEx
13 CSubPicProviderExWrapper(ISubPicProvider
* const inner_provider
);//disable inheriting
15 CComPtr
<ISubPicProvider
> _inner_provider
;
17 static CSubPicProviderExWrapper
* GetSubPicProviderExWrapper(ISubPicProvider
* const inner_provider
);
18 virtual ~CSubPicProviderExWrapper();
21 STDMETHODIMP
NonDelegatingQueryInterface(REFIID riid
, void** ppv
);
26 STDMETHODIMP
Unlock();
28 STDMETHODIMP_(POSITION
) GetStartPosition(REFERENCE_TIME rt
, double fps
);
29 STDMETHODIMP_(POSITION
) GetNext(POSITION pos
);
31 STDMETHODIMP_(REFERENCE_TIME
) GetStart(POSITION pos
, double fps
);
32 STDMETHODIMP_(REFERENCE_TIME
) GetStop(POSITION pos
, double fps
);
34 STDMETHODIMP_(bool) IsAnimated (POSITION pos
);
36 STDMETHODIMP
Render(SubPicDesc
& spd
, REFERENCE_TIME rt
, double fps
, RECT
& bbox
);
37 STDMETHODIMP
GetTextureSize (POSITION pos
, SIZE
& MaxTextureSize
, SIZE
& VirtualSize
, POINT
& VirtualTopLeft
);
41 STDMETHODIMP_(VOID
) GetStartStop(POSITION pos
, double fps
, /*out*/REFERENCE_TIME
& start
, /*out*/REFERENCE_TIME
& stop
);
43 STDMETHODIMP
RenderEx(SubPicDesc
& spd
, REFERENCE_TIME rt
, double fps
, CAtlList
<CRect
>& rectList
);
45 STDMETHODIMP_(bool) IsColorTypeSupported(int type
);
46 STDMETHODIMP_(int) SetOutputColorType(int type
);//Important! May failed!