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