winex11.drv: Associate the real DC transformation with cached font data.

This matches what WineEngCreateFontInstance() does, and makes applications
which set custom axes directions using different window/viewport extents
display text correctly.
oldstable
Dmitry Timoshkov 2011-01-24 18:40:13 +08:00 committed by Alexandre Julliard
parent a50546e563
commit 3e850b5b14
2 changed files with 6 additions and 1 deletions

View File

@ -1066,7 +1066,11 @@ BOOL X11DRV_XRender_SelectFont(X11DRV_PDEVICE *physDev, HFONT hfont)
lfsz.lf.lfWidth = abs( lfsz.lf.lfWidth );
lfsz.devsize.cx = X11DRV_XWStoDS( physDev, lfsz.lf.lfWidth );
lfsz.devsize.cy = X11DRV_YWStoDS( physDev, lfsz.lf.lfHeight );
GetWorldTransform( physDev->hdc, &lfsz.xform );
GetTransform( physDev->hdc, 0x204, &lfsz.xform );
TRACE("font transform %f %f %f %f\n", lfsz.xform.eM11, lfsz.xform.eM12,
lfsz.xform.eM21, lfsz.xform.eM22);
/* Not used fields, would break hashing */
lfsz.xform.eDx = lfsz.xform.eDy = 0;

View File

@ -3590,6 +3590,7 @@ WINGDIAPI INT WINAPI GetTextFaceW(HDC,INT,LPWSTR);
WINGDIAPI BOOL WINAPI GetTextMetricsA(HDC,LPTEXTMETRICA);
WINGDIAPI BOOL WINAPI GetTextMetricsW(HDC,LPTEXTMETRICW);
#define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
WINGDIAPI BOOL WINAPI GetTransform(HDC,DWORD,XFORM*);
WINGDIAPI BOOL WINAPI GetViewportExtEx(HDC,LPSIZE);
WINGDIAPI BOOL WINAPI GetViewportOrgEx(HDC,LPPOINT);
WINGDIAPI BOOL WINAPI GetWindowExtEx(HDC,LPSIZE);