and actually allow "USER" images (ie don't encode them into the .edj - use an

external path to them)


SVN revision: 27156
This commit is contained in:
Carsten Haitzler 2006-11-17 14:47:30 +00:00
parent e22ae28a41
commit 1cfed3e3c0
2 changed files with 63 additions and 41 deletions

View File

@ -107,6 +107,7 @@ check_image_part_desc (Edje_Part_Collection *pc, Edje_Part *ep,
{
Evas_List *l;
return;
if (epd->image.id == -1)
{
fprintf(stderr, "%s: Error. collection %i: image attributes missing "
@ -362,7 +363,10 @@ data_write(void)
Edje_Image_Directory_Entry *img;
img = l->data;
if (img->source_type != EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
if (img->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
{
}
else
{
Evas_Object *im;
Evas_List *ll;
@ -928,6 +932,9 @@ data_process_lookups(void)
if ((de->entry) && (!strcmp(de->entry, il->name)))
{
handle_slave_lookup(image_slave_lookups, il->dest, de->id);
if (de->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL)
*(il->dest) = -de->id - 1;
else
*(il->dest) = de->id;
break;
}

View File

@ -1243,6 +1243,20 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
evas_object_image_border_set(ep->object, p3.border.l, p3.border.r, p3.border.t, p3.border.b);
evas_object_image_border_center_fill_set(ep->object, !(chosen_desc->border.no_fill));
image_id = ep->param1.description->image.id;
if (image_id < 0)
{
Edje_Image_Directory_Entry *ie;
ie = evas_list_nth(ed->file->image_dir->entries, (-image_id) - 1);
if ((ie) &&
(ie->source_type == EDJE_IMAGE_SOURCE_TYPE_EXTERNAL) &&
(ie->entry))
{
evas_object_image_file_set(ep->object, ie->entry, NULL);
}
}
else
{
image_count = 2;
if (ep->param2.description)
image_count += evas_list_count(ep->param2.description->image.tween_list);
@ -1290,6 +1304,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags)
printf("Error type: EVAS_LOAD_ERROR_UNKNOWN_FORMAT\n");
}
}
}
evas_object_color_set(ep->object,
(p3.color.r * p3.color.a) / 255,
(p3.color.g * p3.color.a) / 255,