Module: wine Branch: master Commit: d923d78e9549d6460925f4055d710063b4fc3152 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d923d78e9549d6460925f4055d...
Author: Nikolay Sivov bunglehead@gmail.com Date: Sun Sep 7 01:40:26 2008 +0400
gdiplus: Partially implemented GdipTestControl.
---
dlls/gdiplus/gdiplus.spec | 2 +- dlls/gdiplus/image.c | 21 +++++++++++++++++++++ dlls/gdiplus/tests/image.c | 12 ++++++++++++ include/gdiplusenums.h | 8 ++++++++ include/gdiplusflat.h | 2 ++ 5 files changed, 44 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index f7b1d5d..9eafbde 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -602,7 +602,7 @@ @ stdcall GdipStartPathFigure(ptr) @ stdcall GdipStringFormatGetGenericDefault(ptr) @ stdcall GdipStringFormatGetGenericTypographic(ptr) -@ stub GdipTestControl +@ stdcall GdipTestControl(long ptr) @ stdcall GdipTransformMatrixPoints(ptr ptr long) @ stdcall GdipTransformMatrixPointsI(ptr ptr long) @ stdcall GdipTransformPath(ptr ptr) diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index bcdc64f..61dade9 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -1280,3 +1280,24 @@ GpStatus WINGDIPAPI GdipGetImageFlags(GpImage *image, UINT *flags)
return Ok; } + +GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum control, void *param) +{ + TRACE("(%d, %p)\n", control, param); + + switch(control){ + case TestControlForceBilinear: + if(param) + FIXME("TestControlForceBilinear not handled\n"); + break; + case TestControlNoICM: + if(param) + FIXME("TestControlNoICM not handled\n"); + break; + case TestControlGetBuildNumber: + *((DWORD*)param) = 3102; + break; + } + + return Ok; +} diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 46e63f2..5d8c535 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -518,6 +518,17 @@ static void test_GdipCloneImage(void) expect(Ok, stat); }
+static void test_testcontrol(void) +{ + GpStatus stat; + DWORD param; + + param = 0; + stat = GdipTestControl(TestControlGetBuildNumber, ¶m); + expect(Ok, stat); + ok(param != 0, "Build number expected, got %u\n", param); +} + START_TEST(image) { struct GdiplusStartupInput gdiplusStartupInput; @@ -540,6 +551,7 @@ START_TEST(image) test_GdipCreateBitmapFromHBITMAP(); test_GdipGetImageFlags(); test_GdipCloneImage(); + test_testcontrol();
GdiplusShutdown(gdiplusToken); } diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h index bc52bd5..f3cdad8 100644 --- a/include/gdiplusenums.h +++ b/include/gdiplusenums.h @@ -329,6 +329,13 @@ enum CoordinateSpace CoordinateSpaceDevice };
+enum GpTestControlEnum +{ + TestControlForceBilinear = 0, + TestControlNoICM = 1, + TestControlGetBuildNumber = 2 +}; + #ifndef __cplusplus
typedef enum Unit Unit; @@ -364,6 +371,7 @@ typedef enum ImageCodecFlags ImageCodecFlags; typedef enum CombineMode CombineMode; typedef enum FlushIntention FlushIntention; typedef enum CoordinateSpace CoordinateSpace; +typedef enum GpTestControlEnum GpTestControlEnum;
#endif /* end of c typedefs */
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index cbb59e5..03980ea 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -537,6 +537,8 @@ GpStatus WINGDIPAPI GdipSetAdjustableArrowCapHeight(GpAdjustableArrowCap*,REAL); GpStatus WINGDIPAPI GdipSetAdjustableArrowCapMiddleInset(GpAdjustableArrowCap*,REAL); GpStatus WINGDIPAPI GdipSetAdjustableArrowCapWidth(GpAdjustableArrowCap*,REAL);
+GpStatus WINGDIPAPI GdipTestControl(GpTestControlEnum,void*); + #ifdef __cplusplus } #endif