[ros-diffs] [jimtabor] 37221: - Make sure we process path for Rectangles and Polygons.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Thu Nov 6 03:36:11 CET 2008


Author: jimtabor
Date: Wed Nov  5 20:36:10 2008
New Revision: 37221

URL: http://svn.reactos.org/svn/reactos?rev=37221&view=rev
Log:
- Make sure we process path for Rectangles and Polygons.

Modified:
    trunk/reactos/subsystems/win32/win32k/objects/fillshap.c
    trunk/reactos/subsystems/win32/win32k/objects/path.c
    trunk/reactos/subsystems/win32/win32k/objects/region.c

Modified: trunk/reactos/subsystems/win32/win32k/objects/fillshap.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/fillshap.c?rev=37221&r1=37220&r2=37221&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/fillshap.c [iso-8859-1] Wed Nov  5 20:36:10 2008
@@ -506,20 +506,23 @@
     Dc_Attr = dc->pDc_Attr;
     if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr;
 
-    if ( PATH_IsPathOpen(dc->DcLevel) )
-    {
-        return PATH_Rectangle ( dc, LeftRect, TopRect, RightRect, BottomRect );
-    }
-
     /* Do we rotate or shear? */
     if (!(dc->DcLevel.mxWorldToDevice.flAccel & MX_SCALE))
     {
+
         POINTL DestCoords[4];
+        ULONG  PolyCounts = 4;
         DestCoords[0].x = DestCoords[3].x = LeftRect;
         DestCoords[0].y = DestCoords[1].y = TopRect;
         DestCoords[1].x = DestCoords[2].x = RightRect;
         DestCoords[2].y = DestCoords[3].y = BottomRect;
-        return IntGdiPolygon(dc, DestCoords, 4);
+        // Use IntGdiPolyPolygon so to support PATH.
+        return IntGdiPolyPolygon(dc, DestCoords, &PolyCounts, 1);
+    }
+    // Rectangle Path only.
+    if ( PATH_IsPathOpen(dc->DcLevel) )
+    {
+        return PATH_Rectangle ( dc, LeftRect, TopRect, RightRect, BottomRect );
     }
 
     DestRect.left = LeftRect;

Modified: trunk/reactos/subsystems/win32/win32k/objects/path.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/path.c?rev=37221&r1=37220&r2=37221&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/path.c [iso-8859-1] Wed Nov  5 20:36:10 2008
@@ -140,7 +140,7 @@
     /* Restore the old mapping mode */
 //    IntGdiSetMapMode( dc, mapMode );
 //    Dc_Attr->szlViewportExt = ptViewportExt;
-//   Dc_Attr->ptlViewportOrg = ptViewportOrg;
+//    Dc_Attr->ptlViewportOrg = ptViewportOrg;
 //    Dc_Attr->szlWindowExt   = ptWindowExt;
 //    Dc_Attr->ptlWindowOrg   = ptWindowOrg;
 

Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/region.c?rev=37221&r1=37220&r2=37221&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/region.c [iso-8859-1] Wed Nov  5 20:36:10 2008
@@ -2501,6 +2501,7 @@
     NTSTATUS Status = STATUS_SUCCESS;
     MATRIX matrix;
 
+    DPRINT("NtGdiExtCreateRegion\n");
     _SEH_TRY
     {
         ProbeForRead(RgnData, Count, 1);



More information about the Ros-diffs mailing list