diff options
Diffstat (limited to 'common.h')
-rw-r--r-- | common.h | 177 |
1 files changed, 13 insertions, 164 deletions
@@ -1,19 +1,14 @@ /* - * $Id: common.h,v 1.13 2004/07/02 19:00:22 lordjaxom Exp $ + * $Id: common.h,v 1.3 2004/12/08 17:13:25 lordjaxom Exp $ */ #ifndef VDR_TEXT2SKIN_COMMON_H #define VDR_TEXT2SKIN_COMMON_H +#include "xml/string.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); # define Dbench(x) time_t bench_##x = time_ms(); @@ -24,173 +19,27 @@ using std::map; # define Ddiff(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, - itemScrollbar, - __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 - displayFollowingEndTime, // exc: text - displayFollowingDuration, // exc: text - 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 - displayPresentTextDescription, // exc: text - __DISPLAY_COUNT__ -}; - -enum eReplayMode { - replayNone, - replayNormal, - replayMP3, - replayMPlayer, - replayDVD, - replayVCD, - __REPLAY_COUNT__ -}; - -enum eBaseCoordinate { - baseRelative, - baseAbsolute, - __BASE_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__]; -extern const string BaseNames[__BASE_COUNT__]; +/* Check if a channel is a radio station. */ +#define ISRADIO(x) ((x)->Vpid()==0||(x)->Vpid()==1||(x)->Vpid()==0x1fff) // class forwards class cMarks; class cChannel; -class cText2SkinItem; - -// geometrical and helper structures - -struct POINT { - int x, y; - POINT(int _x = 0, int _y = 0) { x = _x; y = _y; } - POINT &operator+=(const POINT &pt) { x += pt.x; y += pt.y; return *this; } -}; - -struct SIZE { - int w, h; - SIZE(int _w = 0, int _h = 0) { w = _w; h = _h; } -}; - -struct tItemData { - string text; - string path; - int current; - int shown; - int total; - const cMarks *marks; - tItemData(void) { marks = NULL; } -}; // helper functions -const char *SkinPath(void); +std::string 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); -bool ParseVar(const char *Text, const char *Name, eBaseCoordinate *Value); +const char *ChannelShortName(const cChannel *Channel, int Number); +const char *ChannelBouquet(const cChannel *Channel, int Number); + +cxType TimeType(time_t Time, const std::string &Format); -void SkipQuotes(string &Value); +bool ParseVar(const char *Text, const char *Name, std::string &Value); +bool ParseVar(const char *Text, const char *Name, tColor *Value); + +void SkipQuotes(std::string &Value); #endif // VDR_TEXT2SKIN_COMMON_H |