Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        text.c 


Log Message:
Xft font is now selected using prefix "xft:".
Fix valgrind complaint (drawable caching).

===================================================================
RCS file: /cvs/e/e16/e/src/text.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -3 -r1.88 -r1.89
--- text.c      2 Aug 2007 17:32:14 -0000       1.88
+++ text.c      7 Aug 2007 15:21:49 -0000       1.89
@@ -25,13 +25,12 @@
 #include "eimage.h"
 #include "tclass.h"
 #include "xwin.h"
-#ifndef USE_XFT
-#undef FONT_TYPE_XFT
-#define FONT_TYPE_XFT 0
-#endif
-#if FONT_TYPE_XFT
+
+#ifdef USE_XFT
 #include <X11/extensions/Xrender.h>
 #include <X11/Xft/Xft.h>
+#else
+#undef FONT_TYPE_XFT
 #endif
 
 #if FONT_TYPE_IFT
@@ -428,14 +427,18 @@
 {
    XftFont            *font;
    FontCtxXft         *fdc;
+   const char         *name;
 
-   if (strchr(ts->fontname, '/'))
+   name = ts->fontname;
+   if (!strncmp(name, "xft:", 4))
+      name += 4;
+   else if (strchr(name, '/'))
       return -1;
 
-   if (ts->fontname[0] == '-')
-      font = XftFontOpenXlfd(disp, VRoot.scr, ts->fontname);
+   if (name[0] == '-')
+      font = XftFontOpenXlfd(disp, VRoot.scr, name);
    else
-      font = XftFontOpenName(disp, VRoot.scr, ts->fontname);
+      font = XftFontOpenName(disp, VRoot.scr, name);
 
    if (!font)
       return -1;
@@ -446,7 +449,7 @@
 
       if (ftf == NULL)
         return -1;
-      Eprintf("Font %s family_name=%s style_name=%s\n", ts->fontname,
+      Eprintf("Font %s family_name=%s style_name=%s\n", name,
              ftf->family_name, ftf->style_name);
       XftUnlockFace(font);
    }
@@ -508,6 +511,7 @@
    FontCtxXft         *fdc = (FontCtxXft *) ts->fdc;
 
    fdc->win = win;
+   fdc->draw = draw;
 
    fdc->xftd = XftDrawCreate(disp, draw, WinGetVisual(win), WinGetCmap(win));
    if (!fdc->xftd)
@@ -530,6 +534,7 @@
 
    if (fdc->draw == draw)
       return;
+   fdc->draw = draw;
    XftDrawChange(fdc->xftd, draw);
 }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to