3 * COPYRIGHT: See COPYING in the top level directory
5 * FILE: lib/ddraw/main/videoport.c
6 * PURPOSE: IDirectDrawVideoPort, DDVideoPortContainer and IDirectDrawVideoPortNotify Implementation
7 * PROGRAMMER: Maarten Bosma
14 /************* IDirectDrawVideoPort *************/
17 Main_DirectDrawVideoPort_QueryInterface (LPDIRECTDRAWVIDEOPORT iface
, REFIID riid
, LPVOID
* ppvObj
)
23 Main_DirectDrawVideoPort_AddRef (LPDIRECTDRAWVIDEOPORT iface
)
29 Main_DirectDrawVideoPort_Release (LPDIRECTDRAWVIDEOPORT iface
)
35 Main_DirectDrawVideoPort_Flip (LPDIRECTDRAWVIDEOPORT iface
, LPDIRECTDRAWSURFACE lpDDSurface
, DWORD dwFlags
)
41 Main_DirectDrawVideoPort_GetBandwidthInfo (LPDIRECTDRAWVIDEOPORT iface
, LPDDPIXELFORMAT lpddpfFormat
, DWORD dwWidth
,
42 DWORD dwHeight
, DWORD dwFlags
, LPDDVIDEOPORTBANDWIDTH lpBandwidth
)
48 Main_DirectDrawVideoPort_GetColorControls (LPDIRECTDRAWVIDEOPORT iface
, LPDDCOLORCONTROL lpColorControl
)
53 HRESULT WINAPI
Main_DirectDrawVideoPort_GetInputFormats (LPDIRECTDRAWVIDEOPORT iface
, LPDWORD lpNumFormats
,
54 LPDDPIXELFORMAT lpFormats
, DWORD dwFlags
)
59 HRESULT WINAPI
Main_DirectDrawVideoPort_GetOutputFormats (LPDIRECTDRAWVIDEOPORT iface
, LPDDPIXELFORMAT lpInputFormat
,
60 LPDWORD lpNumFormats
, LPDDPIXELFORMAT lpFormats
, DWORD dwFlags
)
65 HRESULT WINAPI
Main_DirectDrawVideoPort_GetFieldPolarity (LPDIRECTDRAWVIDEOPORT iface
, LPBOOL lpbFieldPolarity
)
70 HRESULT WINAPI
Main_DirectDrawVideoPort_GetVideoLine (LPDIRECTDRAWVIDEOPORT This
, LPDWORD lpdwLine
)
75 HRESULT WINAPI
Main_DirectDrawVideoPort_GetVideoSignalStatus (LPDIRECTDRAWVIDEOPORT iface
, LPDWORD lpdwStatus
)
80 HRESULT WINAPI
Main_DirectDrawVideoPort_SetColorControls (LPDIRECTDRAWVIDEOPORT iface
, LPDDCOLORCONTROL lpColorControl
)
85 HRESULT WINAPI
Main_DirectDrawVideoPort_SetTargetSurface (LPDIRECTDRAWVIDEOPORT iface
, LPDIRECTDRAWSURFACE lpDDSurface
,
91 HRESULT WINAPI
Main_DirectDrawVideoPort_StartVideo (LPDIRECTDRAWVIDEOPORT iface
, LPDDVIDEOPORTINFO dwFlags
)
96 HRESULT WINAPI
Main_DirectDrawVideoPort_StopVideo (LPDIRECTDRAWVIDEOPORT iface
)
101 HRESULT WINAPI
Main_DirectDrawVideoPort_UpdateVideo (LPDIRECTDRAWVIDEOPORT iface
, LPDDVIDEOPORTINFO dwFlags
)
106 HRESULT WINAPI
Main_DirectDrawVideoPort_WaitForSync (LPDIRECTDRAWVIDEOPORT iface
, DWORD dwFlags
, DWORD dwLine
,
112 /************* IDDVideoPortContainer *************/
114 HRESULT WINAPI
Main_DDVideoPortContainer_QueryInterface (LPDDVIDEOPORTCONTAINER iface
, REFIID riid
, LPVOID
* ppvObj
)
116 return E_NOINTERFACE
;
119 ULONG WINAPI
Main_DDVideoPortContainer_AddRef (LPDDVIDEOPORTCONTAINER iface
)
124 ULONG WINAPI
Main_DDVideoPortContainer_Release (LPDDVIDEOPORTCONTAINER iface
)
129 HRESULT WINAPI
Main_DDVideoPortContainer_CreateVideoPort (LPDDVIDEOPORTCONTAINER iface
, DWORD dwFlags
, LPDDVIDEOPORTDESC pPortDesc
,
130 LPDIRECTDRAWVIDEOPORT
* DDVideoPort
, IUnknown
* pUnkOuter
)
135 HRESULT WINAPI
Main_DDVideoPortContainer_EnumVideoPorts (LPDDVIDEOPORTCONTAINER iface
, DWORD dwFlags
, LPDDVIDEOPORTCAPS pCaps
, LPVOID pContext
,
136 LPDDENUMVIDEOCALLBACK pEnumVideoCallback
)
141 HRESULT WINAPI
Main_DDVideoPortContainer_GetVideoPortConnectInfo (LPDDVIDEOPORTCONTAINER iface
, DWORD PortId
, DWORD
* pNumEntries
,
142 LPDDVIDEOPORTCONNECT pConnectInfo
)
147 HRESULT WINAPI
Main_DDVideoPortContainer_QueryVideoPortStatus (LPDDVIDEOPORTCONTAINER iface
, DWORD PortId
, LPDDVIDEOPORTSTATUS pStatus
)
152 /************* IDirectDrawVideoPortNotify *************/
154 HRESULT WINAPI
Main_DDVideoPortNotify_QueryInterface (LPDIRECTDRAWVIDEOPORTNOTIFY iface
, REFIID riid
, LPVOID
* ppvObj
)
156 return E_NOINTERFACE
;
159 ULONG WINAPI
Main_DDVideoPortNotify_AddRef (LPDIRECTDRAWVIDEOPORTNOTIFY iface
)
164 ULONG WINAPI
Main_DDVideoPortNotify_Release (LPDIRECTDRAWVIDEOPORTNOTIFY iface
)
169 HRESULT WINAPI
Main_DDVideoPortNotify_AcquireNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface
, HANDLE
* h
, LPDDVIDEOPORTNOTIFY pVideoPortNotify
)
174 HRESULT WINAPI
Main_DDVideoPortNotify_ReleaseNotification (LPDIRECTDRAWVIDEOPORTNOTIFY iface
, HANDLE h
)
179 IDirectDrawVideoPortVtbl DirectDrawVideoPort_Vtable
=
181 Main_DirectDrawVideoPort_QueryInterface
,
182 Main_DirectDrawVideoPort_AddRef
,
183 Main_DirectDrawVideoPort_Release
,
184 Main_DirectDrawVideoPort_Flip
,
185 Main_DirectDrawVideoPort_GetBandwidthInfo
,
186 Main_DirectDrawVideoPort_GetColorControls
,
187 Main_DirectDrawVideoPort_GetInputFormats
,
188 Main_DirectDrawVideoPort_GetOutputFormats
,
189 Main_DirectDrawVideoPort_GetFieldPolarity
,
190 Main_DirectDrawVideoPort_GetVideoLine
,
191 Main_DirectDrawVideoPort_GetVideoSignalStatus
,
192 Main_DirectDrawVideoPort_SetColorControls
,
193 Main_DirectDrawVideoPort_SetTargetSurface
,
194 Main_DirectDrawVideoPort_StartVideo
,
195 Main_DirectDrawVideoPort_StopVideo
,
196 Main_DirectDrawVideoPort_UpdateVideo
,
197 Main_DirectDrawVideoPort_WaitForSync
200 IDDVideoPortContainerVtbl DDVideoPortContainer_Vtable
=
202 Main_DDVideoPortContainer_QueryInterface
,
203 Main_DDVideoPortContainer_AddRef
,
204 Main_DDVideoPortContainer_Release
,
205 Main_DDVideoPortContainer_CreateVideoPort
,
206 Main_DDVideoPortContainer_EnumVideoPorts
,
207 Main_DDVideoPortContainer_GetVideoPortConnectInfo
,
208 Main_DDVideoPortContainer_QueryVideoPortStatus
211 IDirectDrawVideoPortNotifyVtbl DDVideoPortNotify_Vtable
=
213 Main_DDVideoPortNotify_QueryInterface
,
214 Main_DDVideoPortNotify_AddRef
,
215 Main_DDVideoPortNotify_Release
,
216 Main_DDVideoPortNotify_AcquireNotification
,
217 Main_DDVideoPortNotify_ReleaseNotification