reactos/dll/directx/ddraw/thunks/surface_thunk.c
Amine Khaldi 527f2f9057 [SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
2014-02-02 19:37:27 +00:00

522 lines
14 KiB
C

#include "../rosdraw.h"
HRESULT WINAPI
Thunk_DDrawSurface3_QueryInterface(LPDIRECTDRAWSURFACE3 iface, REFIID iid,
LPVOID *ppObj)
{
DX_WINDBG_trace();
return Main_DDrawSurface_QueryInterface((LPDIRECTDRAWSURFACE7) iface, iid, ppObj);
}
ULONG WINAPI
Thunk_DDrawSurface3_AddRef(LPDIRECTDRAWSURFACE3 iface)
{
DX_WINDBG_trace();
return Main_DDrawSurface_AddRef((LPDIRECTDRAWSURFACE7) iface);
}
ULONG WINAPI
Thunk_DDrawSurface3_Release(LPDIRECTDRAWSURFACE3 iface)
{
DX_WINDBG_trace();
return Main_DDrawSurface_Release((LPDIRECTDRAWSURFACE7) iface);
}
HRESULT WINAPI
Thunk_DDrawSurface3_AddAttachedSurface(LPDIRECTDRAWSURFACE3 iface, LPDIRECTDRAWSURFACE3 pAttach)
{
DX_WINDBG_trace();
return Main_DDrawSurface_AddAttachedSurface((LPDIRECTDRAWSURFACE7) iface, (LPDIRECTDRAWSURFACE7) pAttach);
}
HRESULT WINAPI
Thunk_DDrawSurface3_AddOverlayDirtyRect(LPDIRECTDRAWSURFACE3 iface, LPRECT pRect)
{
DX_WINDBG_trace();
return Main_DDrawSurface_AddOverlayDirtyRect((LPDIRECTDRAWSURFACE7) iface, pRect);
}
HRESULT WINAPI
Thunk_DDrawSurface3_Blt(LPDIRECTDRAWSURFACE3 iface, LPRECT rdst,
LPDIRECTDRAWSURFACE3 src, LPRECT rsrc,
DWORD dwFlags, LPDDBLTFX pFX)
{
DX_WINDBG_trace();
return Main_DDrawSurface_Blt((LPDIRECTDRAWSURFACE7) iface, rdst,(LPDIRECTDRAWSURFACE7) src, rsrc, dwFlags, pFX);
}
HRESULT WINAPI
Thunk_DDrawSurface3_BltBatch(LPDIRECTDRAWSURFACE3 iface, LPDDBLTBATCH pBatch, DWORD dwCount, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_BltBatch((LPDIRECTDRAWSURFACE7) iface, pBatch, dwCount, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_BltFast(LPDIRECTDRAWSURFACE3 iface, DWORD dstx, DWORD dsty,
LPDIRECTDRAWSURFACE3 src, LPRECT rsrc, DWORD dwTrans)
{
DX_WINDBG_trace();
return Main_DDrawSurface_BltFast((LPDIRECTDRAWSURFACE7) iface, dstx, dsty,
(LPDIRECTDRAWSURFACE7)src, rsrc, dwTrans);
}
HRESULT WINAPI
Thunk_DDrawSurface3_DeleteAttachedSurface(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags, LPDIRECTDRAWSURFACE3 pAttached)
{
DX_WINDBG_trace();
return Main_DDrawSurface_DeleteAttachedSurface((LPDIRECTDRAWSURFACE7) iface, dwFlags,
(LPDIRECTDRAWSURFACE7) pAttached);
}
HRESULT WINAPI
Thunk_DDrawSurface3_EnumAttachedSurfaces(LPDIRECTDRAWSURFACE3 iface,
LPVOID context,
LPDDENUMSURFACESCALLBACK cb)
{
DX_WINDBG_trace();
return Main_DDrawSurface_EnumAttachedSurfaces((LPDIRECTDRAWSURFACE7) iface,
context, (LPDDENUMSURFACESCALLBACK7)cb);
}
HRESULT WINAPI
Thunk_DDrawSurface3_EnumOverlayZOrders(LPDIRECTDRAWSURFACE3 iface,
DWORD dwFlags, LPVOID context,
LPDDENUMSURFACESCALLBACK cb)
{
DX_WINDBG_trace();
return Main_DDrawSurface_EnumOverlayZOrders( (LPDIRECTDRAWSURFACE7) iface, dwFlags, context,
(LPDDENUMSURFACESCALLBACK7) cb);
}
HRESULT WINAPI
Thunk_DDrawSurface3_Flip(LPDIRECTDRAWSURFACE3 iface,
LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_Flip( (LPDIRECTDRAWSURFACE7)iface, (LPDIRECTDRAWSURFACE7) lpDDSurfaceTargetOverride,
dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetAttachedSurface(LPDIRECTDRAWSURFACE3 iface,
LPDDSCAPS pCaps,
LPDIRECTDRAWSURFACE3* ppAttached)
{
DDSCAPS2 caps;
HRESULT hr = DDERR_GENERIC;
DX_WINDBG_trace();
ZeroMemory(&caps,sizeof(DDSCAPS2));
if (pCaps != NULL)
{
caps.dwCaps = pCaps->dwCaps;
hr = Main_DDrawSurface_GetAttachedSurface( (LPDIRECTDRAWSURFACE7) iface,
&caps, (LPDIRECTDRAWSURFACE7 *) ppAttached);
pCaps->dwCaps = caps.dwCaps;
}
else
{
hr = Main_DDrawSurface_GetAttachedSurface( (LPDIRECTDRAWSURFACE7) iface,
NULL, (LPDIRECTDRAWSURFACE7 *) ppAttached);
}
return hr;
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetBltStatus(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetBltStatus((LPDIRECTDRAWSURFACE7) iface, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetCaps(LPDIRECTDRAWSURFACE3 iface, LPDDSCAPS pCaps)
{
DDSCAPS2 caps;
HRESULT hr = DDERR_GENERIC;
DX_WINDBG_trace();
ZeroMemory(&caps,sizeof(DDSCAPS2));
if (pCaps != NULL)
{
hr = Main_DDrawSurface_GetCaps((LPDIRECTDRAWSURFACE7) iface, &caps);
pCaps->dwCaps = caps.dwCaps;
}
else
{
hr = Main_DDrawSurface_GetCaps((LPDIRECTDRAWSURFACE7) iface, NULL);
}
return hr;
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetClipper(LPDIRECTDRAWSURFACE3 iface,
LPDIRECTDRAWCLIPPER* ppClipper)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetClipper((LPDIRECTDRAWSURFACE7) iface, ppClipper);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetColorKey(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags,
LPDDCOLORKEY pCKey)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetColorKey( (LPDIRECTDRAWSURFACE7) iface, dwFlags, pCKey);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetDC(LPDIRECTDRAWSURFACE3 iface, HDC* phDC)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetDC((LPDIRECTDRAWSURFACE7) iface, phDC);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetFlipStatus(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetFlipStatus((LPDIRECTDRAWSURFACE7) iface, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetOverlayPosition(LPDIRECTDRAWSURFACE3 iface, LPLONG pX, LPLONG pY)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetOverlayPosition((LPDIRECTDRAWSURFACE7) iface, pX, pY);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetPalette(LPDIRECTDRAWSURFACE3 iface,
LPDIRECTDRAWPALETTE* ppPalette)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetPalette((LPDIRECTDRAWSURFACE7) iface, ppPalette);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetPixelFormat(LPDIRECTDRAWSURFACE3 iface,
LPDDPIXELFORMAT pDDPixelFormat)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetPixelFormat((LPDIRECTDRAWSURFACE7) iface, pDDPixelFormat);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetSurfaceDesc(LPDIRECTDRAWSURFACE3 iface,
LPDDSURFACEDESC pDDSD)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DDrawSurface_GetSurfaceDesc((LPDIRECTDRAWSURFACE7) iface, &pDDSD2);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DDrawSurface_GetSurfaceDesc((LPDIRECTDRAWSURFACE7) iface, NULL);
}
return retValue;
}
HRESULT WINAPI
Thunk_DDrawSurface3_Initialize(LPDIRECTDRAWSURFACE3 iface, LPDIRECTDRAW pDD,
LPDDSURFACEDESC pDDSD)
{
HRESULT retValue = DDERR_GENERIC;
DDSURFACEDESC2 pDDSD2;
DX_WINDBG_trace();
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DDrawSurface_Initialize((LPDIRECTDRAWSURFACE7) iface, pDD, &pDDSD2);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DDrawSurface_Initialize ((LPDIRECTDRAWSURFACE7) iface, pDD, NULL);
}
return retValue;
}
HRESULT WINAPI
Thunk_DDrawSurface3_IsLost(LPDIRECTDRAWSURFACE3 iface)
{
DX_WINDBG_trace();
return Main_DDrawSurface_IsLost((LPDIRECTDRAWSURFACE7) iface);
}
HRESULT WINAPI
Thunk_DDrawSurface3_Lock(LPDIRECTDRAWSURFACE3 iface, LPRECT pRect,
LPDDSURFACEDESC pDDSD, DWORD dwFlags, HANDLE events)
{
HRESULT retValue = DDERR_GENERIC;
DDSURFACEDESC2 pDDSD2;
DX_WINDBG_trace();
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DDrawSurface_Lock ( (LPDIRECTDRAWSURFACE7) iface, pRect, &pDDSD2, dwFlags, events);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DDrawSurface_Lock ( (LPDIRECTDRAWSURFACE7) iface, pRect, NULL, dwFlags, events);
}
return retValue;
}
HRESULT WINAPI
Thunk_DDrawSurface3_ReleaseDC(LPDIRECTDRAWSURFACE3 iface, HDC hDC)
{
DX_WINDBG_trace();
return Main_DDrawSurface_ReleaseDC((LPDIRECTDRAWSURFACE7) iface, hDC);
}
HRESULT WINAPI
Thunk_DDrawSurface3_Restore(LPDIRECTDRAWSURFACE3 iface)
{
DX_WINDBG_trace();
return Main_DDrawSurface_Restore((LPDIRECTDRAWSURFACE7) iface);
}
HRESULT WINAPI
Thunk_DDrawSurface3_SetClipper(LPDIRECTDRAWSURFACE3 iface, LPDIRECTDRAWCLIPPER pDDClipper)
{
DX_WINDBG_trace();
return Main_DDrawSurface_SetClipper ((LPDIRECTDRAWSURFACE7) iface, pDDClipper);
}
HRESULT WINAPI
Thunk_DDrawSurface3_SetColorKey(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags,
LPDDCOLORKEY pCKey)
{
DX_WINDBG_trace();
return Main_DDrawSurface_SetColorKey ((LPDIRECTDRAWSURFACE7) iface, dwFlags, pCKey);
}
HRESULT WINAPI
Thunk_DDrawSurface3_SetOverlayPosition(LPDIRECTDRAWSURFACE3 iface, LONG X,LONG Y)
{
DX_WINDBG_trace();
return Main_DDrawSurface_SetOverlayPosition ((LPDIRECTDRAWSURFACE7) iface, X, Y);
}
HRESULT WINAPI
Thunk_DDrawSurface3_SetPalette(LPDIRECTDRAWSURFACE3 iface,
LPDIRECTDRAWPALETTE pPalette)
{
DX_WINDBG_trace();
return Main_DDrawSurface_SetPalette ((LPDIRECTDRAWSURFACE7) iface, pPalette);
}
/*
HRESULT WINAPI
Thunk_DDrawSurface3_Unlock(LPDIRECTDRAWSURFACE3 iface, LPRECT pRect)
{
DX_WINDBG_trace();
return Main_DDrawSurface_Unlock ((LPDIRECTDRAWSURFACE7) iface, pRect);
} */
HRESULT WINAPI
Thunk_DDrawSurface3_Unlock(LPVOID iface, LPVOID pRect)
{
DX_WINDBG_trace();
DX_STUB;
}
HRESULT WINAPI
Thunk_DDrawSurface3_UpdateOverlay(LPDIRECTDRAWSURFACE3 iface, LPRECT pSrcRect, LPDIRECTDRAWSURFACE3 pDstSurface,
LPRECT pDstRect, DWORD dwFlags, LPDDOVERLAYFX pFX)
{
DX_WINDBG_trace();
return Main_DDrawSurface_UpdateOverlay ( (LPDIRECTDRAWSURFACE7) iface, pSrcRect,
(LPDIRECTDRAWSURFACE7) pDstSurface, pDstRect, dwFlags, pFX);
}
HRESULT WINAPI
Thunk_DDrawSurface3_UpdateOverlayDisplay(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_UpdateOverlayDisplay((LPDIRECTDRAWSURFACE7) iface, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_UpdateOverlayZOrder(LPDIRECTDRAWSURFACE3 iface,
DWORD dwFlags,
LPDIRECTDRAWSURFACE3 pSurfReference)
{
DX_WINDBG_trace();
return Main_DDrawSurface_UpdateOverlayZOrder((LPDIRECTDRAWSURFACE7) iface, dwFlags,
(LPDIRECTDRAWSURFACE7) pSurfReference);
}
HRESULT WINAPI
Thunk_DDrawSurface3_GetDDInterface(LPDIRECTDRAWSURFACE3 iface, LPVOID* ppDD)
{
DX_WINDBG_trace();
return Main_DDrawSurface_GetDDInterface((LPDIRECTDRAWSURFACE7) iface, ppDD);
}
HRESULT WINAPI
Thunk_DDrawSurface3_PageLock(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_PageLock((LPDIRECTDRAWSURFACE7) iface, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_PageUnlock(LPDIRECTDRAWSURFACE3 iface, DWORD dwFlags)
{
DX_WINDBG_trace();
return Main_DDrawSurface_PageUnlock((LPDIRECTDRAWSURFACE7) iface, dwFlags);
}
HRESULT WINAPI
Thunk_DDrawSurface3_SetSurfaceDesc(LPDIRECTDRAWSURFACE3 iface,
LPDDSURFACEDESC pDDSD, DWORD dwFlags)
{
HRESULT retValue = DDERR_GENERIC;
DX_WINDBG_trace();
if (pDDSD != NULL)
{
DDSURFACEDESC2 pDDSD2;
ZeroMemory(&pDDSD2,sizeof(DDSURFACEDESC2));
memcpy(&pDDSD2, pDDSD, sizeof(DDSURFACEDESC));
pDDSD2.dwSize = sizeof(DDSURFACEDESC2);
retValue = Main_DDrawSurface_SetSurfaceDesc((LPDIRECTDRAWSURFACE7) iface, &pDDSD2, dwFlags);
memcpy(pDDSD, &pDDSD2, sizeof(DDSURFACEDESC));
pDDSD->dwSize = sizeof(DDSURFACEDESC);
}
else
{
retValue = Main_DDrawSurface_SetSurfaceDesc((LPDIRECTDRAWSURFACE7) iface, NULL, dwFlags);
}
return retValue;
}
IDirectDrawSurface3Vtbl DirectDrawSurface3_VTable =
{
Thunk_DDrawSurface3_QueryInterface,
Thunk_DDrawSurface3_AddRef,
Thunk_DDrawSurface3_Release,
Thunk_DDrawSurface3_AddAttachedSurface,
Thunk_DDrawSurface3_AddOverlayDirtyRect,
Thunk_DDrawSurface3_Blt,
Thunk_DDrawSurface3_BltBatch,
Thunk_DDrawSurface3_BltFast,
Thunk_DDrawSurface3_DeleteAttachedSurface,
Thunk_DDrawSurface3_EnumAttachedSurfaces,
Thunk_DDrawSurface3_EnumOverlayZOrders,
Thunk_DDrawSurface3_Flip,
Thunk_DDrawSurface3_GetAttachedSurface,
Thunk_DDrawSurface3_GetBltStatus,
Thunk_DDrawSurface3_GetCaps,
Thunk_DDrawSurface3_GetClipper,
Thunk_DDrawSurface3_GetColorKey,
Thunk_DDrawSurface3_GetDC,
Thunk_DDrawSurface3_GetFlipStatus,
Thunk_DDrawSurface3_GetOverlayPosition,
Thunk_DDrawSurface3_GetPalette,
Thunk_DDrawSurface3_GetPixelFormat,
Thunk_DDrawSurface3_GetSurfaceDesc,
Thunk_DDrawSurface3_Initialize,
Thunk_DDrawSurface3_IsLost,
Thunk_DDrawSurface3_Lock,
Thunk_DDrawSurface3_ReleaseDC,
Thunk_DDrawSurface3_Restore,
Thunk_DDrawSurface3_SetClipper,
Thunk_DDrawSurface3_SetColorKey,
Thunk_DDrawSurface3_SetOverlayPosition,
Thunk_DDrawSurface3_SetPalette,
Thunk_DDrawSurface3_Unlock,
Thunk_DDrawSurface3_UpdateOverlay,
Thunk_DDrawSurface3_UpdateOverlayDisplay,
Thunk_DDrawSurface3_UpdateOverlayZOrder,
Thunk_DDrawSurface3_GetDDInterface,
Thunk_DDrawSurface3_PageLock,
Thunk_DDrawSurface3_PageUnlock,
Thunk_DDrawSurface3_SetSurfaceDesc
};