diff options
Diffstat (limited to 'glcdskin/function.c')
-rw-r--r-- | glcdskin/function.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/glcdskin/function.c b/glcdskin/function.c index 8582ad5..0fe39b3 100644 --- a/glcdskin/function.c +++ b/glcdskin/function.c @@ -33,6 +33,7 @@ static const char * Internals[] = "FontTextHeight", "ImageWidth", "ImageHeight", + "QueryFeature", NULL }; @@ -247,6 +248,10 @@ bool cSkinFunction::Parse(const std::string & Text) params = 1; break; + case funQueryFeature: + params = 1; + break; + default: break; } @@ -443,6 +448,15 @@ cType cSkinFunction::Evaluate(void) const case funImageHeight: return FunImage(mType, mParams[0]->Evaluate()); + case funQueryFeature: { + int value; + if (mSkin->Config().GetDriver()->GetFeature((const std::string)(mParams[0]->Evaluate()), value)) { + return (value) ? true : false; + } else { + return false; + } + } + default: //Dprintf("unknown function code\n"); syslog(LOG_ERR, "ERROR: Unknown function code called (this shouldn't happen)"); |