ddraw: Get rid of CONVERT and CONVERT_REV.

Henri Verbeet hverbeet at codeweavers.com
Thu Jan 22 03:33:37 CST 2009


---
 dlls/ddraw/surface_thunks.c |  114 ++++++++++++++++++++----------------------
 1 files changed, 54 insertions(+), 60 deletions(-)

diff --git a/dlls/ddraw/surface_thunks.c b/dlls/ddraw/surface_thunks.c
index 87a4b60..d235ff9 100644
--- a/dlls/ddraw/surface_thunks.c
+++ b/dlls/ddraw/surface_thunks.c
@@ -30,10 +30,6 @@
 
 #include "ddraw_private.h"
 
-#define CONVERT(pdds) ((pdds) ? (IDirectDrawSurface7 *)surface_from_surface3(pdds) : NULL)
-#define CONVERT_REV(pdds) \
-        ((pdds) ? (IDirectDrawSurface3 *)&((IDirectDrawSurfaceImpl *)(pdds))->IDirectDrawSurface3_vtbl : NULL)
-
 WINE_DEFAULT_DEBUG_CHANNEL(ddraw_thunk);
 WINE_DECLARE_DEBUG_CHANNEL(ddraw);
 
@@ -41,13 +37,13 @@ static HRESULT WINAPI
 IDirectDrawSurface3Impl_QueryInterface(LPDIRECTDRAWSURFACE3 This, REFIID iid,
 				       LPVOID *ppObj)
 {
-    return IDirectDrawSurface7_QueryInterface(CONVERT(This), iid, ppObj);
+    return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)surface_from_surface3(This), iid, ppObj);
 }
 
 static ULONG WINAPI
 IDirectDrawSurface3Impl_AddRef(LPDIRECTDRAWSURFACE3 This)
 {
-    return IDirectDrawSurface7_AddRef(CONVERT(This));
+    return IDirectDrawSurface7_AddRef((IDirectDrawSurface7 *)surface_from_surface3(This));
 }
 
 static ULONG WINAPI
@@ -55,7 +51,7 @@ IDirectDrawSurface3Impl_Release(LPDIRECTDRAWSURFACE3 iface)
 {
     IDirectDrawSurfaceImpl *This = surface_from_surface3(iface);
     TRACE("(%p)\n", This);
-    return IDirectDrawSurface7_Release(CONVERT(iface));
+    return IDirectDrawSurface7_Release((IDirectDrawSurface7 *)surface_from_surface3(iface));
 }
 
 static HRESULT WINAPI
@@ -104,7 +100,7 @@ static HRESULT WINAPI
 IDirectDrawSurface3Impl_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE3 This,
 					    LPRECT pRect)
 {
-    return IDirectDrawSurface7_AddOverlayDirtyRect(CONVERT(This), pRect);
+    return IDirectDrawSurface7_AddOverlayDirtyRect((IDirectDrawSurface7 *)surface_from_surface3(This), pRect);
 }
 
 static HRESULT WINAPI
@@ -112,8 +108,8 @@ IDirectDrawSurface3Impl_Blt(LPDIRECTDRAWSURFACE3 This, LPRECT prcDst,
 			    LPDIRECTDRAWSURFACE3 pSrcSurf, LPRECT prcSrc,
 			    DWORD dwFlags, LPDDBLTFX pFX)
 {
-    return IDirectDrawSurface7_Blt(CONVERT(This), prcDst, CONVERT(pSrcSurf),
-				   prcSrc, dwFlags, pFX);
+    return IDirectDrawSurface7_Blt((IDirectDrawSurface7 *)surface_from_surface3(This), prcDst,
+            pSrcSurf ? (IDirectDrawSurface7 *)surface_from_surface3(pSrcSurf) : NULL, prcSrc, dwFlags, pFX);
 }
 
 static HRESULT WINAPI
@@ -121,8 +117,7 @@ IDirectDrawSurface3Impl_BltBatch(LPDIRECTDRAWSURFACE3 This,
 				 LPDDBLTBATCH pBatch, DWORD dwCount,
 				 DWORD dwFlags)
 {
-    return IDirectDrawSurface7_BltBatch(CONVERT(This), pBatch, dwCount,
-					dwFlags);
+    return IDirectDrawSurface7_BltBatch((IDirectDrawSurface7 *)surface_from_surface3(This), pBatch, dwCount, dwFlags);
 }
 
 static HRESULT WINAPI
