gdiplus: stub for GdipGetNearestColor (bug 8178)

Nikolay Sivov bunglehead at gmail.com
Thu Dec 11 01:34:46 CST 2008


Changelog:
    - stub for GdipGetNearestColor (bug 8178)

>From f361bba51ea1c154103dcb36813e80ffa2d19c59 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Thu, 11 Dec 2008 10:32:43 +0300
Subject:  stub for GdipGetNearestColor

---
 dlls/gdiplus/gdiplus.spec     |    2 +-
 dlls/gdiplus/graphics.c       |   13 +++++++++++++
 dlls/gdiplus/tests/graphics.c |    3 +++
 include/gdiplusflat.h         |    1 +
 4 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index b3d2103..9473f1b 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -320,7 +320,7 @@
 @ stdcall GdipGetMetafileHeaderFromMetafile(ptr ptr)
 @ stub GdipGetMetafileHeaderFromStream
 @ stub GdipGetMetafileHeaderFromWmf
-@ stub GdipGetNearestColor
+@ stdcall GdipGetNearestColor(ptr ptr)
 @ stdcall GdipGetPageScale(ptr ptr)
 @ stdcall GdipGetPageUnit(ptr ptr)
 @ stdcall GdipGetPathData(ptr ptr)
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index b9cb1c2..b19c7bb 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -2456,6 +2456,19 @@ GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics *graphics,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics *graphics, ARGB* argb)
+{
+    if(!graphics || !argb)
+        return InvalidParameter;
+
+    if(graphics->busy)
+        return ObjectBusy;
+
+    FIXME("(%p, %p): stub\n", graphics, argb);
+
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics *graphics, REAL *scale)
 {
     TRACE("(%p, %p)\n", graphics, scale);
diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c
index fd28d5e..fb98a38 100644
--- a/dlls/gdiplus/tests/graphics.c
+++ b/dlls/gdiplus/tests/graphics.c
@@ -485,6 +485,7 @@ static void test_Get_Release_DC(void)
     GpRegion *clip;
     INT i;
     BOOL res;
+    ARGB color = 0x00000000;
 
     pt[0].X = 10;
     pt[0].Y = 10;
@@ -658,6 +659,8 @@ static void test_Get_Release_DC(void)
     expect(ObjectBusy, status); status = Ok;
     status = GdipGetInterpolationMode(graphics, &intmode);
     expect(ObjectBusy, status); status = Ok;
+    status = GdipGetNearestColor(graphics, &color);
+    expect(ObjectBusy, status); status = Ok;
     status = GdipGetPageScale(graphics, &r);
     expect(ObjectBusy, status); status = Ok;
     status = GdipGetPageUnit(graphics, &unit);
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 1f93258..216b2f3 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -196,6 +196,7 @@ GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*);
 GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*);
 GpStatus WINGDIPAPI GdipGetImageGraphicsContext(GpImage*,GpGraphics**);
 GpStatus WINGDIPAPI GdipGetInterpolationMode(GpGraphics*,InterpolationMode*);
+GpStatus WINGDIPAPI GdipGetNearestColor(GpGraphics*,ARGB*);
 GpStatus WINGDIPAPI GdipGetPageScale(GpGraphics*,REAL*);
 GpStatus WINGDIPAPI GdipGetPageUnit(GpGraphics*,GpUnit*);
 GpStatus WINGDIPAPI GdipGetPixelOffsetMode(GpGraphics*,PixelOffsetMode*);
-- 
1.4.4.4






More information about the wine-patches mailing list