cFont Class Reference

#include <font.h>

Inheritance diagram for cFont:

Inheritance graph
[legend]
Collaboration diagram for cFont:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~cFont ()
virtual int Width (uint c) const =0
 Returns the width of the given character in pixel.
virtual int Width (const char *s) const =0
 Returns the width of the given string in pixel.
virtual int Height (void) const =0
 Returns the height of this font in pixel (all characters have the same height).
int Height (const char *s) const
 Returns the height of this font in pixel (obsolete, just for backwards compatibilty).
virtual void DrawText (cBitmap *Bitmap, int x, int y, const char *s, tColor ColorFg, tColor ColorBg, int Width) const =0

Static Public Member Functions

static void SetFont (eDvbFont Font, const char *Name, int CharHeight)
static const cFontGetFont (eDvbFont Font)
static cFontCreateFont (const char *Name, int CharHeight, int CharWidth=0)
static bool GetAvailableFontNames (cStringList *FontNames, bool Monospaced=false)
static cString GetFontFileName (const char *FontName)
 Retruns the actual font file name for the given FontName.

Static Private Attributes

static cFontfonts [] = { NULL }


Detailed Description

Definition at line 35 of file font.h.


Constructor & Destructor Documentation

virtual cFont::~cFont (  )  [inline, virtual]

Definition at line 39 of file font.h.


Member Function Documentation

virtual int cFont::Width ( uint  c  )  const [pure virtual]

virtual int cFont::Width ( const char *  s  )  const [pure virtual]

Returns the width of the given string in pixel.

Implemented in cFreetypeFont, cDummyFont, and cCursesFont.

virtual int cFont::Height ( void   )  const [pure virtual]

int cFont::Height ( const char *  s  )  const [inline]

Returns the height of this font in pixel (obsolete, just for backwards compatibilty).

Definition at line 46 of file font.h.

References Height().

Here is the call graph for this function:

virtual void cFont::DrawText ( cBitmap Bitmap,
int  x,
int  y,
const char *  s,
tColor  ColorFg,
tColor  ColorBg,
int  Width 
) const [pure virtual]

Draws the given text into the Bitmap at position (x, y) with the given colors. The text will not exceed the given Width (if > 0), and will end with a complete character.

Implemented in cFreetypeFont, cDummyFont, and cCursesFont.

Referenced by cBitmap::DrawText().

void cFont::SetFont ( eDvbFont  Font,
const char *  Name,
int  CharHeight 
) [static]

Sets the given Font to use the font data according to Name (see CreateFont()) and make its characters CharHeight pixels high.

Definition at line 329 of file font.c.

References CreateFont(), fonts, and Height().

Referenced by GetFont(), and cMenuSetupOSD::ProcessKey().

Here is the call graph for this function:

const cFont * cFont::GetFont ( eDvbFont  Font  )  [static]

Gets the given Font, which was previously set by a call to SetFont(). If no SetFont() call has been made, the font as defined in the setup is returned. The caller must not use the returned font outside the scope in which it was retrieved by the call to GetFont(), because a call to SetFont() may delete an existing font.

Definition at line 338 of file font.c.

References cSetup::FontFix, fontFix, cSetup::FontFixSize, cSetup::FontOsd, fontOsd, cSetup::FontOsdSize, fonts, cSetup::FontSml, cSetup::FontSmlSize, SetFont(), Setup, and cSetup::UseSmallFont.

