Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/lib
Modified Files:
edje_calc.c edje_text.c
Log Message:
rephorm missed another place fonts were being set, and forgot to include the
compiler side to list the fonts... :)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_calc.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- edje_calc.c 30 Aug 2004 05:39:24 -0000 1.39
+++ edje_calc.c 30 Aug 2004 08:07:00 -0000 1.40
@@ -508,7 +508,7 @@
int size;
Evas_Coord tw, th;
char buf[4096];
- Evas_List *l;
+ int inlined_font = 0;
text = chosen_desc->text.text;
font = chosen_desc->text.font;
@@ -535,19 +535,25 @@
/* FIXME: we should cache this result */
if (ed->file->font_dir)
{
+ Evas_List *l;
+
for (l = ed->file->font_dir->entries; l; l = l->next)
{
Edje_Font_Directory_Entry *fnt = l->data;
- if (!strcmp(fnt->entry, font))
+ if ((fnt->entry) && (!strcmp(fnt->entry, font)))
{
strcpy(buf, "fonts/");
strcat(buf, font);
+ font = buf;
+ inlined_font = 1;
break;
}
}
}
-
+ 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 ((chosen_desc->text.min_x) || (chosen_desc->text.min_y))
{
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_text.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- edje_text.c 12 Aug 2004 18:55:45 -0000 1.18
+++ edje_text.c 30 Aug 2004 08:07:00 -0000 1.19
@@ -185,7 +185,7 @@
Evas_Object *o;
o = evas_object_text_add(ed->evas);
- evas_object_text_font_source_set(o, ed->path);
+// evas_object_text_font_source_set(o, ed->path);
evas_object_smart_member_add(o, ed->obj);
evas_object_pass_events_set(o, 1);
evas_object_clip_set(o, ed->clipper);
@@ -293,6 +293,8 @@
Evas_Coord ox, oy, sw, sh;
char *buf = NULL;
char buf2[4096];
+ int inlined_font = 0;
+
text = chosen_desc->text.text;
font = chosen_desc->text.font;
@@ -314,13 +316,26 @@
if (ep->text.font) font = ep->text.font;
if (ep->text.size > 0) size = ep->text.size;
- strcpy(buf2, "fonts/");
- strcat(buf2, font);
-
- evas_object_text_font_set(ep->object, buf2, 10);
-
- if (evas_object_text_ascent_get(ep->object) > 0) font = buf2;
-// font = buf2;
+ /* check if the font is embedded in the .eet */
+ /* FIXME: we should cache this result */
+ if (ed->file->font_dir)
+ {
+ Evas_List *l;
+
+ for (l = ed->file->font_dir->entries; l; l = l->next)
+ {
+ Edje_Font_Directory_Entry *fnt = l->data;
+
+ if ((fnt->entry) && (!strcmp(fnt->entry, font)))
+ {
+ strcpy(buf2, "fonts/");
+ strcat(buf2, font);
+ font = buf2;
+ inlined_font = 1;
+ break;
+ }
+ }
+ }
ox = _edje_text_styles[ep->part->effect].offset.x;
oy = _edje_text_styles[ep->part->effect].offset.y;
@@ -344,6 +359,8 @@
ep->text.cache.in_size = size;
if (chosen_desc->text.fit_x)
{
+ 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);
evas_object_text_text_set(ep->object, text);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
@@ -357,6 +374,8 @@
psize = size;
size = (size * sw) / tw;
if ((psize - size) <= 0) size = psize - 1;
+ 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);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
if ((size > 0) && (tw == 0)) break;
@@ -372,6 +391,8 @@
psize = size;
size = (size * sw) / tw;
if ((psize - size) >= 0) size = psize + 1;
+ 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);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
if ((size > 0) && (tw == 0)) break;
@@ -382,6 +403,8 @@
if (chosen_desc->text.fit_y)
{
size = sh;
+ 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);
evas_object_text_text_set(ep->object, text);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
@@ -395,6 +418,8 @@
{
size += dif;
if (size <= 0) break;
+ 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);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
if ((size > 0) && (th == 0)) break;
@@ -411,6 +436,8 @@
{
size -= dif;
if (size <= 0) break;
+ 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);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
if ((size > 0) && (th == 0)) break;
@@ -425,6 +452,8 @@
int loop;
int orig_len;
+ 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);
evas_object_text_text_set(ep->object, text);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
@@ -549,6 +578,8 @@
arrange_text:
+ 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);
evas_object_text_text_set(ep->object, text);
evas_object_geometry_get(ep->object, NULL, NULL, &tw, &th);
@@ -574,6 +605,8 @@
Evas_Object *o;
o = l->data;
+ if (inlined_font) evas_object_text_font_source_set(o, ed->path);
+ else evas_object_text_font_source_set(o, NULL);
evas_object_text_font_set(o, font, size);
evas_object_text_text_set(o, text);
evas_object_move(o,
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs