gdiplus: Implemented GdipVectorTransformMatrixPoints.

This commit is contained in:
Nikolay Sivov 2008-04-18 04:39:03 +04:00 committed by Alexandre Julliard
parent 685686aa9f
commit 256874426d
3 changed files with 22 additions and 1 deletions

View File

@ -619,7 +619,7 @@
@ stub GdipTranslateRegionI
@ stub GdipTranslateTextureTransform
@ stdcall GdipTranslateWorldTransform(ptr long long long)
@ stub GdipVectorTransformMatrixPoints
@ stdcall GdipVectorTransformMatrixPoints(ptr ptr long)
@ stub GdipVectorTransformMatrixPointsI
@ stub GdipWarpPath
@ stub GdipWidenPath

View File

@ -281,3 +281,23 @@ GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix *matrix, REAL offsetX,
return Ok;
}
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *pts, INT count)
{
REAL x, y;
INT i;
if(!matrix || !pts)
return InvalidParameter;
for(i = 0; i < count; i++)
{
x = pts[i].X;
y = pts[i].Y;
pts[i].X = x * matrix->matrix[0] + y * matrix->matrix[2];
pts[i].Y = x * matrix->matrix[1] + y * matrix->matrix[3];
}
return Ok;
}

View File

@ -229,6 +229,7 @@ GpStatus WINGDIPAPI GdipRotateMatrix(GpMatrix*,REAL,GpMatrixOrder);
GpStatus WINGDIPAPI GdipScaleMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
GpStatus WINGDIPAPI GdipSetMatrixElements(GpMatrix*,REAL,REAL,REAL,REAL,REAL,REAL);
GpStatus WINGDIPAPI GdipTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix*,GpPointF*,INT);
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);