Author: akhaldi Date: Wed Mar 2 10:34:40 2016 New Revision: 70862
URL: http://svn.reactos.org/svn/reactos?rev=70862&view=rev Log: [GDIPLUS] Sync with Wine Staging 1.9.4. CORE-10912
Modified: trunk/reactos/dll/win32/gdiplus/gdiplus_private.h trunk/reactos/dll/win32/gdiplus/graphicspath.c trunk/reactos/dll/win32/gdiplus/pen.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/gdiplus/gdiplus_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/gdiplus_p... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/gdiplus_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/gdiplus_private.h [iso-8859-1] Wed Mar 2 10:34:40 2016 @@ -205,6 +205,7 @@ REAL offset; /* dash offset */ GpBrush *brush; GpPenAlignment align; + GpMatrix transform; };
struct GpGraphics{
Modified: trunk/reactos/dll/win32/gdiplus/graphicspath.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/graphicsp... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/graphicspath.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/graphicspath.c [iso-8859-1] Wed Mar 2 10:34:40 2016 @@ -2060,7 +2060,7 @@ 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; @@ -2133,6 +2133,9 @@
GdipDeletePath(flat_path);
+ if (status == Ok && pen->unit != UnitPixel) + status = GdipTransformPath(path, matrix); + return status; }
Modified: trunk/reactos/dll/win32/gdiplus/pen.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdiplus/pen.c?rev... ============================================================================== --- trunk/reactos/dll/win32/gdiplus/pen.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdiplus/pen.c [iso-8859-1] Wed Mar 2 10:34:40 2016 @@ -159,6 +159,7 @@ 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"); @@ -406,47 +407,43 @@
GpStatus WINGDIPAPI GdipResetPenTransform(GpPen *pen) { + TRACE("(%p)\n", pen); + + if(!pen) + return InvalidParameter; + + GdipSetMatrixElements(&pen->transform, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0); + + return Ok; +} + +GpStatus WINGDIPAPI GdipSetPenTransform(GpPen *pen, GpMatrix *matrix) +{ static int calls;
- TRACE("(%p)\n", pen); - - if(!pen) + TRACE("(%p,%p)\n", pen, matrix); + + if(!pen || !matrix) return InvalidParameter;
if(!(calls++)) - FIXME("(%p) stub\n", pen); - - return NotImplemented; -} - -GpStatus WINGDIPAPI GdipSetPenTransform(GpPen *pen, GpMatrix *matrix) -{ - static int calls; - + FIXME("(%p,%p) Semi-stub\n", pen, matrix); + + pen->transform = *matrix; + + return Ok; +} + +GpStatus WINGDIPAPI GdipGetPenTransform(GpPen *pen, GpMatrix *matrix) +{ TRACE("(%p,%p)\n", pen, matrix);
if(!pen || !matrix) return InvalidParameter;
- if(!(calls++)) - FIXME("not implemented\n"); - - return NotImplemented; -} - -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"); - - return NotImplemented; + *matrix = pen->transform; + + return Ok; }
GpStatus WINGDIPAPI GdipTranslatePenTransform(GpPen *pen, REAL dx, REAL dy, GpMatrixOrder order)
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Mar 2 10:34:40 2016 @@ -68,7 +68,7 @@ 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