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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs