gdiplus: Implemented GdipVectorTransformMatrixPointsI.
This commit is contained in:
parent
9462190b99
commit
f649c9d224
|
@ -620,7 +620,7 @@
|
|||
@ stub GdipTranslateTextureTransform
|
||||
@ stdcall GdipTranslateWorldTransform(ptr long long long)
|
||||
@ stdcall GdipVectorTransformMatrixPoints(ptr ptr long)
|
||||
@ stub GdipVectorTransformMatrixPointsI
|
||||
@ stdcall GdipVectorTransformMatrixPointsI(ptr ptr long)
|
||||
@ stub GdipWarpPath
|
||||
@ stub GdipWidenPath
|
||||
@ stub GdipWindingModeOutline
|
||||
|
|
|
@ -301,3 +301,30 @@ GpStatus WINGDIPAPI GdipVectorTransformMatrixPoints(GpMatrix *matrix, GpPointF *
|
|||
|
||||
return Ok;
|
||||
}
|
||||
|
||||
GpStatus WINGDIPAPI GdipVectorTransformMatrixPointsI(GpMatrix *matrix, GpPoint *pts, INT count)
|
||||
{
|
||||
GpPointF *ptsF;
|
||||
GpStatus ret;
|
||||
INT i;
|
||||
|
||||
ptsF = GdipAlloc(sizeof(GpPointF) * count);
|
||||
if(!ptsF)
|
||||
return OutOfMemory;
|
||||
|
||||
for(i = 0; i < count; i++){
|
||||
ptsF[i].X = (REAL)pts[i].X;
|
||||
ptsF[i].Y = (REAL)pts[i].Y;
|
||||
}
|
||||
|
||||
ret = GdipVectorTransformMatrixPoints(matrix, ptsF, count);
|
||||
/* store back */
|
||||
if(ret == Ok)
|
||||
for(i = 0; i < count; i++){
|
||||
pts[i].X = roundr(ptsF[i].X);
|
||||
pts[i].Y = roundr(ptsF[i].Y);
|
||||
}
|
||||
GdipFree(ptsF);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -230,6 +230,7 @@ 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 GdipVectorTransformMatrixPointsI(GpMatrix*,GpPoint*,INT);
|
||||
GpStatus WINGDIPAPI GdipTranslateMatrix(GpMatrix*,REAL,REAL,GpMatrixOrder);
|
||||
|
||||
GpStatus WINGDIPAPI GdipCreatePathIter(GpPathIterator**,GpPath*);
|
||||
|
|
Loading…
Reference in New Issue