Index: reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c =================================================================== --- reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c (revision 74045) +++ reactos/win32ss/gdi/gdi32/wine/enhmfdrv/dc.c (working copy) @@ -2,6 +2,7 @@ * Enhanced MetaFile driver dc value functions * * Copyright 1999 Huw D M Davies + * Copyright 2017 Katayama Hirofumi MZ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -451,14 +452,16 @@ BOOL EMFDRV_FillPath( PHYSDEV dev ) { EMRFILLPATH emr; + RECT rc; + C_ASSERT(sizeof(emr.rclBounds) == sizeof(rc)); emr.emr.iType = EMR_FILLPATH; emr.emr.nSize = sizeof(emr); - FIXME("Bounds\n"); - emr.rclBounds.left = 0; - emr.rclBounds.top = 0; - emr.rclBounds.right = 0; - emr.rclBounds.bottom = 0; + + GetClipBox(dev->hdc, &rc); + LPtoDP(dev->hdc, (LPPOINT)&rc, 2); + + memcpy(&emr.rclBounds, &rc, sizeof(rc)); return EMFDRV_WriteRecord( dev, &emr.emr ); } @@ -488,14 +491,16 @@ BOOL EMFDRV_StrokeAndFillPath( PHYSDEV dev ) { EMRSTROKEANDFILLPATH emr; + RECT rc; + C_ASSERT(sizeof(emr.rclBounds) == sizeof(rc)); emr.emr.iType = EMR_STROKEANDFILLPATH; emr.emr.nSize = sizeof(emr); - FIXME("Bounds\n"); - emr.rclBounds.left = 0; - emr.rclBounds.top = 0; - emr.rclBounds.right = 0; - emr.rclBounds.bottom = 0; + + GetClipBox(dev->hdc, &rc); + LPtoDP(dev->hdc, (LPPOINT)&rc, 2); + + memcpy(&emr.rclBounds, &rc, sizeof(rc)); return EMFDRV_WriteRecord( dev, &emr.emr ); } @@ -502,14 +507,16 @@ BOOL EMFDRV_StrokePath( PHYSDEV dev ) { EMRSTROKEPATH emr; + RECT rc; + C_ASSERT(sizeof(emr.rclBounds) == sizeof(rc)); emr.emr.iType = EMR_STROKEPATH; emr.emr.nSize = sizeof(emr); - FIXME("Bounds\n"); - emr.rclBounds.left = 0; - emr.rclBounds.top = 0; - emr.rclBounds.right = 0; - emr.rclBounds.bottom = 0; + + GetClipBox(dev->hdc, &rc); + LPtoDP(dev->hdc, (LPPOINT)&rc, 2); + + memcpy(&emr.rclBounds, &rc, sizeof(rc)); return EMFDRV_WriteRecord( dev, &emr.emr ); }