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_…
==============================================================================
--- 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/graphics…
==============================================================================
--- 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?re…
==============================================================================
--- 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=…
==============================================================================
--- 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