status = GdipClonePath(path, &flat_path);
if (status == Ok)
- status = GdipFlattenPath(flat_path, matrix, flatness);
+ status = GdipFlattenPath(flat_path, pen->unit == UnitPixel ? matrix : NULL, flatness);
if (status == Ok && !init_path_list(&points, 314.0, 22.0))
status = OutOfMemory;
GdipDeletePath(flat_path);
+ if (status == Ok && pen->unit != UnitPixel)
+ status = GdipTransformPath(path, matrix);
+
return status;
}
gp_pen->offset = 0.0;
gp_pen->customstart = NULL;
gp_pen->customend = NULL;
+ GdipSetMatrixElements(&gp_pen->transform, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
if(!((gp_pen->unit == UnitWorld) || (gp_pen->unit == UnitPixel))) {
FIXME("UnitWorld, UnitPixel only supported units\n");
GpStatus WINGDIPAPI GdipResetPenTransform(GpPen *pen)
{
- static int calls;
-
TRACE("(%p)\n", pen);
if(!pen)
return InvalidParameter;
- if(!(calls++))
- FIXME("(%p) stub\n", pen);
+ GdipSetMatrixElements(&pen->transform, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0);
- return NotImplemented;
+ return Ok;
}
GpStatus WINGDIPAPI GdipSetPenTransform(GpPen *pen, GpMatrix *matrix)
return InvalidParameter;
if(!(calls++))
- FIXME("not implemented\n");
+ FIXME("(%p,%p) Semi-stub\n", pen, matrix);
- return NotImplemented;
+ pen->transform = *matrix;
+
+ return Ok;
}
GpStatus WINGDIPAPI GdipGetPenTransform(GpPen *pen, GpMatrix *matrix)
{
- static int calls;
-
TRACE("(%p,%p)\n", pen, matrix);
if(!pen || !matrix)
return InvalidParameter;
- if(!(calls++))
- FIXME("not implemented\n");
+ *matrix = pen->transform;
- return NotImplemented;
+ return Ok;
}
GpStatus WINGDIPAPI GdipTranslatePenTransform(GpPen *pen, REAL dx, REAL dy, GpMatrixOrder order)
reactos/dll/win32/faultrep # Synced to WineStaging-1.7.55
reactos/dll/win32/fltlib # Synced to WineStaging-1.7.55
reactos/dll/win32/fusion # Synced to WineStaging-1.9.4
-reactos/dll/win32/gdiplus # Synced to WineStaging-1.7.55
+reactos/dll/win32/gdiplus # Synced to WineStaging-1.9.4
reactos/dll/win32/hhctrl.ocx # Synced to WineStaging-1.7.55
reactos/dll/win32/hlink # Synced to WineStaging-1.7.55
reactos/dll/win32/hnetcfg # Synced to WineStaging-1.7.55