Enlightenment CVS committal
Author : tsauerbeck
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/bin
Modified Files:
edje_cc_out.c
Log Message:
cleaned up edje_cc's sanity checking for parts and programs. image parts need to have
valid image attributes now.
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/bin/edje_cc_out.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- edje_cc_out.c 22 Oct 2004 13:57:48 -0000 1.37
+++ edje_cc_out.c 23 Oct 2004 17:33:27 -0000 1.38
@@ -91,6 +91,76 @@
edd_edje_part_image_id = _edje_edd_edje_part_image_id;
}
+static void
+check_image_part_desc (Edje_Part *ep, Edje_Part_Description *epd, Eet_File *ef)
+{
+ Evas_List *l;
+
+ if (epd->image.id == -1)
+ {
+ fprintf(stderr, "%s: Error. image attributes missing "
+ "for part \"%s\", description \"%s\" %f\n",
+ progname, ep->name, epd->state.name, epd->state.value);
+ ABORT_WRITE(ef, file_out);
+ }
+
+ for (l = epd->image.tween_list; l; l = l->next)
+ {
+ Edje_Part_Image_Id *iid = l->data;
+
+ if (iid->id == -1)
+ {
+ fprintf(stderr, "%s: Error. tween image id missing "
+ "for part \"%s\", description \"%s\" %f\n",
+ progname, ep->name, epd->state.name,
+ epd->state.value);
+ ABORT_WRITE(ef, file_out);
+ }
+ }
+}
+
+static void
+check_part (Edje_Part *ep, Eet_File *ef)
+{
+ Edje_Part_Description *epd = ep->default_desc;
+ Evas_List *l;
+
+ if (!epd)
+ {
+ fprintf(stderr, "%s: Error. default description missing "
+ "for part \"%s\"\n", progname, ep->name);
+ ABORT_WRITE(ef, file_out);
+ }
+
+ if (ep->type == EDJE_PART_TYPE_IMAGE)
+ {
+ check_image_part_desc (ep, epd, ef);
+
+ for (l = ep->other_desc; l; l = l->next)
+ check_image_part_desc (ep, l->data, ef);
+ }
+}
+
+static void
+check_program (Edje_Program *ep, Eet_File *ef)
+{
+ switch (ep->action) {
+ case EDJE_ACTION_TYPE_STATE_SET:
+ case EDJE_ACTION_TYPE_ACTION_STOP:
+ case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+ case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+ case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+ if (!ep->targets) {
+ fprintf(stderr, "%s: Error. Target missing in program %s\n",
+ progname, ep->name);
+ ABORT_WRITE(ef, file_out);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
void
data_write(void)
{
@@ -406,6 +476,8 @@
}
}
#endif
+
+ /* sanity checks for parts and programs */
for (l = edje_collections; l; l = l->next)
{
Edje_Part_Collection *pc;
@@ -414,19 +486,12 @@
pc = l->data;
for (ll = pc->parts; ll; ll = ll->next)
{
- Edje_Part *ep;
- Edje_Part_Description *epd;
-
- ep = ll->data;
- epd = ep->default_desc;
+ check_part (ll->data, ef);
- if (!epd)
- {
- fprintf(stderr, "%s: Error. description missing for part \"%s\"\n",
- progname, ep->name);
- ABORT_WRITE(ef, file_out);
- }
/*
+ Edje_Part *ep = ll->data;
+ Edje_Part_Description *epd = ep->default_desc;
+
if (epd->text.font)
{
Evas_List *lll;
@@ -477,25 +542,7 @@
}
for (ll = pc->programs; ll; ll = ll->next)
- {
- Edje_Program *ep = ll->data;
-
- switch (ep->action) {
- case EDJE_ACTION_TYPE_STATE_SET:
- case EDJE_ACTION_TYPE_ACTION_STOP:
- case EDJE_ACTION_TYPE_DRAG_VAL_SET:
- case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
- case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
- if (!ep->targets) {
- fprintf(stderr, "%s: Error. Target missing in program %s\n",
- progname, ep->name);
- ABORT_WRITE(ef, file_out);
- }
- break;
- default:
- break;
- }
- }
+ check_program (ll->data, ef);
}
for (l = edje_collections; l; l = l->next)
{
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs