@ stub GdipTranslateRegionI
@ stub GdipTranslateTextureTransform
@ stdcall GdipTranslateWorldTransform(ptr long long long)
-@ stub GdipVectorTransformMatrixPoints
+@ stdcall GdipVectorTransformMatrixPoints(ptr ptr long)
@ stub GdipVectorTransformMatrixPointsI
@ stub GdipWarpPath
@ stub GdipWidenPath
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;
+}
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*);