For a radio button even if the initial style includes WS_TABSTOP the
[wine/wine64.git] / dlls / quartz / seekpass.h
blob5af7faa05383ccf988042e271b50d10390c73978
1 #ifndef WINE_DSHOW_SEEKPASS_H
2 #define WINE_DSHOW_SEEKPASS_H
4 /*
5 implements CLSID_SeekingPassThru.
7 - At least, the following interfaces should be implemented:
9 IUnknown
10 + ISeekingPassThru
14 #include "iunk.h"
17 /****************************************************************************/
19 typedef struct CPassThruImpl
21 struct { ICOM_VFIELD(IMediaPosition); } mpos;
22 struct { ICOM_VFIELD(IMediaSeeking); } mseek;
24 IUnknown* punk;
25 IPin* pPin;
26 } CPassThruImpl;
28 #define CPassThruImpl_THIS(iface,member) CPassThruImpl* This = ((CPassThruImpl*)(((char*)iface)-offsetof(CPassThruImpl,member)))
30 HRESULT CPassThruImpl_InitIMediaPosition( CPassThruImpl* pImpl );
31 void CPassThruImpl_UninitIMediaPosition( CPassThruImpl* pImpl );
32 HRESULT CPassThruImpl_InitIMediaSeeking( CPassThruImpl* pImpl );
33 void CPassThruImpl_UninitIMediaSeeking( CPassThruImpl* pImpl );
35 HRESULT CPassThruImpl_QueryPosPass(
36 CPassThruImpl* pImpl, IMediaPosition** ppPosition );
37 HRESULT CPassThruImpl_QuerySeekPass(
38 CPassThruImpl* pImpl, IMediaSeeking** ppSeeking );
40 /****************************************************************************/
42 typedef struct QUARTZ_ISeekingPassThruImpl
44 ICOM_VFIELD(ISeekingPassThru);
45 } QUARTZ_ISeekingPassThruImpl;
47 typedef struct CSeekingPassThru
49 QUARTZ_IUnkImpl unk;
50 QUARTZ_ISeekingPassThruImpl seekpass;
52 /* ISeekingPassThru fields. */
53 CRITICAL_SECTION cs;
54 CPassThruImpl passthru;
55 } CSeekingPassThru;
57 #define CSeekingPassThru_THIS(iface,member) CSeekingPassThru* This = ((CSeekingPassThru*)(((char*)iface)-offsetof(CSeekingPassThru,member)))
59 HRESULT QUARTZ_CreateSeekingPassThru(IUnknown* punkOuter,void** ppobj);
60 HRESULT QUARTZ_CreateSeekingPassThruInternal(IUnknown* punkOuter,CSeekingPassThru** ppobj,BOOL bRendering,IPin* pPin);
63 #endif /* WINE_DSHOW_SEEKPASS_H */