blob: ae66568773552abcfed22f3a591cfbb04d7e0c8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/*
* $Id: data.h,v 1.15 2004/06/11 15:01:58 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_DATA_H
#define VDR_TEXT2SKIN_DATA_H
#include "common.h"
#include "file.h"
#include <vdr/tools.h>
#include <vdr/osd.h>
#include <vdr/config.h>
class cText2SkinItem {
friend class cText2SkinRender;
private:
eSkinItem mItem;
eSkinDisplay mDisplay;
POINT mPos;
SIZE mSize;
int mBpp;
int mArc;
string mFg;
string mBg;
const cFont *mFont;
string mName;
string mVersion;
string mPath;
string mAltPath;
string mText;
string mType;
string mFormat;
eTextAlignment mAlign;
protected:
bool ParseItem(const char *Text);
public:
cText2SkinItem(void);
~cText2SkinItem();
bool Parse(const char *Text);
eSkinItem Item(void) const { return mItem; }
eSkinDisplay Display(void) const { return mDisplay; }
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 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; }
const string &Path(void) const { return mPath; }
const string &AltPath(void) const { return mAltPath; }
const string &Text(void) const { return mText; }
const string &Type(void) const { return mType; }
const string &Format(void) const { return mFormat; }
eTextAlignment Align(void) const { return mAlign; }
};
class cText2SkinData: public cText2SkinFile {
public:
typedef vector<cText2SkinItem*> tSection;
typedef tSection::iterator tIterator;
private:
eSkinSection mCurrentSection;
tSection mSections[__SECTION_COUNT__];
protected:
virtual bool Parse(const char *Text);
public:
cText2SkinData(const char *Skin);
virtual ~cText2SkinData();
tIterator First(eSkinSection Section) { return mSections[Section].begin(); }
tIterator Last(eSkinSection Section) { return mSections[Section].end(); }
cText2SkinItem *Get(eSkinSection Section, eSkinItem Item);
};
#endif // VDR_TEXT2SKIN_DATA_H
|