diff options
Diffstat (limited to 'common.c')
-rw-r--r-- | common.c | 49 |
1 files changed, 38 insertions, 11 deletions
@@ -1,8 +1,10 @@ /* - * $Id: common.c,v 1.1.1.1 2004/05/23 00:08:03 lordjaxom Exp $ + * $Id: common.c,v 1.4 2004/05/31 19:54:12 lordjaxom Exp $ */ +#define __STL_CONFIG_H #include <vdr/plugin.h> +#undef __STL_CONFIG_H #include "data.h" #include "common.h" @@ -10,16 +12,6 @@ const char *SkinPath(void) { return cPlugin::ConfigDirectory(PLUGIN_NAME_I18N); } -const cFont *SkinFont(cText2SkinItem *Item) { - const cFont *font; - font = cFont::GetFont(fontOsd); - if (Item->Font()) { - if (strcmp(Item->Font(), "Sml") == 0) font = cFont::GetFont(fontSml); - else if (strcmp(Item->Font(), "Fix") == 0) font = cFont::GetFont(fontFix); - } - return font; -} - void DrawTextTransparent(cOsd *Osd, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width, int Height, int Alignment) { int w = Font->Width(s); int h = Font->Height(); @@ -69,3 +61,38 @@ void DrawTextTransparent(cOsd *Osd, int x, int y, const char *s, tColor ColorFg, x += CharData->width; } } + +const char *ChannelNumber(const cChannel *Channel, int Number) { + static char buffer[256]; + buffer[0] = '\0'; + if (Channel) { + if (!Channel->GroupSep()) + snprintf(buffer, sizeof(buffer), "%d%s", Channel->Number(), Number ? "-" : ""); + } + else if (Number) + snprintf(buffer, sizeof(buffer), "%d-", Number); + return buffer; +} + +const char *ChannelName(const cChannel *Channel, int Number) { + static char buffer[256]; + buffer[0] = '\0'; + if (Channel) + snprintf(buffer, sizeof(buffer), "%s", Channel->Name()); + else if (!Number) + snprintf(buffer, sizeof(buffer), "%s", tr("*** Invalid Channel ***")); + return buffer; +} + +string ItemText(cText2SkinItem *Item, const string &Content) { + string s; + if (Item->Text() != "") { + s = Item->Text(); + int pos; + while ((pos = s.find('$')) != -1) + s.replace(pos, 1, Content); + } else + s = Content; + return s; +} + |