vdr 2.7.7
cSkinSTTNGDisplayMenu Class Reference

Public Member Functions

 cSkinSTTNGDisplayMenu (void)
virtual ~cSkinSTTNGDisplayMenu () override
virtual void Scroll (bool Up, bool Page) override
virtual int MaxItems (void) override
virtual void Clear (void) override
virtual void SetTitle (const char *Title) override
virtual void SetButtons (const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL) override
virtual void SetMessage (eMessageType Type, const char *Text) override
virtual void SetItem (const char *Text, int Index, bool Current, bool Selectable) override
virtual void SetScrollbar (int Total, int Offset) override
virtual void SetEvent (const cEvent *Event) override
virtual void SetRecording (const cRecording *Recording) override
virtual void SetText (const char *Text, bool FixedFont) override
virtual int GetTextAreaWidth (void) const
virtual const cFontGetTextAreaFont (bool FixedFont) const
virtual void Flush (void) override
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 void SetMenuSortMode (eMenuSortMode MenuSortMode)
virtual eMenuOrientation MenuOrientation (void)
virtual bool SetItemEvent (const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, bool TimerActive)
virtual bool SetItemEvent (const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, eTimerMatch TimerMatch, const cTimer *Timer)
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 x4
int x5
int x6
int x7
int y0
int y1
int y2
int y3
int y4
int y5
int y6
int y7
int lineHeight
tColor frameColor
int currentIndex
cString title
bool message
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 398 of file skinsttng.c.

Constructor & Destructor Documentation

◆ cSkinSTTNGDisplayMenu()

◆ ~cSkinSTTNGDisplayMenu()

cSkinSTTNGDisplayMenu::~cSkinSTTNGDisplayMenu ( )
overridevirtual

Definition at line 501 of file skinsttng.c.

References osd.

Member Function Documentation

◆ Clear()

void cSkinSTTNGDisplayMenu::Clear ( void )
overridevirtual

Clears the entire central area of the menu.

Implements cSkinDisplayMenu.

Definition at line 551 of file skinsttng.c.

References clrBackground, osd, cSkinDisplayMenu::textScroller, Theme, x1, x7, y3, and y4.

◆ DrawScrollbar()

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

Definition at line 506 of file skinsttng.c.

References frameColor, Gap, cBitmap::Height(), lineHeight, max(), min(), osd, ScrollWidth, Theme, cBitmap::Width(), x5, x6, and x7.

Referenced by SetScrollbar(), and SetTextScrollbar().

◆ DrawTitle()

void cSkinSTTNGDisplayMenu::DrawTitle ( void )
private

◆ Flush()

void cSkinSTTNGDisplayMenu::Flush ( void )
overridevirtual

Actually draws the OSD display to the output device.

Reimplemented from cSkinDisplay.

Definition at line 783 of file skinsttng.c.

References DayDateTime(), DrawTitle(), frameColor, cFont::GetFont(), cVideoDiskUsage::HasChanged(), cFont::Height(), lastDate, lastDiskUsageState, message, osd, TextFrame, Theme, cFont::Width(), x4, and y7.

◆ GetTextAreaFont()

const cFont * cSkinSTTNGDisplayMenu::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 the font defined in the setup. The returned pointer is valid a long as the instance of cSkinDisplayMenu exists.

Reimplemented from cSkinDisplayMenu.

Definition at line 776 of file skinsttng.c.

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

Referenced by SetText().

◆ GetTextAreaWidth()

int cSkinSTTNGDisplayMenu::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 771 of file skinsttng.c.

References x3, and x4.

Referenced by SetText().

◆ MaxItems()

int cSkinSTTNGDisplayMenu::MaxItems ( void )
overridevirtual

Returns the maximum number of items the menu can display.

Implements cSkinDisplayMenu.

Definition at line 546 of file skinsttng.c.

References lineHeight, Roundness, y3, and y4.

Referenced by SetScrollbar().

◆ Scroll()

void cSkinSTTNGDisplayMenu::Scroll ( bool Up,
bool Page )
overridevirtual

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 540 of file skinsttng.c.

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

◆ SetButtons()

void cSkinSTTNGDisplayMenu::SetButtons ( const char * Red,
const char * Green = NULL,
const char * Yellow = NULL,
const char * Blue = NULL )
overridevirtual

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 573 of file skinsttng.c.

References clrBlack, DayDateTime(), Gap, cFont::GetFont(), osd, Setup, taCenter, TextFrame, Theme, cFont::Width(), x3, x4, y6, and y7.

◆ SetEvent()

void cSkinSTTNGDisplayMenu::SetEvent ( const cEvent * Event)
overridevirtual

◆ SetItem()

void cSkinSTTNGDisplayMenu::SetItem ( const char * Text,
int Index,
bool Current,
bool Selectable )
overridevirtual

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 612 of file skinsttng.c.

