[GDI] - Add type for setting world transform modification modes.
authorjimtabor <james.tabor@reactos.org>
Fri, 24 Nov 2017 23:22:43 +0000 (17:22 -0600)
committerjimtabor <james.tabor@reactos.org>
Fri, 24 Nov 2017 23:22:43 +0000 (17:22 -0600)
References:
https://msdn.microsoft.com/en-us/library/cc230538.aspx
https://github.com/KDE/krita/blob/master/libs/vectorimage/libemf/EmfEnums.h

win32ss/gdi/gdi32/objects/coord.c
win32ss/gdi/ntgdi/coord.c
win32ss/gdi/ntgdi/path.c
win32ss/include/ntgdityp.h

index 727d4bd..2caa575 100644 (file)
@@ -302,8 +302,7 @@ SetWorldTransform(
     _In_ HDC hdc,
     _Out_ CONST XFORM *pxform)
 {
-    /* FIXME  shall we add undoc #define MWT_SETXFORM 4 ?? */
-    return ModifyWorldTransform(hdc, pxform, MWT_MAX+1);
+    return ModifyWorldTransform(hdc, pxform, MWT_SET);
 }
 
 
index 8d7be4e..58d2365 100644 (file)
@@ -480,7 +480,7 @@ GreModifyWorldTransform(
             XFORMOBJ_iCombine(&xoDC, &xoDC, &xoSrc);
             break;
 
-        case MWT_MAX+1: // Must be MWT_SET????
+        case MWT_SET:
             XFORMOBJ_vInit(&xoDC, &pdc->pdcattr->mxWorldToPage);
             if (XFORMOBJ_iSetXform(&xoDC, pxform) == DDI_ERROR)
                 return FALSE;
index 5a014a3..f4cc249 100644 (file)
@@ -1529,7 +1529,7 @@ PATH_FillPath(
     /* Go to GM_ADVANCED temporarily to restore the world transform */
     graphicsMode = pdcattr->iGraphicsMode;
     pdcattr->iGraphicsMode = GM_ADVANCED;
-    GreModifyWorldTransform(dc, &xform, MWT_MAX+1);
+    GreModifyWorldTransform(dc, &xform, MWT_SET);
     pdcattr->iGraphicsMode = graphicsMode;
     return TRUE;
 }
index 7b54c32..4bf8aa9 100644 (file)
@@ -170,6 +170,12 @@ typedef enum GDILoObjType
     GDILoObjType_LO_METADC16_TYPE = 0x660000
 } GDILOOBJTYPE, *PGDILOOBJTYPE;
 
+/**
+       World Transform modification modes
+       See [MS-EMF] Section 2.1.24
+*/
+#define MWT_SET 0x04
+
 #define GdiWorldSpaceToPageSpace    0x203
 #define GdiWorldSpaceToDeviceSpace  0x204
 #define GdiPageSpaceToDeviceSpace   0x304