From: <enl...@li...> - 2004-11-15 04:11:05
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave.y Log Message: - remove yywrap as its causing link errors and we are runing noyywarp anyway =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave.y 10 Nov 2004 20:33:21 -0000 1.9 +++ engrave.y 15 Nov 2004 04:10:58 -0000 1.10 @@ -792,12 +792,6 @@ fprintf(stderr, "yyerror: %s\n", str); } -int -yywrap() -{ - return 1; -} - void parse_error(void) { |
From: <enl...@li...> - 2004-11-15 05:27:46
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_load.c Log Message: - set cpps include path correctly =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_load.c 14 Nov 2004 16:59:59 -0000 1.9 +++ engrave_load.c 15 Nov 2004 05:27:39 -0000 1.10 @@ -31,14 +31,26 @@ if (fd >= 0) { int ret; + char *path, *t; - snprintf(buf, sizeof(buf), "cat %s | cpp -E -o %s", file, tmpf); + path = strdup(file); + t = strrchr(path, '/'); + if (t) { + *t = '\0'; + } else { + FREE(path); + path = strdup("."); + } + + snprintf(buf, sizeof(buf), "cat %s | cpp -E -I %s -o %s", file, path, tmpf); ret = system(buf); if (ret < 0) { - snprintf(buf, sizeof(buf), "gcc -E -o %s %s", tmpf, file); + snprintf(buf, sizeof(buf), "gcc -E -I %s -o %s %s", path, tmpf, file); ret = system(buf); } + FREE(path); + if (ret >= 0) file = tmpf; close(fd); } |
From: <enl...@li...> - 2004-11-15 05:31:34
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_out.c Log Message: - no more segv =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -3 -r1.17 -r1.18 --- engrave_out.c 14 Nov 2004 16:59:59 -0000 1.17 +++ engrave_out.c 15 Nov 2004 05:31:26 -0000 1.18 @@ -476,7 +476,7 @@ tmp2 = engrave_part_state_rel2_to_y_get(state); if (tmp || tmp2) { - if (!strcmp(tmp, tmp2)) + if (!tmp || !tmp2 || !strcmp(tmp, tmp2)) engrave_out_data(out, "to", "\"%s\"", tmp); else { |
From: <enl...@li...> - 2004-11-15 16:49:15
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_data.c engrave_data.h engrave_file.c engrave_font.c engrave_font.h engrave_group.c engrave_group.h engrave_image.c engrave_image.h engrave_out.c engrave_parse.c engrave_part.c engrave_part.h engrave_part_state.c engrave_part_state.h engrave_program.c engrave_program.h Log Message: - make returned strings const char *'s and don't strdup them - don't free the image in engrave_part_state_free since these will be free'd in the main image free loop - don't put group data in the file level datablock =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- engrave_data.c 14 Nov 2004 16:59:59 -0000 1.7 +++ engrave_data.c 15 Nov 2004 16:49:05 -0000 1.8 @@ -41,28 +41,24 @@ * engrave_data_key_get - get the key for this data * @param ed: The Engrave_Data to get the key from * - * @return Returns a pointer to the key for this data or - * NULL on failure. This pointer must be free'd by the user. + * @return Returns the key for this data or NULL on failure. */ -char * +const char * engrave_data_key_get(Engrave_Data *ed) { - if (!ed) return NULL; - return (ed->key ? strdup(ed->key) : NULL); + return (ed ? ed->key : NULL); } /** * engrave_data_value_get - get the string value of the data object * @param ed: The Engrave_Data to get the string value from. * - * @return Returns a pointer to the string value of the data on success - * or NULL on failure. This pointer must be free'd by the user. + * @return Returns the value of the data on success or NULL on failure. */ -char * +const char * engrave_data_value_get(Engrave_Data *ed) { - if (!ed) return NULL; - return (ed->value ? strdup(ed->value) : NULL); + return (ed ? ed->value : NULL); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- engrave_data.h 14 Nov 2004 16:59:59 -0000 1.4 +++ engrave_data.h 15 Nov 2004 16:49:05 -0000 1.5 @@ -30,8 +30,8 @@ Engrave_Data * engrave_data_new(const char *key, const char *value); void engrave_data_free(Engrave_Data *ed); -char *engrave_data_key_get(Engrave_Data *ed); -char *engrave_data_value_get(Engrave_Data *ed); +const char *engrave_data_key_get(Engrave_Data *ed); +const char *engrave_data_value_get(Engrave_Data *ed); int engrave_data_int_value_get(Engrave_Data *ed); /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_file.c 14 Nov 2004 16:59:59 -0000 1.11 +++ engrave_file.c 15 Nov 2004 16:49:05 -0000 1.12 @@ -25,7 +25,6 @@ engrave_file_free(Engrave_File *ef) { Evas_List *l; - if (!ef) return; for (l = ef->images; l; l = l->next) { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- engrave_font.c 14 Nov 2004 16:59:59 -0000 1.7 +++ engrave_font.c 15 Nov 2004 16:49:05 -0000 1.8 @@ -41,28 +41,24 @@ * engrave_font_name_get - get the font name * @param ef: The Engrave_Font to get the name from * - * @return Returns a pointer to the name of the font - * on success or NULL on error. This pointer must be freed by the user. + * @return Returns the name of the font on success or NULL on failure. */ -char * +const char * engrave_font_name_get(Engrave_Font *ef) { - if (!ef) return NULL; - return (ef->name ? strdup(ef->name) : NULL); + return (ef ? ef->name : NULL); } /** * engrave_font_path_get - get the font path * @param ef: The Engrave_Font to get the path from * - * @return Returns a pointer to the path on success - * or NULL on error. This pointer must be freed by the user. + * @return Returns the path of the font on success or NULL on failure. */ -char * +const char * engrave_font_path_get(Engrave_Font *ef) { - if (!ef) return NULL; - return (ef->path ? strdup(ef->path) : NULL); + return (ef ? ef->path : NULL); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- engrave_font.h 14 Nov 2004 16:59:59 -0000 1.5 +++ engrave_font.h 15 Nov 2004 16:49:05 -0000 1.6 @@ -29,8 +29,8 @@ Engrave_Font *engrave_font_new(const char *path, const char *name); void engrave_font_free(Engrave_Font *ef); -char *engrave_font_name_get(Engrave_Font *ef); -char *engrave_font_path_get(Engrave_Font *ef); +const char *engrave_font_name_get(Engrave_Font *ef); +const char *engrave_font_path_get(Engrave_Font *ef); /** * @} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_group.c 14 Nov 2004 16:59:59 -0000 1.10 +++ engrave_group.c 15 Nov 2004 16:49:05 -0000 1.11 @@ -33,7 +33,6 @@ if (!eg) return; IF_FREE(eg->name); - for (l = eg->parts; l; l = l->next) { Engrave_Part *ep = l->data; eg->parts = evas_list_remove(eg->parts, ep); @@ -253,28 +252,24 @@ * engrave_group_name_get - get the name attached to the group * @param eg: The Engrave_Group to get the name from * - * @return Returns a pointer to the name of the group or NULL on failure. - * This pointer must be free'd by the user + * @return Returns the name of the group or NULL on failure. */ -char * +const char * engrave_group_name_get(Engrave_Group *eg) { - if (!eg) return NULL; - return (eg->name ? strdup(eg->name) : NULL); + return (eg ? eg->name : NULL); } /** * engrave_group_script_get - get the script attached to the group * @param eg: The Engrave_Group to get the script from * - * @return Returns a pointer to the script on success or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the script on success or NULL on failure. */ -char * +const char * engrave_group_script_get(Engrave_Group *eg) { - if (!eg) return NULL; - return (eg->script ? strdup(eg->script) : NULL); + return (eg ? eg->script : NULL); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_group.h 14 Nov 2004 16:59:59 -0000 1.8 +++ engrave_group.h 15 Nov 2004 16:49:05 -0000 1.9 @@ -54,8 +54,8 @@ Engrave_Part * engrave_group_part_last_get(Engrave_Group *eg); Engrave_Program * engrave_group_program_last_get(Engrave_Group *eg); -char *engrave_group_name_get(Engrave_Group *eg); -char *engrave_group_script_get(Engrave_Group *eg); +const char *engrave_group_name_get(Engrave_Group *eg); +const char *engrave_group_script_get(Engrave_Group *eg); void engrave_group_min_size_get(Engrave_Group *eg, int *w, int *h); void engrave_group_max_size_get(Engrave_Group *eg, int *w, int *h); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_image.c 14 Nov 2004 16:59:59 -0000 1.9 +++ engrave_image.c 15 Nov 2004 16:49:05 -0000 1.10 @@ -59,28 +59,24 @@ * engrave_image_name_get - get the image name * @param ei: The Engrave_Image to get the name from * - * @return Returns a pointer to the name of the image or NULL - * on error. This pointer must be free'd by the user. + * @return Returns the name of the image or NULL on failure. */ -char * +const char * engrave_image_name_get(Engrave_Image *ei) { - if (!ei) return NULL; - return (ei->name ? strdup(ei->name) : NULL); + return (ei ? ei->name : NULL); } /** * engrave_image_path_get - get the image path * @param ei: The Engrave_Image to get the path from * - * @return Returns a pointer to the path of the image or NULL - * on error. This pointer must be free'd by the user. + * @return Returns the path of the image or NULL on failure. */ -char * +const char * engrave_image_path_get(Engrave_Image *ei) { - if (!ei) return NULL; - return (ei->path ? strdup(ei->path) : NULL); + return (ei ? ei->path : NULL); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- engrave_image.h 14 Nov 2004 16:59:59 -0000 1.6 +++ engrave_image.h 15 Nov 2004 16:49:05 -0000 1.7 @@ -33,8 +33,8 @@ Engrave_Image *engrave_image_dup(Engrave_Image *from); void engrave_image_free(Engrave_Image *ef); -char *engrave_image_name_get(Engrave_Image *ei); -char *engrave_image_path_get(Engrave_Image *ei); +const char *engrave_image_name_get(Engrave_Image *ei); +const char *engrave_image_path_get(Engrave_Image *ei); Engrave_Image_Type engrave_image_type_get(Engrave_Image *ei); double engrave_image_compression_value_get(Engrave_Image *ei); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -3 -r1.18 -r1.19 --- engrave_out.c 15 Nov 2004 05:31:26 -0000 1.18 +++ engrave_out.c 15 Nov 2004 16:49:05 -0000 1.19 @@ -11,8 +11,8 @@ static void _engrave_output_font(Engrave_Font *font, void *data); static void _engrave_output_data(Engrave_Data *data, void *udata); static void _engrave_output_group(Engrave_Group *group, void *data); -static void _engrave_program_output_after(char *after, void *data); -static void _engrave_program_output_target(char *target, void *data); +static void _engrave_program_output_after(const char *after, void *data); +static void _engrave_program_output_target(const char *target, void *data); static void _engrave_part_state_output_tween(Engrave_Image *ei, void *data); static int level = 0; @@ -201,11 +201,7 @@ int w, h; engrave_out_start(out, "group"); - - tmp = engrave_group_name_get(group); - engrave_out_data(out, "name", "\"%s\"", tmp); - IF_FREE(tmp); - + engrave_out_data(out, "name", "\"%s\"", engrave_group_name_get(group)); engrave_group_min_size_get(group, &w, &h); if (w != 0 || h != 0) engrave_out_data(out, "min", "%d %d", w, h); @@ -223,13 +219,11 @@ } /* script */ - tmp = engrave_group_script_get(group); - if (tmp) { + if (engrave_group_script_get(group)) { engrave_out_start(out, "script"); /* FIXME scripts are wierd... */ - fprintf(out, "%s", tmp); + fprintf(out, "%s", engrave_group_script_get(group)); engrave_out_end(out); - FREE(tmp); } /* parts */ @@ -254,11 +248,7 @@ int y, step_y, count_y; engrave_out_start(out, "part"); - - tmp = engrave_part_name_get(part); - engrave_out_data(out, "name", "\"%s\"", tmp); - IF_FREE(tmp); - + engrave_out_data(out, "name", "\"%s\"", engrave_part_name_get(part)); engrave_out_data(out, "type", "%s", _part_type_string[engrave_part_type_get(part)]); @@ -268,18 +258,15 @@ if (engrave_part_repeat_events_get(part)) engrave_out_data(out, "repeat_events", "%d", - engrave_part_repeat_events_get(part)); + engrave_part_repeat_events_get(part)); if (engrave_part_effect_get(part) != ENGRAVE_TEXT_EFFECT_NONE) engrave_out_data(out, "effect", "%s", - _text_effect_string[engrave_part_effect_get(part)]); + _text_effect_string[engrave_part_effect_get(part)]); - tmp = engrave_part_clip_to_get(part); - if (tmp) - { - engrave_out_data(out, "clip_to", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_clip_to_get(part)) + engrave_out_data(out, "clip_to", "\"%s\"", + engrave_part_clip_to_get(part)); engrave_part_dragable_x_get(part, &x, &step_x, &count_x); engrave_part_dragable_y_get(part, &y, &step_y, &count_y); @@ -289,12 +276,9 @@ engrave_out_data(out, "x", "%d %d %d", x, step_x, count_x); engrave_out_data(out, "y", "%d %d %d", y, step_y, count_y); - tmp = engrave_part_dragable_confine_get(part); - if (tmp) - { - engrave_out_data(out, "confine", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_dragable_confine_get(part)) + engrave_out_data(out, "confine", "\"%s\"", + engrave_part_dragable_confine_get(part)); engrave_out_end(out); } engrave_part_state_foreach(part, _engrave_output_state, out); @@ -308,24 +292,18 @@ char *tmp; Engrave_Action action; double value, value2; - char state[125], state2[125]; + char state[128], state2[128]; engrave_out_start(out, "program"); - - tmp = engrave_program_name_get(program); - engrave_out_data(out, "name", "\"%s\"", tmp); - IF_FREE(tmp); - - tmp = engrave_program_signal_get(program); - engrave_out_data(out, "signal", "\"%s\"", tmp); - IF_FREE(tmp); - - tmp = engrave_program_source_get(program); - engrave_out_data(out, "source", "\"%s\"", tmp); - IF_FREE(tmp); + engrave_out_data(out, "name", "\"%s\"", + engrave_program_name_get(program)); + engrave_out_data(out, "signal", "\"%s\"", + engrave_program_signal_get(program)); + engrave_out_data(out, "source", "\"%s\"", + engrave_program_source_get(program)); engrave_program_action_get(program, &action, state, - state2, &value, &value2); + state2, 128, 128, &value, &value2); switch (action) { case ENGRAVE_ACTION_STOP: engrave_out_data(out, "action", "%s", _action_string[action]); @@ -359,14 +337,12 @@ case ENGRAVE_ACTION_SCRIPT: { - char *script = engrave_program_script_get(program); - if (script) + if (engrave_program_script_get(program)) { engrave_out_start(out, "script"); /* FIXME scripts are wierd ... */ - fprintf(out, "%s", script); + fprintf(out, "%s", engrave_program_script_get(program)); engrave_out_end(out); - FREE(script); } } break; @@ -396,7 +372,7 @@ _engrave_output_state(Engrave_Part_State *state, Engrave_Part *part, void *data) { FILE *out = data; - char *tmp, *tmp2; + const char *tmp, *tmp2; double x, y; int w, h, ix, iy; int r, g, b, a, l, t; @@ -407,8 +383,6 @@ tmp = engrave_part_state_name_get(state, &x); engrave_out_data(out, "state", "\"%s\" %.2f", tmp, x); - IF_FREE(tmp); - engrave_out_data(out, "visible", "%d", engrave_part_state_visible_get(state)); @@ -450,7 +424,7 @@ tmp2 = engrave_part_state_rel1_to_y_get(state); if (tmp || tmp2) { - if (!strcmp(tmp, tmp2)) + if (!tmp || !tmp2 || !strcmp(tmp, tmp2)) engrave_out_data(out, "to", "\"%s\"", tmp); else { @@ -458,8 +432,6 @@ engrave_out_data(out, "to_y", "\"%s\"", tmp2); } } - IF_FREE(tmp); - IF_FREE(tmp2); engrave_out_end(out); @@ -484,16 +456,12 @@ engrave_out_data(out, "to_y", "\"%s\"", tmp2); } } - IF_FREE(tmp); - IF_FREE(tmp2); engrave_out_end(out); - tmp = engrave_part_state_color_class_get(state); - if (tmp) { - engrave_out_data(out, "color_class", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_state_color_class_get(state)) + engrave_out_data(out, "color_class", "\"%s\"", + engrave_part_state_color_class_get(state)); engrave_part_state_color_get(state, &r, &g, &b, &a); if (r != 255 || g != 255 || b != 255 || a != 255) @@ -511,10 +479,7 @@ if ((engrave_part_type_get(part) == ENGRAVE_PART_TYPE_IMAGE) && im) { engrave_out_start(out, "image"); - - tmp = engrave_image_name_get(im); - engrave_out_data(out, "normal", "\"%s\"", tmp); - IF_FREE(tmp); + engrave_out_data(out, "normal", "\"%s\"", engrave_image_name_get(im)); engrave_part_state_tween_foreach(state, _engrave_part_state_output_tween, out); @@ -528,23 +493,17 @@ { engrave_out_start(out, "text"); - tmp = engrave_part_state_text_text_get(state); - if (tmp) { - engrave_out_data(out, "text", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_state_text_text_get(state)) + engrave_out_data(out, "text", "\"%s\"", + engrave_part_state_text_text_get(state)); - tmp = engrave_part_state_text_text_class_get(state); - if (tmp) { - engrave_out_data(out, "text_class", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_state_text_text_class_get(state)) + engrave_out_data(out, "text_class", "\"%s\"", + engrave_part_state_text_text_class_get(state)); - tmp = engrave_part_state_text_font_get(state); - if (tmp) { - engrave_out_data(out, "font", "\"%s\"", tmp); - FREE(tmp); - } + if (engrave_part_state_text_font_get(state)) + engrave_out_data(out, "font", "\"%s\"", + engrave_part_state_text_font_get(state)); h = engrave_part_state_text_size_get(state); if (h) @@ -570,7 +529,7 @@ static void _engrave_output_image(Engrave_Image *image, void *data) { - char *name; + const char *name; FILE *out; out = data; @@ -583,8 +542,6 @@ else engrave_out_data(out, "image", "\"%s\" %s", name, _image_type_string[engrave_image_type_get(image)]); - - IF_FREE(name); } static void @@ -594,43 +551,36 @@ FILE *out; out = data; - name = engrave_font_name_get(font); - path = engrave_font_path_get(font); - - engrave_out_data(out, "font", "\"%s\" \"%s\"", path, name); - IF_FREE(name); - IF_FREE(path); + engrave_out_data(out, "font", "\"%s\" \"%s\"", + engrave_font_path_get(font), engrave_font_name_get(font)); } static void _engrave_output_data(Engrave_Data *data, void *udata) { - char *key, *value; + const char *key; FILE *out; out = udata; key = engrave_data_key_get(data); - value = engrave_data_value_get(data); - if (value) - engrave_out_data(out, "item", "\"%s\" \"%s\"", key, value); + if (engrave_data_value_get(data)) + engrave_out_data(out, "item", "\"%s\" \"%s\"", key, + engrave_data_value_get(data)); else engrave_out_data(out, "item", "\"%s\" %d", key, engrave_data_int_value_get(data)); - - IF_FREE(key); - IF_FREE(value); } static void -_engrave_program_output_target(char *target, void *data) +_engrave_program_output_target(const char *target, void *data) { FILE *out = data; engrave_out_data(out, "target", "\"%s\"", target); } static void -_engrave_program_output_after(char *after, void *data) +_engrave_program_output_after(const char *after, void *data) { FILE *out = data; engrave_out_data(out, "after", "\"%s\"", after); @@ -640,10 +590,7 @@ _engrave_part_state_output_tween(Engrave_Image *ei, void *data) { FILE *out = data; - char *name = engrave_image_name_get(ei); - - engrave_out_data(out, "tween", "\"%s\"", name); - IF_FREE(name); + engrave_out_data(out, "tween", "\"%s\"", engrave_image_name_get(ei)); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_parse.c 13 Nov 2004 20:50:20 -0000 1.8 +++ engrave_parse.c 15 Nov 2004 16:49:05 -0000 1.9 @@ -55,7 +55,7 @@ /* XXX why is this put inboth file and group data? */ data = engrave_data_new(key, value); - engrave_file_data_add(engrave_file, data); +// engrave_file_data_add(engrave_file, data); group = engrave_file_group_last_get(engrave_file); engrave_group_data_add(group, data); @@ -253,7 +253,7 @@ Engrave_Part *part; Engrave_Part_State *to; Engrave_Part_State *from; - char *state_name; + const char *state_name; group = engrave_file_group_last_get(engrave_file); part = engrave_group_part_last_get(group); @@ -263,20 +263,18 @@ /* must have a name set before we can be inherited into */ if (!state_name) { - char *part_name = engrave_part_name_get(part); + const char *part_name = engrave_part_name_get(part); fprintf(stderr, "part %s: inherit may only be used after state!\n", part_name); - free(part_name); return; } /* can't inherit into the default part */ if ((strlen(state_name) == 7) && (!strncmp(state_name, "default", 7))) { - char *part_name = engrave_part_name_get(part); + const char *part_name = engrave_part_name_get(part); fprintf(stderr, "part %s: " "inherit may not be used in the default description!\n", part_name); - free(part_name); return; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_part.c 14 Nov 2004 16:59:59 -0000 1.11 +++ engrave_part.c 15 Nov 2004 16:49:06 -0000 1.12 @@ -91,14 +91,12 @@ * engrave_part_name_get - Get the name of the part * @param ep: The Engrave_Part to retrieve the name from. * - * @return Returns a copy of the part name, this pointer must be freed by - * the application, or NULL if no name found. + * @return Returns the name of the part, or NULL on failure. */ -char * +const char * engrave_part_name_get(Engrave_Part *ep) { - if (!ep || !ep->name) return NULL; - return strdup(ep->name); + return (ep ? ep->name : NULL); } /** @@ -158,14 +156,12 @@ * engrave_part_clip_to_get - Get the clip_to setting of the part * @param ep: The Engrave_Part to get the clip_to from * - * @return Returns a pointer to the clip_to string for the part or - * NULL on failure. This pointer must be free'd by the user. + * @return Returns the clip_to string for the part or NULL on failure. */ -char * +const char * engrave_part_clip_to_get(Engrave_Part *ep) { - if (!ep) return NULL; - return (ep->clip_to ? strdup(ep->clip_to) : NULL); + return (ep ? ep->clip_to : NULL); } /** @@ -228,14 +224,12 @@ * engrave_part_dragable_confine_get - Get the dragable confine setting * @param ep: The Engrave_Part to get the confine setting from * - * @return Returns a pointer to the confine setting or NULL on error. - * This pointer must be free'd by the user. + * @return Returns the confine setting or NULL on failure. */ -char * +const char * engrave_part_dragable_confine_get(Engrave_Part *ep) { - if (!ep) return NULL; - return (ep->dragable.confine ? strdup(ep->dragable.confine) : NULL); + return (ep ? ep->dragable.confine : NULL); } /** @@ -377,7 +371,7 @@ if (!ep || !name) return NULL; for (l = ep->states; l; l = l->next) { - char *state_name; + const char *state_name; double state_val; Engrave_Part_State *eps; @@ -386,10 +380,8 @@ if ((!strcmp(state_name, name)) && (strlen(name) == strlen(state_name)) && (state_val == val)) { - free(state_name); return eps; } - free(state_name); } return NULL; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_part.h 14 Nov 2004 16:59:59 -0000 1.9 +++ engrave_part.h 15 Nov 2004 16:49:06 -0000 1.10 @@ -71,15 +71,15 @@ Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part *ep, const char *name, double val); -char *engrave_part_name_get(Engrave_Part *ep); +const char *engrave_part_name_get(Engrave_Part *ep); Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep); int engrave_part_mouse_events_get(Engrave_Part *ep); int engrave_part_repeat_events_get(Engrave_Part *ep); Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep); -char *engrave_part_clip_to_get(Engrave_Part *ep); +const char *engrave_part_clip_to_get(Engrave_Part *ep); void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int *count); void engrave_part_dragable_y_get(Engrave_Part *ep, int *y, int *step, int *count); -char *engrave_part_dragable_confine_get(Engrave_Part *ep); +const char *engrave_part_dragable_confine_get(Engrave_Part *ep); int engrave_part_states_count(Engrave_Part *ep); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_part_state.c 14 Nov 2004 16:59:59 -0000 1.12 +++ engrave_part_state.c 15 Nov 2004 16:49:06 -0000 1.13 @@ -77,12 +77,8 @@ IF_FREE(eps->rel2.to_x); IF_FREE(eps->rel2.to_y); - engrave_image_free(eps->image.normal); - for (l = eps->image.tween; l; l = l->next) { - Engrave_Image *ei = l->data; - eps->image.tween = evas_list_remove(eps->image.tween, ei); - engrave_image_free(ei); - } + /* don't free the image here cuz its freed in the _file code */ + eps->image.normal = NULL; eps->image.tween = evas_list_free(eps->image.tween); IF_FREE(eps->color_class); @@ -766,16 +762,11 @@ * * @return Returns the state name, or NULL on failure. */ -char * +const char * engrave_part_state_name_get(Engrave_Part_State *eps, double *val) { - char *str = NULL; - - if (eps) - str = (eps->name ? strdup(eps->name) : NULL); - if (val) *val = (eps ? eps->value : 0); - return str; + return (eps ? eps->name : NULL); } /** @@ -914,28 +905,24 @@ * engrave_part_state_rel1_to_x_get - get the to_x value for rel1 * @param eps: The Engrave_Part_State to get the value from * - * @return Returns a pointer to the to_x value or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the to_x value or NULL on failure. */ -char * +const char * engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->rel1.to_x ? strdup(eps->rel1.to_x) : NULL); + return (eps ? eps->rel1.to_x : NULL); } /** * engrave_part_state_rel1_to_y_get - get the to_y value for rel1 * @param eps: The Engrave_Part_State to get the value from * - * @return Returns a pointer to the to_y value or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the to_y value or NULL on failure. */ -char * +const char * engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->rel1.to_y ? strdup(eps->rel1.to_y) : NULL); + return (eps ? eps->rel1.to_y : NULL); } /** @@ -973,42 +960,36 @@ * engrave_part_state_rel2_to_x_get - get the to_x value for rel2 * @param eps: The Engrave_Part_State to get the value from * - * @return Returns a pointer to the to_x value or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the to_x value or NULL on failure. */ -char * +const char * engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->rel2.to_x ? strdup(eps->rel2.to_x) : NULL); + return (eps ? eps->rel2.to_x : NULL); } /** * engrave_part_state_rel2_to_y_get - get the to_y value for rel2 * @param eps: The Engrave_Part_State to get the value from * - * @return Returns a pointer to the to_y value or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the to_y value or NULL on failure. */ -char * +const char * engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->rel2.to_y ? strdup(eps->rel2.to_y) : NULL); + return (eps ? eps->rel2.to_y : NULL); } /** * engrave_part_state_color_class_get - get the color class for the state * @param eps: The Engrave_Part_State to get the colour class from * - * @return Returns a pointer to the colour class on success or NULL on - * failure. This pointer must be free'd by the user. + * @return Returns the colour class on success or NULL on failure. */ -char * +const char * engrave_part_state_color_class_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->color_class ? strdup(eps->color_class) : NULL); + return (eps ? eps->color_class : NULL); } /** @@ -1105,42 +1086,36 @@ * engrave_part_state_text_text_get - get the text value * @param eps: The Engrave_Part_State to get the text from * - * @return Returns a pointer to the text value on success or NULL on - * failure. This pointer must be free'd by the user. + * @return Returns the text value on success or NULL on failure. */ -char * +const char * engrave_part_state_text_text_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->text.text ? strdup(eps->text.text) : NULL); + return (eps ? eps->text.text : NULL); } /** * engrave_part_state_text_text_class_get - get the text class * @param eps: The Engrave_Part_State to get the value from * - * @return Returns a pointer to the text class or NULL on failure. This - * pointer must be free'd by the user. + * @return Returns the text class or NULL on failure. */ -char * +const char * engrave_part_state_text_text_class_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->text.text_class ? strdup(eps->text.text_class) : NULL); + return (eps ? eps->text.text_class : NULL); } /** * engrave_part_state_text_font_get - get the text font * @param eps: The Engrave_Part_State to get the font from * - * @return Returns a pointer to the font on success or NULL on failure. This - * pointer must be free'd by the user. + * @return Returns the font on success or NULL on failure. */ -char * +const char * engrave_part_state_text_font_get(Engrave_Part_State *eps) { - if (!eps) return NULL; - return (eps->text.font ? strdup(eps->text.font) : NULL); + return (eps ? eps->text.font : NULL); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_part_state.h 14 Nov 2004 16:59:59 -0000 1.9 +++ engrave_part_state.h 15 Nov 2004 16:49:06 -0000 1.10 @@ -174,8 +174,6 @@ void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name, double value); -char *engrave_part_state_name_get(Engrave_Part_State *eps, double *value); - void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible); void engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y); void engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y); @@ -238,7 +236,7 @@ void engrave_part_state_copy(Engrave_Part_State *from, Engrave_Part_State *to); -char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val); +const char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val); int engrave_part_state_visible_get(Engrave_Part_State *eps); void engrave_part_state_align_get(Engrave_Part_State *eps, double *x, double *y); @@ -254,15 +252,15 @@ double *x, double *y); void engrave_part_state_rel1_offset_get(Engrave_Part_State *eps, int *x, int*y); -char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps); -char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps); +const char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps); +const char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps); void engrave_part_state_rel2_relative_get(Engrave_Part_State *eps, double *x, double *y); void engrave_part_state_rel2_offset_get(Engrave_Part_State *eps, int *x, int*y); -char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps); -char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps); -char *engrave_part_state_color_class_get(Engrave_Part_State *eps); +const char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps); +const char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps); +const char *engrave_part_state_color_class_get(Engrave_Part_State *eps); void engrave_part_state_color_get(Engrave_Part_State *eps, int *r, int *g, int *b, int *a); void engrave_part_state_color2_get(Engrave_Part_State *eps, @@ -272,9 +270,9 @@ Engrave_Image *engrave_part_state_image_normal_get(Engrave_Part_State *eps); void engrave_part_state_image_border_get(Engrave_Part_State *eps, int *l, int *r, int *t, int *b); -char *engrave_part_state_text_text_get(Engrave_Part_State *eps); -char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps); -char *engrave_part_state_text_font_get(Engrave_Part_State *eps); +const char *engrave_part_state_text_text_get(Engrave_Part_State *eps); +const char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps); +const char *engrave_part_state_text_font_get(Engrave_Part_State *eps); int engrave_part_state_text_size_get(Engrave_Part_State *eps); void engrave_part_state_text_fit_get(Engrave_Part_State *eps, int *x, int *y); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_program.c 14 Nov 2004 16:59:59 -0000 1.10 +++ engrave_program.c 15 Nov 2004 16:49:06 -0000 1.11 @@ -26,7 +26,7 @@ { Evas_List *l; if (!ep) return; - + IF_FREE(ep->name); IF_FREE(ep->signal); IF_FREE(ep->source); @@ -204,50 +204,44 @@ * engrave_program_name_get - Get the program name * @param ep: The Engrave_Program to get the name from * - * @return Returns a pointer to the name of the program or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the name of the program or NULL on failure. */ -char * +const char * engrave_program_name_get(Engrave_Program *ep) { - if (!ep) return NULL; - return (ep->name ? strdup(ep->name) : NULL); + return (ep ? ep->name : NULL); } /** * engrave_program_signal_get - Get the program signal * @param ep: The Engrave_Program to get the signal from * - * @return Returns a pointer to the signal of the program or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the signal of the program or NULL on failure. */ -char * +const char * engrave_program_signal_get(Engrave_Program *ep) { - if (!ep) return NULL; - return (ep->signal ? strdup(ep->signal) : NULL); + return (ep ? ep->signal : NULL); } /** * engrave_program_source_get - Get the program source * @param ep: The Engrave_Program to get the source from * - * @return Returns a pointer to the source of the program or NULL on failure. - * This pointer must be free'd by the user. + * @return Returns the source of the program or NULL on failure. */ -char * +const char * engrave_program_source_get(Engrave_Program *ep) { - if (!ep) return NULL; - return (ep->source ? strdup(ep->source) : NULL); + return (ep ? ep->source : NULL); } /** * engrave_program_action_get - Get the action information for the program * @param ep: The Engrave_Program to get the action information from * @param action: Where to store the action setting - * @param state: Buffer to put the state value into - * @param state2: Buffer to put the state2 value into + * @param state: Buffer to put state into + * @param state2: Buffer to put state2 into * @param value: Where to put the value setting * @param value2: Where to put the value2 setting * @@ -256,32 +250,16 @@ void engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action, char *state, char *state2, + int state_len, int state2_len, double *value, double *value2) { - Engrave_Action a; - char *s, *s2; - double v, v2; - - if (!ep) { - a = ENGRAVE_ACTION_NUM; - s = NULL; - s2 = NULL; - v = 0; - v2 = 0; - } else { - a = ep->action; - v = ep->value; - v2 = ep->value2; - s = ep->state; - s2 = ep->state2; - } - if (action) *action = a; - if (value) *value = v; - if (value2) *value2 = v2; - if (state) - snprintf(state, sizeof(state), "%s", (s ? s : NULL)); + if (action) *action = (ep ? ep->action : ENGRAVE_ACTION_NUM); + if (value) *value = (ep ? ep->value : 0); + if (value2) *value2 = (ep ? ep->value2 : 0); + if (state) + snprintf(state, state_len, "%s", (ep ? ep->state : "")); if (state2) - snprintf(state2, sizeof(state2), "%s", (s2 ? s2 : NULL)); + snprintf(state2, state2_len, "%s", (ep ? ep->state2 : "")); } /** @@ -296,32 +274,20 @@ engrave_program_transition_get(Engrave_Program *ep, Engrave_Transition *trans, double *duration) { - Engrave_Transition t; - double d; - - if (!ep) { - t = ENGRAVE_TRANSITION_NUM; - d = 0; - } else { - t = ep->transition; - d = ep->duration; - } - if (trans) *trans = t; - if (duration) *duration = d; + if (trans) *trans = (ep ? ep->transition : ENGRAVE_TRANSITION_NUM); + if (duration) *duration = (ep ? ep->duration : 0); } /** * engrave_program_script_get - Get the script from the program * @param ep: The Engrave_Program to get the script from * - * @return Returns a pointer to the script or NULL on failure. This pointer - * must be free'd by the user. + * @return Returns the script or NULL on failure. */ -char * +const char * engrave_program_script_get(Engrave_Program *ep) { - if (!ep) return NULL; - return (ep->script ? strdup(ep->script) : NULL); + return (ep ? ep->script : NULL); } /** @@ -385,13 +351,13 @@ */ void engrave_program_target_foreach(Engrave_Program *ep, - void (*func)(char *, void *), void *data) + void (*func)(const char *, void *), void *data) { Evas_List *l; if (!engrave_program_targets_count(ep)) return; for (l = ep->targets; l; l = l->next) { - char *target = l->data; + const char *target = l->data; if (target) func(target, data); } } @@ -406,13 +372,13 @@ */ void engrave_program_after_foreach(Engrave_Program *ep, - void (*func)(char *, void *), void *data) + void (*func)(const char *, void *), void *data) { Evas_List *l; if (!engrave_program_afters_count(ep)) return; for (l = ep->afters; l; l = l->next) { - char *after = l->data; + const char *after = l->data; if (after) func(after, data); } } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_program.h 14 Nov 2004 16:59:59 -0000 1.8 +++ engrave_program.h 15 Nov 2004 16:49:06 -0000 1.9 @@ -65,24 +65,25 @@ void engrave_program_transition_set(Engrave_Program *ep, Engrave_Transition trans, double duration); -char *engrave_program_name_get(Engrave_Program *ep); -char *engrave_program_signal_get(Engrave_Program *ep); -char *engrave_program_source_get(Engrave_Program *ep); +const char *engrave_program_name_get(Engrave_Program *ep); +const char *engrave_program_signal_get(Engrave_Program *ep); +const char *engrave_program_source_get(Engrave_Program *ep); void engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action, char *state, char *state2, + int state_len, int state2_len, double *value, double *value2); void engrave_program_transition_get(Engrave_Program *ep, Engrave_Transition *trans, double *duration); -char *engrave_program_script_get(Engrave_Program *ep); +const char *engrave_program_script_get(Engrave_Program *ep); void engrave_program_in_get(Engrave_Program *ep, double *from, double *range); int engrave_program_afters_count(Engrave_Program *ep); int engrave_program_targets_count(Engrave_Program *ep); void engrave_program_target_foreach(Engrave_Program *ep, - void (*func)(char *, void *), void *data); + void (*func)(const char *, void *), void *data); void engrave_program_after_foreach(Engrave_Program *ep, - void (*func)(char *, void *), void *data); + void (*func)(const char *, void *), void *data); /** |
From: <enl...@li...> - 2004-11-15 16:49:42
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave Modified Files: TODO Log Message: - make returned strings const char *'s and don't strdup them - don't free the image in engrave_part_state_free since these will be free'd in the main image free loop - don't put group data in the file level datablock =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/TODO,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- TODO 13 Nov 2004 23:44:36 -0000 1.4 +++ TODO 15 Nov 2004 16:49:05 -0000 1.5 @@ -1,5 +1,9 @@ Everything +- edje can handle unquoted strings as long as there is no space in them + eg: text { text, foo; } is valid. Not sure how to patch that into the + lexer + - put an editable canvas into engrave as an Evas_Object such that any program can use it to make an editor??? |
From: <enl...@li...> - 2004-11-15 20:19:54
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_part_state.c engrave_program.c Log Message: - documentation fixes =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_part_state.c 15 Nov 2004 16:49:06 -0000 1.13 +++ engrave_part_state.c 15 Nov 2004 20:19:44 -0000 1.14 @@ -801,7 +801,7 @@ * engrave_part_state_step_get - get the stepping info for the state * @param eps: The Engrave_Part_State to get the info from * @param x: Where to store the x value - * @parma y: Where to store the y value + * @param y: Where to store the y value * * @return Returns no value. */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_program.c 15 Nov 2004 16:49:06 -0000 1.11 +++ engrave_program.c 15 Nov 2004 20:19:44 -0000 1.12 @@ -242,6 +242,8 @@ * @param action: Where to store the action setting * @param state: Buffer to put state into * @param state2: Buffer to put state2 into + * @param state_len: The length of the state buffer + * @param state2_len: The length of the state2 buffer * @param value: Where to put the value setting * @param value2: Where to put the value2 setting * |
From: <enl...@li...> - 2004-11-16 01:14:01
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_file.c engrave_file.h engrave_font.h engrave_image.c engrave_image.h engrave_load.c engrave_parse.c engrave_parse.h Log Message: - store the base image path and font path into the Engrave_File - don't need to store the path in each image =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_file.c 15 Nov 2004 16:49:05 -0000 1.12 +++ engrave_file.c 16 Nov 2004 01:13:30 -0000 1.13 @@ -27,6 +27,9 @@ Evas_List *l; if (!ef) return; + IF_FREE(ef->im_dir); + IF_FREE(ef->font_dir); + for (l = ef->images; l; l = l->next) { Engrave_Image *ei = l->data; ef->images = evas_list_remove(ef->images, ei); @@ -59,6 +62,60 @@ } /** + * engrave_file_image_dir_set - set the image directory for the file + * @param ef: The Engrave_File to set the image dir into + * @param dir: The directory to set + * + * @return Returns no value. + */ +void +engrave_file_image_dir_set(Engrave_File *ef, const char *dir) +{ + if (!ef || !dir) return; + IF_FREE(ef->im_dir); + ef->im_dir = strdup(dir); +} + +/** + * engrave_file_font_dir_set - set the font dir for the file + * @param ef: The Engrave_File to set the font dir on + * @param dir: The directory to set the font dir too + * + * @return Returns no value. + */ +void +engrave_file_font_dir_set(Engrave_File *ef, const char *dir) +{ + if (!ef || !dir) return; + IF_FREE(ef->font_dir); + ef->font_dir = strdup(dir); +} + +/** + * engrave_file_image_dir_get - get the image directory + * @param ef: The Engrave_File to get the directory from + * + * @return Returns the current image directory or NULL on failure + */ +const char * +engrave_file_image_dir_get(Engrave_File *ef) +{ + return (ef ? ef->im_dir : NULL); +} + +/** + * engrave_file_font_dir_get - get the font directory + * @param ef: The Engrave_File to get the directory from + * + * @return Returns the current font directory + */ +const char * +engrave_file_font_dir_get(Engrave_File *ef) +{ + return (ef ? ef->font_dir : NULL); +} + +/** * engrave_file_font_add - add the font to the engrave file. * @param e: The Engrave_File to add the font too. * @param ef: The Engrave_Font to add to the file. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_file.h 14 Nov 2004 16:59:59 -0000 1.8 +++ engrave_file.h 16 Nov 2004 01:13:30 -0000 1.9 @@ -22,6 +22,9 @@ */ struct _Engrave_File { + char *font_dir; /**< The font directory */ + char *im_dir; /**< The image directory */ + Evas_List *images; /**< The list of images in the file */ Evas_List *fonts; /**< The list of fonts in the file */ Evas_List *data; /**< The list of data items in the file */ @@ -31,6 +34,12 @@ Engrave_File *engrave_file_new(void); void engrave_file_free(Engrave_File *ef); +void engrave_file_image_dir_set(Engrave_File *ef, const char *dir); +void engrave_file_font_dir_set(Engrave_File *ef, const char *dir); + +const char *engrave_file_image_dir_get(Engrave_File *ef); +const char *engrave_file_font_dir_get(Engrave_File *ef); + void engrave_file_font_add(Engrave_File *e, Engrave_Font *ef); void engrave_file_image_add(Engrave_File *ef, Engrave_Image *ei); void engrave_file_data_add(Engrave_File *ef, Engrave_Data *ed); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- engrave_font.h 15 Nov 2004 16:49:05 -0000 1.6 +++ engrave_font.h 16 Nov 2004 01:13:30 -0000 1.7 @@ -23,7 +23,7 @@ struct _Engrave_Font { char *name; /**< The font alias */ - char *path; /**< The font path */ + char *path; /**< The font relative path */ }; Engrave_Font *engrave_font_new(const char *path, const char *name); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_image.c 15 Nov 2004 16:49:05 -0000 1.10 +++ engrave_image.c 16 Nov 2004 01:13:30 -0000 1.11 @@ -36,7 +36,6 @@ if (!ei) return; IF_FREE(ei->name); - IF_FREE(ei->path); FREE(ei); } @@ -68,18 +67,6 @@ } /** - * engrave_image_path_get - get the image path - * @param ei: The Engrave_Image to get the path from - * - * @return Returns the path of the image or NULL on failure. - */ -const char * -engrave_image_path_get(Engrave_Image *ei) -{ - return (ei ? ei->path : NULL); -} - -/** * engrave_image_type_get - get the type of the image * @param ei: The Engrave_Image to get the type from * =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- engrave_image.h 15 Nov 2004 16:49:05 -0000 1.7 +++ engrave_image.h 16 Nov 2004 01:13:30 -0000 1.8 @@ -23,7 +23,6 @@ struct _Engrave_Image { char *name; /**< The image basename */ - char *path; /**< The image dir path */ Engrave_Image_Type type; /**< The image storage type */ double value; /**< Compression value for image */ }; @@ -34,7 +33,6 @@ void engrave_image_free(Engrave_Image *ef); const char *engrave_image_name_get(Engrave_Image *ei); -const char *engrave_image_path_get(Engrave_Image *ei); Engrave_Image_Type engrave_image_type_get(Engrave_Image *ei); double engrave_image_compression_value_get(Engrave_Image *ei); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_load.c 15 Nov 2004 05:27:39 -0000 1.10 +++ engrave_load.c 16 Nov 2004 01:13:30 -0000 1.11 @@ -56,7 +56,7 @@ } engrave_filename = strdup(file); - enf = engrave_parse(file); + enf = engrave_parse(file, imdir, fontdir); FREE(engrave_filename); unlink(tmpf); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_parse.c 15 Nov 2004 16:49:05 -0000 1.9 +++ engrave_parse.c 16 Nov 2004 01:13:30 -0000 1.10 @@ -4,9 +4,11 @@ extern FILE *yyin; Engrave_File * -engrave_parse(char *file) +engrave_parse(const char *file, const char *imdir, const char *fontdir) { engrave_file = engrave_file_new(); + engrave_file_image_dir_set(engrave_file, imdir); + engrave_file_font_dir_set(engrave_file, fontdir); yyin = fopen(file, "r"); yyparse(); @@ -53,10 +55,7 @@ Engrave_Group *group; Engrave_Data *data; - /* XXX why is this put inboth file and group data? */ data = engrave_data_new(key, value); -// engrave_file_data_add(engrave_file, data); - group = engrave_file_group_last_get(engrave_file); engrave_group_data_add(group, data); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- engrave_parse.h 14 Nov 2004 16:59:59 -0000 1.2 +++ engrave_parse.h 16 Nov 2004 01:13:30 -0000 1.3 @@ -3,7 +3,8 @@ #include "Engrave.h" -Engrave_File * engrave_parse(const char *file); +Engrave_File * engrave_parse(const char *file, const char *imdir, + const char *fontdir); #endif |
From: <enl...@li...> - 2004-11-16 01:54:18
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_load.c Log Message: - set the correct image/font directory =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_load.c 16 Nov 2004 01:13:30 -0000 1.11 +++ engrave_load.c 16 Nov 2004 01:54:08 -0000 1.12 @@ -83,6 +83,8 @@ char *work_dir = NULL; static char tmpn[4096]; char *cpp_extra = NULL; + char *out_dir = NULL; + if (!filename) return NULL; old_fname = strdup(filename); @@ -148,18 +150,20 @@ /* we need the info on the work dir to pass the cpp so it can * include files correctly */ - len = strlen(ptr) + strlen(work_dir) + 4; + len = strlen(ptr) + strlen(work_dir) + 2; + out_dir = (char *)calloc(len, sizeof(char)); + snprintf(out_dir, len, "%s/%s", work_dir, ptr); + + len = strlen(out_dir) + 3; cpp_extra = (char *)calloc(len, sizeof(char)); - snprintf(cpp_extra, len, "-I%s/%s", work_dir, ptr); + snprintf(cpp_extra, len, "-I%s", out_dir); - len = strlen(work_dir) + strlen(ptr) + - strlen(MAIN_EDC_NAME) + 3; + len = strlen(out_dir) + strlen(MAIN_EDC_NAME) + 2; new_fname = (char *)calloc(len, sizeof(char)); - snprintf(new_fname, len, "%s/%s/%s", work_dir, ptr, - MAIN_EDC_NAME); + snprintf(new_fname, len, "%s/%s", out_dir, MAIN_EDC_NAME); FREE(old_fname); - enf = engrave_load_edc(new_fname, work_dir, work_dir); + enf = engrave_load_edc(new_fname, out_dir, out_dir); FREE(work_dir); |
From: <enl...@li...> - 2004-11-16 22:51:59
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave.l engrave.y Log Message: you can apparently have a % on the end of LOSSY 95%;.... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.l,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- engrave.l 10 Nov 2004 20:17:13 -0000 1.6 +++ engrave.l 16 Nov 2004 22:51:37 -0000 1.7 @@ -218,6 +218,7 @@ ; { KEYWORD_RETURN(SEMICOLON); } \" { KEYWORD_RETURN(QUOTE); } \. { KEYWORD_RETURN(DOT); } +\% { KEYWORD_RETURN(PERCENT); } [ \t]+ { WHITE_SPACE(); } \n { NEW_LINE(); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave.y 15 Nov 2004 04:10:58 -0000 1.10 +++ engrave.y 16 Nov 2004 22:51:37 -0000 1.11 @@ -48,7 +48,7 @@ %left TIMES DIVIDE %left NEG /* negation--unary minus */ %token OPEN_PAREN CLOSE_PAREN DOT INHERIT -%token ON OFF TRUE FALSE +%token ON OFF TRUE FALSE PERCENT %type <string> STRING %type <val> FLOAT @@ -104,6 +104,9 @@ | IMAGE COLON STRING image_type exp SEMICOLON { engrave_parse_image($3, $4, $5); } + | IMAGE COLON STRING image_type exp PERCENT SEMICOLON { + engrave_parse_image($3, $4, $5); + } ; image_type: RAW { $$ = ENGRAVE_IMAGE_TYPE_RAW; } |
From: <enl...@li...> - 2004-11-29 20:53:37
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_data.c engrave_data.h Log Message: - add set values for Engrave_Data objects =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_data.c 15 Nov 2004 16:49:05 -0000 1.8 +++ engrave_data.c 29 Nov 2004 20:53:21 -0000 1.9 @@ -73,4 +73,33 @@ return (ed ? ed->int_value : 0); } +/** + * engrave_data_value_set - set the value of the data object + * @param ed: The Engrave_Data to set the value into + * @param value: The value to set. + * + * @return Returns no value. + */ +void +engrave_data_value_set(Engrave_Data *ed, const char *value) +{ + if (!ed) return; + IF_FREE(ed->value); + ed->value = (value ? strdup(value) : NULL); +} + +/** + * engrave_data_int_value_set - set the int value of the data object + * @param ed: The Engrave_Data to set the value into + * @param value: The value to set + * + * @return Returns no value + */ +void +engrave_data_int_value_set(Engrave_Data *ed, int value) +{ + if (!ed) return; + ed->int_value = value; +} + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- engrave_data.h 15 Nov 2004 16:49:05 -0000 1.5 +++ engrave_data.h 29 Nov 2004 20:53:23 -0000 1.6 @@ -34,6 +34,9 @@ const char *engrave_data_value_get(Engrave_Data *ed); int engrave_data_int_value_get(Engrave_Data *ed); +void engrave_data_value_set(Engrave_Data *ed, const char *value); +void engrave_data_int_value_set(Engrave_Data *ed, int value); + /** * @} */ |
From: <enl...@li...> - 2004-11-29 21:37:48
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave.y Log Message: - need to set the section to BASE initially to fix an issue with some of the engage eets =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave.y 16 Nov 2004 22:51:37 -0000 1.11 +++ engrave.y 29 Nov 2004 21:37:01 -0000 1.12 @@ -62,6 +62,9 @@ %% +start: { section = BASE; } edjes + ; + edjes: /* blank */ | images edjes | fonts edjes |
From: <enl...@li...> - 2004-11-29 22:27:49
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_file.c engrave_file.h engrave_group.c engrave_group.h Log Message: - add the ability to find data blocks by key =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_file.c 16 Nov 2004 01:13:30 -0000 1.13 +++ engrave_file.c 29 Nov 2004 22:27:21 -0000 1.14 @@ -345,4 +345,28 @@ } } +/** + * engrave_file_data_by_key_find - find the Engrave_Data by key + * @param ef: The Engrave_File to search + * @param key: They key to search for + * + * @return Returns the Engrave_Data with the matching key or NULL if no such + * data exists. + */ +Engrave_Data * +engrave_file_data_by_key_find(Engrave_File *ef, const char *key) +{ + Evas_List *l; + + if (!ef || !key) return NULL; + for (l = ef->data; l; l = l->next) { + Engrave_Data *ed = l->data; + const char *data_key = engrave_data_key_get(ed); + + if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + return ed; + } +} + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_file.h 16 Nov 2004 01:13:30 -0000 1.9 +++ engrave_file.h 29 Nov 2004 22:27:22 -0000 1.10 @@ -68,6 +68,9 @@ void (*func)(Engrave_Font *, void *), void *data); +Engrave_Data *engrave_file_data_by_key_find(Engrave_File *ef, + const char *key); + /** * @} */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_group.c 15 Nov 2004 16:49:05 -0000 1.11 +++ engrave_group.c 29 Nov 2004 22:27:23 -0000 1.12 @@ -361,4 +361,26 @@ } } +/** + * engrave_group_data_by_key_find - find the Engrave_Data by key + * @param eg: The Engrave_Group to search + * @param key: They key to search for + * + * @return Returns the Engrave_Data with the matching key or NULL if no such + * data exists. + */ +Engrave_Data * +engrave_group_data_by_key_find(Engrave_Group *eg, const char *key) +{ + Evas_List *l; + + if (!eg || !key) return NULL; + for (l = eg->data; l; l = l->next) { + Engrave_Data *ed = l->data; + const char *data_key = engrave_data_key_get(ed); + + if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + return ed; + } +} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_group.h 15 Nov 2004 16:49:05 -0000 1.9 +++ engrave_group.h 29 Nov 2004 22:27:23 -0000 1.10 @@ -70,6 +70,9 @@ void engrave_group_programs_foreach(Engrave_Group *eg, void (*func)(Engrave_Program *, void *), void *data); +Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg, + const char *key); + /** * @} */ |
From: <enl...@li...> - 2004-11-30 17:32:21
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_file.c engrave_group.c Log Message: - tilman says i'm dumb, heh =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- engrave_file.c 29 Nov 2004 22:27:21 -0000 1.14 +++ engrave_file.c 30 Nov 2004 17:32:15 -0000 1.15 @@ -363,7 +363,7 @@ Engrave_Data *ed = l->data; const char *data_key = engrave_data_key_get(ed); - if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + if (!strcmp(key, data_key)) return ed; } } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_group.c 29 Nov 2004 22:27:23 -0000 1.12 +++ engrave_group.c 30 Nov 2004 17:32:15 -0000 1.13 @@ -379,7 +379,7 @@ Engrave_Data *ed = l->data; const char *data_key = engrave_data_key_get(ed); - if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + if (!strcmp(key, data_key)) return ed; } } |
From: <enl...@li...> - 2004-12-05 21:16:43
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: Engrave.h Makefile.am engrave.l engrave.y engrave_data.c engrave_data.h engrave_file.c engrave_file.h engrave_font.c engrave_font.h engrave_group.c engrave_group.h engrave_image.c engrave_image.h engrave_load.c engrave_out.c engrave_parse.c engrave_parse.h engrave_part.c engrave_part.h engrave_part_state.c engrave_part_state.h engrave_program.c engrave_program.h Added Files: engrave_canvas.c engrave_canvas.h Log Message: - fix compile warnings - add some missing functions - fixup some function signatures to be correct - add the start of engrave_canvas. Has a lot of work to still be done, but seems to display images at least. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/Engrave.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- Engrave.h 13 Nov 2004 20:50:20 -0000 1.9 +++ Engrave.h 5 Dec 2004 21:16:29 -0000 1.10 @@ -77,6 +77,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <limits.h> #include <Evas.h> #include <engrave_enums.h> @@ -92,6 +93,8 @@ #include <engrave_load.h> #include <engrave_out.h> +#include <engrave_canvas.h> + #ifdef __cplusplus } #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Makefile.am 13 Nov 2004 20:50:20 -0000 1.5 +++ Makefile.am 5 Dec 2004 21:16:29 -0000 1.6 @@ -27,11 +27,12 @@ engrave_parse.h \ engrave_part.h \ engrave_part_state.h \ - engrave_program.h + engrave_program.h \ + engrave_canvas.h ENGRAVEFILES = \ - engrave.y \ engrave.l \ + engrave.y \ engrave_out.c \ engrave_data.c \ engrave_file.c \ @@ -43,6 +44,7 @@ engrave_part_state.c \ engrave_program.c \ engrave_load.c \ + engrave_canvas.c \ $(ENGRAVEHEADERS) libengrave_la_SOURCES = $(ENGRAVEFILES) @@ -54,4 +56,5 @@ libengrave_la_LIBADD = @EVAS_LIBS@ @ECORE_LIBS@ @LEXLIB@ -lm libengrave_la_DEPENDENCIES = $(top_builddir)/src/config.h libengrave_la_LDFLAGS = -version-info 1:0:1 +libengrave_la_CFLAGS = -Wall =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.l,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- engrave.l 16 Nov 2004 22:51:37 -0000 1.7 +++ engrave.l 5 Dec 2004 21:16:29 -0000 1.8 @@ -45,7 +45,7 @@ #define SCRIPT_NEW_LINE() engrave_lnum ++; SCRIPT_PIECE(); #define SCRIPT_OPEN_BRACE() script_level++; \ - if (script_level > 1) SCRIPT_PIECE(); + if (script_level > 1) { SCRIPT_PIECE(); } #define SCRIPT_CLOSE_BRACE() script_level--; \ if (script_level > 0) { SCRIPT_PIECE();}\ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave.y,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave.y 29 Nov 2004 21:37:01 -0000 1.12 +++ engrave.y 5 Dec 2004 21:16:29 -0000 1.13 @@ -2,10 +2,10 @@ #include <stdio.h> #include <string.h> #include "Engrave.h" -//#include "engrave_private.h" +#include "engrave_parse.h" #define YYDEBUG 1 - + int yylex(void); void yyerror(const char *s); void parse_error(void); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_data.c 29 Nov 2004 20:53:21 -0000 1.9 +++ engrave_data.c 5 Dec 2004 21:16:29 -0000 1.10 @@ -102,4 +102,32 @@ ed->int_value = value; } +/** + * engrave_data_parent_set - set the parent pointer on this node + * @param ed: The Engrave_Data to set the parent on + * @param parent: The parent pointer to set + * + * @return Returns no value. + * @brief This will set the parent pointer, in the case of Engrave_Data this + * can be either an Engrave_File or an Engrave_Group. + */ +void +engrave_data_parent_set(Engrave_Data *ed, void *parent) +{ + if (!ed) return; + ed->parent = parent; +} + +/** + * engrave_data_parent_get - get the parent pointer on this node + * @param ed: The Engrave_Data to get the pointer from + * + * @return Returns the parent pointer, or NULL if none set. + */ +void * +engrave_data_parent_get(Engrave_Data *ed) +{ + return (ed ? ed->parent : NULL); +} + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- engrave_data.h 29 Nov 2004 20:53:23 -0000 1.6 +++ engrave_data.h 5 Dec 2004 21:16:29 -0000 1.7 @@ -25,11 +25,16 @@ char *key; /**< The data key */ char *value; /**< The data string value */ int int_value; /**< The data int value */ + + void *parent; /**< A pointer to the parent */ }; Engrave_Data * engrave_data_new(const char *key, const char *value); void engrave_data_free(Engrave_Data *ed); +void engrave_data_parent_set(Engrave_Data *ed, void *parent); +void *engrave_data_parent_get(Engrave_Data *ed); + const char *engrave_data_key_get(Engrave_Data *ed); const char *engrave_data_value_get(Engrave_Data *ed); int engrave_data_int_value_get(Engrave_Data *ed); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- engrave_file.c 30 Nov 2004 17:32:15 -0000 1.15 +++ engrave_file.c 5 Dec 2004 21:16:29 -0000 1.16 @@ -127,6 +127,7 @@ { if (!e || !ef) return; e->fonts = evas_list_append(e->fonts, ef); + engrave_font_parent_set(ef, e); } /** @@ -141,6 +142,7 @@ { if (!ef || !ei) return; ef->images = evas_list_append(ef->images, ei); + engrave_image_parent_set(ei, ef); } /** @@ -155,6 +157,7 @@ { if (!ef || !ed) return; ef->data = evas_list_append(ef->data, ed); + engrave_data_parent_set(ed, ef); } /** @@ -169,6 +172,7 @@ { if (!ef || !eg) return; ef->groups = evas_list_append(ef->groups, eg); + engrave_group_parent_set(eg, ef); } /** @@ -181,10 +185,32 @@ Engrave_Group * engrave_file_group_last_get(Engrave_File *ef) { + if (!ef) return NULL; return evas_list_data(evas_list_last(ef->groups)); } /** + * engrave_file_group_by_name_find - returns the Engrave_Group with the given name. + * @param ef: The Engrave_File to search for the group in. + * @param name: The name of the group to search for. + * + * @return Returns the Engrave_Group with the given @a name or NULL if no + * corresponding group can be found. + */ +Engrave_Group * +engrave_file_group_by_name_find(Engrave_File *ef, const char *name) +{ + Evas_List *l; + for (l = ef->groups; l; l = l->next) + { + Engrave_Group *eg = l->data; + if (eg && !strcmp(engrave_group_name_get(eg), name)) + return eg; + } + return NULL; +} + +/** * engrave_file_image_by_name_find - returns the Engrave_Image with the given name. * @param ef: The Engrave_File to search for the image in. * @param name: The name of the image to search for. @@ -199,7 +225,7 @@ for (l = ef->images; l; l = l->next) { Engrave_Image *im = l->data; - if (im && !strcmp(im->name, name)) + if (im && !strcmp(engrave_image_name_get(im), name)) return im; } return NULL; @@ -366,7 +392,33 @@ if (!strcmp(key, data_key)) return ed; } + return NULL; } +/** + * engrave_file_font_by_name_find - find the Engrave_Font by name + * @param ef: The Engrave_File to search + * @param name: They name to search for + * + * @return Returns the Engrave_Font with the matching name or NULL if no such + * font exists. + */ +Engrave_Font * +engrave_file_font_by_name_find(Engrave_File *ef, const char *name) +{ + Evas_List *l; + + if (!ef || !name) return NULL; + for (l = ef->fonts; l; l = l->next) { + Engrave_Font *ef = l->data; + const char *font_name = engrave_font_name_get(ef); + + if (!strcmp(name, font_name)) + return ef; + } + return NULL; +} + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_file.h 29 Nov 2004 22:27:22 -0000 1.10 +++ engrave_file.h 5 Dec 2004 21:16:29 -0000 1.11 @@ -46,6 +46,10 @@ void engrave_file_group_add(Engrave_File *ef, Engrave_Group *eg); Engrave_Group *engrave_file_group_last_get(Engrave_File *ef); +Engrave_Group *engrave_file_group_by_name_find(Engrave_File *ef, + const char *name); +Engrave_Font *engrave_file_font_by_name_find(Engrave_File *ef, + const char *name); Engrave_Image *engrave_file_image_by_name_find(Engrave_File *ef, const char *name); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_font.c 15 Nov 2004 16:49:05 -0000 1.8 +++ engrave_font.c 5 Dec 2004 21:16:29 -0000 1.9 @@ -61,4 +61,32 @@ return (ef ? ef->path : NULL); } +/** + * engrave_font_parent_set - set the parent of the font node + * @param font: The Engrave_Font to set the parent into + * @param ef: The Engrave_File to set as parent + * + * @return Retruns no value. + */ +void +engrave_font_parent_set(Engrave_Font *font, void *ef) +{ + if (!font) return; + font->parent = ef; +} + +/** + * engrave_font_parent_get - get the parent pointer + * @param ef: The Engrave_Font to get the parent from + * + * @return Returns the pointer to the parent or NULL if none set + */ +void * +engrave_font_parent_get(Engrave_Font *ef) +{ + return (ef ? ef->parent : NULL); +} + + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- engrave_font.h 16 Nov 2004 01:13:30 -0000 1.7 +++ engrave_font.h 5 Dec 2004 21:16:29 -0000 1.8 @@ -24,11 +24,16 @@ { char *name; /**< The font alias */ char *path; /**< The font relative path */ + + void *parent; /**< Pointer to parent */ }; Engrave_Font *engrave_font_new(const char *path, const char *name); void engrave_font_free(Engrave_Font *ef); +void engrave_font_parent_set(Engrave_Font *font, void *ef); +void *engrave_font_parent_get(Engrave_Font *ef); + const char *engrave_font_name_get(Engrave_Font *ef); const char *engrave_font_path_get(Engrave_Font *ef); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_group.c 30 Nov 2004 17:32:15 -0000 1.13 +++ engrave_group.c 5 Dec 2004 21:16:29 -0000 1.14 @@ -69,6 +69,7 @@ { if (!eg || !ed) return; eg->data = evas_list_append(eg->data, ed); + engrave_data_parent_set(ed, eg); } /** @@ -145,6 +146,7 @@ { if (!eg || !ep) return; eg->parts = evas_list_append(eg->parts, ep); + engrave_part_parent_set(ep, eg); } /** @@ -158,6 +160,7 @@ engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep) { eg->programs = evas_list_append(eg->programs, ep); + engrave_program_parent_set(ep, eg); } /** @@ -170,7 +173,7 @@ Engrave_Part * engrave_group_part_last_get(Engrave_Group *eg) { - if (!eg) return; + if (!eg) return NULL; return evas_list_data(evas_list_last(eg->parts)); } @@ -382,5 +385,52 @@ if (!strcmp(key, data_key)) return ed; } + return NULL; } +Engrave_Part * +engrave_group_part_by_name_find(Engrave_Group *eg, const char *part) +{ + Evas_List *l; + + if (!eg || !part) return NULL; + for (l = eg->data; l; l = l->next) { + Engrave_Part *ep = l->data; + const char *name = engrave_part_name_get(ep); + + if (!strcmp(part, name)) + return ep; + } + return NULL; +} + +/** + * engrave_group_parent_set - set the parent pointer + * @param eg: The Engrave_Group to set the parent pointer into + * @param ef: The Engrave_File to set as the parent + * + * @return Returns no value. + */ +void +engrave_group_parent_set(Engrave_Group *eg, void *ef) +{ + if (!eg) return; + eg->parent = ef; +} + +/** + * engrave_group_parent_get - get the parent pointer + * @param eg: The Engrave_Group to get the parent pointer from + * + * @return Returns the Engrave_File parent pointer or NULL if none set + */ +void * +engrave_group_parent_get(Engrave_Group *eg) +{ + return (eg ? eg->parent : NULL); +} + + + + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_group.h 29 Nov 2004 22:27:23 -0000 1.10 +++ engrave_group.h 5 Dec 2004 21:16:29 -0000 1.11 @@ -37,11 +37,16 @@ Evas_List *data; /**< The list of data used in this group */ char *script; /**< The script attached to this group */ + + void *parent; /**< Pointer to parent */ }; Engrave_Group *engrave_group_new(void); void engrave_group_free(Engrave_Group *eg); +void engrave_group_parent_set(Engrave_Group *eg, void *ef); +void *engrave_group_parent_get(Engrave_Group *eg); + void engrave_group_data_add(Engrave_Group *eg, Engrave_Data *ed); void engrave_group_part_add(Engrave_Group *eg, Engrave_Part *ep); void engrave_group_program_add(Engrave_Group *eg, Engrave_Program *ep); @@ -70,6 +75,8 @@ void engrave_group_programs_foreach(Engrave_Group *eg, void (*func)(Engrave_Program *, void *), void *data); +Engrave_Part *engrave_group_part_by_name_find(Engrave_Group *eg, + const char *part); Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg, const char *key); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_image.c 16 Nov 2004 01:13:30 -0000 1.11 +++ engrave_image.c 5 Dec 2004 21:16:29 -0000 1.12 @@ -91,4 +91,33 @@ return (ei ? ei->value : 0.0); } +/** + * engrave_image_parent_set - set the image parent pointer + * @param ei: The Engrave_Image to set the parent into + * @param ef: The Engrave_File to set as the parent + * + * @return Returns no value. + */ +void +engrave_image_parent_set(Engrave_Image *ei, void *ef) +{ + if (!ei) return; + ei->parent = ef; +} + +/** + * engrave_image_parent_get - get the parent of the image + * @param ei: The Engrave_Image to get the parent from + * + * @return Returns the pointer to the Engrave_File parent or NULL if none set + */ +void * +engrave_image_parent_get(Engrave_Image *ei) +{ + return (ei ? ei->parent : NULL); +} + + + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- engrave_image.h 16 Nov 2004 01:13:30 -0000 1.8 +++ engrave_image.h 5 Dec 2004 21:16:29 -0000 1.9 @@ -25,6 +25,8 @@ char *name; /**< The image basename */ Engrave_Image_Type type; /**< The image storage type */ double value; /**< Compression value for image */ + + void *parent; /**< Pointer to parent */ }; Engrave_Image *engrave_image_new(const char *name, @@ -32,6 +34,9 @@ Engrave_Image *engrave_image_dup(Engrave_Image *from); void engrave_image_free(Engrave_Image *ef); +void engrave_image_parent_set(Engrave_Image *ei, void *ef); +void *engrave_image_parent_get(Engrave_Image *ei); + const char *engrave_image_name_get(Engrave_Image *ei); Engrave_Image_Type engrave_image_type_get(Engrave_Image *ei); double engrave_image_compression_value_get(Engrave_Image *ei); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_load.c 16 Nov 2004 01:54:08 -0000 1.12 +++ engrave_load.c 5 Dec 2004 21:16:29 -0000 1.13 @@ -1,4 +1,5 @@ #include <errno.h> +#include <unistd.h> #include <Engrave.h> #include "engrave_parse.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- engrave_out.c 15 Nov 2004 16:49:05 -0000 1.19 +++ engrave_out.c 5 Dec 2004 21:16:29 -0000 1.20 @@ -1,4 +1,5 @@ #include <errno.h> +#include <unistd.h> #include <stdio.h> #include <stdarg.h> #include <Engrave.h> @@ -197,7 +198,6 @@ _engrave_output_group(Engrave_Group *group, void *data) { FILE *out = data; - char *tmp = NULL; int w, h; engrave_out_start(out, "group"); @@ -243,7 +243,6 @@ _engrave_output_part(Engrave_Part *part, void *data) { FILE *out = data; - char *tmp; int x, step_x, count_x; int y, step_y, count_y; @@ -289,7 +288,6 @@ _engrave_output_program(Engrave_Program *program, void *data) { FILE *out = data; - char *tmp; Engrave_Action action; double value, value2; char state[128], state2[128]; @@ -394,11 +392,11 @@ if (x || y) engrave_out_data(out, "step", "%.2f %.2f", x, y); - engrave_part_state_min_get(state, &w, &h); + engrave_part_state_min_size_get(state, &w, &h); if (w > 0 || h > 0) engrave_out_data(out, "min", "%d %d", w, h); - engrave_part_state_max_get(state, &w, &h); + engrave_part_state_max_size_get(state, &w, &h); if (w >= 0 || h >= 0) engrave_out_data(out, "max", "%d %d", w, h); @@ -547,7 +545,6 @@ static void _engrave_output_font(Engrave_Font *font, void *data) { - char *name, *path; FILE *out; out = data; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_parse.c 16 Nov 2004 01:13:30 -0000 1.10 +++ engrave_parse.c 5 Dec 2004 21:16:29 -0000 1.11 @@ -2,6 +2,7 @@ static Engrave_File *engrave_file = 0; extern FILE *yyin; +int yyparse(void); Engrave_File * engrave_parse(const char *file, const char *imdir, const char *fontdir) @@ -34,10 +35,14 @@ } void -engrave_parse_data(char *key, char *value) +engrave_parse_data(char *key, char *value, int int_val) { Engrave_Data *data; data = engrave_data_new(key, value); + + if (!value) + engrave_data_int_value_set(data, int_val); + engrave_file_data_add(engrave_file, data); } @@ -50,12 +55,15 @@ } void -engrave_parse_group_data(char *key, char *value) +engrave_parse_group_data(char *key, char *value, int int_value) { Engrave_Group *group; Engrave_Data *data; data = engrave_data_new(key, value); + if (!value) + engrave_data_int_value_set(data, int_value); + group = engrave_file_group_last_get(engrave_file); engrave_group_data_add(group, data); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- engrave_parse.h 16 Nov 2004 01:13:30 -0000 1.3 +++ engrave_parse.h 5 Dec 2004 21:16:29 -0000 1.4 @@ -6,5 +6,78 @@ Engrave_File * engrave_parse(const char *file, const char *imdir, const char *fontdir); +void engrave_parse_font(char *file, char *name); +void engrave_parse_image(char *name, Engrave_Image_Type type, double value); +void engrave_parse_data(char *key, char *value, int int_val); +void engrave_parse_group(); +void engrave_parse_group_data(char *key, char *value, int int_value); +void engrave_parse_group_script(char *script); +void engrave_parse_group_name(char *name); +void engrave_parse_group_min(int w, int h); +void engrave_parse_group_max(int w, int h); +void engrave_parse_part(); +void engrave_parse_part_name(char *name); +void engrave_parse_part_type(Engrave_Part_Type type); +void engrave_parse_part_effect(Engrave_Text_Effect effect); +void engrave_parse_part_mouse_events(int mouse_events); +void engrave_parse_part_repeat_events(int repeat_events); +void engrave_parse_part_clip_to(char *clip_to); +void engrave_parse_part_dragable_x(int x, int step, int count); +void engrave_parse_part_dragable_y(int y, int step, int count); +void engrave_parse_part_dragable_confine(char *confine); +void engrave_parse_state(); +void engrave_parse_state_name(char *name, double value); +void engrave_parse_state_visible(int visible); +void engrave_parse_state_inherit(char *name, double val); +void engrave_parse_state_align(double x, double y); +void engrave_parse_state_step(double x, double y); +void engrave_parse_state_min(double w, double h); +void engrave_parse_state_max(double w, double h); +void engrave_parse_state_aspect(double w, double h); +void engrave_parse_state_aspect_preference( + Engrave_Aspect_Preference prefer); +void engrave_parse_state_rel1_relative(double x, double y); +void engrave_parse_state_rel1_offset(int x, int y); +void engrave_parse_state_rel1_to_x(char *to); +void engrave_parse_state_rel1_to_y(char *to); +void engrave_parse_state_rel1_to(char *to); +void engrave_parse_state_rel2_relative(double x, double y); +void engrave_parse_state_rel2_offset(int x, int y); +void engrave_parse_state_rel2_to_x(char *to); +void engrave_parse_state_rel2_to_y(char *to); +void engrave_parse_state_rel2_to(char *to); +void engrave_parse_state_image_normal(char *name); +void engrave_parse_state_image_tween(char *name); +void engrave_parse_image_border(int l, int r, int t, int b); +void engrave_parse_state_color_class(char *color_class); +void engrave_parse_state_color(int r, int g, int b, int a); +void engrave_parse_state_color2(int r, int g, int b, int a); +void engrave_parse_state_color3(int r, int g, int b, int a); +void engrave_parse_state_fill_smooth(int smooth); +void engrave_parse_state_fill_origin_relative(double x, double y); +void engrave_parse_state_fill_size_relative(double x, double y); +void engrave_parse_state_fill_origin_offset(int x, int y); +void engrave_parse_state_fill_size_offset(int x, int y); +void engrave_parse_state_text_text(char *text); +void engrave_parse_state_text_text_class(char *text_class); +void engrave_parse_state_text_font(char *font); +void engrave_parse_state_text_size(int size); +void engrave_parse_state_text_fit(int x, int y); +void engrave_parse_state_text_min(int x, int y); +void engrave_parse_state_text_align(double x, double y); +void engrave_parse_program(); +void engrave_parse_program_script(char *script); +void engrave_parse_program_name(char *name); +void engrave_parse_program_signal(char *signal); +void engrave_parse_program_source(char *source); +void engrave_parse_program_target(char *target); +void engrave_parse_program_after(char *after); +void engrave_parse_program_in(double from, double range); +void engrave_parse_program_action(Engrave_Action action, char *state, + char *state2, double value, + double value2); +void engrave_parse_program_transition(Engrave_Transition transition, + double duration); + #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_part.c 15 Nov 2004 16:49:06 -0000 1.12 +++ engrave_part.c 5 Dec 2004 21:16:29 -0000 1.13 @@ -352,6 +352,14 @@ { if (!ep || !eps) return; ep->states = evas_list_append(ep->states, eps); + engrave_part_state_parent_set(eps, ep); + + /* set the current state if it isnt' set already */ + if (engrave_part_state_name_get(eps, NULL) && + !strcmp(engrave_part_state_name_get(eps, NULL), "default")) { + if (ep->current_state == NULL) + engrave_part_current_state_set(ep, eps); + } } /** @@ -421,5 +429,49 @@ } } +/** + * engrave_part_parent_set - set the parent pointer in the part + * @param ep: The Engrave_Part to set the pointer into + * @param eg: The Engrave_Group to set as parent + * + * @return Returns no value. + */ +void +engrave_part_parent_set(Engrave_Part *ep, void *eg) +{ + if (!ep) return; + ep->parent = eg; +} + +/** + * engrave_part_parent_get - get the parent pointer for the part + * @param ep: The Engrave_Part to get the parent from + * + * @return Returns the Engrave_Group pointer if set, or NULL if none set. + */ +void * +engrave_part_parent_get(Engrave_Part *ep) +{ + return (ep ? ep->parent : NULL); +} + +void +engrave_part_current_state_set(Engrave_Part *ep, Engrave_Part_State *eps) +{ + if (!ep) return; + ep->current_state = eps; +} + +Engrave_Part_State * +engrave_part_current_state_get(Engrave_Part *ep) +{ + if (!ep) return NULL; + if (ep->current_state) return ep->current_state; + + ep->current_state = engrave_part_state_by_name_value_find(ep, + "default", 0.0); + return ep->current_state; +} + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_part.h 15 Nov 2004 16:49:06 -0000 1.10 +++ engrave_part.h 5 Dec 2004 21:16:29 -0000 1.11 @@ -50,11 +50,21 @@ } dragable; Evas_List *states; /**< The list of states assocated with the part */ + Engrave_Part_State *current_state; /**< The current state */ + + void *parent; /**< Pointer to parent */ }; Engrave_Part * engrave_part_new(Engrave_Part_Type type); void engrave_part_free(Engrave_Part *ep); +void engrave_part_parent_set(Engrave_Part *ep, void *eg); +void *engrave_part_parent_get(Engrave_Part *ep); + +void engrave_part_current_state_set(Engrave_Part *ep, + Engrave_Part_State *eps); +Engrave_Part_State *engrave_part_current_state_get(Engrave_Part *ep); + void engrave_part_name_set(Engrave_Part *ep, const char *name); void engrave_part_mouse_events_set(Engrave_Part *ep, int val); void engrave_part_repeat_events_set(Engrave_Part *ep, int val); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- engrave_part_state.c 15 Nov 2004 20:19:44 -0000 1.14 +++ engrave_part_state.c 5 Dec 2004 21:16:29 -0000 1.15 @@ -68,7 +68,6 @@ void engrave_part_state_free(Engrave_Part_State *eps) { - Evas_List *l; if (!eps) return; IF_FREE(eps->name); @@ -128,7 +127,7 @@ * @return Returns no value */ void -engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y) +engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y) { if (!eps) return; eps->align.x = x; @@ -144,7 +143,7 @@ * @return Returns no value */ void -engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y) +engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y) { if (!eps) return; eps->step.x = x; @@ -192,7 +191,7 @@ * @return Returns no value */ void -engrave_part_state_aspect_set(Engrave_Part_State *eps, int w, int h) +engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h) { if (!eps) return; eps->aspect.w = w; @@ -223,7 +222,7 @@ * @return Returns no value */ void -engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, int x, int y) +engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, double x, double y) { if (!eps) return; eps->rel1.relative.x = x; @@ -239,7 +238,7 @@ * @return Returns no value */ void -engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, int x, int y) +engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, double x, double y) { if (!eps) return; eps->rel2.relative.x = x; @@ -813,7 +812,7 @@ } /** - * engrave_part_state_min_get - get the minimum size of the state + * engrave_part_state_min_size_get - get the minimum size of the state * @param eps: The Engrave_Part_State to get the min from * @param w: Where to store the w value * @param h: Where to store the h value @@ -821,14 +820,14 @@ * @return Returns no value. */ void -engrave_part_state_min_get(Engrave_Part_State *eps, int *w, int *h) +engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h) { if (w) *w = (eps ? eps->min.w : 0); if (h) *h = (eps ? eps->min.h : 0); } /** - * engrave_part_state_max_get - get the maximum size of the state + * engrave_part_state_max_size_get - get the maximum size of the state * @param eps: The Engrave_Part_State to get the max from * @param w: Where to store the w value * @param h: Where to store the h value @@ -836,7 +835,7 @@ * @return Returns no value. */ void -engrave_part_state_max_get(Engrave_Part_State *eps, int *w, int *h) +engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h) { if (w) *w = (eps ? eps->max.w : -1); if (h) *h = (eps ? eps->max.h : -1); @@ -1176,6 +1175,43 @@ if (y) *y = (eps ? eps->text.align.y : 0.5); } +int +engrave_part_state_fill_smooth_get(Engrave_Part_State *eps) +{ + return (eps ? eps->fill.smooth : 1); +} + +void +engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state, + double *x, double *y) +{ + if (x) *x = (state ? state->fill.pos_rel.x : 0); + if (y) *y = (state ? state->fill.pos_rel.y : 0); +} + +void +engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps, + double *x, double *y) +{ + if (x) *x = (eps ? eps->fill.rel.x : 1); + if (y) *y = (eps ? eps->fill.rel.y : 1); +} + +void +engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps, + int *x, int *y) +{ + if (x) *x = (eps ? eps->fill.pos_abs.x : 0); + if (y) *y = (eps ? eps->fill.pos_abs.y : 0); +} + +void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps, + int *x, int *y) +{ + if (x) *x = (eps ? eps->fill.abs.x : 0); + if (y) *y = (eps ? eps->fill.abs.y : 0); +} + /** * engrave_part_state_tweens_count - get the number of tweens in the state * @param eps: The Engrave_Part_State to check for tweens @@ -1209,4 +1245,57 @@ } } +/** + * engrave_part_state_evas_object_get - get the object for this state + * @param eps: The Engrave_Part_State to get the object from + * + * @return Returns the evas object that displays this state + */ +Evas_Object * +engrave_part_state_evas_object_get(Engrave_Part_State *eps) +{ + return (eps ? eps->object : NULL); +} + +/** + * engrave_part_state_evas_object_set - set the evas object for this state + * @param eps: The Engrave_Part_State to set the object into + * @param o: The Evas_Object to set into the state + * + * @return Returns no value. + */ +void +engrave_part_state_evas_object_set(Engrave_Part_State *eps, Evas_Object *o) +{ + if (!eps) return; + eps->object = o; +} + +/** + * engrave_part_state_parent_set - set the parent part on this state + * @param eps: The Engrave_Part_State to set the parent into + * @param ep: The Engrave_Part to set as the parent + * + * @return Returns no value. + */ +void +engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep) +{ + if (!eps) return; + eps->parent = ep; +} + +/** + * engrave_part_state_parent_get - get the parent part of this state + * @param eps: The Engrave_Part_State to get the parent from + * + * @return Returns the Engrave_Part parent pointer, or NULL if none set. + */ +void * +engrave_part_state_parent_get(Engrave_Part_State *eps) +{ + return (eps ? eps->parent : NULL); +} + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.h,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- engrave_part_state.h 15 Nov 2004 16:49:06 -0000 1.10 +++ engrave_part_state.h 5 Dec 2004 21:16:29 -0000 1.11 @@ -40,8 +40,8 @@ */ struct { - double w; /**< width value */ - double h; /**< height value */ + int w; /**< width value */ + int h; /**< height value */ } min, max; /** @@ -167,30 +167,45 @@ double y; /**< The y value */ } align; } text; + + struct + { + Evas_Coord x; /**< The x position to place the object */ + Evas_Coord y; /**< The y position to place the object */ + Evas_Coord w; /**< The width of the object */ + Evas_Coord h; /**< The hight of the object */ + } pos; + + Evas_Object *object; /**< The evas object used to display this state */ + + void *parent; /**< Pointer to parent */ }; Engrave_Part_State * engrave_part_state_new(void); void engrave_part_state_free(Engrave_Part_State *eps); +void engrave_part_state_parent_set(Engrave_Part_State *eps, void *ep); +void *engrave_part_state_parent_get(Engrave_Part_State *eps); + void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name, double value); void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible); -void engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y); -void engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y); +void engrave_part_state_align_set(Engrave_Part_State *eps, double x, double y); +void engrave_part_state_step_set(Engrave_Part_State *eps, double x, double y); void engrave_part_state_min_size_set(Engrave_Part_State *eps, int w, int h); void engrave_part_state_max_size_set(Engrave_Part_State *eps, int w, int h); -void engrave_part_state_aspect_set(Engrave_Part_State *eps, int w, int h); +void engrave_part_state_aspect_set(Engrave_Part_State *eps, double w, double h); void engrave_part_state_aspect_preference_set(Engrave_Part_State *eps, Engrave_Aspect_Preference prefer); void engrave_part_state_rel1_relative_set(Engrave_Part_State *eps, - int x, int y); + double x, double y); void engrave_part_state_rel1_offset_set(Engrave_Part_State *eps, int x, int y); void engrave_part_state_rel1_to_set(Engrave_Part_State *eps, const char *to); void engrave_part_state_rel1_to_x_set(Engrave_Part_State *eps, const char *to); void engrave_part_state_rel1_to_y_set(Engrave_Part_State *eps, const char *to); void engrave_part_state_rel2_relative_set(Engrave_Part_State *eps, - int x, int y); + double x, double y); void engrave_part_state_rel2_offset_set(Engrave_Part_State *eps, int x, int y); void engrave_part_state_rel2_to_set(Engrave_Part_State *eps, const char *to); void engrave_part_state_rel2_to_x_set(Engrave_Part_State *eps, const char *to); @@ -242,8 +257,8 @@ double *x, double *y); void engrave_part_state_step_get(Engrave_Part_State *eps, double *x, double *y); -void engrave_part_state_min_get(Engrave_Part_State *eps, int *w, int *h); -void engrave_part_state_max_get(Engrave_Part_State *eps, int *w, int *h); +void engrave_part_state_min_size_get(Engrave_Part_State *eps, int *w, int *h); +void engrave_part_state_max_size_get(Engrave_Part_State *eps, int *w, int *h); void engrave_part_state_aspect_get(Engrave_Part_State *eps, double *w, double *h); Engrave_Aspect_Preference @@ -280,11 +295,23 @@ int *x, int *y); void engrave_part_state_text_align_get(Engrave_Part_State *eps, double *x, double *y); +int engrave_part_state_fill_smooth_get(Engrave_Part_State *eps); +void engrave_part_state_fill_origin_relative_get(Engrave_Part_State *state, + double *x, double *y); +void engrave_part_state_fill_size_relative_get(Engrave_Part_State *eps, + double *x, double *y); +void engrave_part_state_fill_origin_offset_get(Engrave_Part_State *eps, + int *x, int *y); +void engrave_part_state_fill_size_offset_get(Engrave_Part_State *eps, + int *x, int *y); int engrave_part_state_tweens_count(Engrave_Part_State *eps); void engrave_part_state_tween_foreach(Engrave_Part_State *eps, void (*func)(Engrave_Image *, void *), void *data); +Evas_Object *engrave_part_state_evas_object_get(Engrave_Part_State *eps); +void engrave_part_state_evas_object_set(Engrave_Part_State *eps, + Evas_Object *o); /** * @} */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- engrave_program.c 15 Nov 2004 20:19:44 -0000 1.12 +++ engrave_program.c 5 Dec 2004 21:16:29 -0000 1.13 @@ -385,5 +385,31 @@ } } +/** + * engrave_program_parent_set - set the parent of the program + * @param ep: The Engrave_Program to set the parent into + * @param eg: The Engrave_Group to set as parent + * + * @return Returns no value. + */ +void +engrave_program_parent_set(Engrave_Program *ep, void *eg) +{ + if (!ep) return; + ep->parent = eg; +} + +/** + * engrave_program_parent_get - get the parent pointer + * @param ep: The Engrave_Program to get the parent from + * + * @return Returns a pointer to the Engrave_Group parent, or NULL if none set + */ +void * +engrave_program_parent_get(Engrave_Program *ep) +{ + return (ep ? ep->parent : NULL); +} + + - =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_program.h 15 Nov 2004 16:49:06 -0000 1.9 +++ engrave_program.h 5 Dec 2004 21:16:29 -0000 1.10 @@ -46,11 +46,16 @@ double duration; /**< The duration of the transition */ char *script; /**< The script associated with the program */ + + void *parent; /**< Pointer to parent */ }; Engrave_Program *engrave_program_new(void); void engrave_program_free(Engrave_Program *ep); +void engrave_program_parent_set(Engrave_Program *ep, void *eg); +void *engrave_program_parent_get(Engrave_Program *ep); + void engrave_program_script_set(Engrave_Program *ep, const char *script); void engrave_program_name_set(Engrave_Program *ep, const char *name); void engrave_program_signal_set(Engrave_Program *ep, const char *signal); |
From: <enl...@li...> - 2004-12-05 21:17:12
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/bin Modified Files: Makefile.am Added Files: engrave_canvas_test_main.c Log Message: - fix compile warnings - add some missing functions - fixup some function signatures to be correct - add the start of engrave_canvas. Has a lot of work to still be done, but seems to display images at least. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/bin/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.am 21 Oct 2004 06:56:37 -0000 1.3 +++ Makefile.am 5 Dec 2004 21:16:28 -0000 1.4 @@ -4,9 +4,14 @@ CFLAGS = -g -W -Wall -Wno-implicit INCLUDES = -I$(top_srcdir)/src/lib @ECORE_CFLAGS@ -bin_PROGRAMS = engrave_test +bin_PROGRAMS = engrave_test \ +engrave_canvas_test engrave_test_DEPENDENCIES = $(top_builddir)/src/lib/libengrave.la -engrave_test_SOURCES = engrave_test_main.c +engrave_test_SOURCES = engrave_test_main.c engrave_test_LDADD = $(top_builddir)/src/lib/libengrave.la @ECORE_LIBS@ +engrave_canvas_test_DEPENDENCIES = $(top_builddir)/src/lib/libengrave.la +engrave_canvas_test_SOURCES = engrave_canvas_test_main.c +engrave_canvas_test_LDADD = $(top_builddir)/src/lib/libengrave.la @ECORE_LIBS@ + |
From: <enl...@li...> - 2004-12-06 15:39:08
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: Makefile.am Log Message: - run bison first =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Makefile.am 5 Dec 2004 21:16:29 -0000 1.6 +++ Makefile.am 6 Dec 2004 15:39:00 -0000 1.7 @@ -31,8 +31,8 @@ engrave_canvas.h ENGRAVEFILES = \ - engrave.l \ engrave.y \ + engrave.l \ engrave_out.c \ engrave_data.c \ engrave_file.c \ |
From: <enl...@li...> - 2004-12-07 02:38:09
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_canvas.c Log Message: - only show one state for a part at any one time... =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_canvas.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- engrave_canvas.c 5 Dec 2004 21:16:29 -0000 1.1 +++ engrave_canvas.c 7 Dec 2004 02:38:01 -0000 1.2 @@ -125,7 +125,14 @@ static void engrave_canvas_part_redraw(Engrave_Part *ep, void *data) { - engrave_part_state_foreach(ep, engrave_canvas_part_state_redraw, data); + Engrave_Part_State *eps; + + /* + * only want to draw one state for a part. The default one for now. + * XXX need to fix this tho to draw the selected visible state ... + */ + eps = engrave_part_state_by_name_value_find(ep, "default", 0.0); + engrave_canvas_part_state_redraw(eps, ep, data); } static void |
From: <enl...@li...> - 2004-12-07 03:44:34
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_canvas.c Log Message: - opps =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_canvas.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- engrave_canvas.c 7 Dec 2004 02:38:01 -0000 1.2 +++ engrave_canvas.c 7 Dec 2004 03:44:24 -0000 1.3 @@ -376,7 +376,7 @@ if ((aspect_min > 0.0) && (aspect < aspect_min)) { new_w = (eps->pos.h * aspect_min); - new_h = (eps->pos.w * aspect_min); + new_h = (eps->pos.w / aspect_min); } } |
From: <enl...@li...> - 2004-12-22 21:18:30
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_out.c Log Message: add the image and font dirs to the call to edje_cc =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- engrave_out.c 5 Dec 2004 21:16:29 -0000 1.20 +++ engrave_out.c 22 Dec 2004 21:18:24 -0000 1.21 @@ -122,6 +122,7 @@ static char tmpn[1024]; int len = 0, fd = 0, ret = 0; char *cmd = NULL; + const char *imgdir, *fontdir; strcpy(tmpn, "/tmp/engrave_cc.edc-tmp-XXXXXX"); fd = mkstemp(tmpn); @@ -132,11 +133,13 @@ close(fd); engrave_edc_output(engrave_file, tmpn); - /* FIXME images and fonts ??? */ - len = strlen(tmpn) + strlen(path) + 13; + imgdir = engrave_file_image_dir_get(engrave_file); + fontdir = engrave_file_font_dir_get(engrave_file); + + len = strlen(tmpn) + strlen(path) + strlen(imgdir) + strlen(fontdir) + 23; cmd = (char *)calloc(len, sizeof(char)); - snprintf(cmd, len, "edje_cc -v %s %s", tmpn, path); + snprintf(cmd, len, "edje_cc -v -id %s -fd %s %s %s", imgdir, fontdir, tmpn, path); ret = system(cmd); if (ret < 0) { |
From: <enl...@li...> - 2004-12-22 21:26:11
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_parse.c Log Message: oops =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_parse.c 5 Dec 2004 21:16:29 -0000 1.11 +++ engrave_parse.c 22 Dec 2004 21:26:05 -0000 1.12 @@ -341,7 +341,7 @@ group = engrave_file_group_last_get(engrave_file); part = engrave_group_part_last_get(group); state = engrave_part_state_last_get(part); - engrave_part_state_min_size_set(state, w, h); + engrave_part_state_max_size_set(state, w, h); } void |
From: <enl...@li...> - 2004-12-22 21:36:31
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_out.c Log Message: tilmans smarter then i am =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -3 -r1.21 -r1.22 --- engrave_out.c 22 Dec 2004 21:18:24 -0000 1.21 +++ engrave_out.c 22 Dec 2004 21:36:21 -0000 1.22 @@ -120,8 +120,8 @@ engrave_eet_output(Engrave_File *engrave_file, const char *path) { static char tmpn[1024]; - int len = 0, fd = 0, ret = 0; - char *cmd = NULL; + int fd = 0, ret = 0; + char cmd[2048]; const char *imgdir, *fontdir; strcpy(tmpn, "/tmp/engrave_cc.edc-tmp-XXXXXX"); @@ -137,9 +137,8 @@ imgdir = engrave_file_image_dir_get(engrave_file); fontdir = engrave_file_font_dir_get(engrave_file); - len = strlen(tmpn) + strlen(path) + strlen(imgdir) + strlen(fontdir) + 23; - cmd = (char *)calloc(len, sizeof(char)); - snprintf(cmd, len, "edje_cc -v -id %s -fd %s %s %s", imgdir, fontdir, tmpn, path); + snprintf(cmd, sizeof(cmd), "edje_cc -v -id %s -fd %s %s %s", + imgdir, fontdir, tmpn, path); ret = system(cmd); if (ret < 0) { |
From: <enl...@li...> - 2004-12-23 12:43:55
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_out.c Log Message: image dir and font dir can be null. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- engrave_out.c 22 Dec 2004 21:36:21 -0000 1.22 +++ engrave_out.c 23 Dec 2004 12:43:48 -0000 1.23 @@ -123,6 +123,7 @@ int fd = 0, ret = 0; char cmd[2048]; const char *imgdir, *fontdir; + char ipart[512], fpart[512]; strcpy(tmpn, "/tmp/engrave_cc.edc-tmp-XXXXXX"); fd = mkstemp(tmpn); @@ -137,8 +138,14 @@ imgdir = engrave_file_image_dir_get(engrave_file); fontdir = engrave_file_font_dir_get(engrave_file); - snprintf(cmd, sizeof(cmd), "edje_cc -v -id %s -fd %s %s %s", - imgdir, fontdir, tmpn, path); + if (imgdir) snprintf(ipart, sizeof(ipart), "-id %s", imgdir); + else ipart[0] = '\0'; + + if (fontdir) snprintf(fpart, sizeof(fpart), "-fd %s", fontdir); + else fpart[0] = '\0'; + + snprintf(cmd, sizeof(cmd), "edje_cc -v %s %s %s %s", + ipart, fpart, tmpn, path); ret = system(cmd); if (ret < 0) { |
From: <enl...@li...> - 2004-12-23 12:56:46
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: .cvsignore Log Message: hush hush =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- .cvsignore 12 Nov 2004 15:49:54 -0000 1.1 +++ .cvsignore 23 Dec 2004 12:56:39 -0000 1.2 @@ -1,21 +1,23 @@ Makefile Makefile.in engrave.c -engrave.lo -engrave_data.lo -engrave_file.lo -engrave_font.lo -engrave_group.lo -engrave_image.lo -engrave_load.lo -engrave_out.lo -engrave_parse.lo -engrave_part.lo -engrave_part_state.lo -engrave_program.lo libengrave.la libengrave_la-engrave.c libengrave_la-engrave.h libengrave_la-engrave.lo +libengrave_la-engrave_canvas.lo +libengrave_la-engrave_data.lo +libengrave_la-engrave_file.lo +libengrave_la-engrave_font.lo +libengrave_la-engrave_group.lo +libengrave_la-engrave_image.lo +libengrave_la-engrave_load.lo +libengrave_la-engrave_out.lo +libengrave_la-engrave_parse.lo +libengrave_la-engrave_part.lo +libengrave_la-engrave_part_state.lo +libengrave_la-engrave_program.lo +libengrave_la-libengrave_la-engrave.lo .deps .libs + |
From: <enl...@li...> - 2005-01-09 19:29:17
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_file.c engrave_group.c engrave_out.c engrave_part.c engrave_part_state.c engrave_program.c Log Message: - fixup free functions - plug some memory leaks =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- engrave_file.c 5 Dec 2004 21:16:29 -0000 1.16 +++ engrave_file.c 9 Jan 2005 19:29:10 -0000 1.17 @@ -32,28 +32,24 @@ for (l = ef->images; l; l = l->next) { Engrave_Image *ei = l->data; - ef->images = evas_list_remove(ef->images, ei); engrave_image_free(ei); } ef->images = evas_list_free(ef->images); for (l = ef->fonts; l; l = l->next) { Engrave_Font *font = l->data; - ef->fonts = evas_list_remove(ef->fonts, font); engrave_font_free(font); } ef->fonts = evas_list_free(ef->fonts); for (l = ef->data; l; l = l->next) { Engrave_Data *ed = l->data; - ef->data = evas_list_remove(ef->data, ed); engrave_data_free(ed); } ef->data = evas_list_free(ef->data); for (l = ef->groups; l; l = l->next) { Engrave_Group *eg = l->data; - ef->groups = evas_list_remove(ef->groups, eg); engrave_group_free(eg); } ef->groups = evas_list_free(ef->groups); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- engrave_group.c 5 Dec 2004 21:16:29 -0000 1.14 +++ engrave_group.c 9 Jan 2005 19:29:10 -0000 1.15 @@ -35,21 +35,18 @@ IF_FREE(eg->name); for (l = eg->parts; l; l = l->next) { Engrave_Part *ep = l->data; - eg->parts = evas_list_remove(eg->parts, ep); engrave_part_free(ep); } eg->parts = evas_list_free(eg->parts); for (l = eg->programs; l; l = l->next) { Engrave_Program *ep = l->data; - eg->programs = evas_list_remove(eg->programs, ep); engrave_program_free(ep); } eg->programs = evas_list_free(eg->programs); for (l = eg->data; l; l = l->next) { Engrave_Data *ed = l->data; - eg->data = evas_list_remove(eg->data, ed); engrave_data_free(ed); } eg->data = evas_list_free(eg->data); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- engrave_out.c 23 Dec 2004 12:43:48 -0000 1.23 +++ engrave_out.c 9 Jan 2005 19:29:10 -0000 1.24 @@ -106,6 +106,7 @@ va_start(ap, fmt); vfprintf(out, fmt_new, ap); va_end(ap); + FREE(fmt_new); FREE(buf); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_part.c 5 Dec 2004 21:16:29 -0000 1.13 +++ engrave_part.c 9 Jan 2005 19:29:10 -0000 1.14 @@ -37,7 +37,6 @@ for (l = ep->states; l; l = l->next) { Engrave_Part_State *eps = l->data; - ep->states = evas_list_remove(ep->states, eps); engrave_part_state_free(eps); } ep->states = evas_list_free(ep->states); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- engrave_part_state.c 5 Dec 2004 21:16:29 -0000 1.15 +++ engrave_part_state.c 9 Jan 2005 19:29:10 -0000 1.16 @@ -84,6 +84,7 @@ IF_FREE(eps->text.text); IF_FREE(eps->text.text_class); IF_FREE(eps->text.font); + FREE(eps); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_program.c 5 Dec 2004 21:16:29 -0000 1.13 +++ engrave_program.c 9 Jan 2005 19:29:10 -0000 1.14 @@ -33,14 +33,12 @@ for (l = ep->targets; l; l = l->next) { char *d = l->data; - ep->targets = evas_list_remove(ep->targets, d); IF_FREE(d); } ep->targets = evas_list_free(ep->targets); for (l = ep->afters; l; l = l->next) { char *d = l->data; - ep->afters = evas_list_remove(ep->afters, d); IF_FREE(d); } ep->afters = evas_list_free(ep->afters); |
From: <enl...@li...> - 2005-01-24 17:43:35
|
Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave Dir : e17/libs/engrave/src/lib Modified Files: engrave_out.c Log Message: - missing fill data on output =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- engrave_out.c 9 Jan 2005 19:29:10 -0000 1.24 +++ engrave_out.c 24 Jan 2005 17:43:17 -0000 1.25 @@ -531,6 +531,57 @@ engrave_out_end(out); } + + { + int smooth; + double orig_x, orig_y; + int orig_off_x, orig_off_y; + double size_x, size_y; + int size_off_x, size_off_y; + + smooth = engrave_part_state_fill_smooth_get(state); + engrave_part_state_fill_origin_relative_get(state, &orig_x, &orig_y); + engrave_part_state_fill_origin_offset_get(state, &orig_off_x, &orig_off_y); + engrave_part_state_fill_size_relative_get(state, &size_x, &size_y); + engrave_part_state_fill_size_offset_get(state, &size_off_x, &size_off_y); + + if ((smooth != 1) || (orig_x != 0.0) || (orig_y != 0.0) || + (orig_off_x != 0) || (orig_off_y != 0) || (size_x != 1.0) || + (size_y != 1.0) || (size_off_x != 0) || (size_off_y != 0)) + { + engrave_out_start(out, "fill"); + + if (smooth != 1) + engrave_out_data(out, "smooth", "%d", smooth); + + if ((orig_x != 0.0) || (orig_y != 0.0) + || (orig_off_x != 0) || (orig_off_y != 0)) + { + engrave_out_start(out, "origin"); + if ((orig_x != 0.0) || (orig_y != 0.0)) + engrave_out_data(out, "relative", "%f %f", orig_x, orig_y); + + if ((orig_off_x != 0) || (orig_off_y != 0)) + engrave_out_data(out, "offset", "%d %d", orig_off_x, orig_off_y); + + engrave_out_end(out); + } + + if ((size_x != 0.0) || (size_y != 0.0) + || (size_off_x != 0) || (size_off_y != 0)) + { + engrave_out_start(out, "size"); + if ((size_x != 0.0) || (size_y != 0.0)) + engrave_out_data(out, "relative", "%f %f", size_x, size_y); + + if ((size_off_x != 0) || (size_off_y != 0)) + engrave_out_data(out, "offset", "%d %d", size_off_x, size_off_y); + + engrave_out_end(out); + } + engrave_out_end(out); + } + } engrave_out_end(out); } |