Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        Edje.h edje_calc.c edje_private.h edje_text.c edje_util.c 


Log Message:


suport fontset appends

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/Edje.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- Edje.h      28 Nov 2004 14:52:01 -0000      1.39
+++ Edje.h      20 Mar 2005 16:49:10 -0000      1.40
@@ -148,6 +148,8 @@
    /* edje_util.c */
    EAPI void         edje_freeze                     (void);
    EAPI void         edje_thaw                       (void);
+   EAPI void         edje_fontset_append_set         (char *fonts);
+   EAPI const char  *edje_fontset_append_get         (void);
    
    /* edje_load.c */
    EAPI Evas_List   *edje_file_collection_list       (const char *file);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -3 -r1.60 -r1.61
--- edje_calc.c 7 Mar 2005 00:22:58 -0000       1.60
+++ edje_calc.c 20 Mar 2005 16:49:10 -0000      1.61
@@ -535,7 +535,22 @@
        if (inlined_font) evas_object_text_font_source_set(ep->object, 
ed->path);
        else evas_object_text_font_source_set(ep->object, NULL);
        
-       evas_object_text_font_set(ep->object, font, size);
+       if ((_edje_fontset_append) && (font))
+         {
+            char *font2;
+            
+            font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 
1);
+            if (font2)
+              {
+                 strcpy(font2, font);
+                 strcat(font2, ",");
+                 strcat(font2, _edje_fontset_append);
+                 evas_object_text_font_set(ep->object, font2, size);
+                 free(font2);
+              }
+         }
+       else
+         evas_object_text_font_set(ep->object, font, size);
        if ((chosen_desc->text.min_x) || (chosen_desc->text.min_y))
          {
             int mw, mh;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -3 -r1.81 -r1.82
--- edje_private.h      16 Mar 2005 18:39:39 -0000      1.81
+++ edje_private.h      20 Mar 2005 16:49:10 -0000      1.82
@@ -730,6 +730,7 @@
 extern Edje_Text_Style  _edje_text_styles[EDJE_TEXT_EFFECT_LAST];
 extern Evas_List       *_edje_edjes;
 
+extern char            *_edje_fontset_append;
 
 void  _edje_part_pos_set(Edje *ed, Edje_Real_Part *ep, int mode, double pos);
 Edje_Part_Description *_edje_part_description_find(Edje *ed, Edje_Real_Part 
*rp, char *name, double val);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_text.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -3 -r1.33 -r1.34
--- edje_text.c 1 Dec 2004 04:59:41 -0000       1.33
+++ edje_text.c 20 Mar 2005 16:49:10 -0000      1.34
@@ -502,7 +502,7 @@
                        Edje_Part_Description *chosen_desc)
 {
    char   *text;
-   char   *font;
+   char   *font, *font2 = NULL;
    int     size;
    Evas_Coord  tw, th;
    Evas_Coord  ox, oy, sw, sh;
@@ -529,7 +529,7 @@
    if (ep->text.text) text = ep->text.text;
    if (ep->text.font) font = ep->text.font;
    if (ep->text.size > 0) size = ep->text.size;
-   
+
    /* check if the font is embedded in the .eet */
    /* FIXME: we should cache this result */
    if (ed->file->font_dir)
@@ -551,6 +551,20 @@
               }
          }
      }
+
+   if ((_edje_fontset_append) && (font))
+     {
+       char *font2;
+       
+       font2 = malloc(strlen(font) + 1 + strlen(_edje_fontset_append) + 1);
+       if (font2)
+         {
+            strcpy(font2, font);
+            strcat(font2, ",");
+            strcat(font2, _edje_fontset_append);
+            font = font2;
+         }
+     }
    
    ox = _edje_text_styles[ep->part->effect].offset.x;
    oy = _edje_text_styles[ep->part->effect].offset.y;
@@ -726,4 +740,6 @@
 
    if (free_text)
      free(text);
+   if (font2)
+     free(font2);
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -3 -r1.53 -r1.54
--- edje_util.c 24 Feb 2005 10:25:40 -0000      1.53
+++ edje_util.c 20 Mar 2005 16:49:10 -0000      1.54
@@ -10,6 +10,7 @@
 Evas_Hash *_edje_text_class_hash = NULL;
 Evas_Hash *_edje_text_class_member_hash = NULL;
 
+char *_edje_fontset_append = NULL;
 
 /************************** API Routines **************************/
 
@@ -39,6 +40,23 @@
      edje_object_thaw((Evas_Object *)(l->data));
 }
 
+/* FIXDOC: Expand */
+void
+edje_fontset_append_set(char *fonts)
+{
+   if (_edje_fontset_append)
+     free(_edje_fontset_append);
+   _edje_fontset_append = strdup(fonts);
+}
+
+/* FIXDOC: Expand */
+const char *
+edje_fontset_append_get(void)
+{
+   return _edje_fontset_append;
+}
+
+
 /* FIXDOC: Verify/Expand */
 /** Get Edje object data
  * @param obj A valid Evas_Object handle




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to