Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/bin
Modified Files:
edje_cc.c edje_cc.h edje_cc_handlers.c edje_cc_out.c
Log Message:
we parse.... MORE! :) order is now irrelevant of how you delcare images or
parts and what they are relative to/use. the lookups are put off until just
before write-out. order of parts still is the stacking order though.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- edje_cc.c 12 Jun 2003 22:34:51 -0000 1.5
+++ edje_cc.c 14 Jun 2003 03:06:35 -0000 1.6
@@ -60,6 +60,7 @@
data_setup();
compile();
+ data_process_lookups();
data_write();
return 0;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- edje_cc.h 12 Jun 2003 22:34:51 -0000 1.3
+++ edje_cc.h 14 Jun 2003 03:06:35 -0000 1.4
@@ -36,7 +36,11 @@
/* global fn calls */
void data_setup(void);
void data_write(void);
-
+void data_queue_part_lookup(Edje_Part_Collection *pc, char *name, int *dest);
+void data_queue_image_lookup(char *name, int *dest);
+void data_process_lookups(void);
+
+
void compile(void);
char *parse_str(int n);
int parse_enum(int n, ...);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_handlers.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- edje_cc_handlers.c 12 Jun 2003 23:02:45 -0000 1.5
+++ edje_cc_handlers.c 14 Jun 2003 03:06:35 -0000 1.6
@@ -20,13 +20,88 @@
static void ob_collections_group_parts_part_description(void);
static void st_collections_group_parts_part_description_state(void);
-
+static void st_collections_group_parts_part_description_visible(void);
+static void st_collections_group_parts_part_description_dragable_x(void);
+static void st_collections_group_parts_part_description_dragable_y(void);
+static void st_collections_group_parts_part_description_dragable_confine(void);
+static void st_collections_group_parts_part_description_align(void);
+static void st_collections_group_parts_part_description_min(void);
+static void st_collections_group_parts_part_description_max(void);
+static void st_collections_group_parts_part_description_step(void);
+static void st_collections_group_parts_part_description_aspect(void);
+static void st_collections_group_parts_part_description_rel1_relative(void);
+static void st_collections_group_parts_part_description_rel1_offset(void);
+static void st_collections_group_parts_part_description_rel1_to(void);
+static void st_collections_group_parts_part_description_rel2_relative(void);
+static void st_collections_group_parts_part_description_rel2_offset(void);
+static void st_collections_group_parts_part_description_rel2_to(void);
+static void st_collections_group_parts_part_description_image_normal(void);
+static void st_collections_group_parts_part_description_image_tween(void);
+static void st_collections_group_parts_part_description_border(void);
+static void st_collections_group_parts_part_description_fill_origin_relative(void);
+static void st_collections_group_parts_part_description_fill_origin_offset(void);
+static void st_collections_group_parts_part_description_fill_size_relative(void);
+static void st_collections_group_parts_part_description_fill_size_offset(void);
+static void st_collections_group_parts_part_description_color(void);
+static void st_collections_group_parts_part_description_color2(void);
+static void st_collections_group_parts_part_description_color3(void);
+static void st_collections_group_parts_part_description_text_text(void);
+static void st_collections_group_parts_part_description_text_font(void);
+static void st_collections_group_parts_part_description_text_size(void);
+static void st_collections_group_parts_part_description_text_effect(void);
+static void st_collections_group_parts_part_description_text_fit(void);
+static void st_collections_group_parts_part_description_text_min(void);
+static void st_collections_group_parts_part_description_text_align(void);
+
static void ob_collections_group_programs(void);
static void ob_collections_group_programs_program(void);
/*****/
+New_Statement_Handler statement_handlers[] =
+{
+ {"images.image", st_images_image},
+ {"collections.group.name", st_collections_group_name},
+ {"collections.group.parts.part.name", st_collections_group_parts_part_name},
+ {"collections.group.parts.part.type", st_collections_group_parts_part_type},
+ {"collections.group.parts.part.mouse_events",
st_collections_group_parts_part_mouse_events},
+ {"collections.group.parts.part.color_class",
st_collections_group_parts_part_color_class},
+ {"collections.group.parts.part.description.state",
st_collections_group_parts_part_description_state},
+ {"collections.group.parts.part.description.visible",
st_collections_group_parts_part_description_visible},
+ {"collections.group.parts.part.description.dragable.x",
st_collections_group_parts_part_description_dragable_x},
+ {"collections.group.parts.part.description.dragable.y",
st_collections_group_parts_part_description_dragable_y},
+ {"collections.group.parts.part.description.dragable.confine",
st_collections_group_parts_part_description_dragable_confine},
+ {"collections.group.parts.part.description.align",
st_collections_group_parts_part_description_align},
+ {"collections.group.parts.part.description.min",
st_collections_group_parts_part_description_min},
+ {"collections.group.parts.part.description.max",
st_collections_group_parts_part_description_max},
+ {"collections.group.parts.part.description.step",
st_collections_group_parts_part_description_step},
+ {"collections.group.parts.part.description.aspect",
st_collections_group_parts_part_description_aspect},
+ {"collections.group.parts.part.description.rel1.relative",
st_collections_group_parts_part_description_rel1_relative},
+ {"collections.group.parts.part.description.rel1.offset",
st_collections_group_parts_part_description_rel1_offset},
+ {"collections.group.parts.part.description.rel1.to",
st_collections_group_parts_part_description_rel1_to},
+ {"collections.group.parts.part.description.rel2.relative",
st_collections_group_parts_part_description_rel2_relative},
+ {"collections.group.parts.part.description.rel2.offset",
st_collections_group_parts_part_description_rel2_offset},
+ {"collections.group.parts.part.description.rel2.to",
st_collections_group_parts_part_description_rel2_to},
+ {"collections.group.parts.part.description.image.normal",
st_collections_group_parts_part_description_image_normal},
+ {"collections.group.parts.part.description.image.tween",
st_collections_group_parts_part_description_image_tween},
+ {"collections.group.parts.part.description.border",
st_collections_group_parts_part_description_border},
+ {"collections.group.parts.part.description.fill.origin.relative",
st_collections_group_parts_part_description_fill_origin_relative},
+ {"collections.group.parts.part.description.fill.origin.offset",
st_collections_group_parts_part_description_fill_origin_offset},
+ {"collections.group.parts.part.description.fill.size.relative",
st_collections_group_parts_part_description_fill_size_relative},
+ {"collections.group.parts.part.description.fill.size.offset",
st_collections_group_parts_part_description_fill_size_offset},
+ {"collections.group.parts.part.description.color",
st_collections_group_parts_part_description_color},
+ {"collections.group.parts.part.description.color2",
st_collections_group_parts_part_description_color2},
+ {"collections.group.parts.part.description.color3",
st_collections_group_parts_part_description_color3},
+ {"collections.group.parts.part.description.text.text",
st_collections_group_parts_part_description_text_text},
+ {"collections.group.parts.part.description.text.font",
st_collections_group_parts_part_description_text_font},
+ {"collections.group.parts.part.description.text.size",
st_collections_group_parts_part_description_text_size},
+ {"collections.group.parts.part.description.text.effect",
st_collections_group_parts_part_description_text_effect},
+ {"collections.group.parts.part.description.text.fit",
st_collections_group_parts_part_description_text_fit},
+ {"collections.group.parts.part.description.text.min",
st_collections_group_parts_part_description_text_min},
+ {"collections.group.parts.part.description.text.align",
st_collections_group_parts_part_description_text_align}
+};
+
New_Object_Handler object_handlers[] =
{
{"images", ob_images},
@@ -47,25 +122,45 @@
{"collections.group.parts.part.description.dragable.x", NULL},
{"collections.group.parts.part.description.dragable.y", NULL},
{"collections.group.parts.part.description.dragable.confine", NULL},
+ {"collections.group.parts.part.description.align", NULL},
+ {"collections.group.parts.part.description.min", NULL},
+ {"collections.group.parts.part.description.max", NULL},
+ {"collections.group.parts.part.description.step", NULL},
+ {"collections.group.parts.part.description.aspect", NULL},
+ {"collections.group.parts.part.description.rel1", NULL},
+ {"collections.group.parts.part.description.rel1.relative", NULL},
+ {"collections.group.parts.part.description.rel1.offset", NULL},
+ {"collections.group.parts.part.description.rel1.to", NULL},
+ {"collections.group.parts.part.description.rel2", NULL},
+ {"collections.group.parts.part.description.rel2.relative", NULL},
+ {"collections.group.parts.part.description.rel2.offset", NULL},
+ {"collections.group.parts.part.description.rel2.to", NULL},
+ {"collections.group.parts.part.description.image", NULL},
+ {"collections.group.parts.part.description.image.normal", NULL},
+ {"collections.group.parts.part.description.image.tween", NULL},
+ {"collections.group.parts.part.description.border", NULL},
+ {"collections.group.parts.part.description.fill", NULL},
+ {"collections.group.parts.part.description.fill.origin", NULL},
+ {"collections.group.parts.part.description.fill.origin.relative", NULL},
+ {"collections.group.parts.part.description.fill.origin.offset", NULL},
+ {"collections.group.parts.part.description.fill.size", NULL},
+ {"collections.group.parts.part.description.fill.size.relative", NULL},
+ {"collections.group.parts.part.description.fill.size.offset", NULL},
+ {"collections.group.parts.part.description.color", NULL},
+ {"collections.group.parts.part.description.color2", NULL},
+ {"collections.group.parts.part.description.color3", NULL},
+ {"collections.group.parts.part.description.text", NULL},
+ {"collections.group.parts.part.description.text.text", NULL},
+ {"collections.group.parts.part.description.text.font", NULL},
+ {"collections.group.parts.part.description.text.size", NULL},
+ {"collections.group.parts.part.description.text.effect", NULL},
+ {"collections.group.parts.part.description.text.fit", NULL},
+ {"collections.group.parts.part.description.text.min", NULL},
+ {"collections.group.parts.part.description.text.align", NULL},
{"collections.group.programs", ob_collections_group_programs},
{"collections.group.programs.program", ob_collections_group_programs_program}
};
-New_Statement_Handler statement_handlers[] =
-{
- {"images.image", st_images_image},
- {"collections.group.name", st_collections_group_name},
- {"collections.group.parts.part.name", st_collections_group_parts_part_name},
- {"collections.group.parts.part.type", st_collections_group_parts_part_type},
- {"collections.group.parts.part.mouse_events",
st_collections_group_parts_part_mouse_events},
- {"collections.group.parts.part.color_class",
st_collections_group_parts_part_color_class},
- {"collections.group.parts.part.description.state",
st_collections_group_parts_part_description_state},
- {"collections.group.parts.part.description.visible", NULL},
- {"collections.group.parts.part.description.dragable.x", NULL},
- {"collections.group.parts.part.description.dragable.y", NULL},
- {"collections.group.parts.part.description.dragable.confine", NULL}
-};
-
/*****/
int
@@ -203,6 +298,7 @@
pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
ep = evas_list_data(evas_list_last(pc->parts));
ep->type = parse_enum(0,
+ "NONE", EDJE_PART_TYPE_NONE,
"RECT", EDJE_PART_TYPE_RECTANGLE,
"TEXT", EDJE_PART_TYPE_TEXT,
"IMAGE", EDJE_PART_TYPE_IMAGE,
@@ -261,6 +357,526 @@
ed->state.name = parse_str(0);
ed->state.value = parse_float_range(1, 0.0, 1.0);
}
+
+static void
+st_collections_group_parts_part_description_visible(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->visible = parse_int_range(0, 0, 1);
+}
+
+static void
+st_collections_group_parts_part_description_dragable_x(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->dragable.x = parse_int_range(0, 0, 1);
+ ed->dragable.step_x = parse_int_range(1, 1, 0x7fffffff);
+ ed->dragable.count_x = parse_int_range(2, 1, 0x7fffffff);
+}
+
+static void
+st_collections_group_parts_part_description_dragable_y(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->dragable.y = parse_int_range(0, 0, 1);
+ ed->dragable.step_y = parse_int_range(1, 1, 0x7fffffff);
+ ed->dragable.count_y = parse_int_range(2, 1, 0x7fffffff);
+}
+
+static void
+st_collections_group_parts_part_description_dragable_confine(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->dragable.confine_id));
+ free(name);
+ }
+}
+
+static void
+st_collections_group_parts_part_description_align(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->align.x = parse_float_range(0, 0.0, 1.0);
+ ed->align.y = parse_float_range(1, 0.0, 1.0);
+}
+
+static void
+st_collections_group_parts_part_description_min(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->aspect.min = parse_float_range(0, 0.0, 999999999.0);
+ ed->aspect.max = parse_float_range(1, 0.0, 999999999.0);
+}
+
+static void
+st_collections_group_parts_part_description_rel1_relative(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->rel1.relative_x = parse_float_range(0, 0.0, 1.0);
+ ed->rel1.relative_y = parse_float_range(1, 0.0, 1.0);
+}
+
+static void
+st_collections_group_parts_part_description_rel1_offset(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel1.id));
+ free(name);
+ }
+}
+
+static void
+st_collections_group_parts_part_description_rel2_relative(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->rel2.relative_x = parse_float_range(0, 0.0, 1.0);
+ ed->rel2.relative_y = parse_float_range(1, 0.0, 1.0);
+}
+
+static void
+st_collections_group_parts_part_description_rel2_offset(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_part_lookup(pc, name, &(ed->rel2.id));
+ free(name);
+ }
+}
+
+static void
+st_collections_group_parts_part_description_image_normal(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ {
+ char *name;
+
+ name = parse_str(0);
+ data_queue_image_lookup(name, &(ed->image.id));
+ free(name);
+ }
+}
+
+static void
+st_collections_group_parts_part_description_image_tween(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ {
+ char *name;
+ Edje_Part_Image_Id *iid;
+
+ iid = mem_alloc(SZ(Edje_Part_Image_Id));
+ ed->image.tween_list = evas_list_append(ed->image.tween_list, iid);
+ name = parse_str(0);
+ data_queue_image_lookup(name, &(iid->id));
+ free(name);
+ }
+}
+
+static void
+st_collections_group_parts_part_description_border(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->border.l = parse_int_range(0, 0, 0x7fffffff);
+ ed->border.r = parse_int_range(1, 0, 0x7fffffff);
+ ed->border.t = parse_int_range(2, 0, 0x7fffffff);
+ ed->border.b = parse_int_range(3, 0, 0x7fffffff);
+}
+
+static void
+st_collections_group_parts_part_description_fill_origin_relative(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->fill.pos_rel_x = parse_float_range(0, 0.0, 999999999.0);
+ ed->fill.pos_rel_y = parse_float_range(1, 0.0, 999999999.0);
+}
+
+static void
+st_collections_group_parts_part_description_fill_origin_offset(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->fill.pos_abs_x = parse_int(0);
+ ed->fill.pos_abs_y = parse_int(1);
+}
+
+static void
+st_collections_group_parts_part_description_fill_size_relative(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->fill.rel_x = parse_float_range(0, 0.0, 999999999.0);
+ ed->fill.rel_y = parse_float_range(1, 0.0, 999999999.0);
+}
+
+static void
+st_collections_group_parts_part_description_fill_size_offset(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->fill.abs_x = parse_int(0);
+ ed->fill.abs_y = parse_int(1);
+}
+
+static void
+st_collections_group_parts_part_description_color(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ 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)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->color3.r = parse_int_range(0, 0, 255);
+ ed->color3.g = parse_int_range(1, 0, 255);
+ ed->color3.b = parse_int_range(2, 0, 255);
+ ed->color3.a = parse_int_range(3, 0, 255);
+}
+
+static void
+st_collections_group_parts_part_description_text_text(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.text = parse_str(0);
+}
+
+static void
+st_collections_group_parts_part_description_text_font(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.font = parse_str(0);
+}
+
+static void
+st_collections_group_parts_part_description_text_size(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.size = parse_int_range(0, 0, 255);
+}
+
+static void
+st_collections_group_parts_part_description_text_effect(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.effect = parse_enum(0,
+ "NONE", EDJE_TEXT_EFFECT_NONE,
+ "PLAIN", EDJE_TEXT_EFFECT_PLAIN,
+ "OUTLINE", EDJE_TEXT_EFFECT_OUTLINE,
+ "SHADOW", EDJE_TEXT_EFFECT_SHADOW,
+ "SHADOW_OUTLINE", EDJE_TEXT_EFFECT_OUTLINE_SHADOW,
+ NULL);
+}
+
+static void
+st_collections_group_parts_part_description_text_fit(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.fit_x = parse_int_range(0, 0, 1);
+ ed->text.fit_y = parse_int_range(1, 0, 1);
+}
+
+static void
+st_collections_group_parts_part_description_text_min(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.min_x = parse_int_range(0, 0, 1);
+ ed->text.min_y = parse_int_range(1, 0, 1);
+}
+
+static void
+st_collections_group_parts_part_description_text_align(void)
+{
+ Edje_Part_Collection *pc;
+ Edje_Part *ep;
+ Edje_Part_Description *ed;
+
+ pc = evas_list_data(evas_list_last(edje_file->collection_loaded));
+ ep = evas_list_data(evas_list_last(pc->parts));
+ ed = ep->default_desc;
+ if (ep->other_desc) ed = evas_list_data(evas_list_last(ep->other_desc));
+ ed->text.align.x = parse_float_range(0, 0.0, 1.0);
+ ed->text.align.y = parse_float_range(1, 0.0, 1.0);
+}
+
static void
ob_collections_group_programs(void)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_out.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- edje_cc_out.c 12 Jun 2003 22:34:51 -0000 1.2
+++ edje_cc_out.c 14 Jun 2003 03:06:35 -0000 1.3
@@ -1,10 +1,29 @@
#include "edje_cc.h"
+typedef struct _Part_Lookup Part_Lookup;
+typedef struct _Image_Lookup Image_Lookup;
+
+struct _Part_Lookup
+{
+ Edje_Part_Collection *pc;
+ char *name;
+ int *dest;
+};
+
+struct _Image_Lookup
+{
+ char *name;
+ int *dest;
+};
+
Edje_File *edje_file = NULL;
-static Eet_Data_Descriptor *edd_edje_file;
-static Eet_Data_Descriptor *edd_edje_image_directory;
-static Eet_Data_Descriptor *edd_edje_image_directory_entry;
+static Eet_Data_Descriptor *edd_edje_file = NULL;
+static Eet_Data_Descriptor *edd_edje_image_directory = NULL;
+static Eet_Data_Descriptor *edd_edje_image_directory_entry = NULL;
+
+static Evas_List *part_lookups = NULL;
+static Evas_List *image_lookups = NULL;
void
data_setup(void)
@@ -105,4 +124,89 @@
}
}
eet_close(ef);
+}
+
+void
+data_queue_part_lookup(Edje_Part_Collection *pc, char *name, int *dest)
+{
+ Part_Lookup *pl;
+
+ pl = mem_alloc(SZ(Part_Lookup));
+ part_lookups = evas_list_append(part_lookups, pl);
+ pl->pc = pc;
+ pl->name = mem_strdup(name);
+ pl->dest = dest;
+}
+
+void
+data_queue_image_lookup(char *name, int *dest)
+{
+ Image_Lookup *il;
+
+ il = mem_alloc(SZ(Image_Lookup));
+ image_lookups = evas_list_append(image_lookups, il);
+ il->name = mem_strdup(name);
+ il->dest = dest;
+}
+
+void
+data_process_lookups(void)
+{
+ Evas_List *l;
+
+ while (part_lookups)
+ {
+ Part_Lookup *pl;
+
+ pl = part_lookups->data;
+
+ for (l = pl->pc->parts; l; l = l->next)
+ {
+ Edje_Part *ep;
+
+ ep = l->data;
+ if ((ep->name) && (!strcmp(ep->name, pl->name)))
+ {
+ *(pl->dest) = ep->id;
+ break;
+ }
+ }
+ if (!l)
+ {
+ fprintf(stderr, "%s: Error. unable find part name %s\n",
+ progname, pl->name);
+ exit(-1);
+ }
+ part_lookups = evas_list_remove(part_lookups, pl);
+ free(pl->name);
+ free(pl);
+ }
+
+ while (image_lookups)
+ {
+ Image_Lookup *il;
+
+ il = image_lookups->data;
+
+ for (l = edje_file->image_dir->entries; l; l = l->next)
+ {
+ Edje_Image_Directory_Entry *de;
+
+ de = l->data;
+ if ((de->entry) && (!strcmp(de->entry, il->name)))
+ {
+ *(il->dest) = de->id;
+ break;
+ }
+ }
+ if (!l)
+ {
+ fprintf(stderr, "%s: Error. unable find image name %s\n",
+ progname, il->name);
+ exit(-1);
+ }
+ image_lookups = evas_list_remove(image_lookups, il);
+ free(il->name);
+ free(il);
+ }
}
-------------------------------------------------------
This SF.NET email is sponsored by: eBay
Great deals on office technology -- on eBay now! Click here:
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs