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 ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8 _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs