summaryrefslogtreecommitdiff
path: root/theme.h
blob: 67e1eb56e96a77e9f0b721dcd21653c6a3de81e5 (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
//								-*- c++ -*-

#ifndef VDR_TEXT2SKIN_THEME_H
#define VDR_TEXT2SKIN_THEME_H

#include "common.h"
#include "file.h"
#include <map>
#include <vdr/themes.h>

class cText2SkinTheme: public cText2SkinFile {
private:
	typedef std::map<std::string,int> tThemeMap;

	cTheme    mTheme;
	tThemeMap mMap;

protected:
	bool Parse(const char *Text);

public:
	cText2SkinTheme(const char *Skin);
	virtual ~cText2SkinTheme();

	cTheme *Theme(void) { return &mTheme; }
	tColor Color(const std::string &Name);
};

inline tColor cText2SkinTheme::Color(const std::string &Name) {
	tThemeMap::iterator it = mMap.find(Name);
	if (it != mMap.end())
		return mTheme.Color((*it).second);
	else
		return 0x00000000;
}

#endif // VDR_TEXT2SKIN_THEME_H