Huw Davies : opengl32: Fix the returned metrics and add a translation vector to the end of each list .

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 28 10:38:51 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: ac5a024a5cceaa232ecab08c4454e79b678dfafe
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=ac5a024a5cceaa232ecab08c4454e79b678dfafe

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Jun 26 12:12:54 2006 +0100

opengl32: Fix the returned metrics and add a translation vector to the end of each list.

---

 dlls/opengl32/wgl.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c
index 2dd59a8..178cb6b 100644
--- a/dlls/opengl32/wgl.c
+++ b/dlls/opengl32/wgl.c
@@ -991,12 +991,13 @@ BOOL WINAPI wglUseFontOutlines_common(HD
 
         if(lpgmf)
         {
-            lpgmf->gmfBlackBoxX = gm.gmBlackBoxX / em_size;
-            lpgmf->gmfBlackBoxY = gm.gmBlackBoxY / em_size;
-            lpgmf->gmfptGlyphOrigin.x = gm.gmptGlyphOrigin.x / em_size;
-            lpgmf->gmfptGlyphOrigin.y = gm.gmptGlyphOrigin.y / em_size;
-            lpgmf->gmfCellIncX = gm.gmCellIncX / em_size;
-            lpgmf->gmfCellIncY = gm.gmCellIncY / em_size;
+            lpgmf->gmfBlackBoxX = (float)gm.gmBlackBoxX / em_size;
+            lpgmf->gmfBlackBoxY = (float)gm.gmBlackBoxY / em_size;
+            lpgmf->gmfptGlyphOrigin.x = (float)gm.gmptGlyphOrigin.x / em_size;
+            lpgmf->gmfptGlyphOrigin.y = (float)gm.gmptGlyphOrigin.y / em_size;
+            lpgmf->gmfCellIncX = (float)gm.gmCellIncX / em_size;
+            lpgmf->gmfCellIncY = (float)gm.gmCellIncY / em_size;
+
             TRACE("%fx%f at %f,%f inc %f,%f\n", lpgmf->gmfBlackBoxX, lpgmf->gmfBlackBoxY,
                   lpgmf->gmfptGlyphOrigin.x, lpgmf->gmfptGlyphOrigin.y, lpgmf->gmfCellIncX, lpgmf->gmfCellIncY); 
             lpgmf++;
@@ -1063,6 +1064,7 @@ BOOL WINAPI wglUseFontOutlines_common(HD
 
 error_in_list:
         gluTessEndPolygon(tess);
+        glTranslated((GLdouble)gm.gmCellIncX / em_size, (GLdouble)gm.gmCellIncY / em_size, 0.0);
         glEndList();
         LEAVE_GL();
         HeapFree(GetProcessHeap(), 0, buf);




More information about the wine-cvs mailing list