gdiplus: Added GdipAddPathPath.

This commit is contained in:
Evan Stade 2007-07-12 19:43:15 -07:00 committed by Alexandre Julliard
parent d174bcc8a6
commit c41a77a358
3 changed files with 31 additions and 1 deletions

View File

@ -20,7 +20,7 @@
@ stub GdipAddPathLine2I
@ stub GdipAddPathLine
@ stub GdipAddPathLineI
@ stub GdipAddPathPath
@ stdcall GdipAddPathPath(ptr ptr long)
@ stub GdipAddPathPie
@ stub GdipAddPathPieI
@ stub GdipAddPathPolygon

View File

@ -123,6 +123,35 @@ GpStatus WINGDIPAPI GdipAddPathLine2(GpPath *path, GDIPCONST GpPointF *points,
return Ok;
}
GpStatus WINGDIPAPI GdipAddPathPath(GpPath *path, GDIPCONST GpPath* addingPath,
BOOL connect)
{
INT old_count, count;
if(!path || !addingPath)
return InvalidParameter;
old_count = path->pathdata.Count;
count = addingPath->pathdata.Count;
if(!lengthen_path(path, count))
return OutOfMemory;
memcpy(&path->pathdata.Points[old_count], addingPath->pathdata.Points,
count * sizeof(GpPointF));
memcpy(&path->pathdata.Types[old_count], addingPath->pathdata.Types, count);
if(path->newfigure || !connect)
path->pathdata.Types[old_count] = PathPointTypeStart;
else
path->pathdata.Types[old_count] = PathPointTypeLine;
path->newfigure = FALSE;
path->pathdata.Count += count;
return Ok;
}
GpStatus WINGDIPAPI GdipClosePathFigure(GpPath* path)
{
if(!path)

View File

@ -52,6 +52,7 @@ GpStatus WINGDIPAPI GdipDeleteBrush(GpBrush*);
GpStatus WINGDIPAPI GdipAddPathArc(GpPath*,REAL,REAL,REAL,REAL,REAL,REAL);
GpStatus WINGDIPAPI GdipAddPathLine2(GpPath*,GDIPCONST GpPointF*,INT);
GpStatus WINGDIPAPI GdipAddPathPath(GpPath*,GDIPCONST GpPath*,BOOL);
GpStatus WINGDIPAPI GdipClosePathFigure(GpPath*);
GpStatus WINGDIPAPI GdipClosePathFigures(GpPath*);
GpStatus WINGDIPAPI GdipCreatePath(GpFillMode,GpPath**);