Use same formula to convert from device to logical units as everywhere else

Dmitry Timoshkov dmitry at baikal.ru
Sat Aug 2 09:50:05 CDT 2003


Hello,

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Use same formula to convert from device to logical units as everywhere else.

--- cvs/hq/wine/objects/font.c	Mon Jul 28 14:24:15 2003
+++ wine/objects/font.c	Sat Aug  2 22:35:51 2003
@@ -1425,7 +1425,7 @@ UINT WINAPI GetOutlineTextMetricsW(
 BOOL WINAPI GetCharWidth32W( HDC hdc, UINT firstChar, UINT lastChar,
                                LPINT buffer )
 {
-    UINT i, extra;
+    UINT i;
     BOOL ret = FALSE;
     DC * dc = DC_GetDCPtr( hdc );
     if (!dc) return FALSE;
@@ -1438,10 +1438,8 @@ BOOL WINAPI GetCharWidth32W( HDC hdc, UI
     if (ret)
     {
         /* convert device units to logical */
-
-        extra = dc->vportExtX >> 1;
         for( i = firstChar; i <= lastChar; i++, buffer++ )
-            *buffer = (*buffer * dc->wndExtX + extra) / dc->vportExtX;
+            *buffer = INTERNAL_XDSTOWS(dc, *buffer);
         ret = TRUE;
     }
     GDI_ReleaseObj( hdc );






More information about the wine-patches mailing list