Huw Davies : gdiplus: Add some more region stubs.

Alexandre Julliard julliard at winehq.org
Thu Jul 3 06:34:57 CDT 2008


Module: wine
Branch: master
Commit: 9c3c516cc2a63a4367bf8decf9d883745c6503cc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9c3c516cc2a63a4367bf8decf9d883745c6503cc

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Jul  2 11:53:54 2008 +0100

gdiplus: Add some more region stubs.

---

 dlls/gdiplus/gdiplus.spec |   24 ++++++------
 dlls/gdiplus/region.c     |   87 +++++++++++++++++++++++++++++++++++++++++++++
 include/gdiplusflat.h     |   12 ++++++
 3 files changed, 111 insertions(+), 12 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 4067873..7d38ab0 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -57,11 +57,11 @@
 @ stdcall GdipCloneMatrix(ptr ptr)
 @ stdcall GdipClonePath(ptr ptr)
 @ stdcall GdipClonePen(ptr ptr)
-@ stub GdipCloneRegion
+@ stdcall GdipCloneRegion(ptr ptr)
 @ stdcall GdipCloneStringFormat(ptr ptr)
 @ stdcall GdipClosePathFigure(ptr)
 @ stdcall GdipClosePathFigures(ptr)
-@ stub GdipCombineRegionPath
+@ stdcall GdipCombineRegionPath(ptr ptr long)
 @ stdcall GdipCombineRegionRect(ptr ptr long)
 @ stdcall GdipCombineRegionRectI(ptr ptr long)
 @ stdcall GdipCombineRegionRegion(ptr ptr long)
@@ -123,11 +123,11 @@
 @ stdcall GdipCreatePen1(long long long ptr)
 @ stdcall GdipCreatePen2(ptr long long ptr)
 @ stdcall GdipCreateRegion(ptr)
-@ stub GdipCreateRegionHrgn
+@ stdcall GdipCreateRegionHrgn(ptr ptr)
 @ stdcall GdipCreateRegionPath(ptr ptr)
 @ stdcall GdipCreateRegionRect(ptr ptr)
 @ stdcall GdipCreateRegionRectI(ptr ptr)
-@ stub GdipCreateRegionRgnData
+@ stdcall GdipCreateRegionRgnData(ptr long ptr)
 @ stdcall GdipCreateSolidFill(long ptr)
 @ stdcall GdipCreateStreamOnFile(ptr long ptr)
 @ stdcall GdipCreateStringFormat(long long ptr)
@@ -375,8 +375,8 @@
 @ stub GdipGetPropertyItem
 @ stdcall GdipGetPropertyItemSize(ptr long ptr)
 @ stub GdipGetPropertySize
-@ stub GdipGetRegionBounds
-@ stub GdipGetRegionBoundsI
+@ stdcall GdipGetRegionBounds(ptr ptr ptr)
+@ stdcall GdipGetRegionBoundsI(ptr ptr ptr)
 @ stdcall GdipGetRegionData(ptr ptr long ptr)
 @ stdcall GdipGetRegionDataSize(ptr ptr)
 @ stdcall GdipGetRegionHRgn(ptr ptr ptr)
@@ -415,9 +415,9 @@
 @ stub GdipInitializePalette
 @ stub GdipInvertMatrix
 @ stub GdipIsClipEmpty
-@ stub GdipIsEmptyRegion
-@ stub GdipIsEqualRegion
-@ stub GdipIsInfiniteRegion
+@ stdcall GdipIsEmptyRegion(ptr ptr ptr)
+@ stdcall GdipIsEqualRegion(ptr ptr ptr ptr)
+@ stdcall GdipIsInfiniteRegion(ptr ptr ptr)
 @ stdcall GdipIsMatrixEqual(ptr ptr ptr)
 @ stdcall GdipIsMatrixIdentity(ptr ptr)
 @ stub GdipIsMatrixInvertible
@@ -608,15 +608,15 @@
 @ stdcall GdipTransformPath(ptr ptr)
 @ stub GdipTransformPoints
 @ stub GdipTransformPointsI
-@ stub GdipTransformRegion
+@ stdcall GdipTransformRegion(ptr ptr)
 @ stub GdipTranslateClip
 @ stub GdipTranslateClipI
 @ stub GdipTranslateLineTransform
 @ stdcall GdipTranslateMatrix(ptr long long long)
 @ stub GdipTranslatePathGradientTransform
 @ stub GdipTranslatePenTransform
