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

Reply via email to