33 #include "symbols/arrowdown.xpm"
34 #include "symbols/arrowup.xpm"
35 #include "symbols/audio.xpm"
36 #include "symbols/audioleft.xpm"
37 #include "symbols/audioright.xpm"
38 #include "symbols/audiostereo.xpm"
39 #include "symbols/dolbydigital.xpm"
40 #include "symbols/encrypted.xpm"
41 #include "symbols/ffwd.xpm"
42 #include "symbols/ffwd1.xpm"
43 #include "symbols/ffwd2.xpm"
44 #include "symbols/ffwd3.xpm"
45 #include "symbols/frew.xpm"
46 #include "symbols/frew1.xpm"
47 #include "symbols/frew2.xpm"
48 #include "symbols/frew3.xpm"
49 #include "symbols/mute.xpm"
50 #include "symbols/pause.xpm"
51 #include "symbols/play.xpm"
52 #include "symbols/radio.xpm"
53 #include "symbols/recording.xpm"
54 #include "symbols/sfwd.xpm"
55 #include "symbols/sfwd1.xpm"
56 #include "symbols/sfwd2.xpm"
57 #include "symbols/sfwd3.xpm"
58 #include "symbols/srew.xpm"
59 #include "symbols/srew1.xpm"
60 #include "symbols/srew2.xpm"
61 #include "symbols/srew3.xpm"
62 #include "symbols/teletext.xpm"
63 #include "symbols/volume.xpm"
65 #define Gap (Setup.FontOsdSize / 5 & ~1) // must be even
66 #define TextFrame (Setup.FontOsdSize / TEXT_ALIGN_BORDER)
67 #define TextSpacing (2 * TextFrame)
68 #define SymbolSpacing TextSpacing
69 #define ShowSeenExtent (Setup.FontOsdSize / 5) // pixels by which the "seen" bar extends out of the frame
71 #define DISKUSAGEALERTLIMIT 95 // percent of disk usage above which the display goes into alert mode
72 #define SIGNALDISPLAYDELTA 2 // seconds between subsequent device signal displays
78 #define CLR_BACKGROUND 0x99000000
79 #define CLR_MAIN_FRAME 0xFFFF9966
80 #define CLR_CHANNEL_FRAME 0xFF8A9EC9
81 #define CLR_REPLAY_FRAME 0xFFCC6666
82 #define CLR_DATE 0xFF99CCFF
83 #define CLR_MENU_ITEMS 0xFF9999FF
84 #define CLR_TIMER 0xFF99CCFF
85 #define CLR_DEVICE 0xFFF1B1AF
86 #define CLR_CHANNEL_NAME 0xFF99CCFF
87 #define CLR_EVENT_TITLE 0xFF99CCFF
88 #define CLR_EVENT_TIME 0xFFFFCC66
89 #define CLR_EVENT_SHORTTEXT 0xFFFFCC66
90 #define CLR_TEXT 0xFF99CCFF
91 #define CLR_TRACK 0xFFFFCC66
92 #define CLR_SEEN 0xFFCC99CC
93 #define CLR_ALERT 0xFFFF0000
94 #define CLR_EXPOSED 0xFF990000
95 #define CLR_WHITE 0xFFFFFFFF
96 #define CLR_RED 0xFFCC6666
97 #define CLR_GREEN 0xFFA0FF99
98 #define CLR_YELLOW 0xFFF1DF60
99 #define CLR_BLUE 0xFF9A99FF
100 #define CLR_BLACK 0xFF000000
207 int Bpp[] = { 32, 8, 4, 2, 1 };
208 tArea Area = { x0, y0, x1, y1, 0 };
209 for (
unsigned int i = 0; i <
sizeof(Bpp) /
sizeof(
int); i++) {
214 TwoColors = Area.
bpp == 1;
225 int Height = LineHeight;
228 if (Height < 2 || TinyFont->Height() <= LineHeight)
235 static bool DrawDeviceData(
cOsd *Osd,
const cDevice *Device,
int x0,
int y0,
int x1,
int y1,
int &xs,
const cFont *TinyFont,
cString &LastDeviceType,
cCamSlot *&LastCamSlot,
bool Initial)
239 if (Initial || strcmp(DeviceType, LastDeviceType) || CamSlot != LastCamSlot) {
247 int w =
max(font->
Width(Nr), y1 - y0);
251 Osd->
DrawText(x, y0, DeviceType, ColorFg, ColorBg, TinyFont);
252 xs =
max(xs, x + TinyFont->
Width(DeviceType));
253 LastDeviceType = DeviceType;
257 Osd->
DrawText(x, y1 - TinyFont->
Height(), s, ColorFg, ColorBg, TinyFont);
258 xs =
max(xs, x + TinyFont->
Width(s));
260 LastCamSlot = CamSlot;
266 static void DrawDeviceSignal(
cOsd *Osd,
const cDevice *Device,
int x0,
int y0,
int x1,
int y1,
int &LastSignalStrength,
int &LastSignalQuality,
bool Initial)
270 int d =
max((y1 - y0) / 10, 1);
273 int h = (y1 - y0 - 3 * d) / 2;
279 tColor ColorSignalValue, ColorSignalRest;
282 ColorSignalRest = Theme.
Color(clrMenuFrameBg);
285 ColorSignalValue = Theme.
Color(clrSignalValue);
286 ColorSignalRest = Theme.
Color(clrSignalRest);
288 if (SignalStrength >= 0 && (Initial || SignalStrength != LastSignalStrength)) {
289 int s = SignalStrength * w / 100;
290 Osd->
DrawRectangle(x00, y00, x00 + s - 1, y01 - 1, ColorSignalValue);
291 Osd->
DrawRectangle(x00 + s, y00, x01 - 1, y01 - 1, ColorSignalRest);
292 LastSignalStrength = SignalStrength;
294 if (SignalQuality >= 0 && (Initial || SignalQuality != LastSignalQuality)) {
295 int q = SignalQuality * w / 100;
296 Osd->
DrawRectangle(x00, y02, x00 + q - 1, y03 - 1, ColorSignalValue);
297 Osd->
DrawRectangle(x00 + q, y02, x01 - 1, y03 - 1, ColorSignalRest);
298 LastSignalQuality = SignalQuality;
307 int xc00,
xc01,
xc02,
xc03,
xc04,
xc05,
xc06,
xc07,
xc08,
xc09,
xc10,
xc11,
xc12,
xc13,
xc14,
xc15;
308 int yc00,
yc01,
yc02,
yc03,
yc04,
yc05,
yc06,
yc07,
yc08,
yc09,
yc10,
yc11,
yc12;
339 virtual void Flush(
void);
394 yc12 =
yc07 + 3 * lineHeight + Gap / 2;
461 int Seen = (Total > 0) ?
min(
xc07 -
xc06,
int((
xc07 -
xc06) *
double(Current) / Total)) : 0;
474 if (
DrawDeviceData(
osd, Device,
xc10,
yc11,
xc11,
yc12,
xs,
tinyFont,
lastDeviceType,
lastCamSlot, Device->
DeviceNumber() !=
lastDeviceNumber)) {
485 time_t Now = time(NULL);
502 if (Channel && !Channel->
GroupSep()) {
512 if (Channel->
Vpid()) {
516 else if (Channel->
Apid(0)) {
524 ChName = Channel->
Name();
546 for (
int i = 0; i < 2; i++) {
547 const cEvent *e = !i ? Present : Following;
564 int x0, x1, y0, y1, y2;
601 time_t t = time(NULL);
620 int yc00,
yc01,
yc02,
yc03,
yc04,
yc05,
yc06,
yc07,
yc08,
yc09,
yc10,
yc11;
621 int yb00,
yb01,
yb02,
yb03,
yb04,
yb05,
yb06,
yb07,
yb08,
yb09,
yb10,
yb11,
yb12,
yb13,
yb14,
yb15;
624 int xs00,
xs01,
xs02,
xs03,
xs04,
xs05,
xs06,
xs07,
xs08,
xs09,
xs10,
xs11,
xs12,
xs13;
628 int xb00,
xb01,
xb02,
xb03,
xb04,
xb05,
xb06,
xb07,
xb08,
xb09,
xb10,
xb11,
xb12,
xb13,
xb14,
xb15;
670 void DrawScrollbar(
int Total,
int Offset,
int Shown,
bool CanScrollUp,
bool CanScrollDown);
685 virtual void Scroll(
bool Up,
bool Page);
687 virtual void Clear(
void);
689 virtual void SetTitle(
const char *Title);
690 virtual void SetButtons(
const char *Red,
const char *Green = NULL,
const char *Yellow = NULL,
const char *Blue = NULL);
692 virtual void SetItem(
const char *Text,
int Index,
bool Current,
bool Selectable);
696 virtual void SetText(
const char *Text,
bool FixedFont);
699 virtual void Flush(
void);
749 yc05 =
yc00 + 3 * lineHeight + Gap / 2;
760 yc11 =
yc06 + 3 * lineHeight + Gap / 2;
903 if (MenuCategory ==
mcMain) {
1000 tColor lutBg[] = { clrButtonRedBg, clrButtonGreenBg, clrButtonYellowBg, clrButtonBlueBg };
1015 const char *t = strrchr(s,
' ');
1029 tColor ColorFg = DiskAlert ? Theme.
Color(clrAlertFg) : Theme.
Color(clrMenuFrameFg);
1034 osd->
DrawText(
xa00,
yb03 -
lineHeight,
cString::sprintf(
"%02d:%02d",
cVideoDiskUsage::FreeMinutes() / 60,
cVideoDiskUsage::FreeMinutes() % 60), ColorFg, ColorBg, font,
xa02 -
xa00, 0,
taBottom |
taRight |
taBorder);
1048 if (getloadavg(&SystemLoad, 1) > 0) {
1114 ClearColor = Theme.
Color(clrMenuMainBracket);
1132 if (Total > 0 && Total > Shown) {
1134 int sh =
max(
int((tb - tt) *
double(Shown) / Total + 0.5), sw);
1135 int st =
min(
int(tt + (tb - tt) *
double(Offset) / Total + 0.5), tb - sh);
1136 int sb =
min(st + sh, tb);
1148 tColor ColorFg = Alert ? Theme.
Color(clrAlertFg) : Theme.
Color(clrTimerFg);
1149 tColor ColorBg = Alert ? Theme.
Color(clrAlertBg) : Theme.
Color(clrTimerBg);
1155 time_t Now = time(NULL);
1161 else if (strcmp(Day, Today) != 0)
1197 for (
int i = 0; i < SortedTimers.
Size(); i++) {
1200 if (
const cTimer *Timer = SortedTimers[i]) {
1201 if (Timer->Recording()) {
1203 if (!Device || Device == RecordControl->Device()) {
1207 Device = RecordControl->Device();
1213 FreeDeviceSlots.
Append(y);
1219 SortedTimers[i] = NULL;
1221 else if (!Device && Timer->HasFlags(
tfActive)) {
1223 FreeDeviceSlots.
Append(y);
1225 SortedTimers[i] = NULL;
1236 if (Device->NumProvidedSystems()) {
1238 if (Slot < FreeDeviceSlots.
Size()) {
1239 y = FreeDeviceSlots[Slot];
1269 if (
DrawDeviceData(
osd, Device,
xs08, y,
xs11, y +
lineHeight,
xs,
tinyFont,
lastDeviceType[dn],
lastCamSlot[dn],
initial)) {
1285 if (Device->NumProvidedSystems())
1296 if (!Device->
Replaying() || Transferring)
1308 int b = w * w + h * h;
1313 double f = sqrt(
double(c) / (2 * b));
1328 time_t Now = time(NULL);
1332 if (Device->NumProvidedSystems()) {
1363 if (
const cSchedule *Schedule = Schedules->GetSchedule(Channel)) {
1364 const cEvent *Event = Schedule->GetPresentEvent();
1373 time_t t = time(NULL);
1396 if (Control->
GetIndex(Current, Total))
1439 int Seen = (Total > 0) ?
min(
xm08 -
xm02,
int((
xm08 -
xm02) *
double(Current) / Total)) : 0;
1479 int w = font->
Width(Title);
1487 const char *lutText[] = { Red, Green, Yellow, Blue };
1488 tColor lutFg[] = { clrButtonRedFg, clrButtonGreenFg, clrButtonYellowFg, clrButtonBlueFg };
1489 tColor lutBg[] = { clrButtonRedBg, clrButtonGreenBg, clrButtonYellowBg, clrButtonBlueBg };
1523 ColorBg = Theme.
Color(clrMenuFrameBg);
1526 ColorFg = Theme.
Color(clrMenuItemCurrentFg);
1527 ColorBg = Theme.
Color(clrMenuItemCurrentBg);
1535 ColorFg = Theme.
Color(Selectable ? clrMenuItemSelectable : clrMenuItemNonSelectable);
1541 for (
int i = 0; i <
MaxTabs; i++) {
1572 int w = font->Width(buffer);
1574 int yb = y + font->Height();
1582 int w = font->Width(buffer);
1584 int yb = y + font->Height();
1620 int w = font->Width(buffer);
1622 int yb = y + font->Height();
1627 const char *Title = Info->
Title();
1629 Title = Recording->
Name();
1689 int xp00,
xp01,
xp02,
xp03,
xp04,
xp05,
xp06,
xp07,
xp08,
xp09,
xp10,
xp11,
xp12,
xp13,
xp14,
xp15;
1704 virtual void SetTitle(
const char *Title);
1705 virtual void SetMode(
bool Play,
bool Forward,
int Speed);
1708 virtual void SetTotal(
const char *Total);
1709 virtual void SetJump(
const char *Jump);
1711 virtual void Flush(
void);
1747 yp09 =
yp04 + 3 * lineHeight + Gap / 2;
1817 { { pause_xpm, srew_xpm, srew1_xpm, srew2_xpm, srew3_xpm },
1818 { pause_xpm, sfwd_xpm, sfwd1_xpm, sfwd2_xpm, sfwd3_xpm }, },
1819 { { play_xpm, frew_xpm, frew1_xpm, frew2_xpm, frew3_xpm },
1820 { play_xpm, ffwd_xpm, ffwd1_xpm, ffwd2_xpm, ffwd3_xpm } }
1826 cBitmap bm(ReplaySymbols[Play][Forward][Speed + 1]);
1839 int w = font->
Width(Current);
1847 int w = font->
Width(Total);
1889 virtual void Flush(
void);
1895 int lineHeight = font->
Height();
1899 x1 = lineHeight / 2;
1903 x6 =
x7 - lineHeight / 2;
1904 x5 =
x6 - lineHeight / 2;
1934 cBitmap bm(Mute ? mute_xpm : volume_xpm);
1938 int w = (
y1 -
y0) / 3;
1940 int n = (xr - xl + d) / (w + d);
1941 int x = xr - n * (w + d);
1943 for (
int i = 0; i < n; i++) {
1944 if (Total * i >= Current * n)
1945 Color = Theme.
Color(clrVolumeBarUpper);
1962 int xt00,
xt01,
xt02,
xt03,
xt04,
xt05,
xt06,
xt07,
xt08,
xt09,
xt10,
xt11,
xt12;
1972 virtual void SetTrack(
int Index,
const char *
const *Tracks);
1974 virtual void Flush(
void);
1992 for (
int i = 0; i < NumTracks; i++)
1994 xt04 = xt02 + ItemsWidth;
2007 yt04 =
yt03 + NumTracks * lineHeight + (NumTracks - 1) * Gap;
2031 for (
int i = 0; i < NumTracks; i++)
2058 ColorFg = Theme.
Color(clrTrackItemCurrentFg);
2059 ColorBg = Theme.
Color(clrTrackItemCurrentBg);
2067 ColorFg = Theme.
Color(clrTrackItemFg);
2068 ColorBg = Theme.
Color(clrTrackItemBg);
2082 SetItem(Tracks[Index], Index,
true);
2088 switch (AudioChannel) {
2116 virtual void Flush(
void);
2122 int lineHeight = font->
Height();
2124 x1 = lineHeight / 2;
2128 x6 =
x7 - lineHeight / 2;
2129 x5 =
x6 - lineHeight / 2;
2143 tColor ColorFg = Theme.
Color(clrMessageStatusFg + 2 * Type);
2144 tColor ColorBg = Theme.
Color(clrMessageStatusBg + 2 * Type);
2163 :
cSkin(
"lcars", &::Theme)
virtual int SignalQuality(void) const
Returns the "quality" of the currently received signal.
static cBitmap bmAudioLeft
bool Replaying(void) const
Returns true if we are currently replaying.
static int OsdHeight(void)
int DeviceNumber(void) const
Returns the number of this device (0 ... numDevices).
static cBitmap bmAudioRight
virtual void SetTotal(const char *Total)
Sets the total length of the recording, as a user readable string if the form "h:mm:ss".
static cFont * CreateTinyFont(int LineHeight)
static cOsd * CreateOsd(int Left, int Top, int x0, int y0, int x1, int y1)
virtual cSkinDisplayMenu * DisplayMenu(void)
Creates and returns a new object for displaying a menu.
static void DrawDeviceSignal(cOsd *Osd, const cDevice *Device, int x0, int y0, int x1, int y1, int &LastSignalStrength, int &LastSignalQuality, bool Initial)
virtual cSkinDisplayChannel * DisplayChannel(bool WithInfo)
Creates and returns a new object for displaying the current channel.
virtual void SetMode(bool Play, bool Forward, int Speed)
Sets the current replay mode, which can be used to display some indicator, showing the user whether w...
virtual ~cSkinLCARSDisplayTracks()
const cRecordingInfo * Info(void) const
virtual eOsdError SetAreas(const tArea *Areas, int NumAreas)
Sets the sub-areas to the given areas.
bool GetIndex(int &Current, int &Total, bool SnapToIFrame=false)
static cBitmap bmEncrypted
const char * ShortText(void) const
virtual void SetMessage(eMessageType Type, const char *Text)
Sets a one line message Text, with the given Type.
int Ca(int Index=0) const
virtual const cRecording * GetRecording(void)
Returns the cRecording that is currently being replayed, or NULL if this player is not playing a cRec...
cString GetParentalRatingString(void) const
virtual void SetRecording(const cRecording *Recording)
Sets the recording that is currently being played.
virtual void DrawBitmap(int x, int y, const cBitmap &Bitmap, tColor ColorFg=0, tColor ColorBg=0, bool ReplacePalette=false, bool Overlay=false)
Sets the pixels in the OSD with the data from the given Bitmap, putting the upper left corner of the ...
static cString sprintf(const char *fmt,...) __attribute__((format(printf
virtual void Append(T Data)
virtual void DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quadrants=0)
Draws a filled ellipse defined by the upper left (x1, y1) and lower right (x2, y2) corners with the g...
virtual void Flush(void)
Actually draws the OSD display to the output device.
void Set(cOsd *Osd, int Left, int Top, int Width, int Height, const char *Text, const cFont *Font, tColor ColorFg, tColor ColorBg)
cSkinLCARSDisplayMessage(void)
const cEvent * Event(void) const
cBitmap * Scaled(double FactorX, double FactorY, bool AntiAlias=false)
Creates a copy of this bitmap, scaled by the given factors.
cString & Truncate(int Index)
Truncate the string at the given Index (if Index is < 0 it is counted from the end of the string)...
virtual void SetVolume(int Current, int Total, bool Mute)
< This class implements the volume/mute display.
static cDevice * GetDevice(int Index)
Gets the device with the given Index.
static cControl * Control(bool Hidden=false)
Returns the current replay control (if any) in case it is currently visible.
virtual void SetTitle(const char *Title)
Sets the title of the recording.
bool GroupSep(void) const
virtual cSkinDisplayMessage * DisplayMessage(void)
Creates and returns a new object for displaying a message.
virtual void DrawRectangle(int x1, int y1, int x2, int y2, tColor Color)
Draws a filled rectangle defined by the upper left (x1, y1) and lower right (x2, y2) corners with the...
static int NumDevices(void)
Returns the total number of devices.
static cSkinDisplay * Current(void)
Returns the currently active cSkinDisplay.
time_t StartTime(void) const
time_t StartTime(void) const
#define CLR_EVENT_SHORTTEXT
cString ChannelString(const cChannel *Channel, int Number)
void DrawSeen(int Current, int Total)
virtual ~cSkinLCARSDisplayReplay()
virtual cSkinDisplayReplay * DisplayReplay(bool ModeOnly)
Creates and returns a new object for displaying replay progress.
static const cSchedules * Schedules(cSchedulesLock &SchedulesLock)
Caller must provide a cSchedulesLock which has to survive the entire time the returned cSchedules is ...
virtual void Flush(void)
Actually commits all data to the OSD hardware.
const cChannel * Channel(void) const
cCamSlot * CamSlot(void) const
Returns the CAM slot that is currently used with this device, or NULL if no CAM slot is in use...
bool Transferring(void) const
Returns true if we are currently in Transfer Mode.
cString GetVpsString(void) const
virtual int SignalStrength(void) const
Returns the "strength" of the currently received signal.
bool Recording(void) const
virtual int Height(void) const =0
Returns the height of this font in pixel (all characters have the same height).
int ParentalRating(void) const
const char * Name(void) const
T * Next(const T *object) const
virtual void Flush(void)
Actually draws the OSD display to the output device.
#define DISKUSAGEALERTLIMIT
bool Modified(int &State)
Returns true if any of the timers have been modified, which is detected by State being different than...
virtual void SetCurrent(const char *Current)
Sets the current position within the recording, as a user readable string if the form "h:mm:ss...
static int OsdWidth(void)
virtual void SetJump(const char *Jump)
Sets the prompt that allows the user to enter a jump point.
virtual eOsdError CanHandleAreas(const tArea *Areas, int NumAreas)
Checks whether the OSD can display the given set of sub-areas.
char FontOsd[MAXFONTNAME]
virtual const char * Description(void)
Returns a user visible, single line description of this skin, which may consist of arbitrary text and...
static cBitmap bmDolbyDigital
static bool HasChanged(int &State)
Returns true if the usage of the video disk space has changed since the last call to this function wi...
virtual void SetMessage(eMessageType Type, const char *Text)
< This class implements a simple message display.
tColor RgbShade(tColor Color, double Factor)
Returns a brighter (Factor > 0) or darker (Factor < 0) version of the given Color.
virtual cSkinDisplayTracks * DisplayTracks(const char *Title, int NumTracks, const char *const *Tracks)
Creates and returns a new object for displaying the available tracks.
static const cCursesFont Font
virtual void SetChannel(const cChannel *Channel, int Number)
< This class is used to display the current channel, together with the present and following EPG even...
cSkinLCARSDisplayTracks(const char *Title, int NumTracks, const char *const *Tracks)
The cOsd class is the interface to the "On Screen Display".
virtual void Flush(void)
Actually draws the OSD display to the output device.
virtual void SetEvents(const cEvent *Present, const cEvent *Following)
Sets the Present and Following EPG events.
static const char *const * ReplaySymbols[2][2][5]
static cFont * CreateFont(const char *Name, int CharHeight, int CharWidth=0)
Creates a new font object with the given Name and makes its characters CharHeight pixels high...
virtual void DrawText(int x, int y, const char *s, tColor ColorFg, tColor ColorBg, const cFont *Font, int Width=0, int Height=0, int Alignment=taDefault)
Draws the given string at coordinates (x, y) with the given foreground and background color and font...
static cBitmap bmAudioStereo
cSkinLCARSDisplayReplay(bool ModeOnly)
void SetEditableWidth(int Width)
If an item is set through a call to cSkinDisplayMenu::SetItem(), this function shall be called to set...
const char * Title(void) const
static bool DrawDeviceData(cOsd *Osd, const cDevice *Device, int x0, int y0, int x1, int y1, int &xs, const cFont *TinyFont, cString &LastDeviceType, cCamSlot *&LastCamSlot, bool Initial)
virtual cString DeviceType(void) const
Returns a string identifying the type of this device (like "DVB-S").
static cBitmap bmRecording
cString GetEndTimeString(void) const
virtual void SetMessage(eMessageType Type, const char *Text)
Sets a one line message Text, with the given Type.
virtual ~cSkinLCARSDisplayVolume()
time_t StopTime(void) const
cChannel * GetByNumber(int Number, int SkipGap=0)
static cDevice * PrimaryDevice(void)
Returns the primary device.
virtual void Flush(void)
Actually draws the OSD display to the output device.
virtual cSkinDisplayVolume * DisplayVolume(void)
Creates and returns a new object for displaying the current volume.
const tTrackId * GetTrack(eTrackType Type)
Returns a pointer to the given track id, or NULL if Type is not less than ttMaxTrackTypes.
virtual ~cSkinLCARSDisplayChannel()
cString GetTimeString(void) const
const cEvent * GetEvent(void) const
const char * Description(void) const
const char * Name(void) const
void SetItem(const char *Text, int Index, bool Current)
static cRecordControl * GetRecordControl(const char *FileName)
const char * Title(void) const
const char * Description(void) const
static cDevice * ActualDevice(void)
Returns the actual receiving device in case of Transfer Mode, or the primary device otherwise...
THEME_CLR(Theme, clrBackground, CLR_BACKGROUND)
virtual int Width(uint c) const =0
Returns the width of the given character in pixel.
#define SIGNALDISPLAYDELTA
virtual cString GetHeader(void)
This can be used by players that don't play a cRecording, but rather do something completely differen...
virtual void SetAudioChannel(int AudioChannel)
Sets the audio channel indicator.
virtual void SetTrack(int Index, const char *const *Tracks)
< This class implements the track display.
virtual void Flush(void)
Actually draws the OSD display to the output device.
virtual void RestoreRegion(void)
Restores the region previously saved by a call to SaveRegion().
static cBitmap bmTeletext
void SetAntiAliasGranularity(uint FixedColors, uint BlendColors)
Allows the system to optimize utilization of the limited color palette entries when generating blende...
const char * ChannelName(void) const
cSkinLCARSDisplayVolume(void)
const cMarks * marks
< This class implements the progress display used during replay of a recording.
static int FreeMinutes(void)
Returns the number of minutes that can still be recorded on the video disk.
cString GetDateString(void) const
const char * ShortText(void) const
#define CLR_CHANNEL_FRAME
eTrackType GetCurrentAudioTrack(void) const
virtual void SaveRegion(int x1, int y1, int x2, int y2)
Saves the region defined by the given coordinates for later restoration through RestoreRegion().
cSkinLCARSDisplayChannel(bool WithInfo)
tColor Color(int Subject)
Returns the color for the given Subject.
virtual ~cSkinLCARSDisplayMessage()
int SlotNumber(void)
Returns the number of this CAM slot within the whole system.
The cDevice class is the base from which actual devices can be derived.
static const cFont * GetFont(eDvbFont Font)
Gets the given Font, which was previously set by a call to SetFont().
virtual void SetProgress(int Current, int Total)
This function will be called whenever the position in or the total length of the recording has change...
static cOsd * NewOsd(int Left, int Top, uint Level=OSD_LEVEL_DEFAULT)
Returns a pointer to a newly created cOsd object, which will be located at the given coordinates...
static int UsedPercent(void)
Returns the used space of the video disk in percent.