aboutsummaryrefslogtreecommitdiffstats
path: root/widget_text.h
diff options
context:
space:
mode:
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2004-03-06 20:31:16 +0000
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>2004-03-06 20:31:16 +0000
commitc008748638679f10746c70a7f677c0e8906ffa9e (patch)
treee8d53c15a9184b19109453e56cf4fc8f8cfac6b0 /widget_text.h
parent2f4f59ba2e28ee38f721f09ab6756fd4575b3f78 (diff)
downloadlcd4linux-c008748638679f10746c70a7f677c0e8906ffa9e.tar.gz
[lcd4linux @ 2004-03-06 20:31:16 by reinelt]
Complete rewrite of the evaluator to get rid of the code from mark Morley (because of license issues). The new Evaluator does a pre-compile of expressions, and stores them in trees. Therefore it should be reasonable faster... git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@387 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to 'widget_text.h')
-rw-r--r--widget_text.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/widget_text.h b/widget_text.h
index d3e20c5..4fa9518 100644
--- a/widget_text.h
+++ b/widget_text.h
@@ -1,4 +1,4 @@
-/* $Id: widget_text.h,v 1.2 2004/01/15 07:47:03 reinelt Exp $
+/* $Id: widget_text.h,v 1.3 2004/03/06 20:31:16 reinelt Exp $
*
* simple text widget handling
*
@@ -23,6 +23,12 @@
*
*
* $Log: widget_text.h,v $
+ * Revision 1.3 2004/03/06 20:31:16 reinelt
+ * Complete rewrite of the evaluator to get rid of the code
+ * from mark Morley (because of license issues).
+ * The new Evaluator does a pre-compile of expressions, and
+ * stores them in trees. Therefore it should be reasonable faster...
+ *
* Revision 1.2 2004/01/15 07:47:03 reinelt
* debian/ postinst and watch added (did CVS forget about them?)
* evaluator: conditional expressions (a?b:c) added
@@ -44,10 +50,13 @@ typedef enum { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT, ALIGN_MARQUEE } ALIGN;
typedef struct WIDGET_TEXT {
char *prefix; // expression for label on the left side
+ void *pretree; // pre-compiled expression for label on the left side
char *preval; // value for label on the left side
char *postfix; // expression for label on the right side
+ void *posttree; // pre-compiled expression for label on the right side
char *postval; // value for label on the right side
char *expression; // expression that delivers the value
+ void *tree; // pre-compiled expression that delivers the value
char *value; // evaluated value from expression
char *buffer; // string with 'width+1' bytes allocated
int width; // field width