summaryrefslogtreecommitdiff
path: root/glcdskin/parser.c
diff options
context:
space:
mode:
authormrwastl <mrwastl@users.sourceforge.net>2011-07-09 13:48:15 +0200
committermrwastl <mrwastl@users.sourceforge.net>2011-07-09 13:48:15 +0200
commit21d15ba6ddf7440f229eb627ff3cc28393e3faee (patch)
tree73d8ea9035bb3f8186cc80faf24181392752d0d2 /glcdskin/parser.c
parent8b40680aa394e0b0cdc9b78229bf3b513ec4459e (diff)
downloadgraphlcd-base-21d15ba6ddf7440f229eb627ff3cc28393e3faee.tar.gz
graphlcd-base-21d15ba6ddf7440f229eb627ff3cc28393e3faee.tar.bz2
position (x/y/x1/y1/x2/y2) and dimension (width/height) parameters are now evaluated at run time
Diffstat (limited to 'glcdskin/parser.c')
-rw-r--r--glcdskin/parser.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/glcdskin/parser.c b/glcdskin/parser.c
index 71df8e1..a06ebc4 100644
--- a/glcdskin/parser.c
+++ b/glcdskin/parser.c
@@ -262,14 +262,20 @@ bool StartElem(const std::string & name, std::map<std::string,std::string> & att
if (object->ParseType(name))
{
- ATTRIB_OPT_FUNC_PARAM("x", object->ParseIntParam, object->mPos1.x);
- ATTRIB_OPT_FUNC_PARAM("y", object->ParseIntParam, object->mPos1.y);
- ATTRIB_OPT_FUNC_PARAM("x1", object->ParseIntParam, object->mPos1.x);
- ATTRIB_OPT_FUNC_PARAM("y1", object->ParseIntParam, object->mPos1.y);
- ATTRIB_OPT_FUNC_PARAM("x2", object->ParseIntParam, object->mPos2.x);
- ATTRIB_OPT_FUNC_PARAM("y2", object->ParseIntParam, object->mPos2.y);
- ATTRIB_OPT_FUNC("width", object->ParseWidth);
- ATTRIB_OPT_FUNC("height", object->ParseHeight);
+ object->mX1.Parse("0");
+ object->mY1.Parse("0");
+ object->mX2.Parse("-1");
+ object->mY2.Parse("-1");
+ object->mWidth.Parse("0");
+ object->mHeight.Parse("0");
+ ATTRIB_OPT_FUNC("x", object->mX1.Parse);
+ ATTRIB_OPT_FUNC("y", object->mY1.Parse);
+ ATTRIB_OPT_FUNC("x1", object->mX1.Parse);
+ ATTRIB_OPT_FUNC("y1", object->mY1.Parse);
+ ATTRIB_OPT_FUNC("x2", object->mX2.Parse);
+ ATTRIB_OPT_FUNC("y2", object->mY2.Parse);
+ ATTRIB_OPT_FUNC("width", object->mWidth.Parse);
+ ATTRIB_OPT_FUNC("height", object->mHeight.Parse);
ATTRIB_OPT_FUNC("condition", object->ParseCondition);
ATTRIB_OPT_STRING("action", object->mAction);
@@ -335,6 +341,9 @@ bool StartElem(const std::string & name, std::map<std::string,std::string> & att
ATTRIB_OPT_NUMBER("direction", object->mDirection);
ATTRIB_OPT_FUNC("current", object->mCurrent.Parse);
ATTRIB_OPT_FUNC("total", object->mTotal.Parse);
+ ATTRIB_OPT_FUNC("peak", object->mPeak.Parse);
+ ATTRIB_OPT_FUNC_PARAM("peakcolor", object->ParseColor, object->mPeakColor);
+ ATTRIB_OPT_NUMBER("radius", object->mRadius);
}
#if 0
else if (name == "item") {