2 * $Id: SubPicProviderImpl.h 2585 2010-09-18 12:39:20Z xhmikosr $
5 * (C) 2006-2010 see AUTHORS
7 * This Program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * This Program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with GNU Make; see the file COPYING. If not, write to
19 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
20 * http://www.gnu.org/copyleft/gpl.html
28 class CSubPicProviderImpl
: public CUnknown
, public ISubPicProviderEx
34 CSubPicProviderImpl(CCritSec
* pLock
);
35 virtual ~CSubPicProviderImpl();
38 STDMETHODIMP
NonDelegatingQueryInterface(REFIID riid
, void** ppv
);
43 STDMETHODIMP
Unlock();
45 STDMETHODIMP_(POSITION
) GetStartPosition(REFERENCE_TIME rt
, double fps
) = 0;
46 STDMETHODIMP_(POSITION
) GetNext(POSITION pos
) = 0;
48 STDMETHODIMP_(REFERENCE_TIME
) GetStart(POSITION pos
, double fps
) = 0;
49 STDMETHODIMP_(REFERENCE_TIME
) GetStop(POSITION pos
, double fps
) = 0;
51 STDMETHODIMP
Render(SubPicDesc
& spd
, REFERENCE_TIME rt
, double fps
, RECT
& bbox
) = 0;
52 STDMETHODIMP
GetTextureSize (POSITION pos
, SIZE
& MaxTextureSize
, SIZE
& VirtualSize
, POINT
& VirtualTopLeft
) {
58 STDMETHODIMP_(VOID
) GetStartStop(POSITION pos
, double fps
, /*out*/REFERENCE_TIME
& start
, /*out*/REFERENCE_TIME
& stop
);
60 STDMETHODIMP
RenderEx(SubPicDesc
& spd
, REFERENCE_TIME rt
, double fps
, CAtlList
<CRect
>& rectList
);
62 STDMETHODIMP_(bool) IsColorTypeSupported(int type
);