From 8485eb02dc8f7386caab4ad68433ab601c352872 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Brammer?= Date: Thu, 21 Dec 2006 00:06:03 +0100 Subject: [PATCH] ddraw: Add a test for IDirectDrawSurface_SetColorKey. --- dlls/ddraw/tests/dsurface.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c index 3d70f82faf2..792a01457c5 100644 --- a/dlls/ddraw/tests/dsurface.c +++ b/dlls/ddraw/tests/dsurface.c @@ -167,6 +167,7 @@ static void SrcColorKey32BlitTest(void) LPDIRECTDRAWSURFACE lpDst; DDSURFACEDESC ddsd; DDSURFACEDESC ddsd2; + DDCOLORKEY DDColorKey; LPDWORD lpData; HRESULT rc; @@ -223,6 +224,27 @@ static void SrcColorKey32BlitTest(void) rc = IDirectDrawSurface_Unlock(lpDst, NULL); ok(rc==DD_OK,"Unlock returned: %x\n",rc); + /* Also test SetColorKey */ + IDirectDrawSurface_GetColorKey(lpSrc, DDCKEY_SRCBLT, &DDColorKey); + ok(DDColorKey.dwColorSpaceLowValue == 0xFF00FF && DDColorKey.dwColorSpaceHighValue == 0xFF00FF, + "GetColorKey does not return the colorkey used at surface creation\n"); + + DDColorKey.dwColorSpaceLowValue = 0x00FF00; + DDColorKey.dwColorSpaceHighValue = 0x00FF00; + IDirectDrawSurface_SetColorKey(lpSrc, DDCKEY_SRCBLT, &DDColorKey); + + DDColorKey.dwColorSpaceLowValue = 0; + DDColorKey.dwColorSpaceHighValue = 0; + IDirectDrawSurface_GetColorKey(lpSrc, DDCKEY_SRCBLT, &DDColorKey); + ok(DDColorKey.dwColorSpaceLowValue == 0x00FF00 && DDColorKey.dwColorSpaceHighValue == 0x00FF00, + "GetColorKey does not return the colorkey set with SetColorKey\n"); + + ddsd.ddckCKSrcBlt.dwColorSpaceLowValue = 0; + ddsd.ddckCKSrcBlt.dwColorSpaceHighValue = 0; + IDirectDrawSurface_GetSurfaceDesc(lpSrc, &ddsd); + ok(ddsd.ddckCKSrcBlt.dwColorSpaceLowValue == 0x00FF00 && ddsd.ddckCKSrcBlt.dwColorSpaceHighValue == 0x00FF00, + "GetSurfaceDesc does not return the colorkey set with SetColorKey\n"); + IDirectDrawSurface_Release(lpSrc); IDirectDrawSurface_Release(lpDst); }