expression parsing has begun
[manmower/obtheme.git] / obtheme.h
index d98d335..9a4faf7 100644 (file)
--- a/obtheme.h
+++ b/obtheme.h
 
 extern int themedebug;
 
+typedef enum {
+       OB_THEME_ADD,
+       OB_THEME_SUB,
+       OB_THEME_MUL,
+       OB_THEME_DIV,
+       OB_THEME_EQL
+} ObThemeOp;
+
+struct variable {
+       char *base;
+       char *member;
+       double number;
+};
+
+struct expression {
+       ObThemeOp op;
+       struct expression *a;
+       struct expression *b;
+       struct variable v;
+};
+
 struct material {
        float opacity;
 };
@@ -36,9 +57,9 @@ struct theme {
 };
 
 struct vector {
-       int x;
-       int y;
-       int z;
+       struct expression x;
+       struct expression y;
+       struct expression z;
 };
 
 struct space {