ddraw: Use a This variable in the IDirectDraw3 methods that lack one.

This commit is contained in:
Ričardas Barkauskas 2011-05-31 15:34:47 +03:00 committed by Alexandre Julliard
parent 7df083193d
commit ecfb5c7a69
1 changed files with 84 additions and 46 deletions

View File

@ -138,9 +138,10 @@ static HRESULT WINAPI ddraw_surface7_QueryInterface(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_QueryInterface(IDirectDrawSurface3 *iface, REFIID riid, void **object) static HRESULT WINAPI ddraw_surface3_QueryInterface(IDirectDrawSurface3 *iface, REFIID riid, void **object)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
return ddraw_surface7_QueryInterface((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), riid, object); return ddraw_surface7_QueryInterface((IDirectDrawSurface7 *)This, riid, object);
} }
static HRESULT WINAPI ddraw_gamma_control_QueryInterface(IDirectDrawGammaControl *iface, REFIID riid, void **object) static HRESULT WINAPI ddraw_gamma_control_QueryInterface(IDirectDrawGammaControl *iface, REFIID riid, void **object)
@ -195,9 +196,10 @@ static ULONG WINAPI ddraw_surface7_AddRef(IDirectDrawSurface7 *iface)
static ULONG WINAPI ddraw_surface3_AddRef(IDirectDrawSurface3 *iface) static ULONG WINAPI ddraw_surface3_AddRef(IDirectDrawSurface3 *iface)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return ddraw_surface7_AddRef((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface)); return ddraw_surface7_AddRef((IDirectDrawSurface7 *)This);
} }
static ULONG WINAPI ddraw_gamma_control_AddRef(IDirectDrawGammaControl *iface) static ULONG WINAPI ddraw_gamma_control_AddRef(IDirectDrawGammaControl *iface)
@ -401,9 +403,10 @@ static ULONG WINAPI ddraw_surface7_Release(IDirectDrawSurface7 *iface)
static ULONG WINAPI ddraw_surface3_Release(IDirectDrawSurface3 *iface) static ULONG WINAPI ddraw_surface3_Release(IDirectDrawSurface3 *iface)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return ddraw_surface7_Release((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface)); return ddraw_surface7_Release((IDirectDrawSurface7 *)This);
} }
static ULONG WINAPI ddraw_gamma_control_Release(IDirectDrawGammaControl *iface) static ULONG WINAPI ddraw_gamma_control_Release(IDirectDrawGammaControl *iface)
@ -548,6 +551,7 @@ static HRESULT WINAPI ddraw_surface7_GetAttachedSurface(IDirectDrawSurface7 *ifa
static HRESULT WINAPI ddraw_surface3_GetAttachedSurface(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_GetAttachedSurface(IDirectDrawSurface3 *iface,
DDSCAPS *caps, IDirectDrawSurface3 **attachment) DDSCAPS *caps, IDirectDrawSurface3 **attachment)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurface7 *attachment7; IDirectDrawSurface7 *attachment7;
DDSCAPS2 caps2; DDSCAPS2 caps2;
HRESULT hr; HRESULT hr;
@ -559,7 +563,7 @@ static HRESULT WINAPI ddraw_surface3_GetAttachedSurface(IDirectDrawSurface3 *ifa
caps2.dwCaps3 = 0; caps2.dwCaps3 = 0;
caps2.dwCaps4 = 0; caps2.dwCaps4 = 0;
hr = ddraw_surface7_GetAttachedSurface((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), hr = ddraw_surface7_GetAttachedSurface((IDirectDrawSurface7 *)This,
&caps2, &attachment7); &caps2, &attachment7);
if (FAILED(hr)) *attachment = NULL; if (FAILED(hr)) *attachment = NULL;
else *attachment = attachment7 ? else *attachment = attachment7 ?
@ -667,10 +671,11 @@ static HRESULT WINAPI ddraw_surface7_Lock(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_Lock(IDirectDrawSurface3 *iface, RECT *rect, static HRESULT WINAPI ddraw_surface3_Lock(IDirectDrawSurface3 *iface, RECT *rect,
DDSURFACEDESC *surface_desc, DWORD flags, HANDLE h) DDSURFACEDESC *surface_desc, DWORD flags, HANDLE h)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, rect %s, surface_desc %p, flags %#x, h %p.\n", TRACE("iface %p, rect %s, surface_desc %p, flags %#x, h %p.\n",
iface, wine_dbgstr_rect(rect), surface_desc, flags, h); iface, wine_dbgstr_rect(rect), surface_desc, flags, h);
return ddraw_surface7_Lock((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_Lock((IDirectDrawSurface7 *)This,
rect, (DDSURFACEDESC2 *)surface_desc, flags, h); rect, (DDSURFACEDESC2 *)surface_desc, flags, h);
} }
@ -706,10 +711,11 @@ static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pR
static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data) static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, data %p.\n", iface, data); TRACE("iface %p, data %p.\n", iface, data);
/* data might not be the LPRECT of later versions, so drop it. */ /* data might not be the LPRECT of later versions, so drop it. */
return ddraw_surface7_Unlock((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), NULL); return ddraw_surface7_Unlock((IDirectDrawSurface7 *)This, NULL);
} }
/***************************************************************************** /*****************************************************************************
@ -775,10 +781,11 @@ static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDra
static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *dst, DWORD flags) static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *dst, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst); IDirectDrawSurfaceImpl *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst);
TRACE("iface %p, dst %p, flags %#x.\n", iface, dst, flags); TRACE("iface %p, dst %p, flags %#x.\n", iface, dst, flags);
return ddraw_surface7_Flip((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_Flip((IDirectDrawSurface7 *)This,
dst_impl ? (IDirectDrawSurface7 *)dst_impl : NULL, flags); dst_impl ? (IDirectDrawSurface7 *)dst_impl : NULL, flags);
} }
@ -872,11 +879,12 @@ static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestR
static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect, static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect,
IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx) IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *src_impl = unsafe_impl_from_IDirectDrawSurface3(src_surface); IDirectDrawSurfaceImpl *src_impl = unsafe_impl_from_IDirectDrawSurface3(src_surface);
TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p.\n", TRACE("iface %p, dst_rect %s, src_surface %p, src_rect %s, flags %#x, fx %p.\n",
iface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect), flags, fx); iface, wine_dbgstr_rect(dst_rect), src_surface, wine_dbgstr_rect(src_rect), flags, fx);
return ddraw_surface7_Blt((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), dst_rect, return ddraw_surface7_Blt((IDirectDrawSurface7 *)This, dst_rect,
src_impl ? (IDirectDrawSurface7 *)src_impl : NULL, src_rect, flags, fx); src_impl ? (IDirectDrawSurface7 *)src_impl : NULL, src_rect, flags, fx);
} }
@ -983,7 +991,7 @@ static HRESULT WINAPI ddraw_surface7_AddAttachedSurface(IDirectDrawSurface7 *ifa
static HRESULT WINAPI ddraw_surface3_AddAttachedSurface(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *attachment) static HRESULT WINAPI ddraw_surface3_AddAttachedSurface(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *attachment)
{ {
IDirectDrawSurfaceImpl *surface = impl_from_IDirectDrawSurface3(iface); IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *attach_impl = unsafe_impl_from_IDirectDrawSurface3(attachment); IDirectDrawSurfaceImpl *attach_impl = unsafe_impl_from_IDirectDrawSurface3(attachment);
TRACE("iface %p, attachment %p.\n", iface, attachment); TRACE("iface %p, attachment %p.\n", iface, attachment);
@ -993,19 +1001,19 @@ static HRESULT WINAPI ddraw_surface3_AddAttachedSurface(IDirectDrawSurface3 *ifa
* -> offscreen plain surfaces can be attached to primaries * -> offscreen plain surfaces can be attached to primaries
* -> primaries can be attached to offscreen plain surfaces * -> primaries can be attached to offscreen plain surfaces
* -> z buffers can be attached to primaries */ * -> z buffers can be attached to primaries */
if (surface->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_OFFSCREENPLAIN) if (This->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_OFFSCREENPLAIN)
&& attach_impl->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_OFFSCREENPLAIN)) && attach_impl->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_OFFSCREENPLAIN))
{ {
/* Sizes have to match */ /* Sizes have to match */
if (attach_impl->surface_desc.dwWidth != surface->surface_desc.dwWidth if (attach_impl->surface_desc.dwWidth != This->surface_desc.dwWidth
|| attach_impl->surface_desc.dwHeight != surface->surface_desc.dwHeight) || attach_impl->surface_desc.dwHeight != This->surface_desc.dwHeight)
{ {
WARN("Surface sizes do not match.\n"); WARN("Surface sizes do not match.\n");
return DDERR_CANNOTATTACHSURFACE; return DDERR_CANNOTATTACHSURFACE;
} }
/* OK */ /* OK */
} }
else if (surface->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE) else if (This->surface_desc.ddsCaps.dwCaps & (DDSCAPS_PRIMARYSURFACE | DDSCAPS_3DDEVICE)
&& attach_impl->surface_desc.ddsCaps.dwCaps & (DDSCAPS_ZBUFFER)) && attach_impl->surface_desc.ddsCaps.dwCaps & (DDSCAPS_ZBUFFER))
{ {
/* OK */ /* OK */
@ -1016,7 +1024,7 @@ static HRESULT WINAPI ddraw_surface3_AddAttachedSurface(IDirectDrawSurface3 *ifa
return DDERR_CANNOTATTACHSURFACE; return DDERR_CANNOTATTACHSURFACE;
} }
return ddraw_surface_attach_surface(surface, attach_impl); return ddraw_surface_attach_surface(This, attach_impl);
} }
/***************************************************************************** /*****************************************************************************
@ -1088,10 +1096,11 @@ static HRESULT WINAPI ddraw_surface7_DeleteAttachedSurface(IDirectDrawSurface7 *
static HRESULT WINAPI ddraw_surface3_DeleteAttachedSurface(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_DeleteAttachedSurface(IDirectDrawSurface3 *iface,
DWORD flags, IDirectDrawSurface3 *attachment) DWORD flags, IDirectDrawSurface3 *attachment)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *attachment_impl = unsafe_impl_from_IDirectDrawSurface3(attachment); IDirectDrawSurfaceImpl *attachment_impl = unsafe_impl_from_IDirectDrawSurface3(attachment);
TRACE("iface %p, flags %#x, attachment %p.\n", iface, flags, attachment); TRACE("iface %p, flags %#x, attachment %p.\n", iface, flags, attachment);
return ddraw_surface7_DeleteAttachedSurface((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags, return ddraw_surface7_DeleteAttachedSurface((IDirectDrawSurface7 *)This, flags,
attachment_impl ? (IDirectDrawSurface7 *)attachment_impl : NULL); attachment_impl ? (IDirectDrawSurface7 *)attachment_impl : NULL);
} }
@ -1116,9 +1125,10 @@ static HRESULT WINAPI ddraw_surface7_AddOverlayDirtyRect(IDirectDrawSurface7 *if
static HRESULT WINAPI ddraw_surface3_AddOverlayDirtyRect(IDirectDrawSurface3 *iface, RECT *rect) static HRESULT WINAPI ddraw_surface3_AddOverlayDirtyRect(IDirectDrawSurface3 *iface, RECT *rect)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, rect %s.\n", iface, wine_dbgstr_rect(rect)); TRACE("iface %p, rect %s.\n", iface, wine_dbgstr_rect(rect));
return ddraw_surface7_AddOverlayDirtyRect((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), rect); return ddraw_surface7_AddOverlayDirtyRect((IDirectDrawSurface7 *)This, rect);
} }
/***************************************************************************** /*****************************************************************************
@ -1163,9 +1173,10 @@ static HRESULT WINAPI ddraw_surface7_GetDC(IDirectDrawSurface7 *iface, HDC *hdc)
static HRESULT WINAPI ddraw_surface3_GetDC(IDirectDrawSurface3 *iface, HDC *dc) static HRESULT WINAPI ddraw_surface3_GetDC(IDirectDrawSurface3 *iface, HDC *dc)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, dc %p.\n", iface, dc); TRACE("iface %p, dc %p.\n", iface, dc);
return ddraw_surface7_GetDC((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), dc); return ddraw_surface7_GetDC((IDirectDrawSurface7 *)This, dc);
} }
/***************************************************************************** /*****************************************************************************
@ -1196,9 +1207,10 @@ static HRESULT WINAPI ddraw_surface7_ReleaseDC(IDirectDrawSurface7 *iface, HDC h
static HRESULT WINAPI ddraw_surface3_ReleaseDC(IDirectDrawSurface3 *iface, HDC dc) static HRESULT WINAPI ddraw_surface3_ReleaseDC(IDirectDrawSurface3 *iface, HDC dc)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, dc %p.\n", iface, dc); TRACE("iface %p, dc %p.\n", iface, dc);
return ddraw_surface7_ReleaseDC((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), dc); return ddraw_surface7_ReleaseDC((IDirectDrawSurface7 *)This, dc);
} }
/***************************************************************************** /*****************************************************************************
@ -1229,12 +1241,13 @@ static HRESULT WINAPI ddraw_surface7_GetCaps(IDirectDrawSurface7 *iface, DDSCAPS
static HRESULT WINAPI ddraw_surface3_GetCaps(IDirectDrawSurface3 *iface, DDSCAPS *caps) static HRESULT WINAPI ddraw_surface3_GetCaps(IDirectDrawSurface3 *iface, DDSCAPS *caps)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
DDSCAPS2 caps2; DDSCAPS2 caps2;
HRESULT hr; HRESULT hr;
TRACE("iface %p, caps %p.\n", iface, caps); TRACE("iface %p, caps %p.\n", iface, caps);
hr = ddraw_surface7_GetCaps((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), &caps2); hr = ddraw_surface7_GetCaps((IDirectDrawSurface7 *)This, &caps2);
if (FAILED(hr)) return hr; if (FAILED(hr)) return hr;
caps->dwCaps = caps2.dwCaps; caps->dwCaps = caps2.dwCaps;
@ -1415,9 +1428,10 @@ static HRESULT WINAPI ddraw_surface7_PageLock(IDirectDrawSurface7 *iface, DWORD
static HRESULT WINAPI ddraw_surface3_PageLock(IDirectDrawSurface3 *iface, DWORD flags) static HRESULT WINAPI ddraw_surface3_PageLock(IDirectDrawSurface3 *iface, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x.\n", iface, flags); TRACE("iface %p, flags %#x.\n", iface, flags);
return ddraw_surface7_PageLock((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags); return ddraw_surface7_PageLock((IDirectDrawSurface7 *)This, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -1441,9 +1455,10 @@ static HRESULT WINAPI ddraw_surface7_PageUnlock(IDirectDrawSurface7 *iface, DWOR
static HRESULT WINAPI ddraw_surface3_PageUnlock(IDirectDrawSurface3 *iface, DWORD flags) static HRESULT WINAPI ddraw_surface3_PageUnlock(IDirectDrawSurface3 *iface, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x.\n", iface, flags); TRACE("iface %p, flags %#x.\n", iface, flags);
return ddraw_surface7_PageUnlock((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags); return ddraw_surface7_PageUnlock((IDirectDrawSurface7 *)This, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -1468,9 +1483,10 @@ static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTB
static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags) static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, batch %p, count %u, flags %#x.\n", iface, batch, count, flags); TRACE("iface %p, batch %p, count %u, flags %#x.\n", iface, batch, count, flags);
return ddraw_surface7_BltBatch((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), batch, count, flags); return ddraw_surface7_BltBatch((IDirectDrawSurface7 *)This, batch, count, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -1552,6 +1568,7 @@ static HRESULT CALLBACK EnumCallback(IDirectDrawSurface7 *surface, DDSURFACEDESC
static HRESULT WINAPI ddraw_surface3_EnumAttachedSurfaces(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_EnumAttachedSurfaces(IDirectDrawSurface3 *iface,
void *context, LPDDENUMSURFACESCALLBACK callback) void *context, LPDDENUMSURFACESCALLBACK callback)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
struct callback_info info; struct callback_info info;
TRACE("iface %p, context %p, callback %p.\n", iface, context, callback); TRACE("iface %p, context %p, callback %p.\n", iface, context, callback);
@ -1559,7 +1576,7 @@ static HRESULT WINAPI ddraw_surface3_EnumAttachedSurfaces(IDirectDrawSurface3 *i
info.callback = callback; info.callback = callback;
info.context = context; info.context = context;
return ddraw_surface7_EnumAttachedSurfaces((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_EnumAttachedSurfaces((IDirectDrawSurface7 *)This,
&info, EnumCallback); &info, EnumCallback);
} }
@ -1588,6 +1605,7 @@ static HRESULT WINAPI ddraw_surface7_EnumOverlayZOrders(IDirectDrawSurface7 *ifa
static HRESULT WINAPI ddraw_surface3_EnumOverlayZOrders(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_EnumOverlayZOrders(IDirectDrawSurface3 *iface,
DWORD flags, void *context, LPDDENUMSURFACESCALLBACK callback) DWORD flags, void *context, LPDDENUMSURFACESCALLBACK callback)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
struct callback_info info; struct callback_info info;
TRACE("iface %p, flags %#x, context %p, callback %p.\n", iface, flags, context, callback); TRACE("iface %p, flags %#x, context %p, callback %p.\n", iface, flags, context, callback);
@ -1595,7 +1613,7 @@ static HRESULT WINAPI ddraw_surface3_EnumOverlayZOrders(IDirectDrawSurface3 *ifa
info.callback = callback; info.callback = callback;
info.context = context; info.context = context;
return ddraw_surface7_EnumOverlayZOrders((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_EnumOverlayZOrders((IDirectDrawSurface7 *)This,
flags, &info, EnumCallback); flags, &info, EnumCallback);
} }
@ -1630,9 +1648,10 @@ static HRESULT WINAPI ddraw_surface7_GetBltStatus(IDirectDrawSurface7 *iface, DW
static HRESULT WINAPI ddraw_surface3_GetBltStatus(IDirectDrawSurface3 *iface, DWORD flags) static HRESULT WINAPI ddraw_surface3_GetBltStatus(IDirectDrawSurface3 *iface, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x.\n", iface, flags); TRACE("iface %p, flags %#x.\n", iface, flags);
return ddraw_surface7_GetBltStatus((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags); return ddraw_surface7_GetBltStatus((IDirectDrawSurface7 *)This, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -1709,9 +1728,10 @@ static HRESULT WINAPI ddraw_surface7_GetColorKey(IDirectDrawSurface7 *iface, DWO
static HRESULT WINAPI ddraw_surface3_GetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key) static HRESULT WINAPI ddraw_surface3_GetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, color_key); TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, color_key);
return ddraw_surface7_GetColorKey((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags, color_key); return ddraw_surface7_GetColorKey((IDirectDrawSurface7 *)This, flags, color_key);
} }
/***************************************************************************** /*****************************************************************************
@ -1745,9 +1765,10 @@ static HRESULT WINAPI ddraw_surface7_GetFlipStatus(IDirectDrawSurface7 *iface, D
static HRESULT WINAPI ddraw_surface3_GetFlipStatus(IDirectDrawSurface3 *iface, DWORD flags) static HRESULT WINAPI ddraw_surface3_GetFlipStatus(IDirectDrawSurface3 *iface, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x.\n", iface, flags); TRACE("iface %p, flags %#x.\n", iface, flags);
return ddraw_surface7_GetFlipStatus((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags); return ddraw_surface7_GetFlipStatus((IDirectDrawSurface7 *)This, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -1777,9 +1798,10 @@ static HRESULT WINAPI ddraw_surface7_GetOverlayPosition(IDirectDrawSurface7 *ifa
static HRESULT WINAPI ddraw_surface3_GetOverlayPosition(IDirectDrawSurface3 *iface, LONG *x, LONG *y) static HRESULT WINAPI ddraw_surface3_GetOverlayPosition(IDirectDrawSurface3 *iface, LONG *x, LONG *y)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, x %p, y %p.\n", iface, x, y); TRACE("iface %p, x %p, y %p.\n", iface, x, y);
return ddraw_surface7_GetOverlayPosition((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), x, y); return ddraw_surface7_GetOverlayPosition((IDirectDrawSurface7 *)This, x, y);
} }
/***************************************************************************** /*****************************************************************************
@ -1815,9 +1837,10 @@ static HRESULT WINAPI ddraw_surface7_GetPixelFormat(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_GetPixelFormat(IDirectDrawSurface3 *iface, DDPIXELFORMAT *pixel_format) static HRESULT WINAPI ddraw_surface3_GetPixelFormat(IDirectDrawSurface3 *iface, DDPIXELFORMAT *pixel_format)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, pixel_format %p.\n", iface, pixel_format); TRACE("iface %p, pixel_format %p.\n", iface, pixel_format);
return ddraw_surface7_GetPixelFormat((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), pixel_format); return ddraw_surface7_GetPixelFormat((IDirectDrawSurface7 *)This, pixel_format);
} }
/***************************************************************************** /*****************************************************************************
@ -1860,7 +1883,7 @@ static HRESULT WINAPI ddraw_surface7_GetSurfaceDesc(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_GetSurfaceDesc(IDirectDrawSurface3 *iface, DDSURFACEDESC *surface_desc) static HRESULT WINAPI ddraw_surface3_GetSurfaceDesc(IDirectDrawSurface3 *iface, DDSURFACEDESC *surface_desc)
{ {
IDirectDrawSurfaceImpl *surface = impl_from_IDirectDrawSurface3(iface); IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, surface_desc %p.\n", iface, surface_desc); TRACE("iface %p, surface_desc %p.\n", iface, surface_desc);
@ -1873,7 +1896,7 @@ static HRESULT WINAPI ddraw_surface3_GetSurfaceDesc(IDirectDrawSurface3 *iface,
} }
EnterCriticalSection(&ddraw_cs); EnterCriticalSection(&ddraw_cs);
DD_STRUCT_COPY_BYSIZE(surface_desc, (DDSURFACEDESC *)&surface->surface_desc); DD_STRUCT_COPY_BYSIZE(surface_desc, (DDSURFACEDESC *)&This->surface_desc);
TRACE("Returning surface desc:\n"); TRACE("Returning surface desc:\n");
if (TRACE_ON(ddraw)) if (TRACE_ON(ddraw))
{ {
@ -1909,9 +1932,10 @@ static HRESULT WINAPI ddraw_surface7_Initialize(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_Initialize(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_Initialize(IDirectDrawSurface3 *iface,
IDirectDraw *ddraw, DDSURFACEDESC *surface_desc) IDirectDraw *ddraw, DDSURFACEDESC *surface_desc)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, ddraw %p, surface_desc %p.\n", iface, ddraw, surface_desc); TRACE("iface %p, ddraw %p, surface_desc %p.\n", iface, ddraw, surface_desc);
return ddraw_surface7_Initialize((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_Initialize((IDirectDrawSurface7 *)This,
ddraw, (DDSURFACEDESC2 *)surface_desc); ddraw, (DDSURFACEDESC2 *)surface_desc);
} }
@ -1980,9 +2004,10 @@ static HRESULT WINAPI ddraw_surface7_IsLost(IDirectDrawSurface7 *iface)
static HRESULT WINAPI ddraw_surface3_IsLost(IDirectDrawSurface3 *iface) static HRESULT WINAPI ddraw_surface3_IsLost(IDirectDrawSurface3 *iface)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return ddraw_surface7_IsLost((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface)); return ddraw_surface7_IsLost((IDirectDrawSurface7 *)This);
} }
/***************************************************************************** /*****************************************************************************
@ -2017,9 +2042,10 @@ static HRESULT WINAPI ddraw_surface7_Restore(IDirectDrawSurface7 *iface)
static HRESULT WINAPI ddraw_surface3_Restore(IDirectDrawSurface3 *iface) static HRESULT WINAPI ddraw_surface3_Restore(IDirectDrawSurface3 *iface)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p.\n", iface); TRACE("iface %p.\n", iface);
return ddraw_surface7_Restore((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface)); return ddraw_surface7_Restore((IDirectDrawSurface7 *)This);
} }
/***************************************************************************** /*****************************************************************************
@ -2049,9 +2075,10 @@ static HRESULT WINAPI ddraw_surface7_SetOverlayPosition(IDirectDrawSurface7 *ifa
static HRESULT WINAPI ddraw_surface3_SetOverlayPosition(IDirectDrawSurface3 *iface, LONG x, LONG y) static HRESULT WINAPI ddraw_surface3_SetOverlayPosition(IDirectDrawSurface3 *iface, LONG x, LONG y)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, x %d, y %d.\n", iface, x, y); TRACE("iface %p, x %d, y %d.\n", iface, x, y);
return ddraw_surface7_SetOverlayPosition((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), x, y); return ddraw_surface7_SetOverlayPosition((IDirectDrawSurface7 *)This, x, y);
} }
/***************************************************************************** /*****************************************************************************
@ -2095,11 +2122,12 @@ static HRESULT WINAPI ddraw_surface7_UpdateOverlay(IDirectDrawSurface7 *iface, R
static HRESULT WINAPI ddraw_surface3_UpdateOverlay(IDirectDrawSurface3 *iface, RECT *src_rect, static HRESULT WINAPI ddraw_surface3_UpdateOverlay(IDirectDrawSurface3 *iface, RECT *src_rect,
IDirectDrawSurface3 *dst_surface, RECT *dst_rect, DWORD flags, DDOVERLAYFX *fx) IDirectDrawSurface3 *dst_surface, RECT *dst_rect, DWORD flags, DDOVERLAYFX *fx)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst_surface); IDirectDrawSurfaceImpl *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst_surface);
TRACE("iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#x, fx %p.\n", TRACE("iface %p, src_rect %s, dst_surface %p, dst_rect %s, flags %#x, fx %p.\n",
iface, wine_dbgstr_rect(src_rect), dst_surface, wine_dbgstr_rect(dst_rect), flags, fx); iface, wine_dbgstr_rect(src_rect), dst_surface, wine_dbgstr_rect(dst_rect), flags, fx);
return ddraw_surface7_UpdateOverlay((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), src_rect, return ddraw_surface7_UpdateOverlay((IDirectDrawSurface7 *)This, src_rect,
dst_impl ? (IDirectDrawSurface7 *)dst_impl : NULL, dst_rect, flags, fx); dst_impl ? (IDirectDrawSurface7 *)dst_impl : NULL, dst_rect, flags, fx);
} }
@ -2123,9 +2151,10 @@ static HRESULT WINAPI ddraw_surface7_UpdateOverlayDisplay(IDirectDrawSurface7 *i
static HRESULT WINAPI ddraw_surface3_UpdateOverlayDisplay(IDirectDrawSurface3 *iface, DWORD flags) static HRESULT WINAPI ddraw_surface3_UpdateOverlayDisplay(IDirectDrawSurface3 *iface, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x.\n", iface, flags); TRACE("iface %p, flags %#x.\n", iface, flags);
return ddraw_surface7_UpdateOverlayDisplay((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags); return ddraw_surface7_UpdateOverlayDisplay((IDirectDrawSurface7 *)This, flags);
} }
/***************************************************************************** /*****************************************************************************
@ -2160,10 +2189,11 @@ static HRESULT WINAPI ddraw_surface7_UpdateOverlayZOrder(IDirectDrawSurface7 *if
static HRESULT WINAPI ddraw_surface3_UpdateOverlayZOrder(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_UpdateOverlayZOrder(IDirectDrawSurface3 *iface,
DWORD flags, IDirectDrawSurface3 *reference) DWORD flags, IDirectDrawSurface3 *reference)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *reference_impl = unsafe_impl_from_IDirectDrawSurface3(reference); IDirectDrawSurfaceImpl *reference_impl = unsafe_impl_from_IDirectDrawSurface3(reference);
TRACE("iface %p, flags %#x, reference %p.\n", iface, flags, reference); TRACE("iface %p, flags %#x, reference %p.\n", iface, flags, reference);
return ddraw_surface7_UpdateOverlayZOrder((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags, return ddraw_surface7_UpdateOverlayZOrder((IDirectDrawSurface7 *)This, flags,
reference_impl ? (IDirectDrawSurface7 *)reference_impl : NULL); reference_impl ? (IDirectDrawSurface7 *)reference_impl : NULL);
} }
@ -2216,9 +2246,10 @@ static HRESULT WINAPI ddraw_surface7_GetDDInterface(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_GetDDInterface(IDirectDrawSurface3 *iface, void **ddraw) static HRESULT WINAPI ddraw_surface3_GetDDInterface(IDirectDrawSurface3 *iface, void **ddraw)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, ddraw %p.\n", iface, ddraw); TRACE("iface %p, ddraw %p.\n", iface, ddraw);
return ddraw_surface7_GetDDInterface((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), ddraw); return ddraw_surface7_GetDDInterface((IDirectDrawSurface7 *)This, ddraw);
} }
/* This seems also windows implementation specific - I don't think WineD3D needs this */ /* This seems also windows implementation specific - I don't think WineD3D needs this */
@ -2413,11 +2444,12 @@ static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD d
static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y, static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y,
IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags) IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
IDirectDrawSurfaceImpl *src_impl = unsafe_impl_from_IDirectDrawSurface3(src_surface); IDirectDrawSurfaceImpl *src_impl = unsafe_impl_from_IDirectDrawSurface3(src_surface);
TRACE("iface %p, dst_x %u, dst_y %u, src_surface %p, src_rect %s, flags %#x.\n", TRACE("iface %p, dst_x %u, dst_y %u, src_surface %p, src_rect %s, flags %#x.\n",
iface, dst_x, dst_y, src_surface, wine_dbgstr_rect(src_rect), flags); iface, dst_x, dst_y, src_surface, wine_dbgstr_rect(src_rect), flags);
return ddraw_surface7_BltFast((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), dst_x, dst_y, return ddraw_surface7_BltFast((IDirectDrawSurface7 *)This, dst_x, dst_y,
src_impl ? (IDirectDrawSurface7 *)src_impl : NULL, src_rect, flags); src_impl ? (IDirectDrawSurface7 *)src_impl : NULL, src_rect, flags);
} }
@ -2463,9 +2495,10 @@ static HRESULT WINAPI ddraw_surface7_GetClipper(IDirectDrawSurface7 *iface, IDir
static HRESULT WINAPI ddraw_surface3_GetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper **clipper) static HRESULT WINAPI ddraw_surface3_GetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper **clipper)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, clipper %p.\n", iface, clipper); TRACE("iface %p, clipper %p.\n", iface, clipper);
return ddraw_surface7_GetClipper((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), clipper); return ddraw_surface7_GetClipper((IDirectDrawSurface7 *)This, clipper);
} }
/***************************************************************************** /*****************************************************************************
@ -2525,9 +2558,10 @@ static HRESULT WINAPI ddraw_surface7_SetClipper(IDirectDrawSurface7 *iface, IDir
static HRESULT WINAPI ddraw_surface3_SetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper *clipper) static HRESULT WINAPI ddraw_surface3_SetClipper(IDirectDrawSurface3 *iface, IDirectDrawClipper *clipper)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, clipper %p.\n", iface, clipper); TRACE("iface %p, clipper %p.\n", iface, clipper);
return ddraw_surface7_SetClipper((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), clipper); return ddraw_surface7_SetClipper((IDirectDrawSurface7 *)This, clipper);
} }
/***************************************************************************** /*****************************************************************************
@ -2624,9 +2658,10 @@ static HRESULT WINAPI ddraw_surface7_SetSurfaceDesc(IDirectDrawSurface7 *iface,
static HRESULT WINAPI ddraw_surface3_SetSurfaceDesc(IDirectDrawSurface3 *iface, static HRESULT WINAPI ddraw_surface3_SetSurfaceDesc(IDirectDrawSurface3 *iface,
DDSURFACEDESC *surface_desc, DWORD flags) DDSURFACEDESC *surface_desc, DWORD flags)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, surface_desc %p, flags %#x.\n", iface, surface_desc, flags); TRACE("iface %p, surface_desc %p, flags %#x.\n", iface, surface_desc, flags);
return ddraw_surface7_SetSurfaceDesc((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), return ddraw_surface7_SetSurfaceDesc((IDirectDrawSurface7 *)This,
(DDSURFACEDESC2 *)surface_desc, flags); (DDSURFACEDESC2 *)surface_desc, flags);
} }
@ -2674,9 +2709,10 @@ static HRESULT WINAPI ddraw_surface7_GetPalette(IDirectDrawSurface7 *iface, IDir
static HRESULT WINAPI ddraw_surface3_GetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette **palette) static HRESULT WINAPI ddraw_surface3_GetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette **palette)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, palette %p.\n", iface, palette); TRACE("iface %p, palette %p.\n", iface, palette);
return ddraw_surface7_GetPalette((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), palette); return ddraw_surface7_GetPalette((IDirectDrawSurface7 *)This, palette);
} }
/***************************************************************************** /*****************************************************************************
@ -2811,9 +2847,10 @@ static HRESULT WINAPI ddraw_surface7_SetColorKey(IDirectDrawSurface7 *iface, DWO
static HRESULT WINAPI ddraw_surface3_SetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key) static HRESULT WINAPI ddraw_surface3_SetColorKey(IDirectDrawSurface3 *iface, DWORD flags, DDCOLORKEY *color_key)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, color_key); TRACE("iface %p, flags %#x, color_key %p.\n", iface, flags, color_key);
return ddraw_surface7_SetColorKey((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), flags, color_key); return ddraw_surface7_SetColorKey((IDirectDrawSurface7 *)This, flags, color_key);
} }
/***************************************************************************** /*****************************************************************************
@ -2893,9 +2930,10 @@ static HRESULT WINAPI ddraw_surface7_SetPalette(IDirectDrawSurface7 *iface, IDir
static HRESULT WINAPI ddraw_surface3_SetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette *palette) static HRESULT WINAPI ddraw_surface3_SetPalette(IDirectDrawSurface3 *iface, IDirectDrawPalette *palette)
{ {
IDirectDrawSurfaceImpl *This = impl_from_IDirectDrawSurface3(iface);
TRACE("iface %p, palette %p.\n", iface, palette); TRACE("iface %p, palette %p.\n", iface, palette);
return ddraw_surface7_SetPalette((IDirectDrawSurface7 *)impl_from_IDirectDrawSurface3(iface), palette); return ddraw_surface7_SetPalette((IDirectDrawSurface7 *)This, palette);
} }
/********************************************************** /**********************************************************