ddraw: Get rid of ICOM_THIS_FROM.

This commit is contained in:
Henri Verbeet 2009-01-22 10:33:36 +01:00 committed by Alexandre Julliard
parent 08e3742f37
commit 8c4cc2af46
17 changed files with 452 additions and 369 deletions

View File

@ -27,9 +27,6 @@
(impltype*)((ifaceptr) == NULL ? NULL \
: (char*)(ifaceptr) - offsetof(impltype, ifacename##_vtbl))
#define ICOM_THIS_FROM(impltype, ifacename, ifaceptr) \
impltype* This = ICOM_OBJECT(impltype, ifacename, ifaceptr)
#define COM_INTERFACE_CAST(impltype, ifnamefrom, ifnameto, ifaceptr) \
((ifaceptr) ? (ifnameto *)&(((impltype *)((char *)(ifaceptr) \
- offsetof(impltype, ifnamefrom##_vtbl)))->ifnameto##_vtbl) : NULL)

View File

@ -91,7 +91,7 @@ IDirectDrawImpl_QueryInterface(IDirectDraw7 *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(refiid), obj);
@ -234,7 +234,7 @@ IDirectDrawImpl_QueryInterface(IDirectDraw7 *iface,
static ULONG WINAPI
IDirectDrawImpl_AddRef(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref7);
TRACE("(%p) : incrementing IDirectDraw7 refcount from %u.\n", This, ref -1);
@ -293,7 +293,7 @@ IDirectDrawImpl_Destroy(IDirectDrawImpl *This)
static ULONG WINAPI
IDirectDrawImpl_Release(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref7);
TRACE("(%p)->() decrementing IDirectDraw7 refcount from %u.\n", This, ref +1);
@ -360,7 +360,7 @@ IDirectDrawImpl_SetCooperativeLevel(IDirectDraw7 *iface,
HWND hwnd,
DWORD cooplevel)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
HWND window;
TRACE("(%p)->(%p,%08x)\n",This,hwnd,cooplevel);
@ -546,7 +546,7 @@ IDirectDrawImpl_SetDisplayModeNoOverride(IDirectDraw7 *iface,
DWORD RefreshRate,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
WINED3DDISPLAYMODE Mode;
HRESULT hr;
TRACE("(%p)->(%d,%d,%d,%d,%x): Relay!\n", This, Width, Height, BPP, RefreshRate, Flags);
@ -662,7 +662,7 @@ IDirectDrawImpl_SetDisplayMode(IDirectDraw7 *iface,
static HRESULT WINAPI
IDirectDrawImpl_RestoreDisplayMode(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)\n", This);
return IDirectDrawImpl_SetDisplayModeNoOverride(iface,
@ -689,7 +689,7 @@ IDirectDrawImpl_GetCaps(IDirectDraw7 *iface,
DDCAPS *DriverCaps,
DDCAPS *HELCaps)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
DDCAPS caps;
WINED3DCAPS winecaps;
HRESULT hr;
@ -784,7 +784,7 @@ IDirectDrawImpl_GetCaps(IDirectDraw7 *iface,
static HRESULT WINAPI
IDirectDrawImpl_Compact(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)\n", This);
return DD_OK;
@ -808,7 +808,7 @@ static HRESULT WINAPI
IDirectDrawImpl_GetDisplayMode(IDirectDraw7 *iface,
DDSURFACEDESC2 *DDSD)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
HRESULT hr;
WINED3DDISPLAYMODE Mode;
DWORD Size;
@ -879,7 +879,7 @@ static HRESULT WINAPI
IDirectDrawImpl_GetFourCCCodes(IDirectDraw7 *iface,
DWORD *NumCodes, DWORD *Codes)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
WINED3DFORMAT formats[] = {
WINED3DFMT_YUY2, WINED3DFMT_UYVY, WINED3DFMT_YV12,
WINED3DFMT_DXT1, WINED3DFMT_DXT2, WINED3DFMT_DXT3, WINED3DFMT_DXT4, WINED3DFMT_DXT5,
@ -941,7 +941,7 @@ static HRESULT WINAPI
IDirectDrawImpl_GetMonitorFrequency(IDirectDraw7 *iface,
DWORD *Freq)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p)\n", This, Freq);
/* Ideally this should be in WineD3D, as it concerns the screen setup,
@ -969,7 +969,7 @@ static HRESULT WINAPI
IDirectDrawImpl_GetVerticalBlankStatus(IDirectDraw7 *iface,
BOOL *status)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p)\n", This, status);
/* This looks sane, the MSDN suggests it too */
@ -1004,7 +1004,7 @@ IDirectDrawImpl_GetVerticalBlankStatus(IDirectDraw7 *iface,
static HRESULT WINAPI
IDirectDrawImpl_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *Caps, DWORD *total, DWORD *free)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p, %p, %p)\n", This, Caps, total, free);
if(TRACE_ON(ddraw))
@ -1050,7 +1050,7 @@ static HRESULT WINAPI
IDirectDrawImpl_Initialize(IDirectDraw7 *iface,
GUID *Guid)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%s): No-op\n", This, debugstr_guid(Guid));
if(This->initialized)
@ -1079,7 +1079,7 @@ IDirectDrawImpl_Initialize(IDirectDraw7 *iface,
static HRESULT WINAPI
IDirectDrawImpl_FlipToGDISurface(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)\n", This);
return DD_OK;
@ -1107,7 +1107,7 @@ IDirectDrawImpl_WaitForVerticalBlank(IDirectDraw7 *iface,
DWORD Flags,
HANDLE h)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
static BOOL hide = FALSE;
/* This function is called often, so print the fixme only once */
@ -1138,7 +1138,7 @@ IDirectDrawImpl_WaitForVerticalBlank(IDirectDraw7 *iface,
*****************************************************************************/
static HRESULT WINAPI IDirectDrawImpl_GetScanLine(IDirectDraw7 *iface, DWORD *Scanline)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
static BOOL hide = FALSE;
WINED3DDISPLAYMODE Mode;
@ -1180,7 +1180,7 @@ static HRESULT WINAPI IDirectDrawImpl_GetScanLine(IDirectDraw7 *iface, DWORD *Sc
static HRESULT WINAPI
IDirectDrawImpl_TestCooperativeLevel(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
HRESULT hr;
TRACE("(%p)\n", This);
@ -1248,7 +1248,7 @@ static HRESULT WINAPI
IDirectDrawImpl_GetGDISurface(IDirectDraw7 *iface,
IDirectDrawSurface7 **GDISurface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IWineD3DSurface *Surf;
IDirectDrawSurface7 *ddsurf;
HRESULT hr;
@ -1319,7 +1319,7 @@ IDirectDrawImpl_EnumDisplayModes(IDirectDraw7 *iface,
void *Context,
LPDDENUMMODESCALLBACK2 cb)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
unsigned int modenum, fmt;
WINED3DFORMAT pixelformat = WINED3DFMT_UNKNOWN;
WINED3DDISPLAYMODE mode;
@ -1500,7 +1500,7 @@ IDirectDrawImpl_EvaluateMode(IDirectDraw7 *iface,
DWORD Flags,
DWORD *Timeout)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
FIXME("(%p)->(%d,%p): Stub!\n", This, Flags, Timeout);
/* When implementing this, implement it in WineD3D */
@ -1528,7 +1528,7 @@ IDirectDrawImpl_GetDeviceIdentifier(IDirectDraw7 *iface,
DDDEVICEIDENTIFIER2 *DDDI,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%p,%08x)\n", This, DDDI, Flags);
if(!DDDI)
@ -1562,7 +1562,7 @@ IDirectDrawImpl_GetSurfaceFromDC(IDirectDraw7 *iface,
HDC hdc,
IDirectDrawSurface7 **Surface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
FIXME("(%p)->(%p,%p): Stub!\n", This, hdc, Surface);
/* Implementation idea if needed: Loop through all surfaces and compare
@ -1584,7 +1584,7 @@ IDirectDrawImpl_GetSurfaceFromDC(IDirectDraw7 *iface,
static HRESULT WINAPI
IDirectDrawImpl_RestoreAllSurfaces(IDirectDraw7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
FIXME("(%p): Stub\n", This);
/* This isn't hard to implement: Enumerate all WineD3D surfaces,
@ -1623,7 +1623,7 @@ IDirectDrawImpl_StartModeTest(IDirectDraw7 *iface,
DWORD NumModes,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
WARN("(%p)->(%p, %d, %x): Semi-Stub, most likely harmless\n", This, Modes, NumModes, Flags);
/* This looks sane */
@ -2326,7 +2326,7 @@ IDirectDrawImpl_CreateSurface(IDirectDraw7 *iface,
IDirectDrawSurface7 **Surf,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IDirectDrawSurfaceImpl *object = NULL;
HRESULT hr;
LONG extra_surfaces = 0;
@ -2890,7 +2890,7 @@ IDirectDrawImpl_EnumSurfaces(IDirectDraw7 *iface,
* because WineDDraw doesn't handle ddraw-like surface
* caps structures
*/
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IDirectDrawSurfaceImpl *surf;
BOOL all, nomatch;
DDSURFACEDESC2 desc;
@ -3157,7 +3157,7 @@ IDirectDrawImpl_CreateClipper(IDirectDraw7 *iface,
IDirectDrawClipper **Clipper,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
TRACE("(%p)->(%x,%p,%p)\n", This, Flags, Clipper, UnkOuter);
return DirectDrawCreateClipper(Flags, Clipper, UnkOuter);
}
@ -3186,7 +3186,7 @@ IDirectDrawImpl_CreatePalette(IDirectDraw7 *iface,
IDirectDrawPalette **Palette,
IUnknown *pUnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IDirectDrawPaletteImpl *object;
HRESULT hr = DDERR_GENERIC;
TRACE("(%p)->(%x,%p,%p,%p)\n", This, Flags, ColorTable, Palette, pUnkOuter);
@ -3257,7 +3257,7 @@ IDirectDrawImpl_DuplicateSurface(IDirectDraw7 *iface,
IDirectDrawSurface7 *Src,
IDirectDrawSurface7 **Dest)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw7, iface);
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Src);
FIXME("(%p)->(%p,%p)\n", This, Surf, Dest);

View File

@ -42,6 +42,26 @@
WINE_DEFAULT_DEBUG_CHANNEL(ddraw_thunk);
WINE_DECLARE_DEBUG_CHANNEL(ddraw);
static inline IDirectDrawImpl *ddraw_from_ddraw1(IDirectDraw *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_ddraw2(IDirectDraw2 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw2_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_ddraw3(IDirectDraw3 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw3_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_ddraw4(IDirectDraw4 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirectDraw4_vtbl));
}
static HRESULT WINAPI
IDirectDrawImpl_QueryInterface(LPDIRECTDRAW This, REFIID iid, LPVOID *ppObj)
{
@ -81,7 +101,7 @@ IDirectDraw4Impl_QueryInterface(LPDIRECTDRAW4 This, REFIID iid, LPVOID *ppObj)
static ULONG WINAPI
IDirectDrawImpl_AddRef(LPDIRECTDRAW iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface);
IDirectDrawImpl *This = ddraw_from_ddraw1(iface);
ULONG ref = InterlockedIncrement(&This->ref1);
TRACE("(%p) : incrementing IDirectDraw refcount from %u.\n", This, ref -1);
@ -94,7 +114,7 @@ IDirectDrawImpl_AddRef(LPDIRECTDRAW iface)
static ULONG WINAPI
IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface);
IDirectDrawImpl *This = ddraw_from_ddraw2(iface);
ULONG ref = InterlockedIncrement(&This->ref2);
TRACE("(%p) : incrementing IDirectDraw2 refcount from %u.\n", This, ref -1);
@ -107,7 +127,7 @@ IDirectDraw2Impl_AddRef(LPDIRECTDRAW2 iface)
static ULONG WINAPI
IDirectDraw3Impl_AddRef(LPDIRECTDRAW3 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface);
IDirectDrawImpl *This = ddraw_from_ddraw3(iface);
ULONG ref = InterlockedIncrement(&This->ref3);
TRACE("(%p) : incrementing IDirectDraw3 refcount from %u.\n", This, ref -1);
@ -120,7 +140,7 @@ IDirectDraw3Impl_AddRef(LPDIRECTDRAW3 iface)
static ULONG WINAPI
IDirectDraw4Impl_AddRef(LPDIRECTDRAW4 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface);
IDirectDrawImpl *This = ddraw_from_ddraw4(iface);
ULONG ref = InterlockedIncrement(&This->ref4);
TRACE("(%p) : incrementing IDirectDraw4 refcount from %u.\n", This, ref -1);
@ -133,7 +153,7 @@ IDirectDraw4Impl_AddRef(LPDIRECTDRAW4 iface)
static ULONG WINAPI
IDirectDrawImpl_Release(LPDIRECTDRAW iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface);
IDirectDrawImpl *This = ddraw_from_ddraw1(iface);
ULONG ref = InterlockedDecrement(&This->ref1);
TRACE_(ddraw)("(%p)->() decrementing IDirectDraw refcount from %u.\n", This, ref +1);
@ -150,7 +170,7 @@ IDirectDrawImpl_Release(LPDIRECTDRAW iface)
static ULONG WINAPI
IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface);
IDirectDrawImpl *This = ddraw_from_ddraw2(iface);
ULONG ref = InterlockedDecrement(&This->ref2);
TRACE_(ddraw)("(%p)->() decrementing IDirectDraw2 refcount from %u.\n", This, ref +1);
@ -167,7 +187,7 @@ IDirectDraw2Impl_Release(LPDIRECTDRAW2 iface)
static ULONG WINAPI
IDirectDraw3Impl_Release(LPDIRECTDRAW3 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface);
IDirectDrawImpl *This = ddraw_from_ddraw3(iface);
ULONG ref = InterlockedDecrement(&This->ref3);
TRACE_(ddraw)("(%p)->() decrementing IDirectDraw3 refcount from %u.\n", This, ref +1);
@ -184,7 +204,7 @@ IDirectDraw3Impl_Release(LPDIRECTDRAW3 iface)
static ULONG WINAPI
IDirectDraw4Impl_Release(LPDIRECTDRAW4 iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface);
IDirectDrawImpl *This = ddraw_from_ddraw4(iface);
ULONG ref = InterlockedDecrement(&This->ref4);
TRACE_(ddraw)("(%p)->() decrementing IDirectDraw4 refcount from %u.\n", This, ref +1);
@ -1123,7 +1143,7 @@ IDirectDraw4Impl_GetVerticalBlankStatus(LPDIRECTDRAW4 This, LPBOOL lpbIsInVB)
static HRESULT WINAPI
IDirectDrawImpl_Initialize(LPDIRECTDRAW iface, LPGUID pGUID)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw, iface);
IDirectDrawImpl *This = ddraw_from_ddraw1(iface);
HRESULT ret_value;
ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID);
@ -1134,7 +1154,7 @@ IDirectDrawImpl_Initialize(LPDIRECTDRAW iface, LPGUID pGUID)
static HRESULT WINAPI
IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface, LPGUID pGUID)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw2, iface);
IDirectDrawImpl *This = ddraw_from_ddraw2(iface);
HRESULT ret_value;
ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID);
@ -1145,7 +1165,7 @@ IDirectDraw2Impl_Initialize(LPDIRECTDRAW2 iface, LPGUID pGUID)
static HRESULT WINAPI
IDirectDraw3Impl_Initialize(LPDIRECTDRAW3 iface, LPGUID pGUID)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw3, iface);
IDirectDrawImpl *This = ddraw_from_ddraw3(iface);
HRESULT ret_value;
ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID);
@ -1156,7 +1176,7 @@ IDirectDraw3Impl_Initialize(LPDIRECTDRAW3 iface, LPGUID pGUID)
static HRESULT WINAPI
IDirectDraw4Impl_Initialize(LPDIRECTDRAW4 iface, LPGUID pGUID)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirectDraw4, iface);
IDirectDrawImpl *This = ddraw_from_ddraw4(iface);
HRESULT ret_value;
ret_value = IDirectDraw7_Initialize((IDirectDraw7 *)This, pGUID);

File diff suppressed because it is too large Load Diff

View File

@ -40,6 +40,26 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3d7);
static inline IDirectDrawImpl *ddraw_from_d3d1(IDirect3D *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_d3d2(IDirect3D2 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D2_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_d3d3(IDirect3D3 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D3_vtbl));
}
static inline IDirectDrawImpl *ddraw_from_d3d7(IDirect3D7 *iface)
{
return (IDirectDrawImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawImpl, IDirect3D7_vtbl));
}
/*****************************************************************************
* IDirect3D7::QueryInterface
*
@ -51,7 +71,7 @@ Thunk_IDirect3DImpl_7_QueryInterface(IDirect3D7 *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj);
return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj);
@ -62,7 +82,7 @@ Thunk_IDirect3DImpl_3_QueryInterface(IDirect3D3 *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj);
return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj);
@ -73,7 +93,7 @@ Thunk_IDirect3DImpl_2_QueryInterface(IDirect3D2 *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj);
return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj);
@ -84,7 +104,7 @@ Thunk_IDirect3DImpl_1_QueryInterface(IDirect3D *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%s,%p): Thunking to IDirectDraw7\n", This, debugstr_guid(refiid), obj);
return IDirectDraw7_QueryInterface((IDirectDraw7 *)This, refiid, obj);
@ -112,7 +132,7 @@ Thunk_IDirect3DImpl_1_QueryInterface(IDirect3D *iface,
static ULONG WINAPI
Thunk_IDirect3DImpl_7_AddRef(IDirect3D7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
TRACE("(%p) : Thunking to IDirectDraw7.\n", This);
return IDirectDraw7_AddRef((IDirectDraw7 *)This);
@ -121,7 +141,7 @@ Thunk_IDirect3DImpl_7_AddRef(IDirect3D7 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_3_AddRef(IDirect3D3 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -130,7 +150,7 @@ Thunk_IDirect3DImpl_3_AddRef(IDirect3D3 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_2_AddRef(IDirect3D2 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -139,7 +159,7 @@ Thunk_IDirect3DImpl_2_AddRef(IDirect3D2 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_1_AddRef(IDirect3D *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_AddRef((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -156,7 +176,7 @@ Thunk_IDirect3DImpl_1_AddRef(IDirect3D *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_7_Release(IDirect3D7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
TRACE("(%p) : Thunking to IDirectDraw7.\n", This);
return IDirectDraw7_Release((IDirectDraw7 *)This);
@ -165,7 +185,7 @@ Thunk_IDirect3DImpl_7_Release(IDirect3D7 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_3_Release(IDirect3D3 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -174,7 +194,7 @@ Thunk_IDirect3DImpl_3_Release(IDirect3D3 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_2_Release(IDirect3D2 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -183,7 +203,7 @@ Thunk_IDirect3DImpl_2_Release(IDirect3D2 *iface)
static ULONG WINAPI
Thunk_IDirect3DImpl_1_Release(IDirect3D *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p) : Thunking to IDirectDraw.\n", This);
return IDirectDraw_Release((IDirectDraw *)&This->IDirectDraw_vtbl);
@ -212,7 +232,7 @@ static HRESULT WINAPI
IDirect3DImpl_1_Initialize(IDirect3D *iface,
REFIID refiid)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%s) no-op...\n", This, debugstr_guid(refiid));
return D3D_OK;
@ -237,7 +257,7 @@ IDirect3DImpl_7_EnumDevices(IDirect3D7 *iface,
LPD3DENUMDEVICESCALLBACK7 Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
char interface_name_tnl[] = "WINE Direct3D7 Hardware Transform and Lighting acceleration using WineD3D";
char device_name_tnl[] = "Wine D3D7 T&L HAL";
char interface_name_hal[] = "WINE Direct3D7 Hardware acceleration using WineD3D";
@ -293,7 +313,7 @@ IDirect3DImpl_3_EnumDevices(IDirect3D3 *iface,
LPD3DENUMDEVICESCALLBACK Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
D3DDEVICEDESC dref, d1, d2;
D3DDEVICEDESC7 newDesc;
static CHAR wined3d_description[] = "Wine D3DDevice using WineD3D and OpenGL";
@ -377,7 +397,7 @@ Thunk_IDirect3DImpl_2_EnumDevices(IDirect3D2 *iface,
LPD3DENUMDEVICESCALLBACK Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Callback, Context);
return IDirect3D3_EnumDevices((IDirect3D3 *)&This->IDirect3D3_vtbl, Callback, Context);
}
@ -387,7 +407,7 @@ Thunk_IDirect3DImpl_1_EnumDevices(IDirect3D *iface,
LPD3DENUMDEVICESCALLBACK Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Callback, Context);
return IDirect3D3_EnumDevices((IDirect3D3 *)&This->IDirect3D3_vtbl, Callback, Context);
}
@ -418,7 +438,7 @@ IDirect3DImpl_3_CreateLight(IDirect3D3 *iface,
IDirect3DLight **Light,
IUnknown *UnkOuter )
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
IDirect3DLightImpl *object;
TRACE("(%p)->(%p,%p)\n", This, Light, UnkOuter);
@ -454,7 +474,7 @@ Thunk_IDirect3DImpl_2_CreateLight(IDirect3D2 *iface,
IDirect3DLight **Direct3DLight,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Direct3DLight, UnkOuter);
return IDirect3D3_CreateLight((IDirect3D3 *)&This->IDirect3D3_vtbl, Direct3DLight, UnkOuter);
}
@ -464,7 +484,7 @@ Thunk_IDirect3DImpl_1_CreateLight(IDirect3D *iface,
IDirect3DLight **Direct3DLight,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, Direct3DLight, UnkOuter);
return IDirect3D3_CreateLight((IDirect3D3 *)&This->IDirect3D3_vtbl, Direct3DLight, UnkOuter);
}
@ -494,7 +514,7 @@ IDirect3DImpl_3_CreateMaterial(IDirect3D3 *iface,
IDirect3DMaterial3 **Material,
IUnknown *UnkOuter )
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
IDirect3DMaterialImpl *object;
TRACE("(%p)->(%p,%p)\n", This, Material, UnkOuter);
@ -525,7 +545,7 @@ Thunk_IDirect3DImpl_2_CreateMaterial(IDirect3D2 *iface,
IDirect3DMaterial2 **Direct3DMaterial,
IUnknown* UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
HRESULT ret;
IDirect3DMaterial3 *ret_val;
@ -544,7 +564,7 @@ Thunk_IDirect3DImpl_1_CreateMaterial(IDirect3D *iface,
IDirect3DMaterial **Direct3DMaterial,
IUnknown* UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
HRESULT ret;
LPDIRECT3DMATERIAL3 ret_val;
@ -583,7 +603,7 @@ IDirect3DImpl_3_CreateViewport(IDirect3D3 *iface,
IDirect3DViewport3 **Viewport,
IUnknown *UnkOuter )
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
IDirect3DViewportImpl *object;
if(UnkOuter)
@ -615,7 +635,7 @@ Thunk_IDirect3DImpl_2_CreateViewport(IDirect3D2 *iface,
IDirect3DViewport2 **D3DViewport2,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DViewport2, UnkOuter);
return IDirect3D3_CreateViewport((IDirect3D3 *)&This->IDirect3D3_vtbl,
@ -628,7 +648,7 @@ Thunk_IDirect3DImpl_1_CreateViewport(IDirect3D *iface,
IDirect3DViewport **D3DViewport,
IUnknown* UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DViewport, UnkOuter);
return IDirect3D3_CreateViewport((IDirect3D3 *)&This->IDirect3D3_vtbl,
@ -657,7 +677,7 @@ IDirect3DImpl_3_FindDevice(IDirect3D3 *iface,
D3DFINDDEVICESEARCH *D3DDFS,
D3DFINDDEVICERESULT *D3DFDR)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
D3DDEVICEDESC desc;
D3DDEVICEDESC7 newDesc;
HRESULT hr;
@ -701,7 +721,7 @@ Thunk_IDirect3DImpl_2_FindDevice(IDirect3D2 *iface,
D3DFINDDEVICESEARCH *D3DDFS,
D3DFINDDEVICERESULT *D3DFDR)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", iface, D3DDFS, D3DFDR);
return IDirect3D3_FindDevice((IDirect3D3 *)&This->IDirect3D3_vtbl, D3DDFS, D3DFDR);
}
@ -711,7 +731,7 @@ Thunk_IDirect3DImpl_1_FindDevice(IDirect3D *iface,
D3DFINDDEVICESEARCH *D3DDFS,
D3DFINDDEVICERESULT *D3DDevice)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D, iface);
IDirectDrawImpl *This = ddraw_from_d3d1(iface);
TRACE("(%p)->(%p,%p) thunking to IDirect3D3 interface.\n", This, D3DDFS, D3DDevice);
return IDirect3D3_FindDevice((IDirect3D3 *)&This->IDirect3D3_vtbl, D3DDFS, D3DDevice);
}
@ -743,7 +763,7 @@ IDirect3DImpl_7_CreateDevice(IDirect3D7 *iface,
IDirectDrawSurface7 *Surface,
IDirect3DDevice7 **Device)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
IDirect3DDeviceImpl *object;
IParentImpl *IndexBufferParent;
HRESULT hr;
@ -922,7 +942,7 @@ Thunk_IDirect3DImpl_3_CreateDevice(IDirect3D3 *iface,
IDirect3DDevice3 **Device,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
HRESULT hr;
TRACE("(%p)->(%s,%p,%p,%p): Thunking to IDirect3D7\n", This, debugstr_guid(refiid), Surface, Device, UnkOuter);
@ -942,7 +962,7 @@ Thunk_IDirect3DImpl_2_CreateDevice(IDirect3D2 *iface,
IDirectDrawSurface *Surface,
IDirect3DDevice2 **Device)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D2, iface);
IDirectDrawImpl *This = ddraw_from_d3d2(iface);
HRESULT hr;
TRACE("(%p)->(%s,%p,%p): Thunking to IDirect3D7\n", This, debugstr_guid(refiid), Surface, Device);
@ -980,7 +1000,7 @@ IDirect3DImpl_7_CreateVertexBuffer(IDirect3D7 *iface,
IDirect3DVertexBuffer7 **VertexBuffer,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
IDirect3DVertexBufferImpl *object;
HRESULT hr;
TRACE("(%p)->(%p,%p,%08x)\n", This, Desc, VertexBuffer, Flags);
@ -1068,7 +1088,7 @@ Thunk_IDirect3DImpl_3_CreateVertexBuffer(IDirect3D3 *iface,
DWORD Flags,
IUnknown *UnkOuter)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
HRESULT hr;
TRACE("(%p)->(%p,%p,%08x,%p): Relaying to IDirect3D7\n", This, Desc, VertexBuffer, Flags, UnkOuter);
@ -1106,7 +1126,7 @@ IDirect3DImpl_7_EnumZBufferFormats(IDirect3D7 *iface,
LPD3DENUMPIXELFORMATSCALLBACK Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
HRESULT hr;
unsigned int i;
WINED3DDISPLAYMODE d3ddm;
@ -1206,7 +1226,7 @@ Thunk_IDirect3DImpl_3_EnumZBufferFormats(IDirect3D3 *iface,
LPD3DENUMPIXELFORMATSCALLBACK Callback,
void *Context)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
TRACE("(%p)->(%s,%p,%p) thunking to IDirect3D7 interface.\n", This, debugstr_guid(riidDevice), Callback, Context);
return IDirect3D7_EnumZBufferFormats((IDirect3D7 *)&This->IDirect3D7_vtbl, riidDevice, Callback, Context);
}
@ -1226,7 +1246,7 @@ Thunk_IDirect3DImpl_3_EnumZBufferFormats(IDirect3D3 *iface,
static HRESULT WINAPI
IDirect3DImpl_7_EvictManagedTextures(IDirect3D7 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D7, iface);
IDirectDrawImpl *This = ddraw_from_d3d7(iface);
FIXME("(%p): Stub!\n", This);
/* Implementation idea:
@ -1240,7 +1260,7 @@ IDirect3DImpl_7_EvictManagedTextures(IDirect3D7 *iface)
static HRESULT WINAPI
Thunk_IDirect3DImpl_3_EvictManagedTextures(IDirect3D3 *iface)
{
ICOM_THIS_FROM(IDirectDrawImpl, IDirect3D3, iface);
IDirectDrawImpl *This = ddraw_from_d3d3(iface);
TRACE("(%p)->() thunking to IDirect3D7 interface.\n", This);
return IDirect3D7_EvictManagedTextures((IDirect3D7 *)&This->IDirect3D7_vtbl);
}

View File

@ -624,7 +624,7 @@ IDirect3DExecuteBufferImpl_QueryInterface(IDirect3DExecuteBuffer *iface,
static ULONG WINAPI
IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
FIXME("(%p)->()incrementing from %u.\n", This, ref - 1);
@ -644,7 +644,7 @@ IDirect3DExecuteBufferImpl_AddRef(IDirect3DExecuteBuffer *iface)
static ULONG WINAPI
IDirect3DExecuteBufferImpl_Release(IDirect3DExecuteBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->()decrementing from %u.\n", This, ref + 1);
@ -676,7 +676,7 @@ IDirect3DExecuteBufferImpl_Initialize(IDirect3DExecuteBuffer *iface,
IDirect3DDevice *lpDirect3DDevice,
D3DEXECUTEBUFFERDESC *lpDesc)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
TRACE("(%p)->(%p,%p) no-op....\n", This, lpDirect3DDevice, lpDesc);
return D3D_OK;
}
@ -698,7 +698,7 @@ static HRESULT WINAPI
IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface,
D3DEXECUTEBUFFERDESC *lpDesc)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpDesc);
@ -725,7 +725,7 @@ IDirect3DExecuteBufferImpl_Lock(IDirect3DExecuteBuffer *iface,
static HRESULT WINAPI
IDirect3DExecuteBufferImpl_Unlock(IDirect3DExecuteBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
TRACE("(%p)->() no-op...\n", This);
return D3D_OK;
}
@ -748,7 +748,7 @@ static HRESULT WINAPI
IDirect3DExecuteBufferImpl_SetExecuteData(IDirect3DExecuteBuffer *iface,
D3DEXECUTEDATA *lpData)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD nbvert;
TRACE("(%p)->(%p)\n", This, lpData);
@ -784,7 +784,7 @@ static HRESULT WINAPI
IDirect3DExecuteBufferImpl_GetExecuteData(IDirect3DExecuteBuffer *iface,
D3DEXECUTEDATA *lpData)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
DWORD dwSize;
TRACE("(%p)->(%p): stub!\n", This, lpData);
@ -820,7 +820,7 @@ IDirect3DExecuteBufferImpl_Validate(IDirect3DExecuteBuffer *iface,
void *UserArg,
DWORD Reserved)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
TRACE("(%p)->(%p,%p,%p,%08x): Unimplemented!\n", This, Offset, Func, UserArg, Reserved);
return DDERR_UNSUPPORTED; /* Unchecked */
}
@ -842,7 +842,7 @@ static HRESULT WINAPI
IDirect3DExecuteBufferImpl_Optimize(IDirect3DExecuteBuffer *iface,
DWORD Dummy)
{
ICOM_THIS_FROM(IDirect3DExecuteBufferImpl, IDirect3DExecuteBuffer, iface);
IDirect3DExecuteBufferImpl *This = (IDirect3DExecuteBufferImpl *)iface;
TRACE("(%p)->(%08x): Unimplemented\n", This, Dummy);
return DDERR_UNSUPPORTED; /* Unchecked */
}

View File

@ -43,6 +43,12 @@
WINE_DEFAULT_DEBUG_CHANNEL(ddraw);
WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk);
static inline IDirectDrawSurfaceImpl *surface_from_gamma_control(IDirectDrawGammaControl *iface)
{
return (IDirectDrawSurfaceImpl *)((char*)iface
- FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirectDrawGammaControl_vtbl));
}
/**********************************************************
* IUnknown parts follow
**********************************************************/
@ -64,7 +70,7 @@ static HRESULT WINAPI
IDirectDrawGammaControlImpl_QueryInterface(IDirectDrawGammaControl *iface, REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface);
TRACE_(ddraw_thunk)("(%p)->(%s,%p): Thunking to IDirectDrawSurface7\n", This, debugstr_guid(riid), obj);
return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj);
@ -82,7 +88,7 @@ IDirectDrawGammaControlImpl_QueryInterface(IDirectDrawGammaControl *iface, REFII
static ULONG WINAPI
IDirectDrawGammaControlImpl_AddRef(IDirectDrawGammaControl *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface);
TRACE_(ddraw_thunk)("(%p)->() Thunking to IDirectDrawSurface7\n", This);
return IDirectDrawSurface7_AddRef((IDirectDrawSurface7 *)This);
@ -100,7 +106,7 @@ IDirectDrawGammaControlImpl_AddRef(IDirectDrawGammaControl *iface)
static ULONG WINAPI
IDirectDrawGammaControlImpl_Release(IDirectDrawGammaControl *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface);
TRACE_(ddraw_thunk)("(%p)->() Thunking to IDirectDrawSurface7\n", This);
return IDirectDrawSurface7_Release((IDirectDrawSurface7 *)This);
@ -129,7 +135,7 @@ IDirectDrawGammaControlImpl_GetGammaRamp(IDirectDrawGammaControl *iface,
DWORD Flags,
DDGAMMARAMP *GammaRamp)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface);
TRACE("(%p)->(%08x,%p)\n", This,Flags,GammaRamp);
/* This looks sane */
@ -175,7 +181,7 @@ IDirectDrawGammaControlImpl_SetGammaRamp(IDirectDrawGammaControl *iface,
DWORD Flags,
DDGAMMARAMP *GammaRamp)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawGammaControl, iface);
IDirectDrawSurfaceImpl *This = surface_from_gamma_control(iface);
TRACE("(%p)->(%08x,%p)\n", This,Flags,GammaRamp);
/* This looks sane */

View File

@ -65,7 +65,7 @@ IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface,
REFIID riid,
void **obp)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
FIXME("(%p)->(%s,%p): stub!\n", This, debugstr_guid(riid), obp);
*obp = NULL;
return E_NOINTERFACE;
@ -83,7 +83,7 @@ IDirect3DLightImpl_QueryInterface(IDirect3DLight *iface,
static ULONG WINAPI
IDirect3DLightImpl_AddRef(IDirect3DLight *iface)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1);
@ -104,7 +104,7 @@ IDirect3DLightImpl_AddRef(IDirect3DLight *iface)
static ULONG WINAPI
IDirect3DLightImpl_Release(IDirect3DLight *iface)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1);
@ -137,7 +137,7 @@ static HRESULT WINAPI
IDirect3DLightImpl_Initialize(IDirect3DLight *iface,
IDirect3D *lpDirect3D)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
IDirectDrawImpl *d3d = ICOM_OBJECT(IDirectDrawImpl, IDirect3D, lpDirect3D);
TRACE("(%p)->(%p) no-op...\n", This, d3d);
return D3D_OK;
@ -169,7 +169,7 @@ static HRESULT WINAPI
IDirect3DLightImpl_SetLight(IDirect3DLight *iface,
D3DLIGHT *lpLight)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
LPD3DLIGHT7 light7 = &(This->light7);
TRACE("(%p)->(%p)\n", This, lpLight);
if (TRACE_ON(d3d7)) {
@ -226,7 +226,7 @@ static HRESULT WINAPI
IDirect3DLightImpl_GetLight(IDirect3DLight *iface,
D3DLIGHT *lpLight)
{
ICOM_THIS_FROM(IDirect3DLightImpl, IDirect3DLight, iface);
IDirect3DLightImpl *This = (IDirect3DLightImpl *)iface;
TRACE("(%p/%p)->(%p)\n", This, iface, lpLight);
if (TRACE_ON(d3d7)) {
TRACE(" Returning light definition :\n");

View File

@ -539,7 +539,7 @@ IDirectDrawClassFactoryImpl_QueryInterface(IClassFactory *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface);
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj);
@ -567,7 +567,7 @@ IDirectDrawClassFactoryImpl_QueryInterface(IClassFactory *iface,
static ULONG WINAPI
IDirectDrawClassFactoryImpl_AddRef(IClassFactory *iface)
{
ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface);
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %d.\n", This, ref - 1);
@ -588,7 +588,7 @@ IDirectDrawClassFactoryImpl_AddRef(IClassFactory *iface)
static ULONG WINAPI
IDirectDrawClassFactoryImpl_Release(IClassFactory *iface)
{
ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface);
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %d.\n", This, ref+1);
@ -617,7 +617,7 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface);
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
TRACE("(%p)->(%p,%s,%p)\n",This,UnkOuter,debugstr_guid(riid),obj);
@ -639,7 +639,7 @@ IDirectDrawClassFactoryImpl_CreateInstance(IClassFactory *iface,
static HRESULT WINAPI
IDirectDrawClassFactoryImpl_LockServer(IClassFactory *iface,BOOL dolock)
{
ICOM_THIS_FROM(IClassFactoryImpl, IClassFactory, iface);
IClassFactoryImpl *This = (IClassFactoryImpl *)iface;
FIXME("(%p)->(%d),stub!\n",This,dolock);
return S_OK;
}

View File

@ -50,6 +50,11 @@ static void dump_material(const D3DMATERIAL *mat)
TRACE(" dwSize : %d\n", mat->dwSize);
}
static inline IDirect3DMaterialImpl *material_from_material1(IDirect3DMaterial *iface)
{
return (IDirect3DMaterialImpl *)((char*)iface - FIELD_OFFSET(IDirect3DMaterialImpl, IDirect3DMaterial_vtbl));
}
/*****************************************************************************
* IUnknown Methods.
*****************************************************************************/
@ -74,7 +79,7 @@ IDirect3DMaterialImpl_QueryInterface(IDirect3DMaterial3 *iface,
REFIID riid,
LPVOID* obp)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obp);
*obp = NULL;
@ -119,7 +124,7 @@ IDirect3DMaterialImpl_QueryInterface(IDirect3DMaterial3 *iface,
static ULONG WINAPI
IDirect3DMaterialImpl_AddRef(IDirect3DMaterial3 *iface)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1);
@ -140,7 +145,7 @@ IDirect3DMaterialImpl_AddRef(IDirect3DMaterial3 *iface)
static ULONG WINAPI
IDirect3DMaterialImpl_Release(IDirect3DMaterial3 *iface)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1);
@ -181,7 +186,7 @@ static HRESULT WINAPI
IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface,
IDirect3D *Direct3D)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface);
IDirect3DMaterialImpl *This = material_from_material1(iface);
TRACE("(%p)->(%p) no-op...!\n", This, Direct3D);
@ -201,7 +206,7 @@ IDirect3DMaterialImpl_Initialize(IDirect3DMaterial *iface,
static HRESULT WINAPI
IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface);
IDirect3DMaterialImpl *This = material_from_material1(iface);
TRACE("(%p)->() not implemented\n", This);
return DDERR_UNSUPPORTED;
@ -219,7 +224,7 @@ IDirect3DMaterialImpl_Reserve(IDirect3DMaterial *iface)
static HRESULT WINAPI
IDirect3DMaterialImpl_Unreserve(IDirect3DMaterial *iface)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial, iface);
IDirect3DMaterialImpl *This = material_from_material1(iface);
TRACE("(%p)->() not implemented.\n", This);
return DDERR_UNSUPPORTED;
@ -242,7 +247,7 @@ static HRESULT WINAPI
IDirect3DMaterialImpl_SetMaterial(IDirect3DMaterial3 *iface,
D3DMATERIAL *lpMat)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
TRACE("(%p)->(%p)\n", This, lpMat);
if (TRACE_ON(d3d7))
dump_material(lpMat);
@ -273,7 +278,7 @@ static HRESULT WINAPI
IDirect3DMaterialImpl_GetMaterial(IDirect3DMaterial3 *iface,
D3DMATERIAL *lpMat)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpMat);
if (TRACE_ON(d3d7)) {
@ -311,7 +316,7 @@ IDirect3DMaterialImpl_GetHandle(IDirect3DMaterial3 *iface,
IDirect3DDevice3 *lpDirect3DDevice3,
D3DMATERIALHANDLE *lpHandle)
{
ICOM_THIS_FROM(IDirect3DMaterialImpl, IDirect3DMaterial3, iface);
IDirect3DMaterialImpl *This = (IDirect3DMaterialImpl *)iface;
IDirect3DDeviceImpl *device = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, lpDirect3DDevice3);
TRACE("(%p/%p)->(%p,%p)\n", This, iface, device, lpHandle);

View File

@ -49,7 +49,7 @@ IDirectDrawPaletteImpl_QueryInterface(IDirectDrawPalette *iface,
REFIID refiid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
TRACE("(%p)->(%s,%p)\n",This,debugstr_guid(refiid),obj);
if (IsEqualGUID(refiid, &IID_IUnknown)
@ -78,7 +78,7 @@ IDirectDrawPaletteImpl_QueryInterface(IDirectDrawPalette *iface,
static ULONG WINAPI
IDirectDrawPaletteImpl_AddRef(IDirectDrawPalette *iface)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1);
@ -98,7 +98,7 @@ IDirectDrawPaletteImpl_AddRef(IDirectDrawPalette *iface)
static ULONG WINAPI
IDirectDrawPaletteImpl_Release(IDirectDrawPalette *iface)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1);
@ -161,7 +161,7 @@ static HRESULT WINAPI
IDirectDrawPaletteImpl_GetCaps(IDirectDrawPalette *iface,
DWORD *Caps)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, Caps);
@ -196,7 +196,7 @@ IDirectDrawPaletteImpl_SetEntries(IDirectDrawPalette *iface,
DWORD Count,
PALETTEENTRY *PalEnt)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt);
@ -233,7 +233,7 @@ IDirectDrawPaletteImpl_GetEntries(IDirectDrawPalette *iface,
DWORD Count,
PALETTEENTRY *PalEnt)
{
ICOM_THIS_FROM(IDirectDrawPaletteImpl, IDirectDrawPalette, iface);
IDirectDrawPaletteImpl *This = (IDirectDrawPaletteImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%x,%d,%d,%p): Relay\n", This, Flags, Start, Count, PalEnt);

View File

@ -95,7 +95,7 @@ IParentImpl_QueryInterface(IParent *iface,
static ULONG WINAPI
IParentImpl_AddRef(IParent *iface)
{
ICOM_THIS_FROM(IParentImpl, IParent, iface);
IParentImpl *This = (IParentImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p) : AddRef from %d\n", This, ref - 1);
@ -120,7 +120,7 @@ IParentImpl_AddRef(IParent *iface)
static ULONG WINAPI
IParentImpl_Release(IParent *iface)
{
ICOM_THIS_FROM(IParentImpl, IParent, iface);
IParentImpl *This = (IParentImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) : ReleaseRef to %d\n", This, ref);

View File

@ -75,7 +75,7 @@ IDirectDrawSurfaceImpl_QueryInterface(IDirectDrawSurface7 *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
/* According to COM docs, if the QueryInterface fails, obj should be set to NULL */
*obj = NULL;
@ -156,7 +156,7 @@ IDirectDrawSurfaceImpl_QueryInterface(IDirectDrawSurface7 *iface,
static ULONG WINAPI
IDirectDrawSurfaceImpl_AddRef(IDirectDrawSurface7 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
ULONG refCount = InterlockedIncrement(&This->ref);
TRACE("(%p) : AddRef increasing from %d\n", This, refCount - 1);
@ -271,7 +271,7 @@ void IDirectDrawSurfaceImpl_Destroy(IDirectDrawSurfaceImpl *This)
static ULONG WINAPI
IDirectDrawSurfaceImpl_Release(IDirectDrawSurface7 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
ULONG ref;
TRACE("(%p) : Releasing from %d\n", This, This->ref);
ref = InterlockedDecrement(&This->ref);
@ -463,7 +463,7 @@ IDirectDrawSurfaceImpl_GetAttachedSurface(IDirectDrawSurface7 *iface,
DDSCAPS2 *Caps,
IDirectDrawSurface7 **Surface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *surf;
DDSCAPS2 our_caps;
int i;
@ -574,7 +574,7 @@ IDirectDrawSurfaceImpl_Lock(IDirectDrawSurface7 *iface,
DWORD Flags,
HANDLE h)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
WINED3DLOCKED_RECT LockedRect;
HRESULT hr;
TRACE("(%p)->(%p,%p,%x,%p)\n", This, Rect, DDSD, Flags, h);
@ -668,7 +668,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_Unlock(IDirectDrawSurface7 *iface,
RECT *pRect)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%p)\n", This, pRect);
@ -706,7 +706,7 @@ IDirectDrawSurfaceImpl_Flip(IDirectDrawSurface7 *iface,
IDirectDrawSurface7 *DestOverride,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Override = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DestOverride);
IDirectDrawSurface7 *Override7;
HRESULT hr;
@ -772,7 +772,7 @@ IDirectDrawSurfaceImpl_Blt(IDirectDrawSurface7 *iface,
DWORD Flags,
DDBLTFX *DDBltFx)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
IDirectDrawSurfaceImpl *Src = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, SrcSurface);
TRACE("(%p)->(%p,%p,%p,%x,%p)\n", This, DestRect, Src, SrcRect, Flags, DDBltFx);
@ -932,7 +932,7 @@ static HRESULT WINAPI
IDirectDrawSurface7Impl_AddAttachedSurface(IDirectDrawSurface7 *iface,
IDirectDrawSurface7 *Attach)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Attach);
/* Version 7 of this interface seems to refuse everything except z buffers, as per msdn */
@ -967,7 +967,7 @@ IDirectDrawSurfaceImpl_DeleteAttachedSurface(IDirectDrawSurface7 *iface,
DWORD Flags,
IDirectDrawSurface7 *Attach)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Attach);
IDirectDrawSurfaceImpl *Prev = This;
TRACE("(%p)->(%08x,%p)\n", This, Flags, Surf);
@ -1030,7 +1030,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_AddOverlayDirtyRect(IDirectDrawSurface7 *iface,
LPRECT Rect)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,Rect);
/* MSDN says it's not implemented. I could forward it to WineD3D,
@ -1061,7 +1061,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetDC(IDirectDrawSurface7 *iface,
HDC *hdc)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, hdc);
@ -1092,7 +1092,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_ReleaseDC(IDirectDrawSurface7 *iface,
HDC hdc)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, hdc);
@ -1119,7 +1119,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetCaps(IDirectDrawSurface7 *iface,
DDSCAPS2 *Caps)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,Caps);
if(!Caps)
@ -1145,7 +1145,7 @@ IDirectDrawSurfaceImpl_GetCaps(IDirectDrawSurface7 *iface,
static HRESULT WINAPI
IDirectDrawSurfaceImpl_SetPriority(IDirectDrawSurface7 *iface, DWORD Priority)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%d): Relay!\n",This,Priority);
@ -1173,7 +1173,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetPriority(IDirectDrawSurface7 *iface,
DWORD *Priority)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p): Relay\n",This,Priority);
if(!Priority)
@ -1211,7 +1211,7 @@ IDirectDrawSurfaceImpl_SetPrivateData(IDirectDrawSurface7 *iface,
DWORD Size,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%s,%p,%d,%x): Relay\n", This, debugstr_guid(tag), Data, Size, Flags);
@ -1251,7 +1251,7 @@ IDirectDrawSurfaceImpl_GetPrivateData(IDirectDrawSurface7 *iface,
void *Data,
DWORD *Size)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%s,%p,%p): Relay\n", This, debugstr_guid(tag), Data, Size);
@ -1284,7 +1284,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_FreePrivateData(IDirectDrawSurface7 *iface,
REFGUID tag)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%s): Relay\n", This, debugstr_guid(tag));
@ -1376,7 +1376,7 @@ IDirectDrawSurfaceImpl_EnumAttachedSurfaces(IDirectDrawSurface7 *iface,
void *context,
LPDDENUMSURFACESCALLBACK7 cb)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *surf;
DDSURFACEDESC2 desc;
int i;
@ -1462,7 +1462,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetBltStatus(IDirectDrawSurface7 *iface,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%x): Relay\n", This, Flags);
@ -1495,7 +1495,7 @@ IDirectDrawSurfaceImpl_GetColorKey(IDirectDrawSurface7 *iface,
DWORD Flags,
DDCOLORKEY *CKey)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%08x,%p)\n", This, Flags, CKey);
if(!CKey)
@ -1566,7 +1566,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetFlipStatus(IDirectDrawSurface7 *iface,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%x): Relay\n", This, Flags);
@ -1596,7 +1596,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetOverlayPosition(IDirectDrawSurface7 *iface,
LONG *X,
LONG *Y) {
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%p,%p): Relay\n", This, X, Y);
@ -1627,7 +1627,7 @@ IDirectDrawSurfaceImpl_GetPixelFormat(IDirectDrawSurface7 *iface,
DDPIXELFORMAT *PixelFormat)
{
/* What is DDERR_INVALIDSURFACETYPE for here? */
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,PixelFormat);
if(!PixelFormat)
@ -1659,7 +1659,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetSurfaceDesc(IDirectDrawSurface7 *iface,
DDSURFACEDESC2 *DDSD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,DDSD);
@ -1699,7 +1699,7 @@ IDirectDrawSurfaceImpl_Initialize(IDirectDrawSurface7 *iface,
IDirectDraw *DD,
DDSURFACEDESC2 *DDSD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawImpl *ddimpl = ICOM_OBJECT(IDirectDrawImpl, IDirectDraw, DD);
TRACE("(%p)->(%p,%p)\n",This,ddimpl,DDSD);
@ -1720,7 +1720,7 @@ IDirectDrawSurfaceImpl_Initialize(IDirectDrawSurface7 *iface,
static HRESULT WINAPI
IDirectDrawSurfaceImpl_IsLost(IDirectDrawSurface7 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)\n", This);
@ -1763,7 +1763,7 @@ IDirectDrawSurfaceImpl_IsLost(IDirectDrawSurface7 *iface)
static HRESULT WINAPI
IDirectDrawSurfaceImpl_Restore(IDirectDrawSurface7 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)\n", This);
@ -1798,7 +1798,7 @@ IDirectDrawSurfaceImpl_SetOverlayPosition(IDirectDrawSurface7 *iface,
LONG X,
LONG Y)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%d,%d): Relay\n", This, X, Y);
@ -1833,7 +1833,7 @@ IDirectDrawSurfaceImpl_UpdateOverlay(IDirectDrawSurface7 *iface,
DWORD Flags,
LPDDOVERLAYFX FX)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawSurfaceImpl *Dst = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DstSurface);
HRESULT hr;
TRACE("(%p)->(%p,%p,%p,%x,%p): Relay\n", This, SrcRect, Dst, DstRect, Flags, FX);
@ -1870,7 +1870,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_UpdateOverlayDisplay(IDirectDrawSurface7 *iface,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%x)\n", This, Flags);
return DDERR_UNSUPPORTED;
}
@ -1893,7 +1893,7 @@ IDirectDrawSurfaceImpl_UpdateOverlayZOrder(IDirectDrawSurface7 *iface,
DWORD Flags,
IDirectDrawSurface7 *DDSRef)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
IDirectDrawSurfaceImpl *Ref = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, DDSRef);
@ -1924,7 +1924,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetDDInterface(IDirectDrawSurface7 *iface,
void **DD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,DD);
@ -1958,7 +1958,7 @@ IDirectDrawSurfaceImpl_GetDDInterface(IDirectDrawSurface7 *iface,
/* This seems also windows implementation specific - I don't think WineD3D needs this */
static HRESULT WINAPI IDirectDrawSurfaceImpl_ChangeUniquenessValue(IDirectDrawSurface7 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
volatile IDirectDrawSurfaceImpl* vThis = This;
TRACE("(%p)\n",This);
@ -1987,7 +1987,7 @@ static HRESULT WINAPI IDirectDrawSurfaceImpl_ChangeUniquenessValue(IDirectDrawSu
static HRESULT WINAPI IDirectDrawSurfaceImpl_GetUniquenessValue(IDirectDrawSurface7 *iface, LPDWORD pValue)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n",This,pValue);
EnterCriticalSection(&ddraw_cs);
@ -2013,7 +2013,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_SetLOD(IDirectDrawSurface7 *iface,
DWORD MaxLOD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
TRACE("(%p)->(%d)\n", This, MaxLOD);
@ -2055,7 +2055,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetLOD(IDirectDrawSurface7 *iface,
DWORD *MaxLOD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n", This, MaxLOD);
if(!MaxLOD)
@ -2098,7 +2098,7 @@ IDirectDrawSurfaceImpl_BltFast(IDirectDrawSurface7 *iface,
RECT *rsrc,
DWORD trans)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
HRESULT hr;
IDirectDrawSurfaceImpl *src = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface7, Source);
TRACE("(%p)->(%d,%d,%p,%p,%d): Relay\n", This, dstx, dsty, Source, rsrc, trans);
@ -2166,7 +2166,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetClipper(IDirectDrawSurface7 *iface,
IDirectDrawClipper **Clipper)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
TRACE("(%p)->(%p)\n", This, Clipper);
if(!Clipper)
@ -2204,7 +2204,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_SetClipper(IDirectDrawSurface7 *iface,
IDirectDrawClipper *Clipper)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawClipperImpl *oldClipper = This->clipper;
HWND clipWindow;
HRESULT hr;
@ -2266,7 +2266,7 @@ IDirectDrawSurfaceImpl_SetSurfaceDesc(IDirectDrawSurface7 *iface,
DDSURFACEDESC2 *DDSD,
DWORD Flags)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
WINED3DFORMAT newFormat = WINED3DFMT_UNKNOWN;
HRESULT hr;
TRACE("(%p)->(%p,%x)\n", This, DDSD, Flags);
@ -2361,7 +2361,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_GetPalette(IDirectDrawSurface7 *iface,
IDirectDrawPalette **Pal)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IWineD3DPalette *wPal;
HRESULT hr;
TRACE("(%p)->(%p): Relay\n", This, Pal);
@ -2410,7 +2410,7 @@ SetColorKeyEnum(IDirectDrawSurface7 *surface,
DDSURFACEDESC2 *desc,
void *context)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, surface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)surface;
struct SCKContext *ctx = context;
HRESULT hr;
@ -2451,7 +2451,7 @@ IDirectDrawSurfaceImpl_SetColorKey(IDirectDrawSurface7 *iface,
DWORD Flags,
DDCOLORKEY *CKey)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
struct SCKContext ctx = { DD_OK, (WINEDDCOLORKEY *) CKey, Flags };
TRACE("(%p)->(%x,%p)\n", This, Flags, CKey);
@ -2540,7 +2540,7 @@ static HRESULT WINAPI
IDirectDrawSurfaceImpl_SetPalette(IDirectDrawSurface7 *iface,
IDirectDrawPalette *Pal)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface7, iface);
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
IDirectDrawPalette *oldPal;
IDirectDrawSurfaceImpl *surf;
IDirectDrawPaletteImpl *PalImpl = ICOM_OBJECT(IDirectDrawPaletteImpl, IDirectDrawPalette, Pal);

View File

@ -44,6 +44,11 @@
WINE_DEFAULT_DEBUG_CHANNEL(ddraw_thunk);
WINE_DECLARE_DEBUG_CHANNEL(ddraw);
static inline IDirectDrawSurfaceImpl *surface_from_surface3(IDirectDrawSurface3 *iface)
{
return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirectDrawSurface3_vtbl));
}
static HRESULT WINAPI
IDirectDrawSurface3Impl_QueryInterface(LPDIRECTDRAWSURFACE3 This, REFIID iid,
LPVOID *ppObj)
@ -60,7 +65,7 @@ IDirectDrawSurface3Impl_AddRef(LPDIRECTDRAWSURFACE3 This)
static ULONG WINAPI
IDirectDrawSurface3Impl_Release(LPDIRECTDRAWSURFACE3 iface)
{
ICOM_THIS_FROM( IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface);
IDirectDrawSurfaceImpl *This = surface_from_surface3(iface);
TRACE("(%p)\n", This);
return IDirectDrawSurface7_Release(CONVERT(iface));
}
@ -69,7 +74,7 @@ static HRESULT WINAPI
IDirectDrawSurface3Impl_AddAttachedSurface(LPDIRECTDRAWSURFACE3 iface,
LPDIRECTDRAWSURFACE3 pAttach)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface);
IDirectDrawSurfaceImpl *This = surface_from_surface3(iface);
IDirectDrawSurfaceImpl *Surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface3, pAttach);
TRACE("(%p)->(%p)\n", This, Surf);
@ -303,7 +308,7 @@ static HRESULT WINAPI
IDirectDrawSurface3Impl_GetSurfaceDesc(LPDIRECTDRAWSURFACE3 iface,
LPDDSURFACEDESC pDDSD)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirectDrawSurface3, iface);
IDirectDrawSurfaceImpl *This = surface_from_surface3(iface);
TRACE_(ddraw)("(%p)->(%p)\n",This,pDDSD);

