diff options
Diffstat (limited to 'displaychannel.h')
-rw-r--r-- | displaychannel.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/displaychannel.h b/displaychannel.h new file mode 100644 index 0000000..1d180ee --- /dev/null +++ b/displaychannel.h @@ -0,0 +1,72 @@ +/* + * skinlcars.c: A VDR skin with Star Trek's "LCARS" layout + * + * See the main source file 'vdr.c' for copyright information and + * how to reach the author. + * + * $Id: skinlcars.c 4.1 2015/09/01 10:07:07 kls Exp $ + */ + +#include "lcarsng.h" +#include <vdr/font.h> +#include <vdr/menu.h> +#include <vdr/osd.h> +#if APIVERSNUM > 20101 +#include <vdr/positioner.h> +#endif +#include <vdr/themes.h> +#include <vdr/thread.h> +#include <vdr/tools.h> +#include <vdr/videodir.h> +#include <sys/statvfs.h> +#include <string> + +// --- cLCARSNGDisplayChannel ---------------------------------------------- + +class cLCARSNGDisplayChannel : public cSkinDisplayChannel, cThread { +private: + cOsd *osd; + int xc00, xc01, xc02, xc03, xc04, xc05, xc06, xc07, xc08, xc09, xc10, xc11, xc12, xc13, xc14, xc15; + int yc00, yc01, yc02, yc03, yc04, yc05, yc06, yc07, yc08, yc09, yc10, yc11, yc12; + int xs; // starting column for signal display + bool withInfo; + int lineHeight; + bool lastOn; + bool On; + cFont *tinyFont; + cFont *tallFont; + tColor frameColor; + bool message; + const cEvent *present; + const cEvent *following; + bool initial; + cString lastDate; + int lastSeen; + int lastCurrentPosition; + int lastDeviceNumber; + cString lastDeviceType; + cCamSlot *lastCamSlot; + int lastSignalStrength; + int lastSignalQuality; + time_t lastSignalDisplay; + tTrackId lastTrackId; + static cBitmap bmTeletext, bmRadio, bmAudio, bmDolbyDigital, bmEncrypted, bmRecording; + void Action(void); + void DrawDate(void); + void DrawTrack(void); + void DrawSeen(int Current, int Total); + void DrawDevice(void); + void DrawSignal(void); + void DrawBlinkingRec(void); + void DrawEventRec(const cEvent *Present, const cEvent *Following); +public: + cLCARSNGDisplayChannel(bool WithInfo); + virtual ~cLCARSNGDisplayChannel(); + virtual void SetChannel(const cChannel *Channel, int Number); + virtual void SetEvents(const cEvent *Present, const cEvent *Following); + virtual void SetMessage(eMessageType Type, const char *Text); +#if APIVERSNUM > 20101 + virtual void SetPositioner(const cPositioner *Positioner); +#endif + virtual void Flush(void); + }; |