Module: wine Branch: master Commit: d215b4744ba09f49aa0d180e1a23782bcebfd871 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d215b4744ba09f49aa0d180e1a...
Author: Adam Petaccia adam@tpetaccia.com Date: Mon Aug 4 13:56:37 2008 -0400
gdiplus: Implement GdipCreateRegionRect.
---
dlls/gdiplus/region.c | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c index e2be5f5..64ac9a5 100644 --- a/dlls/gdiplus/region.c +++ b/dlls/gdiplus/region.c @@ -332,12 +332,30 @@ GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *path, GpRegion **region) return Ok; }
-GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region) +GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, + GpRegion **region) { - FIXME("(%p, %p): stub\n", rect, region); + GpStatus stat;
- *region = NULL; - return NotImplemented; + TRACE("%p, %p\n", rect, region); + + if (!(rect && region)) + return InvalidParameter; + + *region = GdipAlloc(sizeof(GpRegion)); + stat = init_region(*region, RegionDataRect); + if(stat != Ok) + { + GdipDeleteRegion(*region); + return stat; + } + + (*region)->node.elementdata.rect.X = rect->X; + (*region)->node.elementdata.rect.Y = rect->Y; + (*region)->node.elementdata.rect.Width = rect->Width; + (*region)->node.elementdata.rect.Height = rect->Height; + + return Ok; }
GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **region)