From 5382d18d05d358bb1c313c642395e835aa44a6a0 Mon Sep 17 00:00:00 2001 From: lordjaxom Date: Wed, 8 Dec 2004 18:48:39 +0000 Subject: 1.0-pre1 --- xml/skin.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 xml/skin.c (limited to 'xml/skin.c') diff --git a/xml/skin.c b/xml/skin.c new file mode 100644 index 0000000..0cc753b --- /dev/null +++ b/xml/skin.c @@ -0,0 +1,44 @@ +/* + * $Id: skin.c,v 1.2 2004/12/08 17:13:26 lordjaxom Exp $ + */ + +#include "xml/skin.h" +#include +#include + +const std::string ScreenBases[] = { "relative", "absolute" }; + +cxSkin::cxSkin(const std::string &Name): + mName(Name) { +} + +void cxSkin::SetBase(eScreenBase Base) { + mBase = Base; + switch (mBase) { + case relative: + mBaseOffset = txPoint(Setup.OSDLeft, Setup.OSDTop); + mBaseSize = txSize(Setup.OSDWidth, Setup.OSDHeight); + break; + + case absolute: + mBaseOffset = txPoint(0, 0); + mBaseSize = txSize(720, 576); //XXX + break; + + default: + break; + } +} + +bool cxSkin::ParseBase(const std::string &Text) { + int i; + for (i = 0; i < (int)__COUNT_BASE__; ++i) { + if (ScreenBases[i] == Text) + break; + } + if (i < (int)__COUNT_BASE__) { + SetBase((eScreenBase)i); + return true; + } + return false; +} -- cgit v1.2.3