View File

@ -45,6 +45,16 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3d7);
WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk);
static inline IDirectDrawSurfaceImpl *surface_from_texture1(IDirect3DTexture *iface)
{
return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirect3DTexture_vtbl));
}
static inline IDirectDrawSurfaceImpl *surface_from_texture2(IDirect3DTexture2 *iface)
{
return (IDirectDrawSurfaceImpl *)((char*)iface - FIELD_OFFSET(IDirectDrawSurfaceImpl, IDirect3DTexture2_vtbl));
}
/*****************************************************************************
* IUnknown interfaces. They are thunks to IDirectDrawSurface7
*****************************************************************************/
@ -53,7 +63,7 @@ Thunk_IDirect3DTextureImpl_2_QueryInterface(IDirect3DTexture2 *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
TRACE("(%p)->(%s,%p) thunking to IDirectDrawSurface7 interface.\n", This, debugstr_guid(riid), obj);
return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj);
}
@ -63,7 +73,7 @@ Thunk_IDirect3DTextureImpl_1_QueryInterface(IDirect3DTexture *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
TRACE("(%p)->(%s,%p) thunking to IDirectDrawSurface7 interface.\n", This, debugstr_guid(riid), obj);
return IDirectDrawSurface7_QueryInterface((IDirectDrawSurface7 *)This, riid, obj);
@ -72,7 +82,7 @@ Thunk_IDirect3DTextureImpl_1_QueryInterface(IDirect3DTexture *iface,
static ULONG WINAPI
Thunk_IDirect3DTextureImpl_2_AddRef(IDirect3DTexture2 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This);
return IDirectDrawSurface7_AddRef((IDirectDrawSurface7 *)This);
@ -81,7 +91,7 @@ Thunk_IDirect3DTextureImpl_2_AddRef(IDirect3DTexture2 *iface)
static ULONG WINAPI
Thunk_IDirect3DTextureImpl_1_AddRef(IDirect3DTexture *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This);
return IDirectDrawSurface7_AddRef(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirectDrawSurface7, iface));
@ -90,7 +100,7 @@ Thunk_IDirect3DTextureImpl_1_AddRef(IDirect3DTexture *iface)
static ULONG WINAPI
Thunk_IDirect3DTextureImpl_2_Release(IDirect3DTexture2 *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This);
return IDirectDrawSurface7_Release((IDirectDrawSurface7 *)This);
@ -100,7 +110,7 @@ Thunk_IDirect3DTextureImpl_2_Release(IDirect3DTexture2 *iface)
static ULONG WINAPI
Thunk_IDirect3DTextureImpl_1_Release(IDirect3DTexture *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
TRACE("(%p)->() thunking to IDirectDrawSurface7 interface.\n", This);
return IDirectDrawSurface7_Release(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirectDrawSurface7, iface));
@ -127,7 +137,7 @@ IDirect3DTextureImpl_1_Initialize(IDirect3DTexture *iface,
IDirect3DDevice *Direct3DDevice,
IDirectDrawSurface *DDSurface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice, Direct3DDevice);
IDirectDrawSurfaceImpl *surf = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirectDrawSurface3, DDSurface);
TRACE("(%p)->(%p,%p) Not implemented\n", This, d3d, surf);
@ -152,7 +162,7 @@ IDirect3DTextureImpl_PaletteChanged(IDirect3DTexture2 *iface,
DWORD Start,
DWORD Count)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
FIXME("(%p)->(%08x,%08x): stub!\n", This, Start, Count);
return D3D_OK;
}
@ -162,7 +172,7 @@ Thunk_IDirect3DTextureImpl_1_PaletteChanged(IDirect3DTexture *iface,
DWORD Start,
DWORD Count)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
TRACE("(%p)->(%08x,%08x) thunking to IDirect3DTexture2 interface.\n", This, Start, Count);
return IDirect3DTexture2_PaletteChanged(COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, IDirect3DTexture, IDirect3DTexture2, iface),
@ -184,7 +194,7 @@ Thunk_IDirect3DTextureImpl_1_PaletteChanged(IDirect3DTexture *iface,
static HRESULT WINAPI
IDirect3DTextureImpl_1_Unload(IDirect3DTexture *iface)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
TRACE("(%p)->(): not implemented!\n", This);
return DDERR_UNSUPPORTED;
}
@ -208,7 +218,7 @@ IDirect3DTextureImpl_GetHandle(IDirect3DTexture2 *iface,
IDirect3DDevice2 *Direct3DDevice2,
D3DTEXTUREHANDLE *lpHandle)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice2, Direct3DDevice2);
TRACE("(%p)->(%p,%p)\n", This, d3d, lpHandle);
@ -236,7 +246,7 @@ Thunk_IDirect3DTextureImpl_1_GetHandle(IDirect3DTexture *iface,
LPDIRECT3DDEVICE lpDirect3DDevice,
LPD3DTEXTUREHANDLE lpHandle)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
IDirect3DDeviceImpl *d3d = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice, lpDirect3DDevice);
IDirect3DTexture2 *d3d_texture2 = (IDirect3DTexture2 *)&This->IDirect3DTexture2_vtbl;
IDirect3DDevice2 *d3d_device2 = (IDirect3DDevice2 *)&d3d->IDirect3DDevice2_vtbl;
@ -294,7 +304,7 @@ static HRESULT WINAPI
IDirect3DTextureImpl_Load(IDirect3DTexture2 *iface,
IDirect3DTexture2 *D3DTexture2)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture2, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture2(iface);
IDirectDrawSurfaceImpl *src_ptr = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture2, D3DTexture2);
HRESULT ret_value = D3D_OK;
if(src_ptr == This)
@ -468,7 +478,7 @@ static HRESULT WINAPI
Thunk_IDirect3DTextureImpl_1_Load(IDirect3DTexture *iface,
IDirect3DTexture *D3DTexture)
{
ICOM_THIS_FROM(IDirectDrawSurfaceImpl, IDirect3DTexture, iface);
IDirectDrawSurfaceImpl *This = surface_from_texture1(iface);
IDirectDrawSurfaceImpl *Texture = ICOM_OBJECT(IDirectDrawSurfaceImpl, IDirect3DTexture, D3DTexture);
TRACE("(%p)->(%p) thunking to IDirect3DTexture2 interface.\n", This, Texture);

View File

@ -44,6 +44,11 @@
WINE_DEFAULT_DEBUG_CHANNEL(d3d7);
WINE_DECLARE_DEBUG_CHANNEL(ddraw_thunk);
static inline IDirect3DVertexBufferImpl *vb_from_vb1(IDirect3DVertexBuffer *iface)
{
return (IDirect3DVertexBufferImpl *)((char*)iface
- FIELD_OFFSET(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer_vtbl));
}
/*****************************************************************************
* IUnknown Methods
@ -69,7 +74,7 @@ IDirect3DVertexBufferImpl_QueryInterface(IDirect3DVertexBuffer7 *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
TRACE("(%p)->(%s,%p)\n", This, debugstr_guid(riid), obj);
/* By default, set the object pointer to NULL */
@ -105,7 +110,7 @@ Thunk_IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface,
REFIID riid,
void **obj)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->(%s,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, debugstr_guid(riid), obj);
return IDirect3DVertexBuffer7_QueryInterface((IDirect3DVertexBuffer7 *)This, riid, obj);
@ -123,7 +128,7 @@ Thunk_IDirect3DVertexBufferImpl_1_QueryInterface(IDirect3DVertexBuffer *iface,
static ULONG WINAPI
IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p/%p)->() incrementing from %u.\n", This, iface, ref - 1);
@ -134,7 +139,7 @@ IDirect3DVertexBufferImpl_AddRef(IDirect3DVertexBuffer7 *iface)
static ULONG WINAPI
Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_AddRef((IDirect3DVertexBuffer7 *)This);
@ -153,7 +158,7 @@ Thunk_IDirect3DVertexBufferImpl_1_AddRef(IDirect3DVertexBuffer *iface)
static ULONG WINAPI
IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1);
@ -199,7 +204,7 @@ IDirect3DVertexBufferImpl_Release(IDirect3DVertexBuffer7 *iface)
static ULONG WINAPI
Thunk_IDirect3DVertexBufferImpl_1_Release(IDirect3DVertexBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_Release((IDirect3DVertexBuffer7 *)This);
@ -234,7 +239,7 @@ IDirect3DVertexBufferImpl_Lock(IDirect3DVertexBuffer7 *iface,
void **Data,
DWORD *Size)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
WINED3DVERTEXBUFFER_DESC Desc;
HRESULT hr;
TRACE("(%p)->(%08x,%p,%p)\n", This, Flags, Data, Size);
@ -269,7 +274,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface,
void **Data,
DWORD *Size)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->(%08x,%p,%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Flags, Data, Size);
return IDirect3DVertexBuffer7_Lock((IDirect3DVertexBuffer7 *)This, Flags, Data, Size);
@ -287,7 +292,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Lock(IDirect3DVertexBuffer *iface,
static HRESULT WINAPI
IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
HRESULT hr;
TRACE("(%p)->()\n", This);
@ -301,7 +306,7 @@ IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
static HRESULT WINAPI
Thunk_IDirect3DVertexBufferImpl_1_Unlock(IDirect3DVertexBuffer *iface)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->() thunking to IDirect3DVertexBuffer7 interface.\n", This);
return IDirect3DVertexBuffer7_Unlock((IDirect3DVertexBuffer7 *)This);
@ -340,7 +345,7 @@ IDirect3DVertexBufferImpl_ProcessVertices(IDirect3DVertexBuffer7 *iface,
IDirect3DDevice7 *D3DDevice,
DWORD Flags)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
IDirect3DVertexBufferImpl *Src = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, SrcBuffer);
IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice);
BOOL oldClip, doClip;
@ -413,7 +418,7 @@ Thunk_IDirect3DVertexBufferImpl_1_ProcessVertices(IDirect3DVertexBuffer *iface,
IDirect3DDevice3 *D3DDevice,
DWORD Flags)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
IDirect3DVertexBufferImpl *Src = ICOM_OBJECT(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, SrcBuffer);
IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, D3DDevice);
@ -440,7 +445,7 @@ static HRESULT WINAPI
IDirect3DVertexBufferImpl_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface,
D3DVERTEXBUFFERDESC *Desc)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
WINED3DVERTEXBUFFER_DESC WDesc;
HRESULT hr;
TRACE("(%p)->(%p)\n", This, Desc);
@ -470,7 +475,7 @@ static HRESULT WINAPI
Thunk_IDirect3DVertexBufferImpl_1_GetVertexBufferDesc(IDirect3DVertexBuffer *iface,
D3DVERTEXBUFFERDESC *Desc)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
TRACE_(ddraw_thunk)("(%p)->(%p) thunking to IDirect3DVertexBuffer7 interface.\n", This, Desc);
return IDirect3DVertexBuffer7_GetVertexBufferDesc((IDirect3DVertexBuffer7 *)This, Desc);
@ -495,7 +500,7 @@ IDirect3DVertexBufferImpl_Optimize(IDirect3DVertexBuffer7 *iface,
IDirect3DDevice7 *D3DDevice,
DWORD Flags)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice);
static BOOL hide = FALSE;
@ -520,7 +525,7 @@ Thunk_IDirect3DVertexBufferImpl_1_Optimize(IDirect3DVertexBuffer *iface,
IDirect3DDevice3 *D3DDevice,
DWORD Flags)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer, iface);
IDirect3DVertexBufferImpl *This = vb_from_vb1(iface);
IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice3, D3DDevice);
TRACE_(ddraw_thunk)("(%p)->(%p,%08x) thunking to IDirect3DVertexBuffer7 interface.\n", This, D3D, Flags);
@ -559,7 +564,7 @@ IDirect3DVertexBufferImpl_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface,
IDirect3DDevice7 *D3DDevice,
DWORD Flags)
{
ICOM_THIS_FROM(IDirect3DVertexBufferImpl, IDirect3DVertexBuffer7, iface);
IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;
IDirect3DDeviceImpl *D3D = ICOM_OBJECT(IDirect3DDeviceImpl, IDirect3DDevice7, D3DDevice);
FIXME("(%p)->(%08x,%08x,%08x,%p,%08x,%p,%08x): stub!\n", This, VertexOp, DestIndex, Count, StrideData, VertexTypeDesc, D3D, Flags);
return DD_OK;

View File

@ -177,7 +177,7 @@ IDirect3DViewportImpl_QueryInterface(IDirect3DViewport3 *iface,
static ULONG WINAPI
IDirect3DViewportImpl_AddRef(IDirect3DViewport3 *iface)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p)->() incrementing from %u.\n", This, ref - 1);
@ -197,7 +197,7 @@ IDirect3DViewportImpl_AddRef(IDirect3DViewport3 *iface)
static ULONG WINAPI
IDirect3DViewportImpl_Release(IDirect3DViewport3 *iface)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p)->() decrementing from %u.\n", This, ref + 1);
@ -250,7 +250,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_GetViewport(IDirect3DViewport3 *iface,
D3DVIEWPORT *lpData)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
DWORD dwSize;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
@ -290,7 +290,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetViewport(IDirect3DViewport3 *iface,
D3DVIEWPORT *lpData)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
LPDIRECT3DVIEWPORT3 current_viewport;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
@ -358,7 +358,7 @@ IDirect3DViewportImpl_TransformVertices(IDirect3DViewport3 *iface,
DWORD dwFlags,
DWORD *lpOffScreen)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
D3DMATRIX view_mat, world_mat, proj_mat, mat;
float *in;
float *out;
@ -497,7 +497,7 @@ IDirect3DViewportImpl_LightElements(IDirect3DViewport3 *iface,
DWORD dwElementCount,
LPD3DLIGHTDATA lpData)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
TRACE("(%p)->(%08x,%p): Unimplemented!\n", This, dwElementCount, lpData);
return DDERR_UNSUPPORTED;
}
@ -518,7 +518,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetBackground(IDirect3DViewport3 *iface,
D3DMATERIALHANDLE hMat)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
TRACE("(%p)->(%d)\n", This, hMat);
EnterCriticalSection(&ddraw_cs);
@ -572,7 +572,7 @@ IDirect3DViewportImpl_GetBackground(IDirect3DViewport3 *iface,
D3DMATERIALHANDLE *lphMat,
BOOL *lpValid)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
TRACE("(%p)->(%p,%p)\n", This, lphMat, lpValid);
EnterCriticalSection(&ddraw_cs);
@ -612,7 +612,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetBackgroundDepth(IDirect3DViewport3 *iface,
IDirectDrawSurface *lpDDSurface)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
FIXME("(%p)->(%p): stub!\n", This, lpDDSurface);
return D3D_OK;
}
@ -636,7 +636,7 @@ IDirect3DViewportImpl_GetBackgroundDepth(IDirect3DViewport3 *iface,
IDirectDrawSurface **lplpDDSurface,
LPBOOL lpValid)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
FIXME("(%p)->(%p,%p): stub!\n", This, lplpDDSurface, lpValid);
return DD_OK;
}
@ -664,7 +664,7 @@ IDirect3DViewportImpl_Clear(IDirect3DViewport3 *iface,
D3DRECT *lpRects,
DWORD dwFlags)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
DWORD color = 0x00000000;
HRESULT hr;
LPDIRECT3DVIEWPORT3 current_viewport;
@ -726,7 +726,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_AddLight(IDirect3DViewport3 *iface,
IDirect3DLight *lpDirect3DLight)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
IDirect3DLightImpl *lpDirect3DLightImpl = ICOM_OBJECT(IDirect3DLightImpl, IDirect3DLight, lpDirect3DLight);
DWORD i = 0;
DWORD map = This->map_lights;
@ -782,7 +782,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_DeleteLight(IDirect3DViewport3 *iface,
IDirect3DLight *lpDirect3DLight)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
IDirect3DLightImpl *lpDirect3DLightImpl = ICOM_OBJECT(IDirect3DLightImpl, IDirect3DLight, lpDirect3DLight);
IDirect3DLightImpl *cur_light, *prev_light = NULL;
@ -829,7 +829,7 @@ IDirect3DViewportImpl_NextLight(IDirect3DViewport3 *iface,
IDirect3DLight **lplpDirect3DLight,
DWORD dwFlags)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
FIXME("(%p)->(%p,%p,%08x): stub!\n", This, lpDirect3DLight, lplpDirect3DLight, dwFlags);
return D3D_OK;
}
@ -858,7 +858,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_GetViewport2(IDirect3DViewport3 *iface,
D3DVIEWPORT2 *lpData)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
DWORD dwSize;
TRACE("(%p)->(%p)\n", This, lpData);
@ -897,7 +897,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetViewport2(IDirect3DViewport3 *iface,
D3DVIEWPORT2 *lpData)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
LPDIRECT3DVIEWPORT3 current_viewport;
TRACE("(%p/%p)->(%p)\n", This, iface, lpData);
@ -945,7 +945,7 @@ static HRESULT WINAPI
IDirect3DViewportImpl_SetBackgroundDepth2(IDirect3DViewport3 *iface,
IDirectDrawSurface4 *lpDDS)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
FIXME("(%p)->(%p): stub!\n", This, lpDDS);
return D3D_OK;
}
@ -968,7 +968,7 @@ IDirect3DViewportImpl_GetBackgroundDepth2(IDirect3DViewport3 *iface,
IDirectDrawSurface4 **lplpDDS,
BOOL *lpValid)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
FIXME("(%p/%p)->(%p,%p): stub!\n", This, iface, lplpDDS, lpValid);
return D3D_OK;
}
@ -998,7 +998,7 @@ IDirect3DViewportImpl_Clear2(IDirect3DViewport3 *iface,
D3DVALUE dvZ,
DWORD dwStencil)
{
ICOM_THIS_FROM(IDirect3DViewportImpl, IDirect3DViewport3, iface);
IDirect3DViewportImpl *This = (IDirect3DViewportImpl *)iface;
HRESULT hr;
LPDIRECT3DVIEWPORT3 current_viewport;
IDirect3DDevice3 *d3d_device3;