[2/2] gdiplus: stubs for GdipIsVisiblePoint/GdipIsVisiblePointI

Nikolay Sivov bunglehead at gmail.com
Fri Sep 26 13:59:36 CDT 2008


Changelog:
    - stubs for GdipIsVisiblePoint/GdipIsVisiblePointI. Bug 12495.

>From e6af328fb527a0028371d568d8611686c24549d5 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Fri, 26 Sep 2008 22:34:39 +0400
Subject:  Stubs for GdipIsVisiblePoint/GdipIsVisiblePointI

---
 dlls/gdiplus/gdiplus.spec     |    4 ++--
 dlls/gdiplus/graphics.c       |   26 ++++++++++++++++++++++++++
 dlls/gdiplus/tests/graphics.c |    5 +++++
 include/gdiplusflat.h         |    2 ++
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 7244a81..8d13a19 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -427,8 +427,8 @@
 @ stub GdipIsVisibleClipEmpty
 @ stdcall GdipIsVisiblePathPoint(ptr long long ptr ptr)
 @ stdcall GdipIsVisiblePathPointI(ptr long long ptr ptr)
-@ stub GdipIsVisiblePoint
-@ stub GdipIsVisiblePointI
+@ stdcall GdipIsVisiblePoint(ptr long long ptr)
+@ stdcall GdipIsVisiblePointI(ptr long long ptr)
 @ stub GdipIsVisibleRect
 @ stub GdipIsVisibleRectI
 @ stub GdipIsVisibleRegionPoint
diff --git a/dlls/gdiplus/graphics.c b/dlls/gdiplus/graphics.c
index 3b5d8f0..03b0994 100644
--- a/dlls/gdiplus/graphics.c
+++ b/dlls/gdiplus/graphics.c
@@ -2583,6 +2583,32 @@ GpStatus WINGDIPAPI GdipIsClipEmpty(GpGraphics *graphics, BOOL *res)
     return GdipIsEmptyRegion(graphics->clip, graphics, res);
 }
 
+GpStatus WINGDIPAPI GdipIsVisiblePoint(GpGraphics *graphics, REAL x, REAL y, BOOL *result)
+{
+    FIXME("(%p, %.2f, %.2f, %p) stub\n", graphics, x, y, result);
+
+    if(!graphics || !result)
+        return InvalidParameter;
+
+    if(graphics->busy)
+        return ObjectBusy;
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipIsVisiblePointI(GpGraphics *graphics, INT x, INT y, BOOL *result)
+{
+    FIXME("(%p, %d, %d, %p) stub\n", graphics, x, y, result);
+
+    if(!graphics || !result)
+        return InvalidParameter;
+
+    if(graphics->busy)
+        return ObjectBusy;
+
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipMeasureCharacterRanges(GpGraphics* graphics,
         GDIPCONST WCHAR* string, INT length, GDIPCONST GpFont* font,
         GDIPCONST RectF* layoutRect, GDIPCONST GpStringFormat *stringFormat,
diff --git a/dlls/gdiplus/tests/graphics.c b/dlls/gdiplus/tests/graphics.c
index 6f38446..1b4e310 100644
--- a/dlls/gdiplus/tests/graphics.c
+++ b/dlls/gdiplus/tests/graphics.c
@@ -487,6 +487,7 @@ static void test_Get_Release_DC(void)
     GpRect   rect[2];
     GpRegion *clip;
     INT i;
+    BOOL res;
 
     pt[0].X = 10;
     pt[0].Y = 10;
@@ -674,6 +675,10 @@ static void test_Get_Release_DC(void)
     expect(ObjectBusy, status); status = Ok;
     status = GdipGraphicsClear(graphics, 0xdeadbeef);
     expect(ObjectBusy, status); status = Ok;
+    status = GdipIsVisiblePoint(graphics, 0.0, 0.0, &res);
+    expect(ObjectBusy, status); status = Ok;
+    status = GdipIsVisiblePointI(graphics, 0, 0, &res);
+    expect(ObjectBusy, status); status = Ok;
     /* GdipMeasureCharacterRanges */
     /* GdipMeasureString */
     status = GdipResetClip(graphics);
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 7b36a73..8df65f4 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -537,6 +537,8 @@ GpStatus WINGDIPAPI GdipSetClipPath(GpGraphics*,GpPath*,CombineMode);
 GpStatus WINGDIPAPI GdipSetClipRect(GpGraphics*,REAL,REAL,REAL,REAL,CombineMode);
 GpStatus WINGDIPAPI GdipSetClipRectI(GpGraphics*,INT,INT,INT,INT,CombineMode);
 GpStatus WINGDIPAPI GdipFillRegion(GpGraphics*,GpBrush*,GpRegion*);
+GpStatus WINGDIPAPI GdipIsVisiblePoint(GpGraphics*,REAL,REAL,BOOL*);
+GpStatus WINGDIPAPI GdipIsVisiblePointI(GpGraphics*,INT,INT,BOOL*);
 
 GpStatus WINGDIPAPI GdipCreateAdjustableArrowCap(REAL,REAL,BOOL,GpAdjustableArrowCap**);
 GpStatus WINGDIPAPI GdipGetAdjustableArrowCapFillState(GpAdjustableArrowCap*,BOOL*);
-- 
1.4.4.4






More information about the wine-patches mailing list