From 9dbe363154b2a490c0cfdd048497bbd6ae89613e Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sat, 12 May 2007 17:48:27 +0000 Subject: [PATCH] implement internal api CopyDDSurfDescToDDSurfDesc2 svn path=/trunk/; revision=26735 --- reactos/dll/directx/ddraw/Ddraw/ddraw_main.c | 6 +----- reactos/dll/directx/ddraw/Surface/createsurface.c | 7 +++++++ reactos/dll/directx/ddraw/rosdraw.h | 3 +++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c index 093afd9deb1..ef2dfd667aa 100644 --- a/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c +++ b/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c @@ -149,11 +149,7 @@ HRESULT WINAPI Main_DirectDraw_CreateSurface (LPDIRECTDRAW7 iface, LPDDSURFACEDE if (pDDSD->dwSize == sizeof(DDSURFACEDESC)) { - - RtlZeroMemory(&dd_desc_v2,sizeof(DDSURFACEDESC2)); - /* FIXME implement CopyDDSurfDescToDDSurfDesc2 - CopyDDSurfDescToDDSurfDesc2(&dd_desc_v2,pDDSD); - */ + CopyDDSurfDescToDDSurfDesc2(&dd_desc_v2,pDDSD); } else if (pDDSD->dwSize == sizeof(DDSURFACEDESC2)) { diff --git a/reactos/dll/directx/ddraw/Surface/createsurface.c b/reactos/dll/directx/ddraw/Surface/createsurface.c index eb6a5bd5e8a..f77811c6302 100644 --- a/reactos/dll/directx/ddraw/Surface/createsurface.c +++ b/reactos/dll/directx/ddraw/Surface/createsurface.c @@ -10,6 +10,13 @@ #include "rosdraw.h" +void CopyDDSurfDescToDDSurfDesc2(LPDDSURFACEDESC2 dst_pDesc, LPDDSURFACEDESC src_pDesc) +{ + RtlZeroMemory(dst_pDesc,sizeof(DDSURFACEDESC2)); + RtlCopyMemory(dst_pDesc,src_pDesc,sizeof(DDSURFACEDESC)); +} + + HRESULT CreatePrimarySurface(LPDDRAWI_DIRECTDRAW_INT This, LPDDRAWI_DDRAWSURFACE_INT *That, diff --git a/reactos/dll/directx/ddraw/rosdraw.h b/reactos/dll/directx/ddraw/rosdraw.h index fcbcb59781d..b0de077c4d6 100644 --- a/reactos/dll/directx/ddraw/rosdraw.h +++ b/reactos/dll/directx/ddraw/rosdraw.h @@ -25,6 +25,9 @@ HRESULT WINAPI StartDirectDrawHel(LPDIRECTDRAW* iface, BOOL reenable); HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex); HRESULT WINAPI ReCreateDirectDraw(LPDIRECTDRAW* iface); +/* convert DDSURFACEDESC to DDSURFACEDESC2 */ +void CopyDDSurfDescToDDSurfDesc2(LPDDSURFACEDESC2 dst_pDesc, LPDDSURFACEDESC src_pDesc); + /* DirectDraw Cleanup code only internal use */ VOID Cleanup(LPDIRECTDRAW7 iface);