Module: wine Branch: master Commit: f6647486cfb8bc0751cd2f588dc57b425b9c1e06 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f6647486cfb8bc0751cd2f588d...
Author: Stefan Dösinger stefan@codeweavers.com Date: Thu Oct 5 16:40:56 2006 +0200
wined3d: Add IWineD3DSurface::GetOverlayPosition.
---
dlls/ddraw/surface.c | 7 +++++-- dlls/wined3d/surface.c | 9 +++++++++ dlls/wined3d/surface_gdi.c | 1 + dlls/wined3d/wined3d_private.h | 1 + include/wine/wined3d_interface.h | 2 ++ 5 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 16af260..6e43976 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -1351,9 +1351,12 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_GetOverlayPosition(IDirectDrawSurface7 *iface, LONG *X, LONG *Y) { - FIXME("(%p)->(%p,%p): Stub!\n", iface, X, Y); + ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface); + TRACE("(%p)->(%p,%p): Relay\n", This, X, Y);
- return DDERR_NOTAOVERLAYSURFACE; + return IWineD3DSurface_GetOverlayPosition(This->WineD3DSurface, + X, + Y); }
/***************************************************************************** diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c index 3b8d323..36a525c 100644 --- a/dlls/wined3d/surface.c +++ b/dlls/wined3d/surface.c @@ -3079,6 +3079,14 @@ HRESULT WINAPI IWineD3DSurfaceImpl_SetOv return WINED3D_OK; }
+HRESULT WINAPI IWineD3DSurfaceImpl_GetOverlayPosition(IWineD3DSurface *iface, LONG *X, LONG *Y) { + IWineD3DSurfaceImpl *This = (IWineD3DSurfaceImpl *) iface; + + FIXME("(%p)->(%p,%p) Stub!\n", This, X, Y); + + return WINED3D_OK; +} + const IWineD3DSurfaceVtbl IWineD3DSurface_Vtbl = { /* IUnknown */ @@ -3117,6 +3125,7 @@ const IWineD3DSurfaceVtbl IWineD3DSurfac IWineD3DSurfaceImpl_GetPitch, IWineD3DSurfaceImpl_SetMem, IWineD3DSurfaceImpl_SetOverlayPosition, + IWineD3DSurfaceImpl_GetOverlayPosition, /* Internal use: */ IWineD3DSurfaceImpl_CleanDirtyRect, IWineD3DSurfaceImpl_AddDirtyRect, diff --git a/dlls/wined3d/surface_gdi.c b/dlls/wined3d/surface_gdi.c index 6376f9b..22727c4 100644 --- a/dlls/wined3d/surface_gdi.c +++ b/dlls/wined3d/surface_gdi.c @@ -1584,6 +1584,7 @@ const IWineD3DSurfaceVtbl IWineGDISurfac IWineD3DSurfaceImpl_GetPitch, IWineD3DSurfaceImpl_SetMem, IWineD3DSurfaceImpl_SetOverlayPosition, + IWineD3DSurfaceImpl_GetOverlayPosition, /* Internal use: */ IWineD3DSurfaceImpl_CleanDirtyRect, IWineD3DSurfaceImpl_AddDirtyRect, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 0f98482..1e7326a 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -949,6 +949,7 @@ DWORD WINAPI IWineD3DSurfaceImpl_GetPitc HRESULT WINAPI IWineD3DSurfaceImpl_RealizePalette(IWineD3DSurface *iface); HRESULT WINAPI IWineD3DSurfaceImpl_SetMem(IWineD3DSurface *iface, void *Mem); HRESULT WINAPI IWineD3DSurfaceImpl_SetOverlayPosition(IWineD3DSurface *iface, LONG X, LONG Y); +HRESULT WINAPI IWineD3DSurfaceImpl_GetOverlayPosition(IWineD3DSurface *iface, LONG *X, LONG *Y);
/* Surface flags: */ #define SFLAG_OVERSIZE 0x00000001 /* Surface is bigger than gl size, blts only */ diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h index 48a0545..4860c3b 100644 --- a/include/wine/wined3d_interface.h +++ b/include/wine/wined3d_interface.h @@ -1134,6 +1134,7 @@ DECLARE_INTERFACE_(IWineD3DSurface,IWine STDMETHOD_(DWORD,GetPitch)(THIS) PURE; STDMETHOD(SetMem)(THIS_ void *mem) PURE; STDMETHOD(SetOverlayPosition)(THIS_ LONG X, LONG Y) PURE; + STDMETHOD(GetOverlayPosition)(THIS_ LONG *X, LONG *Y) PURE; /* Internally used methods */ STDMETHOD(CleanDirtyRect)(THIS) PURE; STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pRect) PURE; @@ -1187,6 +1188,7 @@ #define IWineD3DSurface_SetColorKey(p, a #define IWineD3DSurface_GetPitch(p) (p)->lpVtbl->GetPitch(p) #define IWineD3DSurface_SetMem(p, a) (p)->lpVtbl->SetMem(p, a) #define IWineD3DSurface_SetOverlayPosition(p, a, b) (p)->lpVtbl->SetOverlayPosition(p, a, b) +#define IWineD3DSurface_GetOverlayPosition(p, a, b) (p)->lpVtbl->GetOverlayPosition(p, a, b) /*** IWineD3DSurface (Internal, no d3d mapping) methods ***/ #define IWineD3DSurface_CleanDirtyRect(p) (p)->lpVtbl->CleanDirtyRect(p) #define IWineD3DSurface_AddDirtyRect(p,a) (p)->lpVtbl->AddDirtyRect(p,a)