vdr  2.4.1
skins.h
Go to the documentation of this file.
1 /*
2  * skins.h: The optical appearance of the OSD
3  *
4  * See the main source file 'vdr.c' for copyright information and
5  * how to reach the author.
6  *
7  * $Id: skins.h 4.5.1.1 2019/05/29 16:49:48 kls Exp $
8  */
9 
10 #ifndef __SKINS_H
11 #define __SKINS_H
12 
13 #include "channels.h"
14 #include "epg.h"
15 #include "keys.h"
16 #include "osd.h"
17 #include "positioner.h"
18 #include "recording.h"
19 #include "themes.h"
20 #include "thread.h"
21 #include "timers.h"
22 #include "tools.h"
23 
24 // Several member functions of the following classes are called with a pointer to
25 // an object from a global list (cTimer, cChannel, cRecording or cEvent). In these
26 // cases the core VDR code holds a lock on the respective list. While in general a
27 // plugin should only work with the objects and data that is explicitly given to it
28 // in the function call, the called function may itself set a read lock (not a write
29 // lock!) on this list, because read locks can be nested. It may also set read locks
30 // (not write locks!) on higher order lists.
31 // For instance, a function that is called with a cChannel may lock cRecordings and/or
32 // cSchedules (which contains cEvent objects), but not cTimers. If a plugin needs to
33 // set locks of its own (on mutexes defined inside the plugin code), it shall do so
34 // after setting any locks on VDR's global lists, and it shall always set these
35 // locks in the same sequence, to avoid deadlocks.
36 
37 enum eMessageType { mtStatus = 0, mtInfo, mtWarning, mtError }; // will be used to calculate color offsets!
38 
39 class cSkinDisplay {
40 private:
42  int editableWidth; //XXX this is not nice, but how else could we know this value?
43 public:
44  cSkinDisplay(void);
45  virtual ~cSkinDisplay();
46  static int AvgCharWidth(void) { return Setup.FontOsdSize * 4 / 6; }
48  int EditableWidth(void) { return editableWidth; }
49  void SetEditableWidth(int Width) { editableWidth = Width; }
53  virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL) {}
56  virtual void SetMessage(eMessageType Type, const char *Text) {}
59  virtual void Flush(void) {}
61  static cSkinDisplay *Current(void) { return current; }
63  };
64 
69 private:
71 public:
72  cSkinDisplayChannel(void);
73  virtual void SetChannel(const cChannel *Channel, int Number) = 0;
77  virtual void SetEvents(const cEvent *Present, const cEvent *Following) = 0;
80  virtual void SetMessage(eMessageType Type, const char *Text) = 0;
85  virtual void SetPositioner(const cPositioner *Positioner);
96  /*TODO
97  SetButtons
98  Red = Video options
99  Green = Info now
100  Yellow = Info next
101  */
102  };
103 
134  mcCam
135  };
136 
143  };
144 
148  };
149 
167 public:
168  enum { MaxTabs = 6 };
169 private:
171  int tabs[MaxTabs];
172 protected:
174  int Tab(int n) { return (n >= 0 && n < MaxTabs) ? tabs[n] : 0; }
177  const char *GetTabbedText(const char *s, int Tab);
181 public:
182  cSkinDisplayMenu(void);
183  eMenuCategory MenuCategory(void) const { return menuCategory; }
193  virtual void SetTabs(int Tab1, int Tab2 = 0, int Tab3 = 0, int Tab4 = 0, int Tab5 = 0);
196  virtual void SetMenuSortMode(eMenuSortMode MenuSortMode) {}
200  virtual eMenuOrientation MenuOrientation(void) { return moVertical; }
204  virtual void Scroll(bool Up, bool Page);
210  virtual int MaxItems(void) = 0;
212  virtual void Clear(void) = 0;
214  virtual void SetTitle(const char *Title) = 0;
216  virtual void SetButtons(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL) = 0;
219  virtual void SetMessage(eMessageType Type, const char *Text) = 0;
224  virtual void SetItem(const char *Text, int Index, bool Current, bool Selectable) = 0;
236  virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive) { return false; }
247 #ifndef DEPRECATED_SKIN_SETITEMEVENT
248 #define DEPRECATED_SKIN_SETITEMEVENT 1
249 #endif
250 #if DEPRECATED_SKIN_SETITEMEVENT
251  virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch) { return SetItemEvent(Event, Index, Current, Selectable, Channel, WithDate, TimerMatch, true); }
255 #endif
256  virtual bool SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable) { return false; }
263  virtual bool SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider) { return false; }
272  virtual bool SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New) { return false; }
283  virtual void SetScrollbar(int Total, int Offset);
288  virtual void SetEvent(const cEvent *Event) = 0;
293  virtual void SetRecording(const cRecording *Recording) = 0;
298  virtual void SetText(const char *Text, bool FixedFont) = 0;
303  //XXX ??? virtual void SetHelp(const char *Help) = 0;
304  virtual int GetTextAreaWidth(void) const;
310  virtual const cFont *GetTextAreaFont(bool FixedFont) const;
317  };
318 
322 protected:
323  const cMarks *marks;
324  class cProgressBar : public cBitmap {
325  protected:
326  int total;
327  int Pos(int p) { return int(int64_t(p) * Width() / total); }
328  void Mark(int x, bool Start, bool Current, tColor ColorMark, tColor ColorCurrent);
329  public:
330  cProgressBar(int Width, int Height, int Current, int Total, const cMarks *Marks, tColor ColorSeen, tColor ColorRest, tColor ColorSelected, tColor ColorMark, tColor ColorCurrent);
331  };
332 public:
333  cSkinDisplayReplay(void);
334  virtual void SetMarks(const cMarks *Marks);
337  virtual void SetRecording(const cRecording *Recording);
342  virtual void SetTitle(const char *Title) = 0;
344  virtual void SetMode(bool Play, bool Forward, int Speed) = 0;
348  virtual void SetProgress(int Current, int Total) = 0;
352  virtual void SetCurrent(const char *Current) = 0;
358  virtual void SetTotal(const char *Total) = 0;
361  virtual void SetJump(const char *Jump) = 0;
367  virtual void SetMessage(eMessageType Type, const char *Text) = 0;
372  };
373 
376 public:
377  virtual void SetVolume(int Current, int Total, bool Mute) = 0;
381  };
382 
385 public:
386  virtual void SetTrack(int Index, const char * const *Tracks) = 0;
389  virtual void SetAudioChannel(int AudioChannel) = 0;
392  };
393 
396 public:
397  virtual void SetMessage(eMessageType Type, const char *Text) = 0;
400  };
401 
402 class cSkin : public cListObject {
403 private:
404  char *name;
406 public:
407  cSkin(const char *Name, cTheme *Theme = NULL);
420  virtual ~cSkin();
421  const char *Name(void) { return name; }
422  cTheme *Theme(void) { return theme; }
423  virtual const char *Description(void) = 0;
429  virtual cSkinDisplayChannel *DisplayChannel(bool WithInfo) = 0;
435  virtual cSkinDisplayMenu *DisplayMenu(void) = 0;
438  virtual cSkinDisplayReplay *DisplayReplay(bool ModeOnly) = 0;
443  virtual cSkinDisplayVolume *DisplayVolume(void) = 0;
446  virtual cSkinDisplayTracks *DisplayTracks(const char *Title, int NumTracks, const char * const *Tracks) = 0;
455  };
456 
457 class cSkins : public cList<cSkin> {
458 private:
462 public:
463  cSkins(void);
464  ~cSkins();
465  bool SetCurrent(const char *Name = NULL);
468  cSkin *Current(void) { return current; }
470  bool IsOpen(void) { return cSkinDisplay::Current(); }
472  eKeys Message(eMessageType Type, const char *s, int Seconds = 0);
482  int QueueMessage(eMessageType Type, const char *s, int Seconds = 0, int Timeout = 0);
507  void ProcessQueuedMessages(void);
509  void Flush(void);
511  virtual void Clear(void);
513  };
514 
515 extern cSkins Skins;
516 
517 #endif //__SKINS_H
mcSetupLnb
@ mcSetupLnb
Definition: skins.h:124
mcCommand
@ mcCommand
Definition: skins.h:130
cSkinDisplayMenu::SetTabs
virtual void SetTabs(int Tab1, int Tab2=0, int Tab3=0, int Tab4=0, int Tab5=0)
Sets the tab columns to the given values, which are the number of characters in each column.
Definition: skins.c:95
cSkinDisplayChannel::SetMessage
virtual void SetMessage(eMessageType Type, const char *Text)=0
Sets a one line message Text, with the given Type.
cSkinDisplayChannel::SetChannel
virtual void SetChannel(const cChannel *Channel, int Number)=0
Sets the current channel to Channel.
tColor
uint32_t tColor
Definition: font.h:29
cSkinDisplayChannel::cSkinDisplayChannel
cSkinDisplayChannel(void)
Definition: skins.c:68
cSkinDisplayMenu::cSkinDisplayMenu
cSkinDisplayMenu(void)
Definition: skins.c:84
cSkinDisplayChannel
Definition: skins.h:65
recording.h
cSkinDisplayMenu::MaxItems
virtual int MaxItems(void)=0
Returns the maximum number of items the menu can display.
cSkinDisplayChannel::SetPositioner
virtual void SetPositioner(const cPositioner *Positioner)
Sets the Positioner used to move the satellite dish.
Definition: skins.c:73
mcUndefined
@ mcUndefined
Definition: skins.h:105
cSkinDisplayMenu::SetItemEvent
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch)
This function is here for comaptibility with older plugins and may be removed in a future version.
Definition: skins.h:251
moVertical
@ moVertical
Definition: skins.h:146
cSkinDisplayMenu::GetTabbedText
const char * GetTabbedText(const char *s, int Tab)
Returns the part of the given string that follows the given Tab (where 0 indicates the beginning of t...
Definition: skins.c:112
mcMain
@ mcMain
Definition: skins.h:107
mtStatus
@ mtStatus
Definition: skins.h:37
mcSetupRecord
@ mcSetupRecord
Definition: skins.h:126
cSkin
Definition: skins.h:402
cSkins::Message
eKeys Message(eMessageType Type, const char *s, int Seconds=0)
Displays the given message, either through a currently visible display object that is capable of doin...
Definition: skins.c:250
cSkinDisplayReplay::SetMode
virtual void SetMode(bool Play, bool Forward, int Speed)=0
Sets the current replay mode, which can be used to display some indicator, showing the user whether w...
cTimer
Definition: timers.h:27
keys.h
cSkinDisplay::SetButtons
virtual void SetButtons(const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
Sets the color buttons to the given strings, provided this cSkinDisplay actually has a color button d...
Definition: skins.h:53
cSkinDisplayMenu::MenuOrientation
virtual eMenuOrientation MenuOrientation(void)
Asks the skin for the orientation of the displayed menu.
Definition: skins.h:200
cSkin::~cSkin
virtual ~cSkin()
Definition: skins.c:212
cSkinDisplay::~cSkinDisplay
virtual ~cSkinDisplay()
Definition: skins.c:61
mcRecording
@ mcRecording
Definition: skins.h:115
msmNumber
@ msmNumber
Definition: skins.h:139
cBitmap::Width
int Width(void) const
Definition: osd.h:188
cSkinDisplayMenu::Tab
int Tab(int n)
Returns the offset of the given tab from the left border of the item display area.
Definition: skins.h:174
cSkinDisplayTracks::SetTrack
virtual void SetTrack(int Index, const char *const *Tracks)=0
< This class implements the track display.
cSkinDisplayVolume
Definition: skins.h:374
cSkinDisplayReplay::SetMarks
virtual void SetMarks(const cMarks *Marks)
Sets the editing marks to Marks, which shall be used to display the progress bar through a cProgressB...
Definition: skins.c:196
mcSetupReplay
@ mcSetupReplay
Definition: skins.h:127
mcSchedule
@ mcSchedule
Definition: skins.h:108
cSkinDisplayMenu::SetText
virtual void SetText(const char *Text, bool FixedFont)=0
Sets the Text that shall be displayed, using the entire central area of the menu.
cSkinDisplayReplay::cProgressBar::total
int total
Definition: skins.h:326
cSkinDisplayMenu::MaxTabs
@ MaxTabs
Definition: skins.h:168
cSkinDisplayMenu::SetItemRecording
virtual bool SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New)
Sets the item at the given Index to Recording.
Definition: skins.h:272
osd.h
cSkin::DisplayVolume
virtual cSkinDisplayVolume * DisplayVolume(void)=0
Creates and returns a new object for displaying the current volume.
cSkins::queueMessageMutex
cMutex queueMessageMutex
Definition: skins.h:461
cSkinDisplay::Flush
virtual void Flush(void)
Actually draws the OSD display to the output device.
Definition: skins.h:59
cSetup::FontOsdSize
int FontOsdSize
Definition: config.h:334
themes.h
eKeys
eKeys
Definition: keys.h:16
cSkinDisplayChannel::positioner
const cPositioner * positioner
< This class is used to display the current channel, together with the present and following EPG even...
Definition: skins.h:70
eMenuSortMode
eMenuSortMode
Definition: skins.h:137
cFont
Definition: font.h:37
cSkinDisplayMenu::SetItem
virtual void SetItem(const char *Text, int Index, bool Current, bool Selectable)=0
Sets the item at the given Index to Text.
cSkin::name
char * name
Definition: skins.h:404
cEvent
Definition: epg.h:71
Setup
cSetup Setup
Definition: config.c:372
cSkin::Theme
cTheme * Theme(void)
Definition: skins.h:422
mcTimer
@ mcTimer
Definition: skins.h:113
cSkinDisplay
Definition: skins.h:39
cSkins::QueueMessage
int QueueMessage(eMessageType Type, const char *s, int Seconds=0, int Timeout=0)
Like Message(), but this function may be called from a background thread.
Definition: skins.c:296
cSkin::DisplayMenu
virtual cSkinDisplayMenu * DisplayMenu(void)=0
Creates and returns a new object for displaying a menu.
cMarks
Definition: recording.h:371
cSkinDisplayMenu::MenuCategory
eMenuCategory MenuCategory(void) const
Returns the menu category, set by a previous call to SetMenuCategory().
Definition: skins.h:183
mcSetupEpg
@ mcSetupEpg
Definition: skins.h:122
cSkinDisplayVolume::SetVolume
virtual void SetVolume(int Current, int Total, bool Mute)=0
< This class implements the volume/mute display.
cSkinDisplayMessage
Definition: skins.h:394
mcSetupMisc
@ mcSetupMisc
Definition: skins.h:128
cSkin::theme
cTheme * theme
Definition: skins.h:405
mcRecordingInfo
@ mcRecordingInfo
Definition: skins.h:116
cMutex
Definition: thread.h:67
cSkinDisplayMenu::SetItemChannel
virtual bool SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider)
Sets the item at the given Index to Channel.
Definition: skins.h:263
channels.h
cSkinDisplay::editableWidth
int editableWidth
Definition: skins.h:42
cListObject
Definition: tools.h:493
cSkinDisplayMenu::SetEvent
virtual void SetEvent(const cEvent *Event)=0
Sets the Event that shall be displayed, using the entire central area of the menu.
eMenuCategory
eMenuCategory
Definition: skins.h:104
cSkinDisplay::SetEditableWidth
void SetEditableWidth(int Width)
If an item is set through a call to cSkinDisplayMenu::SetItem(), this function shall be called to set...
Definition: skins.h:49
cBitmap
Definition: osd.h:169
cSkinDisplayTracks
Definition: skins.h:383
cSkinDisplay::Current
static cSkinDisplay * Current(void)
Returns the currently active cSkinDisplay.
Definition: skins.h:61
cSkin::Name
const char * Name(void)
Definition: skins.h:421
cSkinDisplayMenu::SetItemTimer
virtual bool SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable)
Sets the item at the given Index to Timer.
Definition: skins.h:256
cSkinDisplayChannel::SetEvents
virtual void SetEvents(const cEvent *Present, const cEvent *Following)=0
Sets the Present and Following EPG events.
cTheme
Definition: themes.h:17
mcRecordingEdit
@ mcRecordingEdit
Definition: skins.h:117
msmName
@ msmName
Definition: skins.h:140
eMenuOrientation
eMenuOrientation
Definition: skins.h:145
cSkins::cSkins
cSkins(void)
Definition: skins.c:221
cSkinDisplayMenu::textScroller
cTextScroller textScroller
Definition: skins.h:173
cPositioner
A steerable satellite dish generally points to the south on the northern hemisphere,...
Definition: positioner.h:31
cSkinDisplayMenu::SetButtons
virtual void SetButtons(const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)=0
Sets the color buttons to the given strings.
cSkinDisplayReplay::SetRecording
virtual void SetRecording(const cRecording *Recording)
Sets the recording that is currently being played.
Definition: skins.c:191
cSkinDisplayMenu::SetRecording
virtual void SetRecording(const cRecording *Recording)=0
Sets the Recording that shall be displayed, using the entire central area of the menu.
cSkins::current
cSkin * current
Definition: skins.h:459
cSkin::Description
virtual const char * Description(void)=0
Returns a user visible, single line description of this skin, which may consist of arbitrary text and...
cSkinDisplayReplay::SetJump
virtual void SetJump(const char *Jump)=0
Sets the prompt that allows the user to enter a jump point.
cSkin::cSkin
cSkin(const char *Name, cTheme *Theme=NULL)
Creates a new skin class, with the given Name and Theme.
Definition: skins.c:203
cRecording
Definition: recording.h:98
cSkin::DisplayMessage
virtual cSkinDisplayMessage * DisplayMessage(void)=0
Creates and returns a new object for displaying a message.
cList
Definition: tools.h:594
cSkinDisplay::current
static cSkinDisplay * current
Definition: skins.h:41
mcSetupDvb
@ mcSetupDvb
Definition: skins.h:123
cSkinDisplayReplay::cProgressBar::Mark
void Mark(int x, bool Start, bool Current, tColor ColorMark, tColor ColorCurrent)
Definition: skins.c:174
cSkinDisplayTracks::SetAudioChannel
virtual void SetAudioChannel(int AudioChannel)=0
Sets the audio channel indicator.
cSkinDisplayMenu
Definition: skins.h:150
msmUnknown
@ msmUnknown
Definition: skins.h:138
cSkins::Clear
virtual void Clear(void)
Free up all registered skins.
Definition: skins.c:408
mcScheduleNow
@ mcScheduleNow
Definition: skins.h:109
cSkinDisplayReplay
Definition: skins.h:319
eTimerMatch
eTimerMatch
Definition: timers.h:25
cChannel
Definition: channels.h:89
cSkinDisplayReplay::cProgressBar
Definition: skins.h:324
cSkinDisplayMenu::SetTitle
virtual void SetTitle(const char *Title)=0
Sets the title of this menu to Title.
mtWarning
@ mtWarning
Definition: skins.h:37
cSkinDisplayMenu::SetItemEvent
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive)
Sets the item at the given Index to Event.
Definition: skins.h:236
cSkin::DisplayReplay
virtual cSkinDisplayReplay * DisplayReplay(bool ModeOnly)=0
Creates and returns a new object for displaying replay progress.
mcFolder
@ mcFolder
Definition: skins.h:133
cSkinDisplayMenu::SetScrollbar
virtual void SetScrollbar(int Total, int Offset)
Sets the Total number of items in the currently displayed list, and the Offset of the first item that...
Definition: skins.c:133
cSkinDisplayReplay::SetTitle
virtual void SetTitle(const char *Title)=0
Sets the title of the recording.
positioner.h
cSkins::ProcessQueuedMessages
void ProcessQueuedMessages(void)
Processes the first queued message, if any.
Definition: skins.c:352
cSkins::IsOpen
bool IsOpen(void)
Returns true if there is currently a skin display object active.
Definition: skins.h:470
mcTimerEdit
@ mcTimerEdit
Definition: skins.h:114
cSkinDisplayReplay::SetCurrent
virtual void SetCurrent(const char *Current)=0
Sets the current position within the recording, as a user readable string if the form "h:mm:ss....
Skins
cSkins Skins
Definition: skins.c:219
moHorizontal
@ moHorizontal
Definition: skins.h:147
timers.h
cSkinDisplayMenu::menuCategory
eMenuCategory menuCategory
Definition: skins.h:170
cSkinDisplayReplay::marks
const cMarks * marks
< This class implements the progress display used during replay of a recording.
Definition: skins.h:323
cSkinDisplay::SetMessage
virtual void SetMessage(eMessageType Type, const char *Text)
Sets a one line message Text, with the given Type.
Definition: skins.h:56
cSkinDisplay::cSkinDisplay
cSkinDisplay(void)
Definition: skins.c:55
cSkinDisplayMenu::GetTextAreaFont
virtual const cFont * GetTextAreaFont(bool FixedFont) const
Returns a pointer to the font which is used to display text with SetText().
Definition: skins.c:142
cSkins::~cSkins
~cSkins()
Definition: skins.c:226
cSkinDisplayReplay::cProgressBar::Pos
int Pos(int p)
Definition: skins.h:327
cSkins::displayMessage
cSkinDisplayMessage * displayMessage
Definition: skins.h:460
mcChannel
@ mcChannel
Definition: skins.h:111
cSkins
Definition: skins.h:457
cSkinDisplayMenu::Scroll
virtual void Scroll(bool Up, bool Page)
If this menu contains a text area that can be scrolled, this function will be called to actually scro...
Definition: skins.c:107
mcScheduleNext
@ mcScheduleNext
Definition: skins.h:110
cSkinDisplayMenu::SetMenuCategory
virtual void SetMenuCategory(eMenuCategory MenuCategory)
Sets the current menu category.
Definition: skins.c:90
mtError
@ mtError
Definition: skins.h:37
cSkin::DisplayTracks
virtual cSkinDisplayTracks * DisplayTracks(const char *Title, int NumTracks, const char *const *Tracks)=0
Creates and returns a new object for displaying the available tracks.
mcUnknown
@ mcUnknown
Definition: skins.h:106
mtInfo
@ mtInfo
Definition: skins.h:37
cBitmap::Height
int Height(void) const
Definition: osd.h:189
mcPluginSetup
@ mcPluginSetup
Definition: skins.h:119
cSkins::Current
cSkin * Current(void)
Returns a pointer to the current skin.
Definition: skins.h:468
epg.h
cSkinDisplay::AvgCharWidth
static int AvgCharWidth(void)
Returns the average width of a character in pixel (just a raw estimate).
Definition: skins.h:46
cSkinDisplayMenu::GetTextAreaWidth
virtual int GetTextAreaWidth(void) const
Returns the width in pixel of the area which is used to display text with SetText().
Definition: skins.c:137
cSkinDisplayMenu::tabs
int tabs[MaxTabs]
Definition: skins.h:171
tools.h
cSkinDisplayReplay::SetProgress
virtual void SetProgress(int Current, int Total)=0
This function will be called whenever the position in or the total length of the recording has change...
cSkinDisplayReplay::SetTotal
virtual void SetTotal(const char *Total)=0
Sets the total length of the recording, as a user readable string if the form "h:mm:ss".
cSkinDisplayReplay::SetMessage
virtual void SetMessage(eMessageType Type, const char *Text)=0
Sets a one line message Text, with the given Type.
mcSetup
@ mcSetup
Definition: skins.h:120
mcCam
@ mcCam
Definition: skins.h:134
mcEvent
@ mcEvent
Definition: skins.h:131
cSkinDisplay::EditableWidth
int EditableWidth(void)
Definition: skins.h:48
cSkinDisplayReplay::cSkinDisplayReplay
cSkinDisplayReplay(void)
Definition: skins.c:186
thread.h
cSkinDisplayMenu::SetMenuSortMode
virtual void SetMenuSortMode(eMenuSortMode MenuSortMode)
Sets the mode by which the items in this menu are sorted.
Definition: skins.h:196
mcText
@ mcText
Definition: skins.h:132
cSkins::Flush
void Flush(void)
Flushes the currently active cSkinDisplay, if any.
Definition: skins.c:402
cSkinDisplayMenu::Clear
virtual void Clear(void)=0
Clears the entire central area of the menu.
eMessageType
eMessageType
Definition: skins.h:37
cSkinDisplayMenu::SetMessage
virtual void SetMessage(eMessageType Type, const char *Text)=0
Sets a one line message Text, with the given Type.
mcSetupOsd
@ mcSetupOsd
Definition: skins.h:121
cSkinDisplayReplay::cProgressBar::cProgressBar
cProgressBar(int Width, int Height, int Current, int Total, const cMarks *Marks, tColor ColorSeen, tColor ColorRest, tColor ColorSelected, tColor ColorMark, tColor ColorCurrent)
Definition: skins.c:149
mcSetupCam
@ mcSetupCam
Definition: skins.h:125
cSkinDisplayMessage::SetMessage
virtual void SetMessage(eMessageType Type, const char *Text)=0
< This class implements a simple message display.
mcSetupPlugins
@ mcSetupPlugins
Definition: skins.h:129
msmTime
@ msmTime
Definition: skins.h:141
cTextScroller
Definition: osd.h:1035
cSkin::DisplayChannel
virtual cSkinDisplayChannel * DisplayChannel(bool WithInfo)=0
Creates and returns a new object for displaying the current channel.
mcChannelEdit
@ mcChannelEdit
Definition: skins.h:112
mcPlugin
@ mcPlugin
Definition: skins.h:118
cSkins::SetCurrent
bool SetCurrent(const char *Name=NULL)
Sets the current skin to the one indicated by name.
Definition: skins.c:231
msmProvider
@ msmProvider
Definition: skins.h:142