diff options
author | lordjaxom <lordjaxom> | 2004-06-05 18:06:22 +0000 |
---|---|---|
committer | lordjaxom <lordjaxom> | 2004-06-05 18:06:22 +0000 |
commit | 6094765d94e4caaf0813039dff826b731f277753 (patch) | |
tree | fed79334167f26d5a81a6cae9be3f1341375a36f /data.c | |
parent | e0c2ee1d37c0f213f22a04df71710bebe3526f85 (diff) | |
download | vdr-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.c | 113 |
1 files changed, 32 insertions, 81 deletions
@@ -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); |