Minor fixes to font drawing with metric caching enabled.
authornash <nash@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 29 Jul 2010 03:34:30 +0000 (03:34 +0000)
committernash <nash@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 29 Jul 2010 03:34:30 +0000 (03:34 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@50632 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/engines/common/evas_font_draw.c

index a00fe81..01f37ed 100644 (file)
@@ -464,20 +464,24 @@ evas_common_font_draw_internal(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Font
          for (ind = 0 ; ind < len ; ind ++){
             // FIXME Do we need to draw?
             struct cinfo *ci = word->cinfo + ind;
-            if ((ci->fg->ext_dat) && (dc->font_ext.func.gl_draw))
+            for (j = rowstart ; j < rowend ; j ++)
               {
-                 /* ext glyph draw */
-                 dc->font_ext.func.gl_draw(dc->font_ext.data,
-                       (void *)dst,
-                       dc, ci->fg,
-                       x + ci->pos.x,
-                       y - ci->bm.h
-                       );
-              }
-            else
-              {
-                 func(NULL, word->im + (word->roww * j) + xstart, dc->col.col, im + ((y + j) * im_w) + x, xrun);
-              }
+                if ((ci->fg->ext_dat) && (dc->font_ext.func.gl_draw))
+                  {
+                    /* ext glyph draw */
+                     dc->font_ext.func.gl_draw(dc->font_ext.data,
+                           (void *)dst,
+                           dc, ci->fg,
+                           x + ci->pos.x,
+                           y - ci->bm.h + j
+                           );
+                  }
+               else
+                  {
+                    func(NULL, word->im + (word->roww * j) + xstart,
+                          dc->col.col, im + ((y + j) * im_w) + x, xrun);
+                 }
+            }
          }
        return;
 #endif