vdr  2.0.5
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cSkinClassicDisplayMenu Class Reference

Public Member Functions

 cSkinClassicDisplayMenu (void)
 
virtual ~cSkinClassicDisplayMenu ()
 
virtual void Scroll (bool Up, bool Page)
 
virtual int MaxItems (void)
 
virtual void Clear (void)
 
virtual void SetTitle (const char *Title)
 
virtual void SetButtons (const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
 
virtual void SetMessage (eMessageType Type, const char *Text)
 
virtual void SetItem (const char *Text, int Index, bool Current, bool Selectable)
 
virtual void SetScrollbar (int Total, int Offset)
 
virtual void SetEvent (const cEvent *Event)
 
virtual void SetRecording (const cRecording *Recording)
 
virtual void SetText (const char *Text, bool FixedFont)
 
virtual int GetTextAreaWidth (void) const
 
virtual const cFontGetTextAreaFont (bool FixedFont) const
 
virtual void Flush (void)
 
- Public Member Functions inherited from cSkinDisplayMenu
 cSkinDisplayMenu (void)
 
eMenuCategory MenuCategory (void) const
 
virtual void SetMenuCategory (eMenuCategory MenuCategory)
 
virtual void SetTabs (int Tab1, int Tab2=0, int Tab3=0, int Tab4=0, int Tab5=0)
 
virtual bool SetItemEvent (const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch)
 
virtual bool SetItemTimer (const cTimer *Timer, int Index, bool Current, bool Selectable)
 
virtual bool SetItemChannel (const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider)
 
virtual bool SetItemRecording (const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New)
 
- Public Member Functions inherited from cSkinDisplay
 cSkinDisplay (void)
 
virtual ~cSkinDisplay ()
 
int EditableWidth (void)
 
void SetEditableWidth (int Width)
 

Private Member Functions

void DrawTitle (void)
 
void DrawScrollbar (int Total, int Offset, int Shown, int Top, int Height, bool CanScrollUp, bool CanScrollDown)
 
void SetTextScrollbar (void)
 

Private Attributes

cOsdosd
 
int x0
 
int x1
 
int x2
 
int x3
 
int y0
 
int y1
 
int y2
 
int y3
 
int y4
 
int y5
 
int lineHeight
 
int dateWidth
 
cString title
 
cString lastDate
 
int lastDiskUsageState
 

Additional Inherited Members

- Public Types inherited from cSkinDisplayMenu
enum  { MaxTabs = 6 }
 
- Static Public Member Functions inherited from cSkinDisplay
static int AvgCharWidth (void)
 
static cSkinDisplayCurrent (void)
 
- Protected Member Functions inherited from cSkinDisplayMenu
int Tab (int n)
 
const char * GetTabbedText (const char *s, int Tab)
 
- Protected Attributes inherited from cSkinDisplayMenu
cTextScroller textScroller
 

Detailed Description

Definition at line 167 of file skinclassic.c.

Constructor & Destructor Documentation

cSkinClassicDisplayMenu::cSkinClassicDisplayMenu ( void  )
cSkinClassicDisplayMenu::~cSkinClassicDisplayMenu ( )
virtual

Definition at line 234 of file skinclassic.c.

References osd.

Member Function Documentation

void cSkinClassicDisplayMenu::Clear ( void  )
virtual

Clears the entire central area of the menu.

Implements cSkinDisplayMenu.

Definition at line 272 of file skinclassic.c.

References clrBackground, cTheme::Color(), cOsd::DrawRectangle(), osd, cTextScroller::Reset(), cSkinDisplayMenu::textScroller, x0, x3, y1, and y4.

void cSkinClassicDisplayMenu::DrawScrollbar ( int  Total,
int  Offset,
int  Shown,
int  Top,
int  Height,
bool  CanScrollUp,
bool  CanScrollDown 
)
private

Definition at line 239 of file skinclassic.c.

References cTheme::Color(), cOsd::DrawRectangle(), max(), min(), osd, ScrollWidth, and x3.

Referenced by SetScrollbar(), and SetTextScrollbar().

void cSkinClassicDisplayMenu::DrawTitle ( void  )
private
void cSkinClassicDisplayMenu::Flush ( void  )
virtual

Actually draws the OSD display to the output device.

Reimplemented from cSkinDisplay.

Definition at line 437 of file skinclassic.c.

References cTheme::Color(), dateWidth, DayDateTime(), cOsd::DrawText(), DrawTitle(), cOsd::Flush(), fontOsd, cFont::GetFont(), cVideoDiskUsage::HasChanged(), lastDate, lastDiskUsageState, max(), osd, TextFrame, cFont::Width(), x3, and y0.

const cFont * cSkinClassicDisplayMenu::GetTextAreaFont ( bool  FixedFont) const
virtual

Returns a pointer to the font which is used to display text with SetText().

The parameter FixedFont has the same meaning as in SetText(). The default implementation returns NULL. Therefore a caller of this method must be prepared to receive NULL if the plugin doesn't implement this method. The returned pointer is valid a long as the instance of cSkinDisplayMenu exists.

Reimplemented from cSkinDisplayMenu.

Definition at line 432 of file skinclassic.c.

References fontFix, fontOsd, and cFont::GetFont().

Referenced by SetText().

int cSkinClassicDisplayMenu::GetTextAreaWidth ( void  ) const
virtual

Returns the width in pixel of the area which is used to display text with SetText().

The width of the area is the width of the central area minus the width of any possibly displayed scroll-bar or other decoration. The default implementation returns 0. Therefore a caller of this method must be prepared to receive 0 if the plugin doesn't implement this method.

Reimplemented from cSkinDisplayMenu.

Definition at line 427 of file skinclassic.c.

References x1, and x2.

Referenced by SetText().

int cSkinClassicDisplayMenu::MaxItems ( void  )
virtual

Returns the maximum number of items the menu can display.

Implements cSkinDisplayMenu.

Definition at line 267 of file skinclassic.c.

References lineHeight, y2, and y3.

Referenced by SetScrollbar().

void cSkinClassicDisplayMenu::Scroll ( bool  Up,
bool  Page 
)
virtual

If this menu contains a text area that can be scrolled, this function will be called to actually scroll the text.

Up indicates whether the text shall be scrolled up or down, and Page is true if it shall be scrolled by a full page, rather than a single line. An object of the cTextScroller class can be used to implement the scrolling text area.

Reimplemented from cSkinDisplayMenu.

Definition at line 261 of file skinclassic.c.

References cSkinDisplayMenu::Scroll(), and SetTextScrollbar().

void cSkinClassicDisplayMenu::SetButtons ( const char *  Red,
const char *  Green = NULL,
const char *  Yellow = NULL,
const char *  Blue = NULL 
)
virtual

Sets the color buttons to the given strings.

If any of the values is NULL, any previous text must be removed from the related button.

Implements cSkinDisplayMenu.

Definition at line 291 of file skinclassic.c.

References clrBackground, cTheme::Color(), cSetup::ColorKey0, cSetup::ColorKey1, cSetup::ColorKey2, cSetup::ColorKey3, cOsd::DrawText(), fontOsd, cFont::GetFont(), osd, Setup, taCenter, x0, x3, and y4.

void cSkinClassicDisplayMenu::SetEvent ( const cEvent Event)
virtual
void cSkinClassicDisplayMenu::SetItem ( const char *  Text,
int  Index,
bool  Current,
bool  Selectable 
)
virtual

Sets the item at the given Index to Text.

Index is between 0 and the value returned by MaxItems(), minus one. Text may contain tab characters ('\t'), which shall be used to separate the text into several columns, according to the values set by a prior call to SetTabs(). If Current is true, this item shall be drawn in a way indicating to the user that it is the currently selected one. Selectable can be used to display items differently that can't be selected by the user. Whenever the current status is moved from one item to another, this function will be first called for the old current item with Current set to false, and then for the new current item with Current set to true.

Implements cSkinDisplayMenu.

Definition at line 318 of file skinclassic.c.

References clrBackground, cTheme::Color(), cOsd::DrawText(), fontOsd, cFont::GetFont(), cSkinDisplayMenu::GetTabbedText(), lineHeight, cSkinDisplayMenu::MaxTabs, osd, cSkinDisplay::SetEditableWidth(), cSkinDisplayMenu::Tab(), x0, x2, and y2.

void cSkinClassicDisplayMenu::SetMessage ( eMessageType  Type,
const char *  Text 
)
virtual

Sets a one line message Text, with the given Type.

Type can be used to determine, e.g., the colors for displaying the Text. If Text is NULL, any previously displayed message must be removed, and any previous contents overwritten by the message must be restored.

Implements cSkinDisplayMenu.

Definition at line 309 of file skinclassic.c.

References clrBackground, cTheme::Color(), cOsd::DrawRectangle(), cOsd::DrawText(), fontOsd, cFont::GetFont(), osd, taCenter, x0, x3, y3, and y4.

void cSkinClassicDisplayMenu::SetRecording ( const cRecording Recording)
virtual
void cSkinClassicDisplayMenu::SetScrollbar ( int  Total,
int  Offset 
)
virtual

Sets the Total number of items in the currently displayed list, and the Offset of the first item that is currently displayed (the skin knows how many items it can display at once, see MaxItems()).

This can be used to display a scrollbar.

Reimplemented from cSkinDisplayMenu.

Definition at line 343 of file skinclassic.c.

References DrawScrollbar(), lineHeight, MaxItems(), and y2.

void cSkinClassicDisplayMenu::SetText ( const char *  Text,
bool  FixedFont 
)
virtual

Sets the Text that shall be displayed, using the entire central area of the menu.

The Text shall be displayed using a cTextScroller, and the Scroll() function will be called to drive scrolling that text if necessary.

Implements cSkinDisplayMenu.

Definition at line 421 of file skinclassic.c.

References clrBackground, cTheme::Color(), GetTextAreaFont(), GetTextAreaWidth(), osd, cTextScroller::Set(), SetTextScrollbar(), cSkinDisplayMenu::textScroller, x1, y2, and y3.

void cSkinClassicDisplayMenu::SetTextScrollbar ( void  )
private
void cSkinClassicDisplayMenu::SetTitle ( const char *  Title)
virtual

Sets the title of this menu to Title.

Implements cSkinDisplayMenu.

Definition at line 285 of file skinclassic.c.

References DrawTitle(), and title.

Member Data Documentation

int cSkinClassicDisplayMenu::dateWidth
private

Definition at line 173 of file skinclassic.c.

Referenced by cSkinClassicDisplayMenu(), DrawTitle(), and Flush().

cString cSkinClassicDisplayMenu::lastDate
private

Definition at line 175 of file skinclassic.c.

Referenced by Flush().

int cSkinClassicDisplayMenu::lastDiskUsageState
private

Definition at line 176 of file skinclassic.c.

Referenced by cSkinClassicDisplayMenu(), and Flush().

int cSkinClassicDisplayMenu::lineHeight
private

Definition at line 172 of file skinclassic.c.

Referenced by cSkinClassicDisplayMenu(), MaxItems(), SetItem(), and SetScrollbar().

cOsd* cSkinClassicDisplayMenu::osd
private
cString cSkinClassicDisplayMenu::title
private

Definition at line 174 of file skinclassic.c.

Referenced by DrawTitle(), and SetTitle().

int cSkinClassicDisplayMenu::x0
private
int cSkinClassicDisplayMenu::x1
private
int cSkinClassicDisplayMenu::x2
private
int cSkinClassicDisplayMenu::x3
private
int cSkinClassicDisplayMenu::y0
private

Definition at line 171 of file skinclassic.c.

Referenced by cSkinClassicDisplayMenu(), DrawTitle(), and Flush().

int cSkinClassicDisplayMenu::y1
private

Definition at line 171 of file skinclassic.c.

Referenced by Clear(), and cSkinClassicDisplayMenu().

int cSkinClassicDisplayMenu::y2
private
int cSkinClassicDisplayMenu::y3
private
int cSkinClassicDisplayMenu::y4
private

Definition at line 171 of file skinclassic.c.

Referenced by Clear(), cSkinClassicDisplayMenu(), SetButtons(), and SetMessage().

int cSkinClassicDisplayMenu::y5
private

Definition at line 171 of file skinclassic.c.

Referenced by cSkinClassicDisplayMenu().


The documentation for this class was generated from the following file: