Enlightenment CVS committal

Author  : leviathan
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave.y engrave_parse.c engrave_parse.h engrave_spectrum.c 
        engrave_spectrum.h 


Log Message:
A better way to parse spectrums, don't depend on name being first to create the 
struct

===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave.y,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- engrave.y   29 Dec 2006 12:55:14 -0000      1.17
+++ engrave.y   29 Dec 2006 14:12:12 -0000      1.18
@@ -91,7 +91,10 @@
        | spectra_statement spectrum
        ;
 
-spectrum: SPECTRUM OPEN_BRACE { section = SPECTRUM; } spectrum_statement 
CLOSE_BRACE semicolon_maybe { section = SPECTRA; }
+spectrum: SPECTRUM OPEN_BRACE { 
+               section = SPECTRUM; 
+               engrave_parse_spectrum();
+       } spectrum_statement CLOSE_BRACE semicolon_maybe { section = SPECTRA; }
        ;
 
 spectrum_statement: /* blank */
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- engrave_parse.c     28 Dec 2006 18:22:56 -0000      1.15
+++ engrave_parse.c     29 Dec 2006 14:12:12 -0000      1.16
@@ -86,12 +86,20 @@
 }
 
 void
-engrave_parse_spectrum_name(char *name)
+engrave_parse_spectrum()
 {
   Engrave_Spectrum *es;
-  es = engrave_spectrum_new(name);
+  es = engrave_spectrum_new();
   engrave_file_spectrum_add(engrave_file, es);
   engrave_spectrum_parent_set(es, engrave_file);
+}
+
+void
+engrave_parse_spectrum_name(char *name)
+{
+  Engrave_Spectrum *es;
+  es = engrave_file_spectrum_last_get(engrave_file);
+  engrave_spectrum_name_set(es, name);
 }
 
 void
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_parse.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave_parse.h     28 Dec 2006 18:22:56 -0000      1.7
+++ engrave_parse.h     29 Dec 2006 14:12:12 -0000      1.8
@@ -21,6 +21,7 @@
 void engrave_parse_style_base(char * base);
 void engrave_parse_style_tag(char * key, char * val);
 
+void engrave_parse_spectrum();
 void engrave_parse_spectrum_name(char * name);
 void engrave_parse_spectrum_color(int r, int g, int b, int a, int d);
 
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_spectrum.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- engrave_spectrum.c  28 Dec 2006 18:22:56 -0000      1.1
+++ engrave_spectrum.c  29 Dec 2006 14:12:12 -0000      1.2
@@ -9,13 +9,13 @@
  * @return Returns a pointer to a newly allocated object on success, or NULL
  */
 EAPI Engrave_Spectrum *
-engrave_spectrum_new(const char *name)
+engrave_spectrum_new()
 {
   Engrave_Spectrum *es;
   es = NEW(Engrave_Spectrum, 1);
   if (!es) return NULL;
 
-  es->name = (name ? strdup(name) : NULL);
+  es->name = NULL;
   es->parent = NULL;
   es->colors = NULL;
   return es;
@@ -123,6 +123,20 @@
 {
   if (!es || !parent) return;
   es->parent = parent;
+}
+
+/**
+ * engrave_spectrum_name_set - sets the name of the Engrave_Spectrum object
+ * @param es: The spectrum object 
+ * @param name: The name to set
+ *
+ * @return Returns no value
+ */
+EAPI void
+engrave_spectrum_name_set(Engrave_Spectrum *es, const char * name)
+{
+  if (!es) return;
+  if (name) es->name = strdup(name);
 }
 
 /**
===================================================================
RCS file: /cvs/e/e17/libs/engrave/src/lib/engrave_spectrum.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- engrave_spectrum.h  28 Dec 2006 18:22:56 -0000      1.1
+++ engrave_spectrum.h  29 Dec 2006 14:12:12 -0000      1.2
@@ -37,7 +37,7 @@
   int d;
 };
 
-EAPI Engrave_Spectrum *engrave_spectrum_new(const char *name);
+EAPI Engrave_Spectrum *engrave_spectrum_new();
 EAPI void engrave_spectrum_free(Engrave_Spectrum *es);
 
 EAPI Engrave_Spectrum_Color *engrave_spectrum_color_new(int r, int g, int b, 
int a, int d);
@@ -49,6 +49,7 @@
 EAPI void engrave_spectrum_color_del(Engrave_Spectrum *spec, 
Engrave_Spectrum_Color * col);
 
 EAPI const char * engrave_spectrum_name_get(Engrave_Spectrum *es);
+EAPI void engrave_spectrum_name_set(Engrave_Spectrum *es, const char *name);
 EAPI int engrave_spectrum_color_count(Engrave_Spectrum *es);
 EAPI Engrave_Spectrum_Color * engrave_spectrum_color_nth(Engrave_Spectrum *es, 
int n);
 



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to