summaryrefslogtreecommitdiff
path: root/data.h
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-06-02 19:56:58 +0000
committerlordjaxom <lordjaxom>2004-06-02 19:56:58 +0000
commite0c2ee1d37c0f213f22a04df71710bebe3526f85 (patch)
tree8bfd3a4fa065abeb016134466523a1152202e597 /data.h
parente535cdbe09d9c13d79cd6722aafca5798b7d1e35 (diff)
downloadvdr-plugin-text2skin-e0c2ee1d37c0f213f22a04df71710bebe3526f85.tar.gz
vdr-plugin-text2skin-e0c2ee1d37c0f213f22a04df71710bebe3526f85.tar.bz2
- implemented image loading through ImageMagick (fixes crashes when runningv0.0.1-rc4
together with GraphTFT) - implemented Theme support (see file demo.colors in the demo skin) - implemented translations for texts used in skins (see file demo.trans in the demo skin)
Diffstat (limited to 'data.h')
-rw-r--r--data.h52
1 files changed, 26 insertions, 26 deletions
diff --git a/data.h b/data.h
index 2ab2d4f..a8dbd43 100644
--- a/data.h
+++ b/data.h
@@ -1,23 +1,20 @@
/*
- * $Id: data.h,v 1.9 2004/05/31 19:54:12 lordjaxom Exp $
+ * $Id: data.h,v 1.10 2004/06/02 20:43:05 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_DATA_H
#define VDR_TEXT2SKIN_DATA_H
-#define __STL_CONFIG_H
+#include "common.h"
+#include "file.h"
#include <vdr/tools.h>
#include <vdr/osd.h>
#include <vdr/config.h>
-#undef __STL_CONFIG_H
-#include <string>
-
-using std::string;
// sections and items known by skin files
enum eSkinSection {
- sectionUnknown,
+ sectionSkin,
sectionChannelSmall,
sectionChannel,
sectionVolume,
@@ -25,6 +22,7 @@ enum eSkinSection {
sectionReplay,
sectionMessage,
sectionMenu,
+ __SECTION_COUNT__
};
enum eSkinItem {
@@ -92,20 +90,17 @@ struct SIZE {
int w, h;
};
-class cText2SkinItem: public cListObject {
+class cText2SkinItem {
friend class cText2SkinRender;
private:
- static eSkinSection mParseSection;
-
- eSkinSection mSection;
eSkinItem mItem;
POINT mPos;
SIZE mSize;
int mBpp;
int mArc;
- tColor *mFg;
- tColor *mBg;
+ string mFg;
+ string mBg;
const cFont *mFont;
string mName;
string mVersion;
@@ -117,11 +112,6 @@ private:
protected:
bool ParseItem(const char *Text);
- bool ParseVar(const char *Text, const char *Name, int *Value);
- bool ParseVar(const char *Text, const char *Name, const cFont **Value);
- bool ParseVar(const char *Text, const char *Name, string &Value);
- bool ParseVar(const char *Text, const char *Name, tColor **Value);
- bool ParseVar(const char *Text, const char *Name, eTextAlignment *Value);
public:
cText2SkinItem(void);
@@ -129,14 +119,15 @@ public:
bool Parse(const char *Text);
- eSkinSection Section(void) const { return mSection; }
eSkinItem Item(void) const { return mItem; }
const POINT &Pos(void) const { return mPos; }
const SIZE &Size(void) const { return mSize; }
int Bpp(void) const { return mBpp; }
int Arc(void) const { return mArc; }
- const tColor *Fg(void) const { return mFg; }
- const tColor *Bg(void) const { return mBg; }
+ //const tColor *Fg(void) const { return mFg; }
+ //const tColor *Bg(void) const { return mBg; }
+ const string &Fg(void) const { return mFg; }
+ const string &Bg(void) const { return mBg; }
const cFont *Font(void) const { return mFont; }
const string &Name(void) const { return mName; }
const string &Version(void) const { return mVersion; }
@@ -147,17 +138,26 @@ public:
eTextAlignment Align(void) const { return mAlign; }
};
-class cText2SkinData: public cConfig<cText2SkinItem> {
+class cText2SkinData: public cText2SkinFile {
+public:
+ typedef vector<cText2SkinItem*> tSection;
+ typedef tSection::iterator tIterator;
+
private:
- char *mSkin;
+ eSkinSection mCurrentSection;
+ tSection mSections[__SECTION_COUNT__];
+
+protected:
+ virtual bool Parse(const char *Text);
public:
cText2SkinData(const char *Skin);
- ~cText2SkinData();
+ virtual ~cText2SkinData();
- cText2SkinItem *Get(eSkinItem Item);
+ tIterator First(eSkinSection Section) { return mSections[Section].begin(); }
+ tIterator Last(eSkinSection Section) { return mSections[Section].end(); }
- const char *Skin(void) const { return mSkin; }
+ cText2SkinItem *Get(eSkinSection Section, eSkinItem Item);
};
#endif // VDR_TEXT2SKIN_DATA_H