@@ -130,8 +125,8 @@ IDirectDrawSurface3Impl_BltFast(LPDIRECTDRAWSURFACE3 This, DWORD x, DWORD y,
 				LPDIRECTDRAWSURFACE3 pSrcSurf, LPRECT prcSrc,
 				DWORD dwTrans)
 {
-    return IDirectDrawSurface7_BltFast(CONVERT(This), x, y, CONVERT(pSrcSurf),
-				       prcSrc, dwTrans);
+    return IDirectDrawSurface7_BltFast((IDirectDrawSurface7 *)surface_from_surface3(This), x, y,
+            pSrcSurf ? (IDirectDrawSurface7 *)surface_from_surface3(pSrcSurf) : NULL, prcSrc, dwTrans);
 }
 
 static HRESULT WINAPI
@@ -139,8 +134,8 @@ IDirectDrawSurface3Impl_DeleteAttachedSurface(LPDIRECTDRAWSURFACE3 This,
 					      DWORD dwFlags,
 					      LPDIRECTDRAWSURFACE3 pAttached)
 {
-    return IDirectDrawSurface7_DeleteAttachedSurface(CONVERT(This), dwFlags,
-						     CONVERT(pAttached));
+    return IDirectDrawSurface7_DeleteAttachedSurface((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags,
+            pAttached ? (IDirectDrawSurface7 *)surface_from_surface3(pAttached) : NULL);
 }
 
 struct callback_info
@@ -165,8 +160,9 @@ EnumCallback(LPDIRECTDRAWSURFACE7 iface, LPDDSURFACEDESC2 pDDSD,
 
     /* the LPDDSURFACEDESC2 -> LPDDSURFACEDESC coercion is safe, since
      * the data format is compatible with older enum procs */
-    return info->callback((LPDIRECTDRAWSURFACE)CONVERT_REV(iface), (LPDDSURFACEDESC)pDDSD,
-			  info->context);
+    return info->callback(iface ?
+            (IDirectDrawSurface *)&((IDirectDrawSurfaceImpl *)iface)->IDirectDrawSurface3_vtbl : NULL,
+            (LPDDSURFACEDESC)pDDSD, info->context);
 }
 
 static HRESULT WINAPI
@@ -179,8 +175,8 @@ IDirectDrawSurface3Impl_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE3 This,
     info.callback = callback;
     info.context  = context;
 
-    return IDirectDrawSurface7_EnumAttachedSurfaces(CONVERT(This), &info,
-						    EnumCallback);
+    return IDirectDrawSurface7_EnumAttachedSurfaces((IDirectDrawSurface7 *)surface_from_surface3(This),
+            &info, EnumCallback);
 }
 
 static HRESULT WINAPI