-@ stub GdipTranslateRegion
-@ stub GdipTranslateRegionI
+@ stdcall GdipTranslateRegion(ptr long long)
+@ stdcall GdipTranslateRegionI(ptr long long)
 @ stub GdipTranslateTextureTransform
 @ stdcall GdipTranslateWorldTransform(ptr long long long)
 @ stdcall GdipVectorTransformMatrixPoints(ptr ptr long)
diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c
index 92239ff..3d95723 100644
--- a/dlls/gdiplus/region.c
+++ b/dlls/gdiplus/region.c
@@ -67,6 +67,20 @@ WINE_DEFAULT_DEBUG_CHANNEL(gdiplus);
  *
  */
 
+GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **clone)
+{
+    FIXME("(%p %p): stub\n", region, clone);
+
+    *clone = NULL;
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode mode)
+{
+    FIXME("(%p %p %d): stub\n", region, path, mode);
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *region, GDIPCONST GpRectF *rect,
                                           CombineMode mode)
 {
@@ -120,12 +134,42 @@ GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **reg
     return NotImplemented;
 }
 
+GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *data, INT size, GpRegion **region)
+{
+    FIXME("(%p, %d, %p): stub\n", data, size, region);
+
+    *region = NULL;
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN hrgn, GpRegion **region)
+{
+    FIXME("(%p, %p): stub\n", hrgn, region);
+
+    *region = NULL;
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *region)
 {
     FIXME("(%p): stub\n", region);
     return NotImplemented;
 }
 
+GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics, GpRectF *rect)
+{
+    FIXME("(%p, %p, %p): stub\n", region, graphics, rect);
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *region, GpGraphics *graphics, GpRect *rect)
+{
+    FIXME("(%p, %p, %p): stub\n", region, graphics, rect);
+
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *region, BYTE *buffer, UINT size, UINT *needed)
 {
     FIXME("(%p, %p, %d, %p): stub\n", region, buffer, size, needed);
@@ -148,6 +192,28 @@ GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HR
     return NotImplemented;
 }
 
+GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics, BOOL *res)
+{
+    FIXME("(%p, %p, %p): stub\n", region, graphics, res);
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *region, GpRegion *region2, GpGraphics *graphics,
+                                      BOOL *res)
+{
+    FIXME("(%p, %p, %p, %p): stub\n", region, region2, graphics, res);
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *region, GpGraphics *graphics, BOOL *res)
+{
+    FIXME("(%p, %p, %p): stub\n", region, graphics, res);
+
+    return NotImplemented;
+}
+
 GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *region)
 {
     static int calls;
@@ -167,3 +233,24 @@ GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *region)
 
     return NotImplemented;
 }
+
+GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *region, GpMatrix *matrix)
+{
+    FIXME("(%p, %p): stub\n", region, matrix);
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *region, REAL dx, REAL dy)
+{
+    FIXME("(%p, %f, %f): stub\n", region, dx, dy);
+
+    return NotImplemented;
+}
+
+GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *region, INT dx, INT dy)
+{
+    FIXME("(%p, %d, %d): stub\n", region, dx, dy);
+
+    return NotImplemented;
+}
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index 4a5146c..9799296 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -391,6 +391,8 @@ GpStatus WINGDIPAPI GdipCloneStringFormat(GDIPCONST GpStringFormat*,GpStringForm
 GpStatus WINGDIPAPI GdipGetDpiX(GpGraphics*,REAL*);
 GpStatus WINGDIPAPI GdipGetDpiY(GpGraphics*,REAL*);
 
+GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *, GpRegion **);
+GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *, GpPath *, CombineMode);
 GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *, GDIPCONST GpRectF *, CombineMode);
 GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *, GDIPCONST GpRect *, CombineMode);
 GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *, GpRegion *, CombineMode);
@@ -398,12 +400,22 @@ GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **);
 GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *, GpRegion **);
 GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *, GpRegion **);
 GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *, GpRegion **);
+GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *, INT, GpRegion **);
+GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN, GpRegion **);
 GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *);
+GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *, GpGraphics *, GpRectF *);
+GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *, GpGraphics *, GpRect *);
 GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *, BYTE *, UINT, UINT *);
 GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *, UINT *);
 GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *, GpGraphics *, HRGN *);
+GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *, GpGraphics *, BOOL *);
+GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *, GpRegion *, GpGraphics *, BOOL *);
+GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *, GpGraphics *, BOOL *);
 GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *);
 GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *);
+GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *, GpMatrix *);
+GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *, REAL, REAL);
+GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *, INT, INT);
 
 GpStatus WINGDIPAPI GdipFlush(GpGraphics*, GpFlushIntention);
 




More information about the wine-cvs mailing list