diff options
Diffstat (limited to 'osd.h')
-rw-r--r-- | osd.h | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.h 1.11 2000/09/10 09:50:38 kls Exp $ + * $Id: osd.h 1.14 2000/11/01 14:29:07 kls Exp $ */ #ifndef __OSD_H @@ -19,6 +19,7 @@ enum eOSState { osUnknown, osMenu, osContinue, + osSchedule, osChannels, osTimer, osRecordings, @@ -43,13 +44,13 @@ protected: eDvbColor fgColor, bgColor; public: cOsdItem(eOSState State = osUnknown); - cOsdItem(char *Text, eOSState State = osUnknown); + cOsdItem(const char *Text, eOSState State = osUnknown); virtual ~cOsdItem(); bool HasUserColor(void) { return userColor; } void SetText(const char *Text, bool Copy = true); void SetColor(eDvbColor FgColor, eDvbColor BgColor = clrBackground); const char *Text(void) { return text; } - void Display(int Offset = -1, eDvbColor FgColor = clrWhite, eDvbColor BgColor = clrBackground); + virtual void Display(int Offset = -1, eDvbColor FgColor = clrWhite, eDvbColor BgColor = clrBackground); virtual void Set(void) {} virtual eOSState ProcessKey(eKeys Key); }; @@ -60,13 +61,15 @@ protected: public: cOsdBase(bool FastResponse = false) { needsFastResponse = FastResponse; } virtual ~cOsdBase() {} - virtual eOSState ProcessKey(eKeys Key) = 0; + int Width(void) { return Interface->Width(); } + int Height(void) { return Interface->Height(); } bool NeedsFastResponse(void) { return needsFastResponse; } + virtual eOSState ProcessKey(eKeys Key) = 0; }; class cOsdMenu : public cOsdBase, public cList<cOsdItem> { private: - char *title; + const char *title; int cols[cInterface::MaxCols]; int first, current, marked; cOsdMenu *subMenu; @@ -83,10 +86,11 @@ protected: eOSState AddSubMenu(cOsdMenu *SubMenu); bool HasSubMenu(void) { return subMenu; } void SetStatus(const char *s); + void SetTitle(const char *Title, bool Copy = true); void SetHelp(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL); virtual void Del(int Index); public: - cOsdMenu(char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); + cOsdMenu(const char *Title, int c0 = 0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); virtual ~cOsdMenu(); int Current(void) { return current; } void Add(cOsdItem *Item, bool Current = false); |