@@ -193,16 +189,16 @@ IDirectDrawSurface3Impl_EnumOverlayZOrders(LPDIRECTDRAWSURFACE3 This,
     info.callback = callback;
     info.context  = context;
 
-    return IDirectDrawSurface7_EnumOverlayZOrders(CONVERT(This), dwFlags,
-						  &info, EnumCallback);
+    return IDirectDrawSurface7_EnumOverlayZOrders((IDirectDrawSurface7 *)surface_from_surface3(This),
+            dwFlags, &info, EnumCallback);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_Flip(LPDIRECTDRAWSURFACE3 This,
 			     LPDIRECTDRAWSURFACE3 pOverride, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_Flip(CONVERT(This), CONVERT(pOverride),
-				    dwFlags);
+    return IDirectDrawSurface7_Flip((IDirectDrawSurface7 *)surface_from_surface3(This),
+            pOverride ? (IDirectDrawSurface7 *)surface_from_surface3(pOverride) : NULL, dwFlags);
 }
 
 static HRESULT WINAPI
@@ -219,17 +215,17 @@ IDirectDrawSurface3Impl_GetAttachedSurface(LPDIRECTDRAWSURFACE3 This,
     caps.dwCaps3 = 0;
     caps.dwCaps4 = 0;
 
-    hr = IDirectDrawSurface7_GetAttachedSurface(CONVERT(This), &caps,
-						&pAttached7);
+    hr = IDirectDrawSurface7_GetAttachedSurface((IDirectDrawSurface7 *)surface_from_surface3(This), &caps, &pAttached7);
     if (FAILED(hr)) *ppAttached = NULL;
-    else *ppAttached = CONVERT_REV(pAttached7);
+    else *ppAttached = pAttached7 ?
+            (IDirectDrawSurface3 *)&((IDirectDrawSurfaceImpl *)pAttached7)->IDirectDrawSurface3_vtbl : NULL;
     return hr;
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetBltStatus(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_GetBltStatus(CONVERT(This), dwFlags);
+    return IDirectDrawSurface7_GetBltStatus((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags);
 }
 
 static HRESULT WINAPI
@@ -238,7 +234,7 @@ IDirectDrawSurface3Impl_GetCaps(LPDIRECTDRAWSURFACE3 This, LPDDSCAPS pCaps)
     DDSCAPS2 caps;
     HRESULT hr;
 
-    hr = IDirectDrawSurface7_GetCaps(CONVERT(This), &caps);
+    hr = IDirectDrawSurface7_GetCaps((IDirectDrawSurface7 *)surface_from_surface3(This), &caps);
     if (FAILED(hr)) return hr;
 
     pCaps->dwCaps = caps.dwCaps;
@@ -249,47 +245,47 @@ static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetClipper(LPDIRECTDRAWSURFACE3 This,
 				   LPDIRECTDRAWCLIPPER* ppClipper)
 {
-    return IDirectDrawSurface7_GetClipper(CONVERT(This), ppClipper);
+    return IDirectDrawSurface7_GetClipper((IDirectDrawSurface7 *)surface_from_surface3(This), ppClipper);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetColorKey(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags,
 				    LPDDCOLORKEY pCKey)
 {
-    return IDirectDrawSurface7_GetColorKey(CONVERT(This), dwFlags, pCKey);
+    return IDirectDrawSurface7_GetColorKey((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags, pCKey);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetDC(LPDIRECTDRAWSURFACE3 This, HDC* phDC)
 {
-    return IDirectDrawSurface7_GetDC(CONVERT(This), phDC);
+    return IDirectDrawSurface7_GetDC((IDirectDrawSurface7 *)surface_from_surface3(This), phDC);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetFlipStatus(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_GetFlipStatus(CONVERT(This), dwFlags);
+    return IDirectDrawSurface7_GetFlipStatus((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetOverlayPosition(LPDIRECTDRAWSURFACE3 This, LPLONG pX,
 				       LPLONG pY)
 {
-    return IDirectDrawSurface7_GetOverlayPosition(CONVERT(This), pX, pY);
+    return IDirectDrawSurface7_GetOverlayPosition((IDirectDrawSurface7 *)surface_from_surface3(This), pX, pY);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetPalette(LPDIRECTDRAWSURFACE3 This,
 				   LPDIRECTDRAWPALETTE* ppPalette)
 {
-    return IDirectDrawSurface7_GetPalette(CONVERT(This), ppPalette);
+    return IDirectDrawSurface7_GetPalette((IDirectDrawSurface7 *)surface_from_surface3(This), ppPalette);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetPixelFormat(LPDIRECTDRAWSURFACE3 This,
 				       LPDDPIXELFORMAT pPixelFormat)
 {
-    return IDirectDrawSurface7_GetPixelFormat(CONVERT(This), pPixelFormat);
+    return IDirectDrawSurface7_GetPixelFormat((IDirectDrawSurface7 *)surface_from_surface3(This), pPixelFormat);
 }
 
 static HRESULT WINAPI
@@ -326,69 +322,69 @@ static HRESULT WINAPI
 IDirectDrawSurface3Impl_Initialize(LPDIRECTDRAWSURFACE3 This, LPDIRECTDRAW pDD,
 				   LPDDSURFACEDESC pDDSD)
 {
-    return IDirectDrawSurface7_Initialize(CONVERT(This), pDD,
-					  (LPDDSURFACEDESC2)pDDSD);
+    return IDirectDrawSurface7_Initialize((IDirectDrawSurface7 *)surface_from_surface3(This),
+            pDD, (LPDDSURFACEDESC2)pDDSD);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_IsLost(LPDIRECTDRAWSURFACE3 This)
 {
-    return IDirectDrawSurface7_IsLost(CONVERT(This));
+    return IDirectDrawSurface7_IsLost((IDirectDrawSurface7 *)surface_from_surface3(This));
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_Lock(LPDIRECTDRAWSURFACE3 This, LPRECT pRect,
 			     LPDDSURFACEDESC pDDSD, DWORD dwFlags, HANDLE h)
 {
-    return IDirectDrawSurface7_Lock(CONVERT(This), pRect,
-				    (LPDDSURFACEDESC2)pDDSD, dwFlags, h);
+    return IDirectDrawSurface7_Lock((IDirectDrawSurface7 *)surface_from_surface3(This),
+            pRect, (LPDDSURFACEDESC2)pDDSD, dwFlags, h);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_ReleaseDC(LPDIRECTDRAWSURFACE3 This, HDC hDC)
 {
-    return IDirectDrawSurface7_ReleaseDC(CONVERT(This), hDC);
+    return IDirectDrawSurface7_ReleaseDC((IDirectDrawSurface7 *)surface_from_surface3(This), hDC);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_Restore(LPDIRECTDRAWSURFACE3 This)
 {
-    return IDirectDrawSurface7_Restore(CONVERT(This));
+    return IDirectDrawSurface7_Restore((IDirectDrawSurface7 *)surface_from_surface3(This));
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_SetClipper(LPDIRECTDRAWSURFACE3 This,
 				   LPDIRECTDRAWCLIPPER pClipper)
 {
-    return IDirectDrawSurface7_SetClipper(CONVERT(This), pClipper);
+    return IDirectDrawSurface7_SetClipper((IDirectDrawSurface7 *)surface_from_surface3(This), pClipper);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_SetColorKey(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags,
 				    LPDDCOLORKEY pCKey)
 {
-    return IDirectDrawSurface7_SetColorKey(CONVERT(This), dwFlags, pCKey);
+    return IDirectDrawSurface7_SetColorKey((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags, pCKey);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_SetOverlayPosition(LPDIRECTDRAWSURFACE3 This, LONG x,
 				       LONG y)
 {
-    return IDirectDrawSurface7_SetOverlayPosition(CONVERT(This), x, y);
+    return IDirectDrawSurface7_SetOverlayPosition((IDirectDrawSurface7 *)surface_from_surface3(This), x, y);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_SetPalette(LPDIRECTDRAWSURFACE3 This,
 				   LPDIRECTDRAWPALETTE pPalette)
 {
-    return IDirectDrawSurface7_SetPalette(CONVERT(This), pPalette);
+    return IDirectDrawSurface7_SetPalette((IDirectDrawSurface7 *)surface_from_surface3(This), pPalette);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_Unlock(LPDIRECTDRAWSURFACE3 This, LPVOID data)
 {
     /* data might not be the LPRECT of later versions, so drop it. */
-    return IDirectDrawSurface7_Unlock(CONVERT(This), NULL);
+    return IDirectDrawSurface7_Unlock((IDirectDrawSurface7 *)surface_from_surface3(This), NULL);
 }
 
 static HRESULT WINAPI
@@ -397,16 +393,15 @@ IDirectDrawSurface3Impl_UpdateOverlay(LPDIRECTDRAWSURFACE3 This, LPRECT prcSrc,
 				      LPRECT prcDst, DWORD dwFlags,
 				      LPDDOVERLAYFX pFX)
 {
-    return IDirectDrawSurface7_UpdateOverlay(CONVERT(This), prcSrc,
-					     CONVERT(pDstSurf), prcDst,
-					     dwFlags, pFX);
+    return IDirectDrawSurface7_UpdateOverlay((IDirectDrawSurface7 *)surface_from_surface3(This), prcSrc,
+            pDstSurf ? (IDirectDrawSurface7 *)surface_from_surface3(pDstSurf) : NULL, prcDst, dwFlags, pFX);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_UpdateOverlayDisplay(LPDIRECTDRAWSURFACE3 This,
 					     DWORD dwFlags)
 {
-    return IDirectDrawSurface7_UpdateOverlayDisplay(CONVERT(This), dwFlags);
+    return IDirectDrawSurface7_UpdateOverlayDisplay((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags);
 }
 
 static HRESULT WINAPI
@@ -414,35 +409,34 @@ IDirectDrawSurface3Impl_UpdateOverlayZOrder(LPDIRECTDRAWSURFACE3 This,
 					    DWORD dwFlags,
 					    LPDIRECTDRAWSURFACE3 pSurfReference)
 {
-    return IDirectDrawSurface7_UpdateOverlayZOrder(CONVERT(This), dwFlags,
-						   CONVERT(pSurfReference));
+    return IDirectDrawSurface7_UpdateOverlayZOrder((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags,
+            pSurfReference ? (IDirectDrawSurface7 *)surface_from_surface3(pSurfReference) : NULL);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_GetDDInterface(LPDIRECTDRAWSURFACE3 This, LPVOID* ppDD)
 {
-    return IDirectDrawSurface7_GetDDInterface(CONVERT(This), ppDD);
+    return IDirectDrawSurface7_GetDDInterface((IDirectDrawSurface7 *)surface_from_surface3(This), ppDD);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_PageLock(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_PageLock(CONVERT(This), dwFlags);
+    return IDirectDrawSurface7_PageLock((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_PageUnlock(LPDIRECTDRAWSURFACE3 This, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_PageUnlock(CONVERT(This), dwFlags);
+    return IDirectDrawSurface7_PageUnlock((IDirectDrawSurface7 *)surface_from_surface3(This), dwFlags);
 }
 
 static HRESULT WINAPI
 IDirectDrawSurface3Impl_SetSurfaceDesc(LPDIRECTDRAWSURFACE3 This,
 				       LPDDSURFACEDESC pDDSD, DWORD dwFlags)
 {
-    return IDirectDrawSurface7_SetSurfaceDesc(CONVERT(This),
-					      (LPDDSURFACEDESC2)pDDSD,
-					      dwFlags);
+    return IDirectDrawSurface7_SetSurfaceDesc((IDirectDrawSurface7 *)surface_from_surface3(This),
+            (LPDDSURFACEDESC2)pDDSD, dwFlags);
 }
 
 const IDirectDrawSurface3Vtbl IDirectDrawSurface3_Vtbl =
-- 
1.6.0.6



--------------050700080205040601050603--



More information about the wine-patches mailing list