[GDI] - Add type for setting world transform modification modes.

References:
https://msdn.microsoft.com/en-us/library/cc230538.aspx
https://github.com/KDE/krita/blob/master/libs/vectorimage/libemf/EmfEnums.h
This commit is contained in:
jimtabor 2017-11-24 17:22:43 -06:00
parent f310b02337
commit d85023c9c9
4 changed files with 9 additions and 4 deletions

View file

@ -302,8 +302,7 @@ SetWorldTransform(
_In_ HDC hdc, _In_ HDC hdc,
_Out_ CONST XFORM *pxform) _Out_ CONST XFORM *pxform)
{ {
/* FIXME shall we add undoc #define MWT_SETXFORM 4 ?? */ return ModifyWorldTransform(hdc, pxform, MWT_SET);
return ModifyWorldTransform(hdc, pxform, MWT_MAX+1);
} }

View file

@ -480,7 +480,7 @@ GreModifyWorldTransform(
XFORMOBJ_iCombine(&xoDC, &xoDC, &xoSrc); XFORMOBJ_iCombine(&xoDC, &xoDC, &xoSrc);
break; break;
case MWT_MAX+1: // Must be MWT_SET???? case MWT_SET:
XFORMOBJ_vInit(&xoDC, &pdc->pdcattr->mxWorldToPage); XFORMOBJ_vInit(&xoDC, &pdc->pdcattr->mxWorldToPage);
if (XFORMOBJ_iSetXform(&xoDC, pxform) == DDI_ERROR) if (XFORMOBJ_iSetXform(&xoDC, pxform) == DDI_ERROR)
return FALSE; return FALSE;

View file

@ -1529,7 +1529,7 @@ PATH_FillPath(
/* Go to GM_ADVANCED temporarily to restore the world transform */ /* Go to GM_ADVANCED temporarily to restore the world transform */
graphicsMode = pdcattr->iGraphicsMode; graphicsMode = pdcattr->iGraphicsMode;
pdcattr->iGraphicsMode = GM_ADVANCED; pdcattr->iGraphicsMode = GM_ADVANCED;
GreModifyWorldTransform(dc, &xform, MWT_MAX+1); GreModifyWorldTransform(dc, &xform, MWT_SET);
pdcattr->iGraphicsMode = graphicsMode; pdcattr->iGraphicsMode = graphicsMode;
return TRUE; return TRUE;
} }

View file

@ -170,6 +170,12 @@ typedef enum GDILoObjType
GDILoObjType_LO_METADC16_TYPE = 0x660000 GDILoObjType_LO_METADC16_TYPE = 0x660000
} GDILOOBJTYPE, *PGDILOOBJTYPE; } GDILOOBJTYPE, *PGDILOOBJTYPE;
/**
World Transform modification modes
See [MS-EMF] Section 2.1.24
*/
#define MWT_SET 0x04
#define GdiWorldSpaceToPageSpace 0x203 #define GdiWorldSpaceToPageSpace 0x203
#define GdiWorldSpaceToDeviceSpace 0x204 #define GdiWorldSpaceToDeviceSpace 0x204
#define GdiPageSpaceToDeviceSpace 0x304 #define GdiPageSpaceToDeviceSpace 0x304