Commit 0c81e3b4 authored by Cyril Deguet's avatar Cyril Deguet

* moved the default font in share/skins2/fonts

  * parser/builder.cpp: a font with ID "defaultfont" is loaded from
  the common font directory
parent 8c85b414
...@@ -116,8 +116,16 @@ void Builder::addTheme( const BuilderData::Theme &rData ) ...@@ -116,8 +116,16 @@ void Builder::addTheme( const BuilderData::Theme &rData )
rManager.setMagnetValue( rData.m_magnet ); rManager.setMagnetValue( rData.m_magnet );
rManager.setAlphaValue( rData.m_alpha ); rManager.setAlphaValue( rData.m_alpha );
rManager.setMoveAlphaValue( rData.m_moveAlpha ); rManager.setMoveAlphaValue( rData.m_moveAlpha );
GenericFont *pFont = new FT2Font( getIntf(), "FreeSans.ttf", 12 ); GenericFont *pFont = getFont( rData.m_tooltipfont );
pFont->init(); if( pFont )
{
rManager.createTooltip( *pFont );
}
else
{
msg_Warn( getIntf(), "Invalid tooltip font: %s",
rData.m_tooltipfont.c_str() );
}
} }
...@@ -381,7 +389,7 @@ void Builder::addText( const BuilderData::Text &rData ) ...@@ -381,7 +389,7 @@ void Builder::addText( const BuilderData::Text &rData )
return; return;
} }
GenericFont *pFont = m_pTheme->m_fonts[rData.m_fontId].get(); GenericFont *pFont = getFont( rData.m_fontId );
if( pFont == NULL ) if( pFont == NULL )
{ {
msg_Err( getIntf(), "Unknown font id: %s", rData.m_fontId.c_str() ); msg_Err( getIntf(), "Unknown font id: %s", rData.m_fontId.c_str() );
...@@ -524,7 +532,7 @@ void Builder::addList( const BuilderData::List &rData ) ...@@ -524,7 +532,7 @@ void Builder::addList( const BuilderData::List &rData )
return; return;
} }
GenericFont *pFont = m_pTheme->m_fonts[rData.m_fontId].get(); GenericFont *pFont = getFont( rData.m_fontId );
if( pFont == NULL ) if( pFont == NULL )
{ {
msg_Err( getIntf(), "Unknown font id: %s", rData.m_fontId.c_str() ); msg_Err( getIntf(), "Unknown font id: %s", rData.m_fontId.c_str() );
...@@ -651,6 +659,32 @@ const Position Builder::makePosition( const string &rLeftTop, ...@@ -651,6 +659,32 @@ const Position Builder::makePosition( const string &rLeftTop,
} }
GenericFont *Builder::getFont( const string &fontId )
{
GenericFont *pFont = m_pTheme->m_fonts[fontId].get();
if( !pFont && fontId == "defaultfont" )
{
#ifdef WIN32_SKINS
string defaultFont = (string)getIntf()->p_libvlc->psz_vlcpath +
"\\skins2\\fonts\\FreeSans.ttf";
#else
string defaultFont = (string)DATA_PATH + "/skins2/fonts/FreeSans.ttf";
#endif
pFont = new FT2Font( getIntf(), defaultFont, 12 );
if( pFont->init() )
{
m_pTheme->m_fonts["defaultfont"] = GenericFontPtr( pFont );
}
else
{
delete pFont;
pFont = NULL;
}
}
return pFont;
}
Bezier *Builder::getPoints( const char *pTag ) const Bezier *Builder::getPoints( const char *pTag ) const
{ {
vector<float> xBez, yBez; vector<float> xBez, yBez;
......
...@@ -84,6 +84,9 @@ class Builder: public SkinObject ...@@ -84,6 +84,9 @@ class Builder: public SkinObject
int xPos, int yPos, int width, int height, int xPos, int yPos, int width, int height,
const Box &rBox ) const; const Box &rBox ) const;
/// Get a font from its id
GenericFont *getFont( const string &fontId );
/// Function to parse "points" tags /// Function to parse "points" tags
Bezier *getPoints( const char *pTag ) const; Bezier *getPoints( const char *pTag ) const;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment