From: Alistair Leslie-Hughes Subject: [3/3] gdiplus: Add GdipCreateEffect tests (try 2) Message-Id: Date: Fri, 4 Sep 2015 18:44:31 +1000 Hi, Changelog: gdiplus: Add GdipCreateEffect tests Best Regards Alistair Leslie-Hughes From d534a573a32a2c4d390e838d2b87388b695a76d9 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 21 Aug 2015 09:24:03 +1000 Subject: [PATCH 3/3] gdiplus: Add GdipCreateEffect tests --- dlls/gdiplus/tests/image.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 1335d97..51b99a3 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -4629,6 +4629,47 @@ static void test_supported_encoders(void) GdipDisposeImage((GpImage *)bm); } +static void test_createeffect(void) +{ + static const GUID noneffect = { 0xcd0c3d4b, 0xe15e, 0x4cf2, { 0x9e, 0xa8, 0x6e, 0x1d, 0x65, 0x48, 0xc5, 0xa5 } }; + GpStatus (WINAPI *pGdipCreateEffect)( const GUID guid, CGpEffect **effect); + GpStatus (WINAPI *pGdipDeleteEffect)( CGpEffect *effect); + GpStatus stat; + CGpEffect *effect; + HMODULE mod = GetModuleHandleA("gdiplus.dll"); + int i; + const GUID effectlist[] = + {BlurEffectGuid, SharpenEffectGuid, ColorMatrixEffectGuid, ColorLUTEffectGuid, + BrightnessContrastEffectGuid, HueSaturationLightnessEffectGuid, LevelsEffectGuid, + TintEffectGuid, ColorBalanceEffectGuid, RedEyeCorrectionEffectGuid, ColorCurveEffectGuid}; + + pGdipCreateEffect = (void*)GetProcAddress( mod, "GdipCreateEffect"); + pGdipDeleteEffect = (void*)GetProcAddress( mod, "GdipDeleteEffect"); + if(!pGdipCreateEffect || !pGdipDeleteEffect) + { + /* GdipCreateEffect/GdipDeleteEffect was introduced in Windows Vista. */ + win_skip("GDIPlus version 1.1 not available\n"); + return; + } + + stat = pGdipCreateEffect(BlurEffectGuid, NULL); + expect(InvalidParameter, stat); + + stat = pGdipCreateEffect(noneffect, &effect); + todo_wine expect(Win32Error, stat); + + for(i=0; i < sizeof(effectlist) / sizeof(GUID); i++) + { + stat = pGdipCreateEffect(effectlist[i], &effect); + todo_wine expect(Ok, stat); + if(stat == Ok) + { + stat = pGdipDeleteEffect(effect); + expect(Ok, stat); + } + } +} + START_TEST(image) { struct GdiplusStartupInput gdiplusStartupInput; @@ -4683,6 +4724,7 @@ START_TEST(image) test_remaptable(); test_colorkey(); test_dispose(); + test_createeffect(); GdiplusShutdown(gdiplusToken); } -- 1.9.1