Referenced by cSkinClassicDisplayChannel::cSkinClassicDisplayChannel(), cSkinClassicDisplayMenu::cSkinClassicDisplayMenu(), cSkinClassicDisplayMessage::cSkinClassicDisplayMessage(), cSkinClassicDisplayReplay::cSkinClassicDisplayReplay(), cSkinClassicDisplayTracks::cSkinClassicDisplayTracks(), cSkinClassicDisplayVolume::cSkinClassicDisplayVolume(), cSkinSTTNGDisplayChannel::cSkinSTTNGDisplayChannel(), cSkinSTTNGDisplayMenu::cSkinSTTNGDisplayMenu(), cSkinSTTNGDisplayMessage::cSkinSTTNGDisplayMessage(), cSkinSTTNGDisplayReplay::cSkinSTTNGDisplayReplay(), cSkinSTTNGDisplayTracks::cSkinSTTNGDisplayTracks(), cSkinSTTNGDisplayVolume::cSkinSTTNGDisplayVolume(), cPictureControl::DisplayCaption(), cSkinSTTNGDisplayMenu::Flush(), cSkinSTTNGDisplayChannel::Flush(), cSkinClassicDisplayMenu::Flush(), cSkinClassicDisplayChannel::Flush(), cSkinSTTNGDisplayMenu::GetTextAreaFont(), cSkinClassicDisplayMenu::GetTextAreaFont(), cMenuEditStrItem::Set(), cSkinSTTNGDisplayMenu::SetButtons(), cSkinClassicDisplayMenu::SetButtons(), cSkinSTTNGDisplayChannel::SetChannel(), cSkinClassicDisplayChannel::SetChannel(), cSkinSTTNGDisplayReplay::SetCurrent(), cSkinClassicDisplayReplay::SetCurrent(), cSkinSTTNGDisplayMenu::SetEvent(), cSkinClassicDisplayMenu::SetEvent(), cSkinSTTNGDisplayChannel::SetEvents(), cSkinClassicDisplayChannel::SetEvents(), cSkinSTTNGDisplayTracks::SetItem(), cSkinSTTNGDisplayMenu::SetItem(), cSkinClassicDisplayTracks::SetItem(), cSkinClassicDisplayMenu::SetItem(), cSkinSTTNGDisplayReplay::SetJump(), cSkinClassicDisplayReplay::SetJump(), cSkinSTTNGDisplayMessage::SetMessage(), cSkinSTTNGDisplayReplay::SetMessage(), cSkinSTTNGDisplayMenu::SetMessage(), cSkinSTTNGDisplayChannel::SetMessage(), cSkinClassicDisplayMessage::SetMessage(), cSkinClassicDisplayReplay::SetMessage(), cSkinClassicDisplayMenu::SetMessage(), cSkinClassicDisplayChannel::SetMessage(), cSkinSTTNGDisplayMenu::SetRecording(), cSkinClassicDisplayMenu::SetRecording(), cSkinSTTNGDisplayReplay::SetTitle(), cSkinSTTNGDisplayMenu::SetTitle(), cSkinClassicDisplayReplay::SetTitle(), cSkinClassicDisplayMenu::SetTitle(), cSkinSTTNGDisplayReplay::SetTotal(), cSkinClassicDisplayReplay::SetTotal(), and cSkinClassicDisplayVolume::SetVolume().

Here is the call graph for this function:

cFont * cFont::CreateFont ( const char *  Name,
int  CharHeight,
int  CharWidth = 0 
) [static]

Creates a new font object with the given Name and makes its characters CharHeight pixels high. If CharWidth is given, it overwrites the font's default width. Name is of the form "Family:Style", for instance "Verdana:Bold Italic" or "Times New Roman". See GetAvailableFontNames() for how to get a list of all available font names. If the requested font can't be created, NULL is returned. The caller must delete the font when it is no longer needed.

Definition at line 354 of file font.c.

References GetFontFileName().

Referenced by SetFont().

Here is the call graph for this function:

bool cFont::GetAvailableFontNames ( cStringList FontNames,
bool  Monospaced = false 
) [static]

Queries the font configuration for a list of available font names, which is returned in FontNames. If Monospaced is true, only monospaced fonts will be returned. The resulting font names are in a format that can be used with GetFontFileName() to get the name of the actual font file. Returns true if any font names were found.

Definition at line 362 of file font.c.

References cVector< T >::Append(), cVector< T >::Size(), cStringList::Sort(), and strreplace().

Referenced by cMenuSetupOSD::cMenuSetupOSD().

Here is the call graph for this function:

cString cFont::GetFontFileName ( const char *  FontName  )  [static]

Retruns the actual font file name for the given FontName.

Definition at line 404 of file font.c.

References esyslog, and strreplace().

Referenced by CreateFont(), and main().

Here is the call graph for this function:


Member Data Documentation

cFont * cFont::fonts = { NULL } [static, private]

Definition at line 37 of file font.h.

Referenced by GetFont(), and SetFont().


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

Generated on Tue Nov 4 19:59:05 2008 for VDR by  doxygen 1.5.6