* <table class="edcref" border="0">
*/
+static Edje_Part_Collection_Directory_Entry *current_de = NULL;
+static Edje_Program *current_program = NULL;
+
static void st_externals_external(void);
static void st_images_image(void);
return sizeof(statement_handlers) / sizeof (New_Object_Handler);
}
+static Edje_Part_Description_Common *
+_edje_part_description_alloc(unsigned char type, const char *collection, const char *part)
+{
+ Edje_Part_Description_Common *result = NULL;
+
+ switch (type)
+ {
+ case EDJE_PART_TYPE_RECTANGLE:
+ case EDJE_PART_TYPE_SWALLOW:
+ case EDJE_PART_TYPE_GROUP:
+ result = mem_alloc(SZ(Edje_Part_Description_Common));
+ break;
+ case EDJE_PART_TYPE_TEXT:
+ case EDJE_PART_TYPE_TEXTBLOCK:
+ {
+ Edje_Part_Description_Text *ed;
+
+ ed = mem_alloc(SZ(Edje_Part_Description_Text));
+
+ ed->text.color3.r = 0;
+ ed->text.color3.g = 0;
+ ed->text.color3.b = 0;
+ ed->text.color3.a = 128;
+ ed->text.align.x = FROM_DOUBLE(0.5);
+ ed->text.align.y = FROM_DOUBLE(0.5);
+ ed->text.id_source = -1;
+ ed->text.id_text_source = -1;
+
+ result = &ed->common;
+ break;
+ }
+ case EDJE_PART_TYPE_IMAGE:
+ {
+ Edje_Part_Description_Image *ed;
+
+ ed = mem_alloc(SZ(Edje_Part_Description_Image));
+
+ ed->image.id = -1;
+ ed->image.fill.smooth = 1;
+ ed->image.fill.pos_rel_x = FROM_DOUBLE(0.0);
+ ed->image.fill.pos_abs_x = 0;
+ ed->image.fill.rel_x = FROM_DOUBLE(1.0);
+ ed->image.fill.abs_x = 0;
+ ed->image.fill.pos_rel_y = FROM_DOUBLE(0.0);
+ ed->image.fill.pos_abs_y = 0;
+ ed->image.fill.rel_y = FROM_DOUBLE(1.0);
+ ed->image.fill.abs_y = 0;
+ ed->image.fill.angle = 0;
+ ed->image.fill.spread = 0;
+ ed->image.fill.type = EDJE_FILL_TYPE_SCALE;
+
+ result = &ed->common;
+ break;
+ }
+ case EDJE_PART_TYPE_BOX:
+ {
+ Edje_Part_Description_Box *ed;
+
+ ed = mem_alloc(SZ(Edje_Part_Description_Box));
+
+ ed->box.layout = NULL;
+ ed->box.alt_layout = NULL;
+ ed->box.align.x = FROM_DOUBLE(0.5);
+ ed->box.align.y = FROM_DOUBLE(0.5);
+ ed->box.padding.x = 0;
+ ed->box.padding.y = 0;
+
+ result = &ed->common;
+ break;
+ }
+ case EDJE_PART_TYPE_TABLE:
+ {
+ Edje_Part_Description_Table *ed;
+
+ ed = mem_alloc(SZ(Edje_Part_Description_Table));
+
+ ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE;
+ ed->table.align.x = FROM_DOUBLE(0.5);
+ ed->table.align.y = FROM_DOUBLE(0.5);
+ ed->table.padding.x = 0;
+ ed->table.padding.y = 0;
+
+ result = &ed->common;
+ break;
+ }
+ case EDJE_PART_TYPE_EXTERNAL:
+ {
+ Edje_Part_Description_External *ed;
+
+ ed = mem_alloc(SZ(Edje_Part_Description_External));
+
+ ed->external_params = NULL;
+
+ result = &ed->common;
+ break;
+ }
+ }
+
+ if (!result)
+ {
+ ERR("%s: Error. Unknow type %i of part %s in collection %s.", progname, type, part, collection);
+ exit(-1);
+ }
+
+ return result;
+}
+
+static void
+_edje_program_check(const char *name, Edje_Program *me, Edje_Program **pgrms, unsigned int count)
+{
+ unsigned int i;
+
+ for (i = 0; i < count; ++i)
+ if (pgrms[i] != me && pgrms[i]->name && (!strcmp(name, pgrms[i]->name)))
+ {
+ ERR("%s: Error. parse error %s:%i. There is already a program of the name %s\n",
+ progname, file_in, line - 1, name);
+ exit(-1);
+ }
+}
+
/*****/
/**
st_externals_external(void)
{
External *ex;
- Edje_External_Directory_Entry *ext;
check_arg_count(1);
if (!edje_file->external_dir)
- edje_file->external_dir = mem_alloc(SZ(Old_Edje_External_Directory));
+ edje_file->external_dir = mem_alloc(SZ(Edje_External_Directory));
ex = mem_alloc(SZ(External));
ex->name = parse_str(0);
if (edje_file->external_dir)
{
- ext = mem_alloc(SZ(Edje_External_Directory_Entry));
- ext->entry = mem_strdup(ex->name);
- edje_file->external_dir->entries = eina_list_append(edje_file->external_dir->entries, ext);
+ edje_file->external_dir->entries_count++;
+ edje_file->external_dir->entries = realloc(edje_file->external_dir->entries,
+ sizeof (Edje_External_Directory) * edje_file->external_dir->entries_count);
+ memset(edje_file->external_dir->entries + edje_file->external_dir->entries_count - 1,
+ 0, sizeof (Edje_External_Directory));
+ if (!edje_file->external_dir->entries)
+ {
+ ERR("%s: Error. not enought memory", progname);
+ exit(-1);
+ }
+
+ edje_file->external_dir->entries[edje_file->external_dir->entries_count - 1].entry = mem_strdup(ex->name);
}
}
st_images_image(void)
{
Edje_Image_Directory_Entry *img;
+ const char *tmp;
+ unsigned int i;
int v;
if (!edje_file->image_dir)
- edje_file->image_dir = mem_alloc(SZ(Old_Edje_Image_Directory));
- img = mem_alloc(SZ(Edje_Image_Directory_Entry));
- img->entry = parse_str(0);
- {
- Eina_List *l;
- Edje_Image_Directory_Entry *limg;
+ edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
- EINA_LIST_FOREACH(edje_file->image_dir->entries, l, limg)
- {
- if (!strcmp(limg->entry, img->entry))
- {
- free((char*) img->entry);
- free(img);
- return;
- }
- }
+ tmp = parse_str(0);
+
+ for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+ if (!strcmp(edje_file->image_dir->entries[i].entry, tmp))
+ {
+ free((char*) tmp);
+ return;
+ }
+
+ edje_file->image_dir->entries_count++;
+ edje_file->image_dir->entries = realloc(edje_file->image_dir->entries,
+ sizeof (Edje_Image_Directory_Entry) * edje_file->image_dir->entries_count);
+ memset(edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1,
+ 0, sizeof (Edje_Image_Directory_Entry));
+ if (!edje_file->image_dir->entries)
+ {
+ ERR("%s: Error. No enought memory.", progname);
+ exit(-1);
}
- edje_file->image_dir->entries = eina_list_append(edje_file->image_dir->entries, img);
- img->id = eina_list_count(edje_file->image_dir->entries) - 1;
+
+ img = edje_file->image_dir->entries + edje_file->image_dir->entries_count - 1;
+
+ img->entry = tmp;
+ img->id = edje_file->image_dir->entries_count - 1;
v = parse_enum(1,
"RAW", 0,
"COMP", 1,
static void
ob_images_set(void)
{
- Edje_Image_Directory_Set *set;
-
if (!edje_file->image_dir)
- edje_file->image_dir = mem_alloc(SZ(Old_Edje_Image_Directory));
- set = mem_alloc(SZ(Edje_Image_Directory_Set));
- set->id = eina_list_count(edje_file->image_dir->sets);
- edje_file->image_dir->sets = eina_list_append(edje_file->image_dir->sets, set);
+ edje_file->image_dir = mem_alloc(SZ(Edje_Image_Directory));
+
+ edje_file->image_dir->sets_count++;
+ edje_file->image_dir->sets = realloc(edje_file->image_dir->sets,
+ sizeof (Edje_Image_Directory_Set) * edje_file->image_dir->sets_count);
+ memset(edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1,
+ 0, sizeof (Edje_Image_Directory_Set));
+ if (!edje_file->image_dir->sets)
+ {
+ ERR("%s: Error. Not enought memory.", progname);
+ exit(-1);
+ }
+ edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].id = edje_file->image_dir->sets_count - 1;
}
/**
static void
st_images_set_name(void)
{
- Edje_Image_Directory_Set *set;
-
check_arg_count(1);
- set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
- set->name = parse_str(0);
+ edje_file->image_dir->sets[edje_file->image_dir->sets_count - 1].name = parse_str(0);
}
static void
Edje_Image_Directory_Set_Entry *entry;
Edje_Image_Directory_Set *set;
- set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
+ set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
entry = mem_alloc(SZ(Edje_Image_Directory_Set_Entry));
{
Edje_Image_Directory_Set_Entry *entry;
Edje_Image_Directory_Set *set;
- Edje_Image_Directory_Entry *img;
- Eina_List *l;
+ unsigned int i;
- set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
+ set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
entry = eina_list_data_get(eina_list_last(set->entries));
/* Add the image to the global pool with the same syntax. */
entry->name = parse_str(0);
- EINA_LIST_FOREACH(edje_file->image_dir->entries, l, img)
- if (!strcmp(img->entry, entry->name))
+ for (i = 0; i < edje_file->image_dir->entries_count; ++i)
+ if (!strcmp(edje_file->image_dir->entries[i].entry, entry->name))
{
- entry->id = img->id;
+ entry->id = i;
return;
- }
+ }
}
/**
{
Edje_Image_Directory_Set_Entry *entry;
Edje_Image_Directory_Set *set;
-
- set = eina_list_data_get(eina_list_last(edje_file->image_dir->sets));
+
+ set = edje_file->image_dir->sets + edje_file->image_dir->sets_count - 1;
entry = eina_list_data_get(eina_list_last(set->entries));
entry->size.min.w = parse_int(0);
st_fonts_font(void)
{
Font *fn;
- Edje_Font_Directory_Entry *fnt;
check_arg_count(2);
- if (!edje_file->font_dir)
- edje_file->font_dir = mem_alloc(SZ(Old_Edje_Font_Directory));
+ if (!edje_file->fonts)
+ edje_file->fonts = eina_hash_string_small_new(free);
fn = mem_alloc(SZ(Font));
fn->file = parse_str(0);
fn->name = parse_str(1);
- {
- Eina_List *l;
- Font *lfn;
- EINA_LIST_FOREACH(fonts, l, lfn)
- {
- if (!strcmp(lfn->name, fn->name))
- {
- free(fn->file);
- free(fn->name);
- free(fn);
- return;
- }
- }
- }
- fonts = eina_list_append(fonts, fn);
-
- if (edje_file->font_dir)
+ if (eina_hash_find(edje_file->fonts, fn->name))
{
- fnt = mem_alloc(SZ(Edje_Font_Directory_Entry));
- fnt->entry = mem_strdup(fn->name);
- fnt->file = mem_strdup(fn->file);
- edje_file->font_dir->entries = eina_list_append(edje_file->font_dir->entries, fnt);
+ free(fn->file);
+ free(fn->name);
+ free(fn);
+ return;
}
+
+ eina_hash_direct_add(edje_file->fonts, fn->name, fn);
}
/**
static void
st_data_item(void)
{
- Old_Edje_Data *di;
+ Edje_String *es;
+ char *key;
check_arg_count(2);
- di = mem_alloc(SZ(Old_Edje_Data));
- di->key = parse_str(0);
- di->value = parse_str(1);
- edje_file->data = eina_list_append(edje_file->data, di);
+ key = parse_str(0);
+
+ es = mem_alloc(SZ(Edje_String));
+ es->str = parse_str(1);
+
+ if (!edje_file->data)
+ edje_file->data = eina_hash_string_small_new(free);
+
+ /* FIXME: check if data already exist */
+ eina_hash_direct_add(edje_file->data, key, es);
}
/**
{
const char *data;
const char *over;
- Old_Edje_Data *di;
+ Edje_String *es;
char *filename;
char *value;
+ char *key;
int fd;
int i;
struct stat buf;
check_arg_count(2);
- di = mem_alloc(SZ(Old_Edje_Data));
- di->key = parse_str(0);
+ key = parse_str(0);
+
+ es = mem_alloc(SZ(Edje_String));
filename = parse_str(1);
fd = open(filename, O_RDONLY | O_BINARY, S_IRUSR | S_IWUSR);
munmap((void*)data, buf.st_size);
close(fd);
- di->value = value;
- edje_file->data = eina_list_append(edje_file->data, di);
+ es->str = value;
+
+ eina_hash_direct_add(edje_file->data, key, es);
free(filename);
}
static void
ob_collections(void)
{
- if (!edje_file->collection_dir)
- edje_file->collection_dir = mem_alloc(SZ(Old_Edje_Part_Collection_Directory));
+ if (!edje_file->collection)
+ edje_file->collection = eina_hash_string_small_new(NULL);
}
/**
static void
ob_collections_group(void)
{
- Edje_Part_Collection_Directory_Entry *de;
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
Code *cd;
-
- de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
- edje_file->collection_dir->entries = eina_list_append(edje_file->collection_dir->entries, de);
- de->id = eina_list_count(edje_file->collection_dir->entries) - 1;
- pc = mem_alloc(SZ(Old_Edje_Part_Collection));
+ if (current_de != NULL && current_de->entry == NULL)
+ {
+ ERR("%p: Error. A collection without a name was detected, that's not allowed.", progname);
+ exit(-1);
+ }
+
+ current_de = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
+ current_de->id = eina_list_count(edje_collections);
+
+ pc = mem_alloc(SZ(Edje_Part_Collection));
edje_collections = eina_list_append(edje_collections, pc);
- pc->id = eina_list_count(edje_collections) - 1;
+ pc->id = current_de->id;
cd = mem_alloc(SZ(Code));
codes = eina_list_append(codes, cd);
static void
st_collections_group_name(void)
{
- Edje_Part_Collection_Directory_Entry *de, *de_other, *alias;
- Eina_List *l, *l2;
+ Edje_Part_Collection_Directory_Entry *older;
+ Edje_Part_Collection *current_pc;
check_arg_count(1);
- de = eina_list_data_get(eina_list_last(edje_file->collection_dir->entries));
- de->entry = parse_str(0);
- EINA_LIST_FOREACH(edje_file->collection_dir->entries, l, de_other)
+ current_pc = eina_list_data_get(eina_list_last(edje_collections));
+
+ current_de->entry = parse_str(0);
+ current_pc->part = current_de->entry;
+
+ older = eina_hash_find(edje_file->collection, current_de->entry);
+
+ if (older)
{
- if ((de_other != de) && (de_other->entry) &&
- (!strcmp(de->entry, de_other->entry)))
+ Edje_Part_Collection *pc;
+ Eina_List *l;
+ Code *cd;
+ int i = 0;
+
+ pc = eina_list_nth(edje_collections, older->id);
+ cd = eina_list_nth(codes, older->id);
+
+ eina_hash_del(edje_file->collection, current_de->entry, older);
+ edje_collections = eina_list_remove(edje_collections, pc);
+ codes = eina_list_remove(codes, cd);
+
+ EINA_LIST_FOREACH(edje_collections, l, pc)
{
- Old_Edje_Part_Collection *pc;
- Code *cd;
- int i;
-
- pc = eina_list_nth(edje_collections, de_other->id);
- cd = eina_list_nth(codes, de_other->id);
-
- edje_file->collection_dir->entries =
- eina_list_remove(edje_file->collection_dir->entries, de_other);
- edje_collections =
- eina_list_remove(edje_collections, pc);
- codes =
- eina_list_remove(codes, cd);
-
- for (i = 0, l = edje_file->collection_dir->entries; l; l = eina_list_next(l), i++)
- {
- de_other = eina_list_data_get(l);
- for (l2 = aliases; l2; l2 = l2->next)
- {
- alias = l2->data;
- if (alias->id == de_other->id)
- alias->id = i;
- }
- de_other->id = i;
- }
- for (i = 0, l = edje_collections; l; l = eina_list_next(l), i++)
- {
- pc = eina_list_data_get(l);
- pc->id = i;
- }
- break;
+ older = eina_hash_find(edje_file->collection, pc->part);
+
+ pc->id = i++;
+ if (older) older->id = pc->id;
}
}
+
+ eina_hash_direct_add(edje_file->collection, current_de->entry, current_de);
}
/**
static void
st_collections_group_script_only(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
check_arg_count(1);
static void
st_collections_group_lua_script_only(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
check_arg_count(1);
static void
st_collections_group_alias(void)
{
- Edje_Part_Collection_Directory_Entry *de, *alias;
+ Edje_Part_Collection_Directory_Entry *alias;
check_arg_count(1);
- de = eina_list_data_get(eina_list_last(edje_file->collection_dir->entries));
alias = mem_alloc(SZ(Edje_Part_Collection_Directory_Entry));
- alias->id = de->id;
+ alias->id = current_de->id;
alias->entry = parse_str(0);
aliases = eina_list_append(aliases, alias);
static void
st_collections_group_min(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
check_arg_count(2);
static void
st_collections_group_max(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
check_arg_count(2);
static void
st_collections_group_data_item(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Data *di;
+ Edje_Part_Collection *pc;
+ Edje_String *es;
+ char *key;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- di = mem_alloc(SZ(Old_Edje_Data));
- di->key = parse_str(0);
- di->value = parse_str(1);
- pc->data = eina_list_append(pc->data, di);
+
+ if (!pc->data)
+ pc->data = eina_hash_string_small_new(free);
+
+ key = parse_str(0);
+
+ es = mem_alloc(SZ(Edje_String));
+ es->str = parse_str(1);
+
+ eina_hash_direct_add(pc->data, key, es);
}
/**
static void
st_collections_group_parts_alias(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
check_arg_count(2);
static void
ob_collections_group_parts_part(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+
+ ep = mem_alloc(SZ(Edje_Part));
- ep = mem_alloc(SZ(Old_Edje_Part));
pc = eina_list_data_get(eina_list_last(edje_collections));
- pc->parts = eina_list_append(pc->parts, ep);
- ep->id = eina_list_count(pc->parts) - 1;
+ pc->parts_count++;
+ pc->parts = realloc(pc->parts, pc->parts_count * sizeof (Edje_Part *));
+ if (!pc->parts)
+ {
+ ERR("%s: Error. Not enought memory.", progname);
+ exit(-1);
+ }
+ pc->parts[pc->parts_count - 1] = ep;
+
+ ep->id = pc->parts_count - 1;
ep->type = EDJE_PART_TYPE_IMAGE;
ep->mouse_events = 1;
ep->repeat_events = 0;
static void
st_collections_group_parts_part_name(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->name = parse_str(0);
{
- Eina_List *l;
- Old_Edje_Part *lep;
+ unsigned int i;
- EINA_LIST_FOREACH(pc->parts, l, lep)
+ for (i = 0; i < pc->parts_count - 1; ++i)
{
- if ((lep != ep) && (lep->name) && (!strcmp(lep->name, ep->name)))
+ if (pc->parts[i]->name && (!strcmp(pc->parts[i]->name, ep->name)))
{
ERR("%s: Error. parse error %s:%i. There is already a part of the name %s",
progname, file_in, line - 1, ep->name);
static void
st_collections_group_parts_part_type(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->type = parse_enum(0,
"NONE", EDJE_PART_TYPE_NONE,
"RECT", EDJE_PART_TYPE_RECTANGLE,
"TABLE", EDJE_PART_TYPE_TABLE,
"EXTERNAL", EDJE_PART_TYPE_EXTERNAL,
NULL);
+
+ if (ep->default_desc || ep->other.desc_count > 0)
+ {
+ ERR("%s: Error. parse error %s:%i. You can't change type after defining description in part of the name %s",
+ progname, file_in, line - 1, ep->name);
+ exit(-1);
+ }
}
/**
static void
st_collections_group_parts_part_mouse_events(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->mouse_events = parse_bool(0);
}
static void
st_collections_group_parts_part_repeat_events(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->repeat_events = parse_bool(0);
}
static void
st_collections_group_parts_part_ignore_flags(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_min_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->ignore_flags = parse_flags(0,
"NONE", EVAS_EVENT_FLAG_NONE,
"ON_HOLD", EVAS_EVENT_FLAG_ON_HOLD,
static void
st_collections_group_parts_part_scale(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->scale = parse_bool(0);
}
static void
st_collections_group_parts_part_pointer_mode(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->pointer_mode = parse_enum(0,
"AUTOGRAB", EVAS_OBJECT_POINTER_MODE_AUTOGRAB,
"NOGRAB", EVAS_OBJECT_POINTER_MODE_NOGRAB,
static void
st_collections_group_parts_part_precise_is_inside(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->precise_is_inside = parse_bool(0);
}
static void
st_collections_group_parts_part_use_alternate_font_metrics(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->use_alternate_font_metrics = parse_bool(0);
}
static void
st_collections_group_parts_part_clip_to_id(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
{
char *name;
static void
st_collections_group_parts_part_source(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source = parse_str(0);
static void
st_collections_group_parts_part_source2(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source2 = parse_str(0);
static void
st_collections_group_parts_part_source3(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source3 = parse_str(0);
static void
st_collections_group_parts_part_source4(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source4 = parse_str(0);
static void
st_collections_group_parts_part_source5(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source5 = parse_str(0);
static void
st_collections_group_parts_part_source6(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
//FIXME: validate this somehow (need to decide on the format also)
ep->source6 = parse_str(0);
static void
st_collections_group_parts_part_effect(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->effect = parse_enum(0,
"NONE", EDJE_TEXT_EFFECT_NONE,
"PLAIN", EDJE_TEXT_EFFECT_PLAIN,
static void
st_collections_group_parts_part_entry_mode(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->entry_mode = parse_enum(0,
"NONE", EDJE_ENTRY_EDIT_MODE_NONE,
"PLAIN", EDJE_ENTRY_EDIT_MODE_SELECTABLE,
static void
st_collections_group_parts_part_select_mode(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->select_mode = parse_enum(0,
"DEFAULT", EDJE_ENTRY_SELECTION_MODE_DEFAULT,
"EXPLICIT", EDJE_ENTRY_SELECTION_MODE_EXPLICIT,
static void
st_collections_group_parts_part_multiline(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->multiline = parse_bool(0);
}
static void
st_collections_group_parts_part_dragable_x(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(3);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->dragable.x = parse_int_range(0, -1, 1);
ep->dragable.step_x = parse_int_range(1, 0, 0x7fffffff);
ep->dragable.count_x = parse_int_range(2, 0, 0x7fffffff);
static void
st_collections_group_parts_part_dragable_y(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(3);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
ep->dragable.y = parse_int_range(0, -1, 1);
ep->dragable.step_y = parse_int_range(1, 0, 0x7fffffff);
ep->dragable.count_y = parse_int_range(2, 0, 0x7fffffff);
static void
st_collections_group_parts_part_dragable_confine(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
{
char *name;
static void
st_collections_group_parts_part_dragable_events(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
{
char *name;
*/
static void ob_collections_group_parts_part_box_items_item(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_BOX) && (ep->type != EDJE_PART_TYPE_TABLE))
{
exit(-1);
}
+ ep->items_count++;
+ ep->items = realloc(ep->items, sizeof (Edje_Pack_Element*) * ep->items_count);
+ if (!ep->items)
+ {
+ ERR("%s: Error. Not enought memory.", progname);
+ exit(-1);
+ }
+
item = mem_alloc(SZ(Edje_Pack_Element));
- ep->items = eina_list_append(ep->items, item);
+ ep->items[ep->items_count - 1] = item;
item->type = EDJE_PART_TYPE_GROUP;
item->name = NULL;
item->source = NULL;
*/
static void st_collections_group_parts_part_box_items_item_type(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
- item = eina_list_data_get(eina_list_last(ep->items));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
{
char *s;
*/
static void st_collections_group_parts_part_box_items_item_name(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->name = parse_str(0);
}
*/
static void st_collections_group_parts_part_box_items_item_source(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->source = parse_str(0);
}
*/
static void st_collections_group_parts_part_box_items_item_min(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->min.w = parse_int_range(0, 0, 0x7ffffff);
item->min.h = parse_int_range(1, 0, 0x7ffffff);
}
*/
static void st_collections_group_parts_part_box_items_item_prefer(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->prefer.w = parse_int_range(0, 0, 0x7ffffff);
item->prefer.h = parse_int_range(1, 0, 0x7ffffff);
}
*/
static void st_collections_group_parts_part_box_items_item_max(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->max.w = parse_int_range(0, 0, 0x7ffffff);
item->max.h = parse_int_range(1, 0, 0x7ffffff);
}
*/
static void st_collections_group_parts_part_box_items_item_padding(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(4);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->padding.l = parse_int_range(0, 0, 0x7ffffff);
item->padding.r = parse_int_range(1, 0, 0x7ffffff);
item->padding.t = parse_int_range(2, 0, 0x7ffffff);
*/
static void st_collections_group_parts_part_box_items_item_align(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
item->align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
}
*/
static void st_collections_group_parts_part_box_items_item_weight(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->weight.x = FROM_DOUBLE(parse_float_range(0, 0.0, 99999.99));
item->weight.y = FROM_DOUBLE(parse_float_range(1, 0.0, 99999.99));
}
*/
static void st_collections_group_parts_part_box_items_item_aspect(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->aspect.w = parse_int_range(0, 0, 0x7fffffff);
item->aspect.h = parse_int_range(1, 0, 0x7fffffff);
}
*/
static void st_collections_group_parts_part_box_items_item_aspect_mode(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->aspect.mode = parse_enum(0,
"NONE", EDJE_ASPECT_CONTROL_NONE,
"NEITHER", EDJE_ASPECT_CONTROL_NEITHER,
*/
static void st_collections_group_parts_part_box_items_item_options(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
- item = eina_list_data_get(eina_list_last(ep->items));
item->options = parse_str(0);
}
*/
static void st_collections_group_parts_part_table_items_item_position(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
if (ep->type != EDJE_PART_TYPE_TABLE)
{
progname, file_in, line - 1);
exit(-1);
}
-
- item = eina_list_data_get(eina_list_last(ep->items));
+
item->col = parse_int_range(0, 0, 0xffff);
item->row = parse_int_range(1, 0, 0xffff);
}
*/
static void st_collections_group_parts_part_table_items_item_span(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
Edje_Pack_Element *item;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+ item = ep->items[ep->items_count - 1];
if (ep->type != EDJE_PART_TYPE_TABLE)
{
exit(-1);
}
- item = eina_list_data_get(eina_list_last(ep->items));
item->colspan = parse_int_range(0, 1, 0xffff);
item->rowspan = parse_int_range(1, 1, 0xffff);
}
static void
ob_collections_group_parts_part_description(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ed = mem_alloc(SZ(Old_Edje_Part_Description));
+ ep = pc->parts[pc->parts_count - 1];
+
+ ed = _edje_part_description_alloc(ep->type, pc->part, ep->name);
+
if (!ep->default_desc)
- ep->default_desc = ed;
+ {
+ ep->default_desc = ed;
+ }
else
- ep->other_desc = eina_list_append(ep->other_desc, ed);
- ed->common.visible = 1;
- ed->common.align.x = FROM_DOUBLE(0.5);
- ed->common.align.y = FROM_DOUBLE(0.5);
- ed->common.min.w = 0;
- ed->common.min.h = 0;
- ed->common.fixed.w = 0;
- ed->common.fixed.h = 0;
- ed->common.max.w = -1;
- ed->common.max.h = -1;
- ed->common.rel1.relative_x = FROM_DOUBLE(0.0);
- ed->common.rel1.relative_y = FROM_DOUBLE(0.0);
- ed->common.rel1.offset_x = 0;
- ed->common.rel1.offset_y = 0;
- ed->common.rel1.id_x = -1;
- ed->common.rel1.id_y = -1;
- ed->common.rel2.relative_x = FROM_DOUBLE(1.0);
- ed->common.rel2.relative_y = FROM_DOUBLE(1.0);
- ed->common.rel2.offset_x = -1;
- ed->common.rel2.offset_y = -1;
- ed->common.rel2.id_x = -1;
- ed->common.rel2.id_y = -1;
- ed->image.id = -1;
- ed->image.fill.smooth = 1;
- ed->image.fill.pos_rel_x = FROM_DOUBLE(0.0);
- ed->image.fill.pos_abs_x = 0;
- ed->image.fill.rel_x = FROM_DOUBLE(1.0);
- ed->image.fill.abs_x = 0;
- ed->image.fill.pos_rel_y = FROM_DOUBLE(0.0);
- ed->image.fill.pos_abs_y = 0;
- ed->image.fill.rel_y = FROM_DOUBLE(1.0);
- ed->image.fill.abs_y = 0;
- ed->image.fill.angle = 0;
- ed->image.fill.spread = 0;
- ed->image.fill.type = EDJE_FILL_TYPE_SCALE;
- ed->common.color_class = NULL;
- ed->common.color.r = 255;
- ed->common.color.g = 255;
- ed->common.color.b = 255;
- ed->common.color.a = 255;
- ed->common.color2.r = 0;
- ed->common.color2.g = 0;
- ed->common.color2.b = 0;
- ed->common.color2.a = 255;
- ed->text.color3.r = 0;
- ed->text.color3.g = 0;
- ed->text.color3.b = 0;
- ed->text.color3.a = 128;
- ed->text.align.x = FROM_DOUBLE(0.5);
- ed->text.align.y = FROM_DOUBLE(0.5);
- ed->text.id_source = -1;
- ed->text.id_text_source = -1;
- ed->box.layout = NULL;
- ed->box.alt_layout = NULL;
- ed->box.align.x = FROM_DOUBLE(0.5);
- ed->box.align.y = FROM_DOUBLE(0.5);
- ed->box.padding.x = 0;
- ed->box.padding.y = 0;
- ed->table.homogeneous = EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE;
- ed->table.align.x = FROM_DOUBLE(0.5);
- ed->table.align.y = FROM_DOUBLE(0.5);
- ed->table.padding.x = 0;
- ed->table.padding.y = 0;
- ed->common.map.id_persp = -1;
- ed->common.map.id_light = -1;
- ed->common.map.rot.id_center = -1;
- ed->common.map.rot.x = FROM_DOUBLE(0.0);
- ed->common.map.rot.y = FROM_DOUBLE(0.0);
- ed->common.map.rot.z = FROM_DOUBLE(0.0);
- ed->common.map.on = 0;
- ed->common.map.smooth = 1;
- ed->common.map.alpha = 1;
- ed->common.map.backcull = 0;
- ed->common.map.persp_on = 0;
- ed->common.persp.zplane = 0;
- ed->common.persp.focal = 1000;
- ed->external_params = NULL;
+ {
+ ep->other.desc_count++;
+ ep->other.desc = realloc(ep->other.desc,
+ sizeof (Edje_Part_Description_Common*) * ep->other.desc_count);
+ ep->other.desc[ep->other.desc_count - 1] = ed;
+ }
+
+ ed->visible = 1;
+ ed->align.x = FROM_DOUBLE(0.5);
+ ed->align.y = FROM_DOUBLE(0.5);
+ ed->min.w = 0;
+ ed->min.h = 0;
+ ed->fixed.w = 0;
+ ed->fixed.h = 0;
+ ed->max.w = -1;
+ ed->max.h = -1;
+ ed->rel1.relative_x = FROM_DOUBLE(0.0);
+ ed->rel1.relative_y = FROM_DOUBLE(0.0);
+ ed->rel1.offset_x = 0;
+ ed->rel1.offset_y = 0;
+ ed->rel1.id_x = -1;
+ ed->rel1.id_y = -1;
+ ed->rel2.relative_x = FROM_DOUBLE(1.0);
+ ed->rel2.relative_y = FROM_DOUBLE(1.0);
+ ed->rel2.offset_x = -1;
+ ed->rel2.offset_y = -1;
+ ed->rel2.id_x = -1;
+ ed->rel2.id_y = -1;
+ ed->color_class = NULL;
+ ed->color.r = 255;
+ ed->color.g = 255;
+ ed->color.b = 255;
+ ed->color.a = 255;
+ ed->color2.r = 0;
+ ed->color2.g = 0;
+ ed->color2.b = 0;
+ ed->color2.a = 255;
+ ed->map.id_persp = -1;
+ ed->map.id_light = -1;
+ ed->map.rot.id_center = -1;
+ ed->map.rot.x = FROM_DOUBLE(0.0);
+ ed->map.rot.y = FROM_DOUBLE(0.0);
+ ed->map.rot.z = FROM_DOUBLE(0.0);
+ ed->map.on = 0;
+ ed->map.smooth = 1;
+ ed->map.alpha = 1;
+ ed->map.backcull = 0;
+ ed->map.persp_on = 0;
+ ed->persp.zplane = 0;
+ ed->persp.focal = 1000;
}
/**
static void
st_collections_group_parts_part_description_inherit(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed, *parent = NULL;
- Eina_List *l;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed, *parent = NULL;
Edje_Part_Image_Id *iid;
char *parent_name;
const char *state_name;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
/* inherit may not be used in the default description */
- if (!ep->other_desc)
+ if (!ep->other.desc_count)
{
ERR("%s: Error. parse error %s:%i. "
"inherit may not be used in the default description",
exit(-1);
}
- ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = ep->other.desc[ep->other.desc_count - 1];
- if (!ed->common.state.name)
+ if (!ed->state.name)
{
ERR("%s: Error. parse error %s:%i. "
"inherit may only be used after state",
parent = ep->default_desc;
else
{
+ Edje_Part_Description_Common *d;
double min_dst = 999.0;
- Old_Edje_Part_Description *d;
+ unsigned int i;
if (!strcmp(parent_name, "default"))
{
parent = ep->default_desc;
- min_dst = ABS(ep->default_desc->common.state.value - parent_val);
+ min_dst = ABS(ep->default_desc->state.value - parent_val);
}
- EINA_LIST_FOREACH(ep->other_desc, l, d)
+ for (i = 0; i < ep->other.desc_count; ++i)
{
- if (!strcmp (d->common.state.name, parent_name))
+ d = ep->other.desc[i];
+
+ if (!strcmp (d->state.name, parent_name))
{
double dst;
- dst = ABS(d->common.state.value - parent_val);
+ dst = ABS(d->state.value - parent_val);
if (dst < min_dst)
{
parent = d;
exit(-1);
}
- free (parent_name);
+ free(parent_name);
/* now do a full copy, only state info will be kept */
- state_name = ed->common.state.name;
- state_val = ed->common.state.value;
+ state_name = ed->state.name;
+ state_val = ed->state.value;
*ed = *parent;
- ed->common.state.name = state_name;
- ed->common.state.value = state_val;
+ ed->state.name = state_name;
+ ed->state.value = state_val;
- data_queue_part_slave_lookup(&parent->common.rel1.id_x, &ed->common.rel1.id_x);
- data_queue_part_slave_lookup(&parent->common.rel1.id_y, &ed->common.rel1.id_y);
- data_queue_part_slave_lookup(&parent->common.rel2.id_x, &ed->common.rel2.id_x);
- data_queue_part_slave_lookup(&parent->common.rel2.id_y, &ed->common.rel2.id_y);
- data_queue_image_slave_lookup(&parent->image.id, &ed->image.id);
+ data_queue_part_slave_lookup(&parent->rel1.id_x, &ed->rel1.id_x);
+ data_queue_part_slave_lookup(&parent->rel1.id_y, &ed->rel1.id_y);
+ data_queue_part_slave_lookup(&parent->rel2.id_x, &ed->rel2.id_x);
+ data_queue_part_slave_lookup(&parent->rel2.id_y, &ed->rel2.id_y);
/* make sure all the allocated memory is getting copied, not just
* referenced
*/
- ed->image.tween_list = NULL;
+#define STRDUP(x) x ? strdup(x) : NULL
- EINA_LIST_FOREACH(parent->image.tween_list, l, iid)
+ ed->color_class = STRDUP(ed->color_class);
+ switch (ep->type)
{
- Edje_Part_Image_Id *iid_new;
-
- iid_new = mem_alloc(SZ(Edje_Part_Image_Id));
- data_queue_image_slave_lookup(&(iid->id), &(iid_new->id));
- ed->image.tween_list = eina_list_append(ed->image.tween_list, iid_new);
+ case EDJE_PART_TYPE_RECTANGLE:
+ case EDJE_PART_TYPE_SWALLOW:
+ case EDJE_PART_TYPE_GROUP:
+ /* Nothing todo, this part only have a common description. */
+ break;
+ case EDJE_PART_TYPE_TEXT:
+ case EDJE_PART_TYPE_TEXTBLOCK:
+ {
+ Edje_Part_Description_Text *ted = (Edje_Part_Description_Text*) ed;
+ Edje_Part_Description_Text *tparent = (Edje_Part_Description_Text*) parent;
+
+ ted->text = tparent->text;
+
+ ted->text.text.str = STRDUP(ted->text.text.str);
+ ted->text.text_class = STRDUP(ted->text.text_class);
+ ted->text.font.str = STRDUP(ted->text.font.str);
+
+ data_queue_part_slave_lookup(&(tparent->text.id_source), &(ted->text.id_source));
+ data_queue_part_slave_lookup(&(tparent->text.id_text_source), &(ted->text.id_text_source));
+
+ break;
+ }
+ case EDJE_PART_TYPE_IMAGE:
+ {
+ Edje_Part_Description_Image *ied = (Edje_Part_Description_Image *) ed;
+ Edje_Part_Description_Image *iparent = (Edje_Part_Description_Image *) parent;
+ unsigned int i;
+
+ ied->image = iparent->image;
+
+ data_queue_image_slave_lookup(&iparent->image.id, &ied->image.id);
+
+ ied->image.tweens = calloc(iparent->image.tweens_count,
+ sizeof (Edje_Part_Image_Id*));
+ for (i = 0; i < iparent->image.tweens_count; i++)
+ {
+ Edje_Part_Image_Id *iid_new;
+
+ iid = iparent->image.tweens[i];
+
+ iid_new = mem_alloc(SZ(Edje_Part_Image_Id));
+ data_queue_image_slave_lookup(&(iid->id), &(iid_new->id));
+ ied->image.tweens[i] = iid_new;
+ }
+
+ break;
+ }
+ case EDJE_PART_TYPE_BOX:
+ {
+ Edje_Part_Description_Box *bed = (Edje_Part_Description_Box *) ed;
+ Edje_Part_Description_Box *bparent = (Edje_Part_Description_Box *) parent;
+
+ bed->box = bparent->box;
+
+ break;
+ }
+ case EDJE_PART_TYPE_TABLE:
+ {
+ Edje_Part_Description_Table *ted = (Edje_Part_Description_Table *) ed;
+ Edje_Part_Description_Table *tparent = (Edje_Part_Description_Table *) parent;
+
+ ted->table = tparent->table;
+
+ break;
+ }
+ case EDJE_PART_TYPE_EXTERNAL:
+ {
+ Edje_Part_Description_External *eed = (Edje_Part_Description_External *) ed;
+ Edje_Part_Description_External *eparent = (Edje_Part_Description_External *) parent;
+
+ if (eparent->external_params)
+ {
+ Eina_List *l;
+ Edje_External_Param *param, *new_param;
+
+ eed->external_params = NULL;
+ EINA_LIST_FOREACH(eparent->external_params, l, param)
+ {
+ new_param = mem_alloc(SZ(Edje_External_Param));
+ *new_param = *param;
+ eed->external_params = eina_list_append(eed->external_params, new_param);
+ }
+ }
+ break;
+ }
}
-#define STRDUP(x) x ? strdup(x) : NULL
-
- ed->common.color_class = STRDUP(ed->common.color_class);
- ed->text.text.str = STRDUP(ed->text.text.str);
- ed->text.text_class = STRDUP(ed->text.text_class);
- ed->text.font.str = STRDUP(ed->text.font.str);
#undef STRDUP
-
- data_queue_part_slave_lookup(&(parent->text.id_source), &(ed->text.id_source));
- data_queue_part_slave_lookup(&(parent->text.id_text_source), &(ed->text.id_text_source));
-
- if (parent->external_params)
- {
- Eina_List *l;
- Edje_External_Param *param, *new_param;
-
- ed->external_params = NULL;
- EINA_LIST_FOREACH(parent->external_params, l, param)
- {
- new_param = mem_alloc(SZ(Edje_External_Param));
- *new_param = *param;
- ed->external_params = eina_list_append(ed->external_params, new_param);
- }
- }
}
/**
static void
st_collections_group_parts_part_description_state(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
char *s;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
s = parse_str(0);
if (!strcmp (s, "custom"))
exit(-1);
}
- ed->common.state.name = s;
- ed->common.state.value = parse_float_range(1, 0.0, 1.0);
+ ed->state.name = s;
+ ed->state.value = parse_float_range(1, 0.0, 1.0);
}
/**
static void
st_collections_group_parts_part_description_visible(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.visible = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->visible = parse_bool(0);
}
/**
static void
st_collections_group_parts_part_description_align(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
- ed->common.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
+ ed->align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
}
/**
static void
st_collections_group_parts_part_description_fixed(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.fixed.w = parse_float_range(0, 0, 1);
- ed->common.fixed.h = parse_float_range(1, 0, 1);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->fixed.w = parse_float_range(0, 0, 1);
+ ed->fixed.h = parse_float_range(1, 0, 1);
}
/**
static void
st_collections_group_parts_part_description_min(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.min.w = parse_float_range(0, 0, 0x7fffffff);
- ed->common.min.h = parse_float_range(1, 0, 0x7fffffff);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->min.w = parse_float_range(0, 0, 0x7fffffff);
+ ed->min.h = parse_float_range(1, 0, 0x7fffffff);
}
/**
static void
st_collections_group_parts_part_description_max(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.max.w = parse_float_range(0, 0, 0x7fffffff);
- ed->common.max.h = parse_float_range(1, 0, 0x7fffffff);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->max.w = parse_float_range(0, 0, 0x7fffffff);
+ ed->max.h = parse_float_range(1, 0, 0x7fffffff);
}
/**
static void
st_collections_group_parts_part_description_step(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.step.x = parse_float_range(0, 0, 0x7fffffff);
- ed->common.step.y = parse_float_range(1, 0, 0x7fffffff);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->step.x = parse_float_range(0, 0, 0x7fffffff);
+ ed->step.y = parse_float_range(1, 0, 0x7fffffff);
}
/**
static void
st_collections_group_parts_part_description_aspect(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
- ed->common.aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->aspect.min = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
+ ed->aspect.max = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
}
/**
static void
st_collections_group_parts_part_description_aspect_preference(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.aspect.prefer = parse_enum(0,
- "NONE", EDJE_ASPECT_PREFER_NONE,
- "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
- "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
- "BOTH", EDJE_ASPECT_PREFER_BOTH,
- NULL);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->aspect.prefer = parse_enum(0,
+ "NONE", EDJE_ASPECT_PREFER_NONE,
+ "VERTICAL", EDJE_ASPECT_PREFER_VERTICAL,
+ "HORIZONTAL", EDJE_ASPECT_PREFER_HORIZONTAL,
+ "BOTH", EDJE_ASPECT_PREFER_BOTH,
+ NULL);
}
/**
static void
st_collections_group_parts_part_description_color_class(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.color_class = parse_str(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->color_class = parse_str(0);
}
/**
static void
st_collections_group_parts_part_description_color(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(4);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.color.r = parse_int_range(0, 0, 255);
- ed->common.color.g = parse_int_range(1, 0, 255);
- ed->common.color.b = parse_int_range(2, 0, 255);
- ed->common.color.a = parse_int_range(3, 0, 255);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->color.r = parse_int_range(0, 0, 255);
+ ed->color.g = parse_int_range(1, 0, 255);
+ ed->color.b = parse_int_range(2, 0, 255);
+ ed->color.a = parse_int_range(3, 0, 255);
}
/**
static void
st_collections_group_parts_part_description_color2(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(4);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.color2.r = parse_int_range(0, 0, 255);
- ed->common.color2.g = parse_int_range(1, 0, 255);
- ed->common.color2.b = parse_int_range(2, 0, 255);
- ed->common.color2.a = parse_int_range(3, 0, 255);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->color2.r = parse_int_range(0, 0, 255);
+ ed->color2.g = parse_int_range(1, 0, 255);
+ ed->color2.b = parse_int_range(2, 0, 255);
+ ed->color2.a = parse_int_range(3, 0, 255);
}
/**
static void
st_collections_group_parts_part_description_color3(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(4);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ep = pc->parts[pc->parts_count - 1];
+
+ if (ep->type != EDJE_PART_TYPE_TEXT
+ && ep->type != EDJE_PART_TYPE_TEXTBLOCK)
+ {
+ ERR("%s: Error. Setting color3 in part %s from %s not of type TEXT or TEXTBLOCK.", progname, ep->name, pc->part);
+ exit(-1);
+ }
+
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.color3.r = parse_int_range(0, 0, 255);
ed->text.color3.g = parse_int_range(1, 0, 255);
ed->text.color3.b = parse_int_range(2, 0, 255);
static void
st_collections_group_parts_part_description_rel1_relative(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.rel1.relative_x = FROM_DOUBLE(parse_float(0));
- ed->common.rel1.relative_y = FROM_DOUBLE(parse_float(1));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->rel1.relative_x = FROM_DOUBLE(parse_float(0));
+ ed->rel1.relative_y = FROM_DOUBLE(parse_float(1));
}
/**
static void
st_collections_group_parts_part_description_rel1_offset(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.rel1.offset_x = parse_int(0);
- ed->common.rel1.offset_y = parse_int(1);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->rel1.offset_x = parse_int(0);
+ ed->rel1.offset_y = parse_int(1);
}
/**
static void
st_collections_group_parts_part_description_rel1_to(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel1.id_x));
- data_queue_part_lookup(pc, name, &(ed->common.rel1.id_y));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel1.id_x));
+ data_queue_part_lookup(pc, name, &(ed->rel1.id_y));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_rel1_to_x(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel1.id_x));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel1.id_x));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_rel1_to_y(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel1.id_y));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel1.id_y));
+ free(name);
+ }
}
static void
st_collections_group_parts_part_description_rel2_relative(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.rel2.relative_x = FROM_DOUBLE(parse_float(0));
- ed->common.rel2.relative_y = FROM_DOUBLE(parse_float(1));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->rel2.relative_x = FROM_DOUBLE(parse_float(0));
+ ed->rel2.relative_y = FROM_DOUBLE(parse_float(1));
}
static void
st_collections_group_parts_part_description_rel2_offset(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.rel2.offset_x = parse_int(0);
- ed->common.rel2.offset_y = parse_int(1);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->rel2.offset_x = parse_int(0);
+ ed->rel2.offset_y = parse_int(1);
}
static void
st_collections_group_parts_part_description_rel2_to(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel2.id_x));
- data_queue_part_lookup(pc, name, &(ed->common.rel2.id_y));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel2.id_x));
+ data_queue_part_lookup(pc, name, &(ed->rel2.id_y));
+ free(name);
+ }
}
static void
st_collections_group_parts_part_description_rel2_to_x(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel2.id_x));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel2.id_x));
+ free(name);
+ }
}
static void
st_collections_group_parts_part_description_rel2_to_y(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.rel2.id_y));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel2.id_y));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_image_normal(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_image_lookup(name, &(ed->image.id), &(ed->image.set));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_image_tween(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
- Edje_Part_Image_Id *iid;
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
- iid = mem_alloc(SZ(Edje_Part_Image_Id));
- ed->image.tween_list = eina_list_append(ed->image.tween_list, iid);
- name = parse_str(0);
- data_queue_image_lookup(name, &(iid->id), &(iid->set));
- free(name);
- }
+ {
+ char *name;
+ Edje_Part_Image_Id *iid;
+
+ iid = mem_alloc(SZ(Edje_Part_Image_Id));
+ ed->image.tweens_count++;
+ ed->image.tweens = realloc(ed->image.tweens,
+ sizeof (Edje_Part_Image_Id*) * ed->image.tweens_count);
+ ed->image.tweens[ed->image.tweens_count - 1] = iid;
+ name = parse_str(0);
+ data_queue_image_lookup(name, &(iid->id), &(iid->set));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_image_border(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(4);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.border.l = parse_int_range(0, 0, 0x7fffffff);
ed->image.border.r = parse_int_range(1, 0, 0x7fffffff);
ed->image.border.t = parse_int_range(2, 0, 0x7fffffff);
static void
st_collections_group_parts_part_description_image_middle(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.border.no_fill = parse_enum(0,
"1", 0,
"DEFAULT", 0,
static void
st_collections_group_parts_part_description_image_border_scale(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.border.scale = parse_enum(0,
"0", 0,
"1", 1,
static void
st_collections_group_parts_part_description_image_scale_hint(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.scale_hint = parse_enum(0,
"NONE", EVAS_IMAGE_SCALE_HINT_NONE,
"DYNAMIC", EVAS_IMAGE_SCALE_HINT_DYNAMIC,
static void
st_collections_group_parts_part_description_fill_smooth(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill.type attribute in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.smooth = parse_bool(0);
}
static void
st_collections_group_parts_part_description_fill_spread(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
/* XXX this will need to include IMAGES when spread support is added to evas images */
- if (ep->type != EDJE_PART_TYPE_GRADIENT)
+ {
+ ERR("%s: Error. parse error %s:%i. "
+ "fill.spread not supported yet.",
+ progname, file_in, line - 1);
+ exit(-1);
+ }
+
+ ep = pc->parts[pc->parts_count - 1];
+
+ if (ep->type != EDJE_PART_TYPE_IMAGE)
{
- fprintf(stderr, "%s: Error. parse error %s:%i. "
- "gradient attributes in non-GRADIENT part.\n",
- progname, file_in, line - 1);
+ ERR("%s: Error. parse error %s:%i. "
+ "image attributes in non-IMAGE part.",
+ progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.spread = parse_int_range(0, 0, 1);
}
static void
st_collections_group_parts_part_description_fill_type(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill attributes in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.type = parse_enum(0,
"SCALE", EDJE_FILL_TYPE_SCALE,
"TILE", EDJE_FILL_TYPE_TILE,
static void
st_collections_group_parts_part_description_fill_origin_relative(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill attributes in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.pos_rel_x = FROM_DOUBLE(parse_float_range(0, -999999999.0, 999999999.0));
ed->image.fill.pos_rel_y = FROM_DOUBLE(parse_float_range(1, -999999999.0, 999999999.0));
}
static void
st_collections_group_parts_part_description_fill_origin_offset(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill attributes in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.pos_abs_x = parse_int(0);
ed->image.fill.pos_abs_y = parse_int(1);
}
static void
st_collections_group_parts_part_description_fill_size_relative(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill attributes in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.rel_x = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0));
ed->image.fill.rel_y = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
}
static void
st_collections_group_parts_part_description_fill_size_offset(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Image *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_IMAGE)
{
ERR("%s: Error. parse error %s:%i. "
- "fill attributes in non-IMAGE part.",
+ "image attributes in non-IMAGE part.",
progname, file_in, line - 1);
exit(-1);
}
+ ed = (Edje_Part_Description_Image*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Image*) ep->other.desc[ep->other.desc_count - 1];
+
ed->image.fill.abs_x = parse_int(0);
ed->image.fill.abs_y = parse_int(1);
}
static void
st_collections_group_parts_part_description_text_text(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
char *str = NULL;
int i;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
for (i = 0; ;i++)
{
char *s;
static void
st_collections_group_parts_part_description_text_text_class(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.text_class = parse_str(0);
}
static void
st_collections_group_parts_part_description_text_font(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXT)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
"text attributes in non-TEXT part.",
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.font.str = parse_str(0);
}
static void
st_collections_group_parts_part_description_text_style(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXTBLOCK)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
- "text attributes in non-TEXTBLOCK part.",
+ "text attributes in non-TEXT part.",
progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.style.str = parse_str(0);
}
static void
st_collections_group_parts_part_description_text_repch(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXTBLOCK)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
- "text attributes in non-TEXTBLOCK part.",
+ "text attributes in non-TEXT part.",
progname, file_in, line - 1);
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.repch.str = parse_str(0);
}
static void
st_collections_group_parts_part_description_text_size(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXT)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
"text attributes in non-TEXT part.",
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.size = parse_int_range(0, 0, 255);
}
static void
st_collections_group_parts_part_description_text_fit(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXT)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
"text attributes in non-TEXT part.",
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.fit_x = parse_bool(0);
ed->text.fit_y = parse_bool(1);
}
static void
st_collections_group_parts_part_description_text_min(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.min_x = parse_bool(0);
ed->text.min_y = parse_bool(1);
}
static void
st_collections_group_parts_part_description_text_max(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.max_x = parse_bool(0);
ed->text.max_y = parse_bool(1);
}
static void
st_collections_group_parts_part_description_text_align(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXT)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
"text attributes in non-TEXT part.",
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.align.x = FROM_DOUBLE(parse_float_range(0, 0.0, 1.0));
ed->text.align.y = FROM_DOUBLE(parse_float_range(1, 0.0, 1.0));
}
static void
st_collections_group_parts_part_description_text_source(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->text.id_source));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->text.id_source));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_text_text_source(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if ((ep->type != EDJE_PART_TYPE_TEXT) &&
(ep->type != EDJE_PART_TYPE_TEXTBLOCK))
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->text.id_text_source));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->text.id_text_source));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_text_elipsis(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Text *ed;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
- if (ep->type != EDJE_PART_TYPE_TEXT)
+ if ((ep->type != EDJE_PART_TYPE_TEXT) &&
+ (ep->type != EDJE_PART_TYPE_TEXTBLOCK))
{
ERR("%s: Error. parse error %s:%i. "
"text attributes in non-TEXT part.",
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Text*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Text*) ep->other.desc[ep->other.desc_count - 1];
+
ed->text.elipsis = parse_float_range(0, 0.0, 1.0);
}
*/
static void st_collections_group_parts_part_description_box_layout(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Box *ed;
check_min_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_BOX)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Box*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Box*) ep->other.desc[ep->other.desc_count - 1];
+
ed->box.layout = parse_str(0);
if (is_param(1))
ed->box.alt_layout = parse_str(1);
static void st_collections_group_parts_part_description_box_align(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Box *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_BOX)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Box*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Box*) ep->other.desc[ep->other.desc_count - 1];
+
ed->box.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
ed->box.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
}
static void st_collections_group_parts_part_description_box_padding(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Box *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_BOX)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Box*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Box*) ep->other.desc[ep->other.desc_count - 1];
+
ed->box.padding.x = parse_int_range(0, 0, 0x7fffffff);
ed->box.padding.y = parse_int_range(1, 0, 0x7fffffff);
}
static void
st_collections_group_parts_part_description_box_min(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Box *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_BOX)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Box*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Box*) ep->other.desc[ep->other.desc_count - 1];
+
ed->box.min.h = parse_bool(0);
ed->box.min.v = parse_bool(1);
}
*/
static void st_collections_group_parts_part_description_table_homogeneous(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Table *ed;
check_min_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_TABLE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Table*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Table*) ep->other.desc[ep->other.desc_count - 1];
+
ed->table.homogeneous = parse_enum(0,
"NONE", EDJE_OBJECT_TABLE_HOMOGENEOUS_NONE,
"TABLE", EDJE_OBJECT_TABLE_HOMOGENEOUS_TABLE,
static void st_collections_group_parts_part_description_table_align(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Table *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_TABLE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Table*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Table*) ep->other.desc[ep->other.desc_count - 1];
+
ed->table.align.x = FROM_DOUBLE(parse_float_range(0, -1.0, 1.0));
ed->table.align.y = FROM_DOUBLE(parse_float_range(1, -1.0, 1.0));
}
static void st_collections_group_parts_part_description_table_padding(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Table *ed;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_TABLE)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_Table*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_Table*) ep->other.desc[ep->other.desc_count - 1];
+
ed->table.padding.x = parse_int_range(0, 0, 0x7fffffff);
ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff);
}
static void
st_collections_group_parts_part_description_map_perspective(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.map.id_persp));
- free(name);
- }
- ed->common.map.persp_on = 1;
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->map.id_persp));
+ free(name);
+ }
+
+ ed->map.persp_on = 1;
}
/**
static void
st_collections_group_parts_part_description_map_light(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.map.id_light));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->map.id_light));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_map_on(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.on = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.on = parse_bool(0);
}
/**
static void
st_collections_group_parts_part_description_map_smooth(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.smooth = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.smooth = parse_bool(0);
}
/**
static void
st_collections_group_parts_part_description_map_alpha(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.alpha = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.alpha = parse_bool(0);
}
/**
static void
st_collections_group_parts_part_description_map_backface_cull(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.backcull = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.backcull = parse_bool(0);
}
/**
static void
st_collections_group_parts_part_description_map_perspective_on(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.persp_on = parse_bool(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.persp_on = parse_bool(0);
}
/**
@page edcref
static void
st_collections_group_parts_part_description_map_rotation_center(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- {
- char *name;
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
- name = parse_str(0);
- data_queue_part_lookup(pc, name, &(ed->common.map.rot.id_center));
- free(name);
- }
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->map.rot.id_center));
+ free(name);
+ }
}
/**
static void
st_collections_group_parts_part_description_map_rotation_x(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.rot.x = FROM_DOUBLE(parse_float(0));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.rot.x = FROM_DOUBLE(parse_float(0));
}
/**
static void
st_collections_group_parts_part_description_map_rotation_y(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.rot.y = FROM_DOUBLE(parse_float(0));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.rot.y = FROM_DOUBLE(parse_float(0));
}
/**
static void
st_collections_group_parts_part_description_map_rotation_z(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.map.rot.z = FROM_DOUBLE(parse_float(0));
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->map.rot.z = FROM_DOUBLE(parse_float(0));
}
/**
static void
st_collections_group_parts_part_description_perspective_zplane(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.persp.zplane = parse_int(0);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->persp.zplane = parse_int(0);
}
static void
st_collections_group_parts_part_description_perspective_focal(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_Common *ed;
check_arg_count(1);
-
+
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
-
+ ep = pc->parts[pc->parts_count - 1];
+
ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
- ed->common.persp.focal = parse_int_range(0, 1, 0x7fffffff);
+ if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
+
+ ed->persp.focal = parse_int_range(0, 1, 0x7fffffff);
}
static void
_st_collections_group_parts_part_description_params(Edje_External_Param_Type type)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
- Old_Edje_Part_Description *ed;
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description_External *ed;
Edje_External_Param *param;
Eina_List *l;
const char *name;
check_arg_count(2);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
+ ep = pc->parts[pc->parts_count - 1];
if (ep->type != EDJE_PART_TYPE_EXTERNAL)
{
exit(-1);
}
- ed = ep->default_desc;
- if (ep->other_desc) ed = eina_list_data_get(eina_list_last(ep->other_desc));
+ ed = (Edje_Part_Description_External*) ep->default_desc;
+ if (ep->other.desc_count) ed = (Edje_Part_Description_External*) ep->other.desc[ep->other.desc_count - 1];
name = parse_str(0);
static void
ob_collections_group_programs_program(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
Edje_Program *ep;
pc = eina_list_data_get(eina_list_last(edje_collections));
+
ep = mem_alloc(SZ(Edje_Program));
- pc->programs = eina_list_append(pc->programs, ep);
- ep->id = eina_list_count(pc->programs) - 1;
+ ep->id = -1;
ep->tween.mode = EDJE_TWEEN_MODE_LINEAR;
ep->after = NULL;
+
+ _edje_program_insert(pc, ep);
+
+ current_program = ep;
}
/**
static void
st_collections_group_programs_program_name(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
+ Edje_Part_Collection *pc;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->name = parse_str(0);
- {
- Eina_List *l;
- Edje_Program *lep;
+ current_program->name = parse_str(0);
- EINA_LIST_FOREACH(pc->programs, l, lep)
- {
- if ((lep != ep) && (lep->name) && (!strcmp(lep->name, ep->name)))
- {
- ERR("%s: Error. parse error %s:%i. There is already a program of the name %s\n",
- progname, file_in, line - 1, ep->name);
- exit(-1);
- }
- }
- }
+ _edje_program_check(current_program->name, current_program, pc->programs.fnmatch, pc->programs.fnmatch_count);
+ _edje_program_check(current_program->name, current_program, pc->programs.strcmp, pc->programs.strcmp_count);
+ _edje_program_check(current_program->name, current_program, pc->programs.strncmp, pc->programs.strncmp_count);
+ _edje_program_check(current_program->name, current_program, pc->programs.strrncmp, pc->programs.strrncmp_count);
+ _edje_program_check(current_program->name, current_program, pc->programs.nocmp, pc->programs.nocmp_count);
}
/**
static void
st_collections_group_programs_program_signal(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
+ Edje_Part_Collection *pc;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->signal = parse_str(0);
+
+ _edje_program_remove(pc, current_program);
+ current_program->signal = parse_str(0);
+ _edje_program_insert(pc, current_program);
}
/**
static void
st_collections_group_programs_program_source(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
+ Edje_Part_Collection *pc;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->source = parse_str(0);
+
+ _edje_program_remove(pc, current_program);
+ current_program->source = parse_str(0);
+ _edje_program_insert(pc, current_program);
}
/**
static void
st_collections_group_programs_program_filter(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
-
check_min_arg_count(1);
- pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
-
if(is_param(1)) {
- ep->filter.part = parse_str(0);
- ep->filter.state = parse_str(1);
+ current_program->filter.part = parse_str(0);
+ current_program->filter.state = parse_str(1);
} else {
- ep->filter.state = parse_str(0);
+ current_program->filter.state = parse_str(0);
}
}
static void
st_collections_group_programs_program_in(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
-
check_arg_count(2);
- pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->in.from = parse_float_range(0, 0.0, 999999999.0);
- ep->in.range = parse_float_range(1, 0.0, 999999999.0);
+ current_program->in.from = parse_float_range(0, 0.0, 999999999.0);
+ current_program->in.range = parse_float_range(1, 0.0, 999999999.0);
}
/**
static void
st_collections_group_programs_program_action(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
Edje_Program *ep;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
+ ep = current_program;
ep->action = parse_enum(0,
"STATE_SET", EDJE_ACTION_TYPE_STATE_SET,
"ACTION_STOP", EDJE_ACTION_TYPE_ACTION_STOP,
static void
st_collections_group_programs_program_transition(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
-
check_arg_count(2);
- pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->tween.mode = parse_enum(0,
- "LINEAR", EDJE_TWEEN_MODE_LINEAR,
- "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL,
- "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE,
- "DECELERATE", EDJE_TWEEN_MODE_DECELERATE,
- NULL);
- ep->tween.time = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
+ current_program->tween.mode = parse_enum(0,
+ "LINEAR", EDJE_TWEEN_MODE_LINEAR,
+ "SINUSOIDAL", EDJE_TWEEN_MODE_SINUSOIDAL,
+ "ACCELERATE", EDJE_TWEEN_MODE_ACCELERATE,
+ "DECELERATE", EDJE_TWEEN_MODE_DECELERATE,
+ NULL);
+ current_program->tween.time = FROM_DOUBLE(parse_float_range(1, 0.0, 999999999.0));
}
/**
static void
st_collections_group_programs_program_target(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
Edje_Program *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
+ ep = current_program;
{
Edje_Program_Target *et;
char *name;
static void
st_collections_group_programs_program_after(void)
{
- Old_Edje_Part_Collection *pc;
+ Edje_Part_Collection *pc;
Edje_Program *ep;
check_arg_count(1);
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
+ ep = current_program;
{
Edje_Program_After *pa;
char *name;
static void
st_collections_group_programs_program_api(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
-
check_min_arg_count(1);
- pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
- ep->api.name = parse_str(0);
+ current_program->api.name = parse_str(0);
if (is_param(1))
{
check_arg_count(2);
- ep->api.description = parse_str(1);
+ current_program->api.description = parse_str(1);
}
}
static void
st_collections_group_parts_part_api(void)
{
- Old_Edje_Part_Collection *pc;
- Old_Edje_Part *ep;
-
check_min_arg_count(1);
- pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->parts));
- ep->api.name = parse_str(0);
+ current_program->api.name = parse_str(0);
if (is_param(1))
{
check_arg_count(2);
- ep->api.description = parse_str(1);
+ current_program->api.description = parse_str(1);
}
}
static void
ob_collections_group_programs_program_script(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
+ Edje_Part_Collection *pc;
Code *cd;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
cd = eina_list_data_get(eina_list_last(codes));
if (!is_verbatim()) track_verbatim(1);
{
Code_Program *cp;
+ /* FIXME: Need to store the script somewhere to be restored when using edje_edit API */
cp = mem_alloc(SZ(Code_Program));
cp->l1 = get_verbatim_line1();
cp->l2 = get_verbatim_line2();
- cp->id = ep->id;
cp->script = s;
if (cd->shared && cd->is_lua)
{
}
cd->is_lua = 0;
cd->programs = eina_list_append(cd->programs, cp);
+ data_queue_program_lookup(pc, current_program->name, &(cp->id));
+
set_verbatim(NULL, 0, 0);
- ep->action = EDJE_ACTION_TYPE_SCRIPT;
+ current_program->action = EDJE_ACTION_TYPE_SCRIPT;
}
}
}
static void
ob_collections_group_programs_program_lua_script(void)
{
- Old_Edje_Part_Collection *pc;
- Edje_Program *ep;
+ Edje_Part_Collection *pc;
Code *cd;
pc = eina_list_data_get(eina_list_last(edje_collections));
- ep = eina_list_data_get(eina_list_last(pc->programs));
cd = eina_list_data_get(eina_list_last(codes));
if (!is_verbatim()) track_verbatim(1);
cp = mem_alloc(SZ(Code_Program));
cp->l1 = get_verbatim_line1();
cp->l2 = get_verbatim_line2();
- cp->id = ep->id;
cp->script = s;
if (cd->shared && !cd->is_lua)
{
}
cd->is_lua = 1;
cd->programs = eina_list_append(cd->programs, cp);
+ data_queue_program_lookup(pc, current_program->name, &(cp->id));
set_verbatim(NULL, 0, 0);
- ep->action = EDJE_ACTION_TYPE_LUA_SCRIPT;
+ current_program->action = EDJE_ACTION_TYPE_LUA_SCRIPT;
}
}
}