blob: a212449b08eeddf134414eb38a7adaefdda3d039 (
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
|
#include <lib/gui/eskin_register.h>
#include <lib/gui/eskin.h>
#include <lib/gdi/gfbdc.h>
#include <lib/base/init.h>
#include <lib/base/init_num.h>
#include <lib/base/econfig.h>
#define DEFAULTSKIN "stone.esml"
class eSkinInit
{
eSkin default_skin;
public:
eSkinInit()
{
if (default_skin.load( CONFIGDIR "/enigma/skins/default.esml"))
if (default_skin.load( DATADIR "/enigma/skins/default.esml"))
eFatal("skin load failed (" DATADIR "/enigma/skins/default.esml)");
eString skinfile=DEFAULTSKIN;
char *temp=0;
if (!eConfig::getInstance()->getKey("/ezap/ui/skin", temp))
{
skinfile=temp;
free(temp);
}
if (default_skin.load(skinfile.c_str()))
{
eWarning("failed to load user defined skin %s, falling back to " DEFAULTSKIN, skinfile.c_str());
if (default_skin.load(CONFIGDIR "/enigma/skins/" DEFAULTSKIN))
if (default_skin.load(DATADIR "/enigma/skins/" DEFAULTSKIN))
eFatal("couldn't load fallback skin " DATADIR "/enigma/skins/" DEFAULTSKIN);
}
default_skin.parseSkins();
default_skin.setPalette(gFBDC::getInstance());
default_skin.makeActive();
}
};
eAutoInitP0<eSkinInit> init_skin(eAutoInitNumbers::skin, "skin subsystem");
|