summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-06-05 18:06:22 +0000
committerlordjaxom <lordjaxom>2004-06-05 18:06:22 +0000
commit6094765d94e4caaf0813039dff826b731f277753 (patch)
treefed79334167f26d5a81a6cae9be3f1341375a36f /data.c
parente0c2ee1d37c0f213f22a04df71710bebe3526f85 (diff)
downloadvdr-plugin-text2skin-6094765d94e4caaf0813039dff826b731f277753.tar.gz
vdr-plugin-text2skin-6094765d94e4caaf0813039dff826b731f277753.tar.bz2
- added scrollable texts and "SymbolScrollUp" and "SymbolScrollDown"v0.0.1
- added "MenuText", "MenuEventTitle", "MenuEventShortText", "MenuEventDescription", "MenuEventTime", "MenuRecording", "SymbolEventRunning", "SymbolEventTimer" and "SymbolEventVPS" - implemented image caching - added english and german README - removed some workarounds, and added a patch to vdr to the tree (will be included in 1.3.10) - fixed two bugs when displaying replay symbols - implemented tabbed texts in menu
Diffstat (limited to 'data.c')
-rw-r--r--data.c113
1 files changed, 32 insertions, 81 deletions
diff --git a/data.c b/data.c
index 9d6cdb2..dd8d097 100644
--- a/data.c
+++ b/data.c
@@ -1,13 +1,30 @@
/*
- * $Id: data.c,v 1.12 2004/06/02 20:43:05 lordjaxom Exp $
+ * $Id: data.c,v 1.13 2004/06/05 01:39:36 lordjaxom Exp $
*/
#include "data.h"
#include "common.h"
static string SectionNames[__SECTION_COUNT__] =
- { "Skin", "ChannelSmall", "Channel", "Volume",
- "ReplayMode", "Replay", "Message", "Menu" };
+ { "Skin", "ChannelSmall", "Channel", "Volume", "ReplayMode", "Replay",
+ "Message", "Menu" };
+
+static string ItemNames[__ITEM_COUNT__] =
+ { "Unknown", "Skin", "Background", "Text", "Image", "Rectangle", "Ellipse",
+ "Slope", "DateTime", "Date", "Time", "ChannelLogo", "ChannelNumberName",
+ "ChannelNumber", "ChannelName", "Language", "Timebar", "PresentTime",
+ "PresentTitle", "PresentShortText", "FollowingTime", "FollowingTitle",
+ "FollowingShortText", "SymbolTeletext", "SymbolAudio", "SymbolDolby",
+ "SymbolEncrypted", "SymbolRecording", "SymbolRadio", "Volumebar", "Mute",
+ "Replaybar", "ReplayTitle", "ReplayCurrent", "ReplayTotal", "ReplayJump",
+ "SymbolPlay", "SymbolPause", "SymbolFastFwd", "SymbolFastRew",
+ "SymbolSlowFwd", "SymbolSlowRew", "MessageStatus", "MessageInfo",
+ "MessageWarning", "MessageError", "MenuArea", "MenuItem", "MenuCurrent",
+ "MenuTitle", "MenuRed", "MenuGreen", "MenuYellow", "MenuBlue", "MenuText",
+ "SymbolScrollUp", "SymbolScrollDown", "MenuEventTitle",
+ "MenuEventShortText", "MenuEventDescription", "MenuEventTime",
+ "SymbolEventRunning", "SymbolEventTimer", "SymbolEventVPS",
+ "MenuRecording" };
cText2SkinItem::cText2SkinItem(void) {
mItem = itemUnknown;
@@ -17,40 +34,17 @@ cText2SkinItem::cText2SkinItem(void) {
mSize.h = 0;
mBpp = 4;
mArc = 0;
- //mFg = NULL;
- //mBg = NULL;
mFont = cFont::GetFont(fontOsd);
mAlign = taDefault;
}
cText2SkinItem::~cText2SkinItem() {
- //delete mBg;
- //delete mFg;
}
bool cText2SkinItem::Parse(const char *Text) {
char *text = strdup(Text);
char *ptr = text;
- /*ptr = text + strlen(text) - 1;
- for (; ptr >= text && *ptr == ' '; --ptr)
- *ptr = '\0';
- ptr = skipspace(text);
- if (*ptr == '\0' || *ptr == '#') // empty line or comment
- return true;
- else if (*ptr == '[' && ptr[strlen(ptr)-1] == ']') { // section
- ++ptr;
- ptr[strlen(ptr)-1] = '\0';
- if (strcmp(ptr, "Channel") == 0) mParseSection = sectionChannel;
- else if (strcmp(ptr, "ChannelSmall") == 0) mParseSection = sectionChannelSmall;
- else if (strcmp(ptr, "Menu") == 0) mParseSection = sectionMenu;
- else if (strcmp(ptr, "Volume") == 0) mParseSection = sectionVolume;
- else if (strcmp(ptr, "ReplayMode") == 0) mParseSection = sectionReplayMode;
- else if (strcmp(ptr, "Replay") == 0) mParseSection = sectionReplay;
- else if (strcmp(ptr, "Message") == 0) mParseSection = sectionMessage;
- return true;
- }*/
-
// check if this is an item
string item;
if (ParseVar(ptr, "Item", item)) {
@@ -59,62 +53,19 @@ bool cText2SkinItem::Parse(const char *Text) {
mItem = itemSkin;
else
esyslog("ERROR: text2skin: Skin doesn't contain Item=Skin keyphrase");
+ } else {
+ int i;
+ // valid items begin at index two
+ for (i = 2; i < __ITEM_COUNT__; ++i) {
+ if (ItemNames[i] == item) {
+ mItem = (eSkinItem)i;
+ break;
+ }
+ }
+ if (i == __ITEM_COUNT__)
+ esyslog("ERROR: text2skin: %s is not a valid theme item\n", item.c_str());
}
- else if (item == "Background") mItem = itemBackground;
- else if (item == "ChannelLogo") mItem = itemChannelLogo;
- else if (item == "Language") mItem = itemLanguage;
- else if (item == "Text") mItem = itemText;
- else if (item == "Image") mItem = itemImage;
- else if (item == "DateTime") mItem = itemDateTime;
- else if (item == "Date") mItem = itemDate;
- else if (item == "Time") mItem = itemTime;
- else if (item == "ChannelNumberName") mItem = itemChannelNumberName;
- else if (item == "ChannelNumber") mItem = itemChannelNumber;
- else if (item == "ChannelName") mItem = itemChannelName;
- else if (item == "Rectangle") mItem = itemRectangle;
- else if (item == "Ellipse") mItem = itemEllipse;
- else if (item == "Slope") mItem = itemSlope;
- else if (item == "Timebar") mItem = itemTimebar;
- else if (item == "PresentTime") mItem = itemPresentTime;
- else if (item == "PresentTitle") mItem = itemPresentTitle;
- else if (item == "PresentShortText") mItem = itemPresentShortText;
- else if (item == "FollowingTime") mItem = itemFollowingTime;
- else if (item == "FollowingTitle") mItem = itemFollowingTitle;
- else if (item == "FollowingShortText") mItem = itemFollowingShortText;
- else if (item == "SymbolTeletext") mItem = itemSymbolTeletext;
- else if (item == "SymbolAudio") mItem = itemSymbolAudio;
- else if (item == "SymbolDolby") mItem = itemSymbolDolby;
- else if (item == "SymbolEncrypted") mItem = itemSymbolEncrypted;
- else if (item == "SymbolRecording") mItem = itemSymbolRecording;
- else if (item == "SymbolRadio") mItem = itemSymbolRadio;
- else if (item == "Volumebar") mItem = itemVolumebar;
- else if (item == "Mute") mItem = itemMute;
- else if (item == "Replaybar") mItem = itemReplaybar;
- else if (item == "ReplayTitle") mItem = itemReplayTitle;
- else if (item == "ReplayCurrent") mItem = itemReplayCurrent;
- else if (item == "ReplayTotal") mItem = itemReplayTotal;
- else if (item == "ReplayJump") mItem = itemReplayJump;
- else if (item == "SymbolPlay") mItem = itemSymbolPlay;
- else if (item == "SymbolPause") mItem = itemSymbolPause;
- else if (item == "SymbolFastFwd") mItem = itemSymbolFastFwd;
- else if (item == "SymbolFastRew") mItem = itemSymbolFastRew;
- else if (item == "SymbolSlowFwd") mItem = itemSymbolSlowFwd;
- else if (item == "SymbolFastFwd") mItem = itemSymbolFastFwd;
- else if (item == "MessageStatus") mItem = itemMessageStatus;
- else if (item == "MessageInfo") mItem = itemMessageInfo;
- else if (item == "MessageWarning") mItem = itemMessageWarning;
- else if (item == "MessageError") mItem = itemMessageError;
- else if (item == "MenuArea") mItem = itemMenuArea;
- else if (item == "MenuItem") mItem = itemMenuItem;
- else if (item == "MenuCurrent") mItem = itemMenuCurrent;
- else if (item == "MenuTitle") mItem = itemMenuTitle;
- else if (item == "MenuRed") mItem = itemMenuRed;
- else if (item == "MenuGreen") mItem = itemMenuGreen;
- else if (item == "MenuYellow") mItem = itemMenuYellow;
- else if (item == "MenuBlue") mItem = itemMenuBlue;
- else
- esyslog("ERROR: text2skin: %s is not a valid theme item\n", item.c_str());
-
+
if (mItem != itemUnknown) {
if (mItem != itemSkin)
ParseItem(ptr);