2 * Implementation of IBasicAudio, IBasicVideo2, IVideoWindow for FilterGraph.
6 * hidenori@a2.ctktv.ne.jp
20 #include "debugtools.h"
21 DEFAULT_DEBUG_CHANNEL(quartz);
23 #include "quartz_private.h"
28 static HRESULT CFilterGraph_QueryBasicAudio(
29 CFilterGraph* This, IBasicAudio** ppAudio )
31 FIXME("(%p,%p) stub!\n",This,ppAudio);
35 static HRESULT CFilterGraph_QueryBasicVideo(
36 CFilterGraph* This, IBasicVideo** ppVideo )
38 FIXME("(%p,%p) stub!\n",This,ppVideo);
42 static HRESULT CFilterGraph_QueryBasicVideo2(
43 CFilterGraph* This, IBasicVideo2** ppVideo )
45 FIXME("(%p,%p) stub!\n",This,ppVideo);
49 static HRESULT CFilterGraph_QueryVideoWindow(
50 CFilterGraph* This, IVideoWindow** ppVidWin )
52 FIXME("(%p,%p) stub!\n",This,ppVidWin);
58 /***************************************************************************
60 * CFilterGraph::IBasicAudio
64 #define QUERYBASICAUDIO \
65 IBasicAudio* pAudio = NULL; \
67 hr = CFilterGraph_QueryBasicAudio( This, &pAudio ); \
68 if ( FAILED(hr) ) return hr;
72 IBasicAudio_fnQueryInterface(IBasicAudio* iface,REFIID riid,void** ppobj)
74 CFilterGraph_THIS(iface,basaud);
76 TRACE("(%p)->()\n",This);
78 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
82 IBasicAudio_fnAddRef(IBasicAudio* iface)
84 CFilterGraph_THIS(iface,basaud);
86 TRACE("(%p)->()\n",This);
88 return IUnknown_AddRef(This->unk.punkControl);
92 IBasicAudio_fnRelease(IBasicAudio* iface)
94 CFilterGraph_THIS(iface,basaud);
96 TRACE("(%p)->()\n",This);
98 return IUnknown_Release(This->unk.punkControl);
101 static HRESULT WINAPI
102 IBasicAudio_fnGetTypeInfoCount(IBasicAudio* iface,UINT* pcTypeInfo)
104 CFilterGraph_THIS(iface,basaud);
106 FIXME("(%p)->()\n",This);
111 static HRESULT WINAPI
112 IBasicAudio_fnGetTypeInfo(IBasicAudio* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
114 CFilterGraph_THIS(iface,basaud);
116 FIXME("(%p)->()\n",This);
121 static HRESULT WINAPI
122 IBasicAudio_fnGetIDsOfNames(IBasicAudio* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
124 CFilterGraph_THIS(iface,basaud);
126 FIXME("(%p)->()\n",This);
131 static HRESULT WINAPI
132 IBasicAudio_fnInvoke(IBasicAudio* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
134 CFilterGraph_THIS(iface,basaud);
136 FIXME("(%p)->()\n",This);
142 static HRESULT WINAPI
143 IBasicAudio_fnput_Volume(IBasicAudio* iface,long lVol)
145 CFilterGraph_THIS(iface,basaud);
148 TRACE("(%p)->()\n",This);
150 return IBasicAudio_put_Volume(pAudio,lVol);
153 static HRESULT WINAPI
154 IBasicAudio_fnget_Volume(IBasicAudio* iface,long* plVol)
156 CFilterGraph_THIS(iface,basaud);
159 TRACE("(%p)->()\n",This);
161 return IBasicAudio_get_Volume(pAudio,plVol);
164 static HRESULT WINAPI
165 IBasicAudio_fnput_Balance(IBasicAudio* iface,long lBalance)
167 CFilterGraph_THIS(iface,basaud);
170 TRACE("(%p)->()\n",This);
172 return IBasicAudio_put_Balance(pAudio,lBalance);
175 static HRESULT WINAPI
176 IBasicAudio_fnget_Balance(IBasicAudio* iface,long* plBalance)
178 CFilterGraph_THIS(iface,basaud);
181 TRACE("(%p)->()\n",This);
183 return IBasicAudio_get_Balance(pAudio,plBalance);
187 static ICOM_VTABLE(IBasicAudio) ibasicaudio =
189 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
190 /* IUnknown fields */
191 IBasicAudio_fnQueryInterface,
192 IBasicAudio_fnAddRef,
193 IBasicAudio_fnRelease,
194 /* IDispatch fields */
195 IBasicAudio_fnGetTypeInfoCount,
196 IBasicAudio_fnGetTypeInfo,
197 IBasicAudio_fnGetIDsOfNames,
198 IBasicAudio_fnInvoke,
199 /* IBasicAudio fields */
200 IBasicAudio_fnput_Volume,
201 IBasicAudio_fnget_Volume,
202 IBasicAudio_fnput_Balance,
203 IBasicAudio_fnget_Balance,
207 HRESULT CFilterGraph_InitIBasicAudio( CFilterGraph* pfg )
210 ICOM_VTBL(&pfg->basaud) = &ibasicaudio;
215 void CFilterGraph_UninitIBasicAudio( CFilterGraph* pfg )
220 #undef QUERYBASICAUDIO
223 /***************************************************************************
225 * CFilterGraph::IBasicVideo2
230 #define QUERYBASICVIDEO \
231 IBasicVideo* pVideo = NULL; \
233 hr = CFilterGraph_QueryBasicVideo( This, &pVideo ); \
234 if ( FAILED(hr) ) return hr;
236 #define QUERYBASICVIDEO2 \
237 IBasicVideo2* pVideo = NULL; \
239 hr = CFilterGraph_QueryBasicVideo2( This, &pVideo ); \
240 if ( FAILED(hr) ) return hr;
243 static HRESULT WINAPI
244 IBasicVideo2_fnQueryInterface(IBasicVideo2* iface,REFIID riid,void** ppobj)
246 CFilterGraph_THIS(iface,basvid);
248 TRACE("(%p)->()\n",This);
250 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
254 IBasicVideo2_fnAddRef(IBasicVideo2* iface)
256 CFilterGraph_THIS(iface,basvid);
258 TRACE("(%p)->()\n",This);
260 return IUnknown_AddRef(This->unk.punkControl);
264 IBasicVideo2_fnRelease(IBasicVideo2* iface)
266 CFilterGraph_THIS(iface,basvid);
268 TRACE("(%p)->()\n",This);
270 return IUnknown_Release(This->unk.punkControl);
273 static HRESULT WINAPI
274 IBasicVideo2_fnGetTypeInfoCount(IBasicVideo2* iface,UINT* pcTypeInfo)
276 CFilterGraph_THIS(iface,basvid);
278 FIXME("(%p)->()\n",This);
283 static HRESULT WINAPI
284 IBasicVideo2_fnGetTypeInfo(IBasicVideo2* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
286 CFilterGraph_THIS(iface,basvid);
288 FIXME("(%p)->()\n",This);
293 static HRESULT WINAPI
294 IBasicVideo2_fnGetIDsOfNames(IBasicVideo2* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
296 CFilterGraph_THIS(iface,basvid);
298 FIXME("(%p)->()\n",This);
303 static HRESULT WINAPI
304 IBasicVideo2_fnInvoke(IBasicVideo2* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
306 CFilterGraph_THIS(iface,basvid);
308 FIXME("(%p)->()\n",This);
314 static HRESULT WINAPI
315 IBasicVideo2_fnget_AvgTimePerFrame(IBasicVideo2* iface,REFTIME* prefTime)
317 CFilterGraph_THIS(iface,basvid);
320 TRACE("(%p)->()\n",This);
322 return IBasicVideo_get_AvgTimePerFrame(pVideo,prefTime);
325 static HRESULT WINAPI
326 IBasicVideo2_fnget_BitRate(IBasicVideo2* iface,long* plRate)
328 CFilterGraph_THIS(iface,basvid);
331 TRACE("(%p)->()\n",This);
333 return IBasicVideo_get_BitRate(pVideo,plRate);
336 static HRESULT WINAPI
337 IBasicVideo2_fnget_BitErrorRate(IBasicVideo2* iface,long* plRate)
339 CFilterGraph_THIS(iface,basvid);
342 TRACE("(%p)->()\n",This);
344 return IBasicVideo_get_BitErrorRate(pVideo,plRate);
347 static HRESULT WINAPI
348 IBasicVideo2_fnget_VideoWidth(IBasicVideo2* iface,long* plWidth)
350 CFilterGraph_THIS(iface,basvid);
353 TRACE("(%p)->()\n",This);
355 return IBasicVideo_get_VideoWidth(pVideo,plWidth);
358 static HRESULT WINAPI
359 IBasicVideo2_fnget_VideoHeight(IBasicVideo2* iface,long* plHeight)
361 CFilterGraph_THIS(iface,basvid);
364 TRACE("(%p)->()\n",This);
366 return IBasicVideo_get_VideoHeight(pVideo,plHeight);
369 static HRESULT WINAPI
370 IBasicVideo2_fnput_SourceLeft(IBasicVideo2* iface,long lLeft)
372 CFilterGraph_THIS(iface,basvid);
375 TRACE("(%p)->()\n",This);
377 return IBasicVideo_put_SourceLeft(pVideo,lLeft);
380 static HRESULT WINAPI
381 IBasicVideo2_fnget_SourceLeft(IBasicVideo2* iface,long* plLeft)
383 CFilterGraph_THIS(iface,basvid);
386 TRACE("(%p)->()\n",This);
388 return IBasicVideo_get_SourceLeft(pVideo,plLeft);
391 static HRESULT WINAPI
392 IBasicVideo2_fnput_SourceWidth(IBasicVideo2* iface,long lWidth)
394 CFilterGraph_THIS(iface,basvid);
397 TRACE("(%p)->()\n",This);
399 return IBasicVideo_put_SourceWidth(pVideo,lWidth);
402 static HRESULT WINAPI
403 IBasicVideo2_fnget_SourceWidth(IBasicVideo2* iface,long* plWidth)
405 CFilterGraph_THIS(iface,basvid);
408 TRACE("(%p)->()\n",This);
410 return IBasicVideo_get_SourceWidth(pVideo,plWidth);
413 static HRESULT WINAPI
414 IBasicVideo2_fnput_SourceTop(IBasicVideo2* iface,long lTop)
416 CFilterGraph_THIS(iface,basvid);
419 TRACE("(%p)->()\n",This);
421 return IBasicVideo_put_SourceTop(pVideo,lTop);
424 static HRESULT WINAPI
425 IBasicVideo2_fnget_SourceTop(IBasicVideo2* iface,long* plTop)
427 CFilterGraph_THIS(iface,basvid);
430 TRACE("(%p)->()\n",This);
432 return IBasicVideo_get_SourceTop(pVideo,plTop);
435 static HRESULT WINAPI
436 IBasicVideo2_fnput_SourceHeight(IBasicVideo2* iface,long lHeight)
438 CFilterGraph_THIS(iface,basvid);
441 TRACE("(%p)->()\n",This);
443 return IBasicVideo_put_SourceHeight(pVideo,lHeight);
446 static HRESULT WINAPI
447 IBasicVideo2_fnget_SourceHeight(IBasicVideo2* iface,long* plHeight)
449 CFilterGraph_THIS(iface,basvid);
452 TRACE("(%p)->()\n",This);
454 return IBasicVideo_get_SourceHeight(pVideo,plHeight);
457 static HRESULT WINAPI
458 IBasicVideo2_fnput_DestinationLeft(IBasicVideo2* iface,long lLeft)
460 CFilterGraph_THIS(iface,basvid);
463 TRACE("(%p)->()\n",This);
465 return IBasicVideo_put_DestinationLeft(pVideo,lLeft);
468 static HRESULT WINAPI
469 IBasicVideo2_fnget_DestinationLeft(IBasicVideo2* iface,long* plLeft)
471 CFilterGraph_THIS(iface,basvid);
474 TRACE("(%p)->()\n",This);
476 return IBasicVideo_get_DestinationLeft(pVideo,plLeft);
479 static HRESULT WINAPI
480 IBasicVideo2_fnput_DestinationWidth(IBasicVideo2* iface,long lWidth)
482 CFilterGraph_THIS(iface,basvid);
485 TRACE("(%p)->()\n",This);
487 return IBasicVideo_put_DestinationWidth(pVideo,lWidth);
490 static HRESULT WINAPI
491 IBasicVideo2_fnget_DestinationWidth(IBasicVideo2* iface,long* plWidth)
493 CFilterGraph_THIS(iface,basvid);
496 TRACE("(%p)->()\n",This);
498 return IBasicVideo_get_DestinationWidth(pVideo,plWidth);
501 static HRESULT WINAPI
502 IBasicVideo2_fnput_DestinationTop(IBasicVideo2* iface,long lTop)
504 CFilterGraph_THIS(iface,basvid);
507 TRACE("(%p)->()\n",This);
509 return IBasicVideo_put_DestinationTop(pVideo,lTop);
512 static HRESULT WINAPI
513 IBasicVideo2_fnget_DestinationTop(IBasicVideo2* iface,long* plTop)
515 CFilterGraph_THIS(iface,basvid);
518 TRACE("(%p)->()\n",This);
520 return IBasicVideo_get_DestinationTop(pVideo,plTop);
523 static HRESULT WINAPI
524 IBasicVideo2_fnput_DestinationHeight(IBasicVideo2* iface,long lHeight)
526 CFilterGraph_THIS(iface,basvid);
529 TRACE("(%p)->()\n",This);
531 return IBasicVideo_put_DestinationHeight(pVideo,lHeight);
534 static HRESULT WINAPI
535 IBasicVideo2_fnget_DestinationHeight(IBasicVideo2* iface,long* plHeight)
537 CFilterGraph_THIS(iface,basvid);
540 TRACE("(%p)->()\n",This);
542 return IBasicVideo_get_DestinationHeight(pVideo,plHeight);
545 static HRESULT WINAPI
546 IBasicVideo2_fnSetSourcePosition(IBasicVideo2* iface,long lLeft,long lTop,long lWidth,long lHeight)
548 CFilterGraph_THIS(iface,basvid);
551 TRACE("(%p)->()\n",This);
553 return IBasicVideo_SetSourcePosition(pVideo,lLeft,lTop,lWidth,lHeight);
556 static HRESULT WINAPI
557 IBasicVideo2_fnGetSourcePosition(IBasicVideo2* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight)
559 CFilterGraph_THIS(iface,basvid);
562 TRACE("(%p)->()\n",This);
564 return IBasicVideo_GetSourcePosition(pVideo,plLeft,plTop,plWidth,plHeight);
567 static HRESULT WINAPI
568 IBasicVideo2_fnSetDefaultSourcePosition(IBasicVideo2* iface)
570 CFilterGraph_THIS(iface,basvid);
573 TRACE("(%p)->()\n",This);
575 return IBasicVideo_SetDefaultSourcePosition(pVideo);
578 static HRESULT WINAPI
579 IBasicVideo2_fnSetDestinationPosition(IBasicVideo2* iface,long lLeft,long lTop,long lWidth,long lHeight)
581 CFilterGraph_THIS(iface,basvid);
584 TRACE("(%p)->()\n",This);
586 return IBasicVideo_SetDestinationPosition(pVideo,lLeft,lTop,lWidth,lHeight);
589 static HRESULT WINAPI
590 IBasicVideo2_fnGetDestinationPosition(IBasicVideo2* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight)
592 CFilterGraph_THIS(iface,basvid);
595 TRACE("(%p)->()\n",This);
597 return IBasicVideo_GetDestinationPosition(pVideo,plLeft,plTop,plWidth,plHeight);
600 static HRESULT WINAPI
601 IBasicVideo2_fnSetDefaultDestinationPosition(IBasicVideo2* iface)
603 CFilterGraph_THIS(iface,basvid);
606 TRACE("(%p)->()\n",This);
608 return IBasicVideo_SetDefaultDestinationPosition(pVideo);
611 static HRESULT WINAPI
612 IBasicVideo2_fnGetVideoSize(IBasicVideo2* iface,long* plWidth,long* plHeight)
614 CFilterGraph_THIS(iface,basvid);
617 TRACE("(%p)->()\n",This);
619 return IBasicVideo_GetVideoSize(pVideo,plWidth,plHeight);
622 static HRESULT WINAPI
623 IBasicVideo2_fnGetVideoPaletteEntries(IBasicVideo2* iface,long lStart,long lCount,long* plRet,long* plPaletteEntry)
625 CFilterGraph_THIS(iface,basvid);
628 TRACE("(%p)->()\n",This);
630 return IBasicVideo_GetVideoPaletteEntries(pVideo,lStart,lCount,plRet,plPaletteEntry);
633 static HRESULT WINAPI
634 IBasicVideo2_fnGetCurrentImage(IBasicVideo2* iface,long* plBufferSize,long* plDIBBuffer)
636 CFilterGraph_THIS(iface,basvid);
639 TRACE("(%p)->()\n",This);
641 return IBasicVideo_GetCurrentImage(pVideo,plBufferSize,plDIBBuffer);
644 static HRESULT WINAPI
645 IBasicVideo2_fnIsUsingDefaultSource(IBasicVideo2* iface)
647 CFilterGraph_THIS(iface,basvid);
650 TRACE("(%p)->()\n",This);
652 return IBasicVideo_IsUsingDefaultSource(pVideo);
655 static HRESULT WINAPI
656 IBasicVideo2_fnIsUsingDefaultDestination(IBasicVideo2* iface)
658 CFilterGraph_THIS(iface,basvid);
661 TRACE("(%p)->()\n",This);
663 return IBasicVideo_IsUsingDefaultDestination(pVideo);
666 static HRESULT WINAPI
667 IBasicVideo2_fnGetPreferredAspectRatio(IBasicVideo2* iface,long* plRateX,long* plRateY)
669 CFilterGraph_THIS(iface,basvid);
672 TRACE("(%p)->()\n",This);
674 return IBasicVideo2_GetPreferredAspectRatio(pVideo,plRateX,plRateY);
680 static ICOM_VTABLE(IBasicVideo2) ibasicvideo =
682 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
683 /* IUnknown fields */
684 IBasicVideo2_fnQueryInterface,
685 IBasicVideo2_fnAddRef,
686 IBasicVideo2_fnRelease,
687 /* IDispatch fields */
688 IBasicVideo2_fnGetTypeInfoCount,
689 IBasicVideo2_fnGetTypeInfo,
690 IBasicVideo2_fnGetIDsOfNames,
691 IBasicVideo2_fnInvoke,
692 /* IBasicVideo fields */
693 IBasicVideo2_fnget_AvgTimePerFrame,
694 IBasicVideo2_fnget_BitRate,
695 IBasicVideo2_fnget_BitErrorRate,
696 IBasicVideo2_fnget_VideoWidth,
697 IBasicVideo2_fnget_VideoHeight,
698 IBasicVideo2_fnput_SourceLeft,
699 IBasicVideo2_fnget_SourceLeft,
700 IBasicVideo2_fnput_SourceWidth,
701 IBasicVideo2_fnget_SourceWidth,
702 IBasicVideo2_fnput_SourceTop,
703 IBasicVideo2_fnget_SourceTop,
704 IBasicVideo2_fnput_SourceHeight,
705 IBasicVideo2_fnget_SourceHeight,
706 IBasicVideo2_fnput_DestinationLeft,
707 IBasicVideo2_fnget_DestinationLeft,
708 IBasicVideo2_fnput_DestinationWidth,
709 IBasicVideo2_fnget_DestinationWidth,
710 IBasicVideo2_fnput_DestinationTop,
711 IBasicVideo2_fnget_DestinationTop,
712 IBasicVideo2_fnput_DestinationHeight,
713 IBasicVideo2_fnget_DestinationHeight,
714 IBasicVideo2_fnSetSourcePosition,
715 IBasicVideo2_fnGetSourcePosition,
716 IBasicVideo2_fnSetDefaultSourcePosition,
717 IBasicVideo2_fnSetDestinationPosition,
718 IBasicVideo2_fnGetDestinationPosition,
719 IBasicVideo2_fnSetDefaultDestinationPosition,
720 IBasicVideo2_fnGetVideoSize,
721 IBasicVideo2_fnGetVideoPaletteEntries,
722 IBasicVideo2_fnGetCurrentImage,
723 IBasicVideo2_fnIsUsingDefaultSource,
724 IBasicVideo2_fnIsUsingDefaultDestination,
725 /* IBasicVideo2 fields */
726 IBasicVideo2_fnGetPreferredAspectRatio,
730 HRESULT CFilterGraph_InitIBasicVideo2( CFilterGraph* pfg )
733 ICOM_VTBL(&pfg->basvid) = &ibasicvideo;
738 void CFilterGraph_UninitIBasicVideo2( CFilterGraph* pfg )
743 #undef QUERYBASICVIDEO2
744 #undef QUERYBASICVIDEO
746 /***************************************************************************
748 * CFilterGraph::IVideoWindow
752 #define QUERYVIDEOWINDOW \
753 IVideoWindow* pVidWin = NULL; \
755 hr = CFilterGraph_QueryVideoWindow( This, &pVidWin ); \
756 if ( FAILED(hr) ) return hr;
759 static HRESULT WINAPI
760 IVideoWindow_fnQueryInterface(IVideoWindow* iface,REFIID riid,void** ppobj)
762 CFilterGraph_THIS(iface,vidwin);
764 TRACE("(%p)->()\n",This);
766 return IUnknown_QueryInterface(This->unk.punkControl,riid,ppobj);
770 IVideoWindow_fnAddRef(IVideoWindow* iface)
772 CFilterGraph_THIS(iface,vidwin);
774 TRACE("(%p)->()\n",This);
776 return IUnknown_AddRef(This->unk.punkControl);
780 IVideoWindow_fnRelease(IVideoWindow* iface)
782 CFilterGraph_THIS(iface,vidwin);
784 TRACE("(%p)->()\n",This);
786 return IUnknown_Release(This->unk.punkControl);
789 static HRESULT WINAPI
790 IVideoWindow_fnGetTypeInfoCount(IVideoWindow* iface,UINT* pcTypeInfo)
792 CFilterGraph_THIS(iface,vidwin);
794 FIXME("(%p)->()\n",This);
799 static HRESULT WINAPI
800 IVideoWindow_fnGetTypeInfo(IVideoWindow* iface,UINT iTypeInfo, LCID lcid, ITypeInfo** ppobj)
802 CFilterGraph_THIS(iface,vidwin);
804 FIXME("(%p)->()\n",This);
809 static HRESULT WINAPI
810 IVideoWindow_fnGetIDsOfNames(IVideoWindow* iface,REFIID riid, LPOLESTR* ppwszName, UINT cNames, LCID lcid, DISPID* pDispId)
812 CFilterGraph_THIS(iface,vidwin);
814 FIXME("(%p)->()\n",This);
819 static HRESULT WINAPI
820 IVideoWindow_fnInvoke(IVideoWindow* iface,DISPID DispId, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarRes, EXCEPINFO* pExcepInfo, UINT* puArgErr)
822 CFilterGraph_THIS(iface,vidwin);
824 FIXME("(%p)->()\n",This);
831 static HRESULT WINAPI
832 IVideoWindow_fnput_Caption(IVideoWindow* iface,BSTR strCaption)
834 CFilterGraph_THIS(iface,vidwin);
837 TRACE("(%p)->()\n",This);
839 return IVideoWindow_put_Caption(pVidWin,strCaption);
842 static HRESULT WINAPI
843 IVideoWindow_fnget_Caption(IVideoWindow* iface,BSTR* pstrCaption)
845 CFilterGraph_THIS(iface,vidwin);
848 TRACE("(%p)->()\n",This);
850 return IVideoWindow_get_Caption(pVidWin,pstrCaption);
853 static HRESULT WINAPI
854 IVideoWindow_fnput_WindowStyle(IVideoWindow* iface,long lStyle)
856 CFilterGraph_THIS(iface,vidwin);
859 TRACE("(%p)->()\n",This);
861 return IVideoWindow_put_WindowStyle(pVidWin,lStyle);
864 static HRESULT WINAPI
865 IVideoWindow_fnget_WindowStyle(IVideoWindow* iface,long* plStyle)
867 CFilterGraph_THIS(iface,vidwin);
870 TRACE("(%p)->()\n",This);
872 return IVideoWindow_get_WindowStyle(pVidWin,plStyle);
875 static HRESULT WINAPI
876 IVideoWindow_fnput_WindowStyleEx(IVideoWindow* iface,long lExStyle)
878 CFilterGraph_THIS(iface,vidwin);
881 TRACE("(%p)->()\n",This);
883 return IVideoWindow_put_WindowStyleEx(pVidWin,lExStyle);
886 static HRESULT WINAPI
887 IVideoWindow_fnget_WindowStyleEx(IVideoWindow* iface,long* plExStyle)
889 CFilterGraph_THIS(iface,vidwin);
892 TRACE("(%p)->()\n",This);
894 return IVideoWindow_get_WindowStyleEx(pVidWin,plExStyle);
897 static HRESULT WINAPI
898 IVideoWindow_fnput_AutoShow(IVideoWindow* iface,long lAutoShow)
900 CFilterGraph_THIS(iface,vidwin);
903 TRACE("(%p)->()\n",This);
905 return IVideoWindow_put_AutoShow(pVidWin,lAutoShow);
908 static HRESULT WINAPI
909 IVideoWindow_fnget_AutoShow(IVideoWindow* iface,long* plAutoShow)
911 CFilterGraph_THIS(iface,vidwin);
914 TRACE("(%p)->()\n",This);
916 return IVideoWindow_get_AutoShow(pVidWin,plAutoShow);
919 static HRESULT WINAPI
920 IVideoWindow_fnput_WindowState(IVideoWindow* iface,long lState)
922 CFilterGraph_THIS(iface,vidwin);
925 TRACE("(%p)->()\n",This);
927 return IVideoWindow_put_WindowState(pVidWin,lState);
930 static HRESULT WINAPI
931 IVideoWindow_fnget_WindowState(IVideoWindow* iface,long* plState)
933 CFilterGraph_THIS(iface,vidwin);
936 TRACE("(%p)->()\n",This);
938 return IVideoWindow_get_WindowState(pVidWin,plState);
941 static HRESULT WINAPI
942 IVideoWindow_fnput_BackgroundPalette(IVideoWindow* iface,long lBackPal)
944 CFilterGraph_THIS(iface,vidwin);
947 TRACE("(%p)->()\n",This);
949 return IVideoWindow_put_BackgroundPalette(pVidWin,lBackPal);
952 static HRESULT WINAPI
953 IVideoWindow_fnget_BackgroundPalette(IVideoWindow* iface,long* plBackPal)
955 CFilterGraph_THIS(iface,vidwin);
958 TRACE("(%p)->()\n",This);
960 return IVideoWindow_get_BackgroundPalette(pVidWin,plBackPal);
963 static HRESULT WINAPI
964 IVideoWindow_fnput_Visible(IVideoWindow* iface,long lVisible)
966 CFilterGraph_THIS(iface,vidwin);
969 TRACE("(%p)->()\n",This);
971 return IVideoWindow_put_Visible(pVidWin,lVisible);
974 static HRESULT WINAPI
975 IVideoWindow_fnget_Visible(IVideoWindow* iface,long* plVisible)
977 CFilterGraph_THIS(iface,vidwin);
980 TRACE("(%p)->()\n",This);
982 return IVideoWindow_get_Visible(pVidWin,plVisible);
985 static HRESULT WINAPI
986 IVideoWindow_fnput_Left(IVideoWindow* iface,long lLeft)
988 CFilterGraph_THIS(iface,vidwin);
991 TRACE("(%p)->()\n",This);
993 return IVideoWindow_put_Left(pVidWin,lLeft);
996 static HRESULT WINAPI
997 IVideoWindow_fnget_Left(IVideoWindow* iface,long* plLeft)
999 CFilterGraph_THIS(iface,vidwin);
1002 TRACE("(%p)->()\n",This);
1004 return IVideoWindow_get_Left(pVidWin,plLeft);
1007 static HRESULT WINAPI
1008 IVideoWindow_fnput_Width(IVideoWindow* iface,long lWidth)
1010 CFilterGraph_THIS(iface,vidwin);
1013 TRACE("(%p)->()\n",This);
1015 return IVideoWindow_put_Width(pVidWin,lWidth);
1018 static HRESULT WINAPI
1019 IVideoWindow_fnget_Width(IVideoWindow* iface,long* plWidth)
1021 CFilterGraph_THIS(iface,vidwin);
1024 TRACE("(%p)->()\n",This);
1026 return IVideoWindow_get_Width(pVidWin,plWidth);
1029 static HRESULT WINAPI
1030 IVideoWindow_fnput_Top(IVideoWindow* iface,long lTop)
1032 CFilterGraph_THIS(iface,vidwin);
1035 TRACE("(%p)->()\n",This);
1037 return IVideoWindow_put_Top(pVidWin,lTop);
1040 static HRESULT WINAPI
1041 IVideoWindow_fnget_Top(IVideoWindow* iface,long* plTop)
1043 CFilterGraph_THIS(iface,vidwin);
1046 TRACE("(%p)->()\n",This);
1048 return IVideoWindow_get_Top(pVidWin,plTop);
1051 static HRESULT WINAPI
1052 IVideoWindow_fnput_Height(IVideoWindow* iface,long lHeight)
1054 CFilterGraph_THIS(iface,vidwin);
1057 TRACE("(%p)->()\n",This);
1059 return IVideoWindow_put_Height(pVidWin,lHeight);
1062 static HRESULT WINAPI
1063 IVideoWindow_fnget_Height(IVideoWindow* iface,long* plHeight)
1065 CFilterGraph_THIS(iface,vidwin);
1068 TRACE("(%p)->()\n",This);
1070 return IVideoWindow_get_Height(pVidWin,plHeight);
1073 static HRESULT WINAPI
1074 IVideoWindow_fnput_Owner(IVideoWindow* iface,OAHWND hwnd)
1076 CFilterGraph_THIS(iface,vidwin);
1079 TRACE("(%p)->()\n",This);
1081 return IVideoWindow_put_Owner(pVidWin,hwnd);
1084 static HRESULT WINAPI
1085 IVideoWindow_fnget_Owner(IVideoWindow* iface,OAHWND* phwnd)
1087 CFilterGraph_THIS(iface,vidwin);
1090 TRACE("(%p)->()\n",This);
1092 return IVideoWindow_get_Owner(pVidWin,phwnd);
1095 static HRESULT WINAPI
1096 IVideoWindow_fnput_MessageDrain(IVideoWindow* iface,OAHWND hwnd)
1098 CFilterGraph_THIS(iface,vidwin);
1101 TRACE("(%p)->()\n",This);
1103 return IVideoWindow_put_MessageDrain(pVidWin,hwnd);
1106 static HRESULT WINAPI
1107 IVideoWindow_fnget_MessageDrain(IVideoWindow* iface,OAHWND* phwnd)
1109 CFilterGraph_THIS(iface,vidwin);
1112 TRACE("(%p)->()\n",This);
1114 return IVideoWindow_get_MessageDrain(pVidWin,phwnd);
1117 static HRESULT WINAPI
1118 IVideoWindow_fnget_BorderColor(IVideoWindow* iface,long* plColor)
1120 CFilterGraph_THIS(iface,vidwin);
1123 TRACE("(%p)->()\n",This);
1125 return IVideoWindow_get_BorderColor(pVidWin,plColor);
1128 static HRESULT WINAPI
1129 IVideoWindow_fnput_BorderColor(IVideoWindow* iface,long lColor)
1131 CFilterGraph_THIS(iface,vidwin);
1134 TRACE("(%p)->()\n",This);
1136 return IVideoWindow_put_BorderColor(pVidWin,lColor);
1139 static HRESULT WINAPI
1140 IVideoWindow_fnget_FullScreenMode(IVideoWindow* iface,long* plMode)
1142 CFilterGraph_THIS(iface,vidwin);
1145 TRACE("(%p)->()\n",This);
1147 return IVideoWindow_get_FullScreenMode(pVidWin,plMode);
1150 static HRESULT WINAPI
1151 IVideoWindow_fnput_FullScreenMode(IVideoWindow* iface,long lMode)
1153 CFilterGraph_THIS(iface,vidwin);
1156 TRACE("(%p)->()\n",This);
1158 return IVideoWindow_put_FullScreenMode(pVidWin,lMode);
1161 static HRESULT WINAPI
1162 IVideoWindow_fnSetWindowForeground(IVideoWindow* iface,long lFocus)
1164 CFilterGraph_THIS(iface,vidwin);
1167 TRACE("(%p)->()\n",This);
1169 return IVideoWindow_SetWindowForeground(pVidWin,lFocus);
1172 static HRESULT WINAPI
1173 IVideoWindow_fnNotifyOwnerMessage(IVideoWindow* iface,OAHWND hwnd,long message,LONG_PTR wParam,LONG_PTR lParam)
1175 CFilterGraph_THIS(iface,vidwin);
1178 TRACE("(%p)->()\n",This);
1180 return IVideoWindow_NotifyOwnerMessage(pVidWin,hwnd,message,wParam,lParam);
1183 static HRESULT WINAPI
1184 IVideoWindow_fnSetWindowPosition(IVideoWindow* iface,long lLeft,long lTop,long lWidth,long lHeight)
1186 CFilterGraph_THIS(iface,vidwin);
1189 TRACE("(%p)->()\n",This);
1191 return IVideoWindow_SetWindowPosition(pVidWin,lLeft,lTop,lWidth,lHeight);
1194 static HRESULT WINAPI
1195 IVideoWindow_fnGetWindowPosition(IVideoWindow* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight)
1197 CFilterGraph_THIS(iface,vidwin);
1200 TRACE("(%p)->()\n",This);
1202 return IVideoWindow_GetWindowPosition(pVidWin,plLeft,plTop,plWidth,plHeight);
1205 static HRESULT WINAPI
1206 IVideoWindow_fnGetMinIdealImageSize(IVideoWindow* iface,long* plWidth,long* plHeight)
1208 CFilterGraph_THIS(iface,vidwin);
1211 TRACE("(%p)->()\n",This);
1213 return IVideoWindow_GetMinIdealImageSize(pVidWin,plWidth,plHeight);
1216 static HRESULT WINAPI
1217 IVideoWindow_fnGetMaxIdealImageSize(IVideoWindow* iface,long* plWidth,long* plHeight)
1219 CFilterGraph_THIS(iface,vidwin);
1222 TRACE("(%p)->()\n",This);
1224 return IVideoWindow_GetMaxIdealImageSize(pVidWin,plWidth,plHeight);
1227 static HRESULT WINAPI
1228 IVideoWindow_fnGetRestorePosition(IVideoWindow* iface,long* plLeft,long* plTop,long* plWidth,long* plHeight)
1230 CFilterGraph_THIS(iface,vidwin);
1233 TRACE("(%p)->()\n",This);
1235 return IVideoWindow_GetRestorePosition(pVidWin,plLeft,plTop,plWidth,plHeight);
1238 static HRESULT WINAPI
1239 IVideoWindow_fnHideCursor(IVideoWindow* iface,long lHide)
1241 CFilterGraph_THIS(iface,vidwin);
1244 TRACE("(%p)->()\n",This);
1246 return IVideoWindow_HideCursor(pVidWin,lHide);
1249 static HRESULT WINAPI
1250 IVideoWindow_fnIsCursorHidden(IVideoWindow* iface,long* plHide)
1252 CFilterGraph_THIS(iface,vidwin);
1255 TRACE("(%p)->()\n",This);
1257 return IVideoWindow_IsCursorHidden(pVidWin,plHide);
1263 static ICOM_VTABLE(IVideoWindow) ivideowindow =
1265 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
1266 /* IUnknown fields */
1267 IVideoWindow_fnQueryInterface,
1268 IVideoWindow_fnAddRef,
1269 IVideoWindow_fnRelease,
1270 /* IDispatch fields */
1271 IVideoWindow_fnGetTypeInfoCount,
1272 IVideoWindow_fnGetTypeInfo,
1273 IVideoWindow_fnGetIDsOfNames,
1274 IVideoWindow_fnInvoke,
1275 /* IVideoWindow fields */
1276 IVideoWindow_fnput_Caption,
1277 IVideoWindow_fnget_Caption,
1278 IVideoWindow_fnput_WindowStyle,
1279 IVideoWindow_fnget_WindowStyle,
1280 IVideoWindow_fnput_WindowStyleEx,
1281 IVideoWindow_fnget_WindowStyleEx,
1282 IVideoWindow_fnput_AutoShow,
1283 IVideoWindow_fnget_AutoShow,
1284 IVideoWindow_fnput_WindowState,
1285 IVideoWindow_fnget_WindowState,
1286 IVideoWindow_fnput_BackgroundPalette,
1287 IVideoWindow_fnget_BackgroundPalette,
1288 IVideoWindow_fnput_Visible,
1289 IVideoWindow_fnget_Visible,
1290 IVideoWindow_fnput_Left,
1291 IVideoWindow_fnget_Left,
1292 IVideoWindow_fnput_Width,
1293 IVideoWindow_fnget_Width,
1294 IVideoWindow_fnput_Top,
1295 IVideoWindow_fnget_Top,
1296 IVideoWindow_fnput_Height,
1297 IVideoWindow_fnget_Height,
1298 IVideoWindow_fnput_Owner,
1299 IVideoWindow_fnget_Owner,
1300 IVideoWindow_fnput_MessageDrain,
1301 IVideoWindow_fnget_MessageDrain,
1302 IVideoWindow_fnget_BorderColor,
1303 IVideoWindow_fnput_BorderColor,
1304 IVideoWindow_fnget_FullScreenMode,
1305 IVideoWindow_fnput_FullScreenMode,
1306 IVideoWindow_fnSetWindowForeground,
1307 IVideoWindow_fnNotifyOwnerMessage,
1308 IVideoWindow_fnSetWindowPosition,
1309 IVideoWindow_fnGetWindowPosition,
1310 IVideoWindow_fnGetMinIdealImageSize,
1311 IVideoWindow_fnGetMaxIdealImageSize,
1312 IVideoWindow_fnGetRestorePosition,
1313 IVideoWindow_fnHideCursor,
1314 IVideoWindow_fnIsCursorHidden,
1319 HRESULT CFilterGraph_InitIVideoWindow( CFilterGraph* pfg )
1321 TRACE("(%p)\n",pfg);
1322 ICOM_VTBL(&pfg->vidwin) = &ivideowindow;
1327 void CFilterGraph_UninitIVideoWindow( CFilterGraph* pfg )
1329 TRACE("(%p)\n",pfg);
1332 #undef QUERYVIDEOWINDOW