From 21d15ba6ddf7440f229eb627ff3cc28393e3faee Mon Sep 17 00:00:00 2001 From: mrwastl Date: Sat, 9 Jul 2011 13:48:15 +0200 Subject: position (x/y/x1/y1/x2/y2) and dimension (width/height) parameters are now evaluated at run time --- glcdskin/string.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'glcdskin/string.c') diff --git a/glcdskin/string.c b/glcdskin/string.c index a174964..bc3070d 100644 --- a/glcdskin/string.c +++ b/glcdskin/string.c @@ -274,6 +274,17 @@ cType cSkinString::Evaluate(void) const pos = idxstart; } result_trans.append(result_raw.substr(pos)); + + // re-evaluate resulting string + if ((mText.size() > 0) && mText[0] != '#' && mObject != NULL ) { + cSkinFunction *result = new cSkinFunction(mObject); + if (result->Parse(result_trans)) { + std::string result_rescan = (std::string)result->Evaluate(); + if (result_rescan != "") + result_trans = result_rescan; + } + delete result; + } return result_trans; } -- cgit v1.2.3