mirror of
https://github.com/reactos/reactos.git
synced 2025-04-25 08:00:24 +00:00
[win32k]
- Mapping mode works with the virtual device resolution - Initialize virtual resolution when initializing the DC - Fixes ~30 gdi32 mapping tests svn path=/trunk/; revision=44671
This commit is contained in:
parent
60f61011e7
commit
c2896a6434
2 changed files with 23 additions and 20 deletions
|
@ -688,38 +688,38 @@ IntGdiSetMapMode(
|
|||
/* Fall through */
|
||||
|
||||
case MM_LOMETRIC:
|
||||
pdcattr->szlWindowExt.cx = dc->ppdev->gdiinfo.ulHorzSize * 10;
|
||||
pdcattr->szlWindowExt.cy = dc->ppdev->gdiinfo.ulVertSize * 10;
|
||||
pdcattr->szlViewportExt.cx = dc->ppdev->gdiinfo.ulHorzRes;
|
||||
pdcattr->szlViewportExt.cy = -dc->ppdev->gdiinfo.ulVertRes;
|
||||
pdcattr->szlWindowExt.cx = pdcattr->szlVirtualDeviceMm.cx * 10;
|
||||
pdcattr->szlWindowExt.cy = pdcattr->szlVirtualDeviceMm.cy * 10;
|
||||
pdcattr->szlViewportExt.cx = pdcattr->szlVirtualDevicePixel.cx;
|
||||
pdcattr->szlViewportExt.cy = -pdcattr->szlVirtualDevicePixel.cy;
|
||||
break;
|
||||
|
||||
case MM_HIMETRIC:
|
||||
pdcattr->szlWindowExt.cx = dc->ppdev->gdiinfo.ulHorzSize * 100;
|
||||
pdcattr->szlWindowExt.cy = dc->ppdev->gdiinfo.ulVertSize * 100;
|
||||
pdcattr->szlViewportExt.cx = dc->ppdev->gdiinfo.ulHorzRes;
|
||||
pdcattr->szlViewportExt.cy = -dc->ppdev->gdiinfo.ulVertRes;
|
||||
pdcattr->szlWindowExt.cx = pdcattr->szlVirtualDeviceMm.cx * 100;
|
||||
pdcattr->szlWindowExt.cy = pdcattr->szlVirtualDeviceMm.cy * 100;
|
||||
pdcattr->szlViewportExt.cx = pdcattr->szlVirtualDevicePixel.cx;
|
||||
pdcattr->szlViewportExt.cy = -pdcattr->szlVirtualDevicePixel.cy;
|
||||
break;
|
||||
|
||||
case MM_LOENGLISH:
|
||||
pdcattr->szlWindowExt.cx = MulDiv(1000, dc->ppdev->gdiinfo.ulHorzSize, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(1000, dc->ppdev->gdiinfo.ulVertSize, 254);
|
||||
pdcattr->szlViewportExt.cx = dc->ppdev->gdiinfo.ulHorzRes;
|
||||
pdcattr->szlViewportExt.cy = -dc->ppdev->gdiinfo.ulVertRes;
|
||||
pdcattr->szlWindowExt.cx = MulDiv(1000, pdcattr->szlVirtualDeviceMm.cx, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(1000, pdcattr->szlVirtualDeviceMm.cy, 254);
|
||||
pdcattr->szlViewportExt.cx = pdcattr->szlVirtualDevicePixel.cx;
|
||||
pdcattr->szlViewportExt.cy = -pdcattr->szlVirtualDevicePixel.cy;
|
||||
break;
|
||||
|
||||
case MM_HIENGLISH:
|
||||
pdcattr->szlWindowExt.cx = MulDiv(10000, dc->ppdev->gdiinfo.ulHorzSize, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(10000, dc->ppdev->gdiinfo.ulVertSize, 254);
|
||||
pdcattr->szlViewportExt.cx = dc->ppdev->gdiinfo.ulHorzRes;
|
||||
pdcattr->szlViewportExt.cy = -dc->ppdev->gdiinfo.ulVertRes;
|
||||
pdcattr->szlWindowExt.cx = MulDiv(10000, pdcattr->szlVirtualDeviceMm.cx, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(10000, pdcattr->szlVirtualDeviceMm.cy, 254);
|
||||
pdcattr->szlViewportExt.cx = pdcattr->szlVirtualDevicePixel.cx;
|
||||
pdcattr->szlViewportExt.cy = -pdcattr->szlVirtualDevicePixel.cy;
|
||||
break;
|
||||
|
||||
case MM_TWIPS:
|
||||
pdcattr->szlWindowExt.cx = MulDiv(14400, dc->ppdev->gdiinfo.ulHorzSize, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(14400, dc->ppdev->gdiinfo.ulVertSize, 254);
|
||||
pdcattr->szlViewportExt.cx = dc->ppdev->gdiinfo.ulHorzRes;
|
||||
pdcattr->szlViewportExt.cy = -dc->ppdev->gdiinfo.ulVertRes;
|
||||
pdcattr->szlWindowExt.cx = MulDiv(14400, pdcattr->szlVirtualDeviceMm.cx, 254);
|
||||
pdcattr->szlWindowExt.cy = MulDiv(14400, pdcattr->szlVirtualDeviceMm.cy, 254);
|
||||
pdcattr->szlViewportExt.cx = pdcattr->szlVirtualDevicePixel.cx;
|
||||
pdcattr->szlViewportExt.cy = -pdcattr->szlVirtualDevicePixel.cy;
|
||||
break;
|
||||
|
||||
case MM_ANISOTROPIC:
|
||||
|
|
|
@ -568,6 +568,9 @@ DC_InitDC(HDC DCHandle)
|
|||
ASSERT ( res != ERROR );
|
||||
}
|
||||
*/
|
||||
|
||||
/* Set virtual resolution */
|
||||
NtGdiSetVirtualResolution(DCHandle, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue