summaryrefslogtreecommitdiff
path: root/xml
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-12-28 14:35:54 +0000
committerlordjaxom <lordjaxom>2004-12-28 14:35:54 +0000
commitf44f1c8893bbd7127ffde8186514ae1bea944d33 (patch)
tree9ad06d276b8b91a34066d74c4ceefd81fb98a2ee /xml
parenteebc1ff67b2c23b753b401dad8abe896abc6b392 (diff)
downloadvdr-plugin-text2skin-f44f1c8893bbd7127ffde8186514ae1bea944d33.tar.gz
vdr-plugin-text2skin-f44f1c8893bbd7127ffde8186514ae1bea944d33.tar.bz2
- implemented font width handling
Diffstat (limited to 'xml')
-rw-r--r--xml/object.c23
-rw-r--r--xml/object.h3
2 files changed, 18 insertions, 8 deletions
diff --git a/xml/object.c b/xml/object.c
index a9fb044..8445361 100644
--- a/xml/object.c
+++ b/xml/object.c
@@ -1,5 +1,5 @@
/*
- * $Id: object.c,v 1.4 2004/12/28 02:03:00 lordjaxom Exp $
+ * $Id: object.c,v 1.5 2004/12/28 14:35:54 lordjaxom Exp $
*/
#include "xml/object.h"
@@ -100,15 +100,22 @@ bool cxObject::ParseAlignment(const std::string &Text)
bool cxObject::ParseFontFace(const std::string &Text)
{
- int size = 0, pos;
+ int size = 0, width = 0, pos;
std::string face = Text;
if ((pos = face.find(':')) != -1) {
- size = atoi(face.substr(pos + 1).c_str());
+ std::string s = face.substr(pos + 1);
+ const char *p = s.c_str();
+ char *end;
+ size = strtol(p, &end, 10);
+ if (*end == ',')
+ width = strtol(end + 1, NULL, 10);
+
face.erase(pos);
}
- mFontFace = face;
- mFontSize = size;
+ mFontFace = face;
+ mFontSize = size;
+ mFontWidth = width;
return true;
}
@@ -130,10 +137,12 @@ const cFont *cxObject::Font(void) const
{
const cFont *font;
- if ((font = cText2SkinFont::Load(SkinPath() + "/fonts", mFontFace, mFontSize)) != NULL)
+ if ((font = cText2SkinFont::Load(SkinPath() + "/fonts", mFontFace, mFontSize, mFontWidth))
+ != NULL)
return font;
- if ((font = cText2SkinFont::Load(SkinPath() + "/" + mSkin->Name(), mFontFace, mFontSize)) != NULL)
+ if ((font = cText2SkinFont::Load(SkinPath() + "/" + mSkin->Name(), mFontFace, mFontSize,
+ mFontWidth)) != NULL)
return font;
return cFont::GetFont(fontOsd);
diff --git a/xml/object.h b/xml/object.h
index 678048b..7d791fd 100644
--- a/xml/object.h
+++ b/xml/object.h
@@ -1,5 +1,5 @@
/*
- * $Id: object.h,v 1.3 2004/12/28 02:03:00 lordjaxom Exp $
+ * $Id: object.h,v 1.4 2004/12/28 14:35:54 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_XML_OBJECT_H
@@ -82,6 +82,7 @@ private:
cxString mTotal;
std::string mFontFace;
int mFontSize;
+ int mFontWidth;
uint mDelay;
uint mIndex;
cxObjects *mObjects; // used for block objects such as <list>