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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
/*
* $Id: common.h,v 1.9 2004/06/12 18:00:05 lordjaxom Exp $
*/
#ifndef VDR_TEXT2SKIN_COMMON_H
#define VDR_TEXT2SKIN_COMMON_H
#include <string>
#include <vector>
#include <map>
#include <vdr/osd.h>
using std::string;
using std::vector;
using std::map;
#ifdef DEBUG
# define Dprintf(x...) fprintf(stderr, x);
#else
# define Dprintf(x...)
#endif
// sections and items known by skin files
enum eSkinSection {
sectionSkin,
sectionChannelSmall,
sectionChannel,
sectionVolume,
sectionReplayMode,
sectionReplay,
sectionMessage,
sectionMenu,
__SECTION_COUNT__
};
enum eSkinItem {
itemUnknown,
itemSkin, // item identifying the Skin itself
itemBackground,
itemText,
itemScrolltext,
itemImage,
itemRectangle,
itemEllipse,
itemSlope,
itemProgress,
itemLogo,
itemSymbol,
itemMenuArea,
itemMenuItem,
__ITEM_COUNT__
};
enum eSkinDisplay {
displayAlways,
displayDateTimeF, // exc: text
displayDateTime, // exc: text
displayDate, // exc: text
displayTime, // exc: text
displayChannelNumberName, // exc: text
displayChannelNumber, // exc: text
displayChannelName, // exc: text, logo
displayLanguage, // exc: text, logo
displayPresentDateTimeF, // exc: text
displayPresentStartTime, // exc: text
displayPresentDate, // exc: text
displayPresentVPSTime, // exc: text
displayPresentEndTime, // exc: text
displayPresentDuration, // exc: text, progress
displayPresentVPS, // exc: symbol
displayPresentRunning, // exc: symbol
displayPresentTimer, // exc: symbol
displayPresentTitle, // exc: text
displayPresentShortText, // exc: text
displayPresentDescription, // exc: text
displayFollowingStartTime, // exc: text, progress
displayFollowingEndTime, // exc: text, progress
displayFollowingDuration, // exc: text, progress
displayFollowingTitle, // exc: text
displayFollowingShortText, // exc: text
displayTeletext, // exc: symbol
displayAudio, // exc: symbol
displayDolby, // exc: symbol
displayEncrypted, // exc: symbol
displayRecording, // exc: symbol
displayRadio, // exc: symbol
displayVolumeCurrent, // exc: text, progress
displayVolumeTotal, // exc: text, progress
displayMute, // exc: symbol
displayReplayTime, // exc: text, progress
displayReplayDuration, // exc: text
displayReplayTitle, // exc: text
displayReplayPrompt, // exc: text
displayPlay, // exc: symbol
displayPause, // exc: symbol
displayFastFwd, // exc: symbol
displayFastRew, // exc: symbol
displaySlowFwd, // exc: symbol
displaySlowRew, // exc: symbol
displayMessage, // exc: text
displayMessageStatus, // exc: text
displayMessageInfo, // exc: text
displayMessageWarning, // exc: text
displayMessageError, // exc: text
displayMenuTitle, // exc: text (TODO: logo?)
displayMenuRed, // exc: text
displayMenuGreen, // exc: text
displayMenuYellow, // exc: text
displayMenuBlue, // exc: text
displayMenuText, // exc: text
displayMenuRecording, // exc: text
displayMenuScrollUp, // exc: symbol
displayMenuScrollDown, // exc: symbol
displayMenuItems, // exc: text (TODO: logo?)
displayMenuCurrent, // exc: text (TODO: logo?)
displayMenuGroups, // exc: text (TODO: logo?)
displayReplayMode, // exc: text, logo
__DISPLAY_COUNT__
};
enum eReplayMode {
replayNone,
replayNormal,
replayMP3,
replayMPlayer,
replayDVD,
replayVCD,
__REPLAY_COUNT__
};
extern const string SectionNames[__SECTION_COUNT__];
extern const string ItemNames[__ITEM_COUNT__];
extern const string DisplayNames[__DISPLAY_COUNT__];
extern const string ReplayNames[__REPLAY_COUNT__];
// geometrical structures
struct POINT {
int x, y;
POINT &operator+=(const POINT &pt) { x += pt.x; y += pt.y; return *this; }
};
struct SIZE {
int w, h;
};
// class forwards
class cChannel;
class cText2SkinItem;
// helper functions
const char *SkinPath(void);
const char *ChannelNumber(const cChannel *Channel, int Number);
const char *ChannelName(const cChannel *Channel, int Number);
bool ParseVar(const char *Text, const char *Name, eSkinItem *Value);
bool ParseVar(const char *Text, const char *Name, eSkinDisplay *Value);
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);
#endif // VDR_TEXT2SKIN_COMMON_H
|