References clrBackground, cSkinDisplay::Current(), currentIndex, fontOsd, frameColor, cFont::GetFont(), cSkinDisplayMenu::GetTabbedText(), lineHeight, cSkinDisplayMenu::MaxTabs, osd, Roundness, cSkinDisplay::SetEditableWidth(), cSkinDisplayMenu::Tab(), TextSpacing, Theme, x1, x2, x3, x4, and y3.

◆ SetMessage()

void cSkinSTTNGDisplayMenu::SetMessage ( eMessageType Type,
const char * Text )
overridevirtual

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 598 of file skinsttng.c.

References cFont::GetFont(), message, osd, taCenter, Theme, x3, x4, y6, and y7.

◆ SetRecording()

void cSkinSTTNGDisplayMenu::SetRecording ( const cRecording * Recording)
overridevirtual

◆ SetScrollbar()

void cSkinSTTNGDisplayMenu::SetScrollbar ( int Total,
int Offset )
overridevirtual

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 646 of file skinsttng.c.

References DrawScrollbar(), lineHeight, MaxItems(), Roundness, and y3.

◆ SetText()

void cSkinSTTNGDisplayMenu::SetText ( const char * Text,
bool FixedFont )
overridevirtual

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 765 of file skinsttng.c.

References clrBackground, GetTextAreaFont(), GetTextAreaWidth(), osd, SetTextScrollbar(), cSkinDisplayMenu::textScroller, Theme, x3, y3, and y4.

◆ SetTextScrollbar()

void cSkinSTTNGDisplayMenu::SetTextScrollbar ( void )
private

Definition at line 534 of file skinsttng.c.

References DrawScrollbar(), and cSkinDisplayMenu::textScroller.

Referenced by Scroll(), SetEvent(), SetRecording(), and SetText().

◆ SetTitle()

void cSkinSTTNGDisplayMenu::SetTitle ( const char * Title)
overridevirtual

Sets the title of this menu to Title.

Implements cSkinDisplayMenu.

Definition at line 567 of file skinsttng.c.

References DrawTitle(), and title.

Member Data Documentation

◆ currentIndex

int cSkinSTTNGDisplayMenu::currentIndex
private

Definition at line 405 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), and SetItem().

◆ frameColor

tColor cSkinSTTNGDisplayMenu::frameColor
private

◆ lastDate

cString cSkinSTTNGDisplayMenu::lastDate
private

Definition at line 408 of file skinsttng.c.

Referenced by Flush().

◆ lastDiskUsageState

int cSkinSTTNGDisplayMenu::lastDiskUsageState
private

Definition at line 409 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), and Flush().

◆ lineHeight

int cSkinSTTNGDisplayMenu::lineHeight
private

◆ message

bool cSkinSTTNGDisplayMenu::message
private

Definition at line 407 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), Flush(), and SetMessage().

◆ osd

◆ title

cString cSkinSTTNGDisplayMenu::title
private

Definition at line 406 of file skinsttng.c.

Referenced by DrawTitle(), and SetTitle().

◆ x0

int cSkinSTTNGDisplayMenu::x0
private

Definition at line 401 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu().

◆ x1

int cSkinSTTNGDisplayMenu::x1
private

Definition at line 401 of file skinsttng.c.

Referenced by Clear(), cSkinSTTNGDisplayMenu(), SetEvent(), SetItem(), and SetRecording().

◆ x2

int cSkinSTTNGDisplayMenu::x2
private

Definition at line 401 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), SetEvent(), SetItem(), and SetRecording().

◆ x3

int cSkinSTTNGDisplayMenu::x3
private

◆ x4

int cSkinSTTNGDisplayMenu::x4
private

◆ x5

int cSkinSTTNGDisplayMenu::x5
private

Definition at line 401 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), DrawScrollbar(), SetEvent(), and SetRecording().

◆ x6

int cSkinSTTNGDisplayMenu::x6
private

Definition at line 401 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), DrawScrollbar(), SetEvent(), and SetRecording().

◆ x7

int cSkinSTTNGDisplayMenu::x7
private

Definition at line 401 of file skinsttng.c.

Referenced by Clear(), cSkinSTTNGDisplayMenu(), DrawScrollbar(), SetEvent(), and SetRecording().

◆ y0

int cSkinSTTNGDisplayMenu::y0
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), and DrawTitle().

◆ y1

int cSkinSTTNGDisplayMenu::y1
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu().

◆ y2

int cSkinSTTNGDisplayMenu::y2
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu().

◆ y3

int cSkinSTTNGDisplayMenu::y3
private

◆ y4

int cSkinSTTNGDisplayMenu::y4
private

Definition at line 402 of file skinsttng.c.

Referenced by Clear(), cSkinSTTNGDisplayMenu(), MaxItems(), SetEvent(), SetRecording(), and SetText().

◆ y5

int cSkinSTTNGDisplayMenu::y5
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu().

◆ y6

int cSkinSTTNGDisplayMenu::y6
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), SetButtons(), and SetMessage().

◆ y7

int cSkinSTTNGDisplayMenu::y7
private

Definition at line 402 of file skinsttng.c.

Referenced by cSkinSTTNGDisplayMenu(), Flush(), SetButtons(), and SetMessage().


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