#include "geometrymanager.h" #include "config.h" #include "fontmanager.h" cFontManager::cFontManager() { } cFontManager::~cFontManager() { DeleteFonts(); } void cFontManager::SetFonts() { InitialiseFontType(); //Common Fonts FontButton = CreateFont(geoManager.footerHeight/3 + 4 + tvguideConfig.FontButtonDelta); FontDetailView = CreateFont(geoManager.osdHeight/30 + tvguideConfig.FontDetailViewDelta); FontDetailViewSmall = CreateFont(geoManager.osdHeight/40 + tvguideConfig.FontDetailViewSmallDelta); FontDetailHeader = CreateFont(geoManager.osdHeight/27 + tvguideConfig.FontDetailHeaderDelta); FontDetailHeaderLarge = CreateFont(geoManager.osdHeight/20 + tvguideConfig.FontDetailHeaderDelta); FontMessageBox = CreateFont(geoManager.osdHeight/33 + tvguideConfig.FontMessageBoxDelta); FontMessageBoxLarge = CreateFont(geoManager.osdHeight/30 + tvguideConfig.FontMessageBoxLargeDelta); FontStatusHeader = CreateFont(geoManager.statusHeaderHeight/6 - 4 + tvguideConfig.FontStatusHeaderDelta); FontStatusHeaderLarge = CreateFont(geoManager.statusHeaderHeight/5 + tvguideConfig.FontStatusHeaderLargeDelta); //Fonts for vertical Display FontChannelHeader = CreateFont(geoManager.colWidth/10 + tvguideConfig.FontChannelHeaderDelta); FontChannelGroups = CreateFont(geoManager.colWidth/8 + tvguideConfig.FontChannelGroupsDelta); FontGrid = CreateFont(geoManager.colWidth/12 + tvguideConfig.FontGridDelta); FontGridSmall = CreateFont(geoManager.colWidth/12 + tvguideConfig.FontGridSmallDelta); FontTimeLineWeekday = CreateFont(geoManager.timeLineWidth/3 + tvguideConfig.FontTimeLineWeekdayDelta); FontTimeLineDate = CreateFont(geoManager.timeLineWidth/4 + tvguideConfig.FontTimeLineDateDelta); FontTimeLineTime = CreateFont(geoManager.timeLineWidth/4 + tvguideConfig.FontTimeLineTimeDelta); //Fonts for horizontal Display FontChannelHeaderHorizontal = CreateFont(geoManager.rowHeight/3 + tvguideConfig.FontChannelHeaderHorizontalDelta); FontChannelGroupsHorizontal = CreateFont(geoManager.rowHeight/3 + 5 + tvguideConfig.FontChannelGroupsHorizontalDelta); FontGridHorizontal = CreateFont(geoManager.rowHeight/3 + 5 + tvguideConfig.FontGridHorizontalDelta); FontGridHorizontalSmall = CreateFont(geoManager.rowHeight/4 + tvguideConfig.FontGridHorizontalSmallDelta); FontTimeLineDateHorizontal = CreateFont(geoManager.timeLineHeight/2 + 5 + tvguideConfig.FontTimeLineDateHorizontalDelta); FontTimeLineTimeHorizontal = CreateFont(geoManager.timeLineHeight/2 + tvguideConfig.FontTimeLineTimeHorizontalDelta); //Fonts for RecMenu FontRecMenuItem = CreateFont(geoManager.osdHeight/30 + tvguideConfig.FontRecMenuItemDelta); FontRecMenuItemSmall = CreateFont(geoManager.osdHeight/40 + tvguideConfig.FontRecMenuItemSmallDelta); FontRecMenuItemLarge = CreateFont(geoManager.osdHeight/25 + tvguideConfig.FontRecMenuItemLargeDelta); } void cFontManager::DeleteFonts() { delete FontButton; delete FontDetailView; delete FontDetailViewSmall; delete FontDetailHeader; delete FontDetailHeaderLarge; delete FontMessageBox; delete FontMessageBoxLarge; delete FontStatusHeader; delete FontStatusHeaderLarge; delete FontChannelHeader; delete FontChannelGroups; delete FontGrid; delete FontGridSmall; delete FontTimeLineWeekday; delete FontTimeLineDate; delete FontTimeLineTime; delete FontChannelHeaderHorizontal; delete FontChannelGroupsHorizontal; delete FontGridHorizontal; delete FontGridHorizontalSmall; delete FontTimeLineDateHorizontal; delete FontTimeLineTimeHorizontal; delete FontRecMenuItem; delete FontRecMenuItemSmall; delete FontRecMenuItemLarge; } void cFontManager::InitialiseFontType(void) { if (tvguideConfig.fontIndex == 0) { fontName = tvguideConfig.fontNameDefault; } else { cStringList availableFonts; cFont::GetAvailableFontNames(&availableFonts); if (availableFonts[tvguideConfig.fontIndex-1]) { fontName = availableFonts[tvguideConfig.fontIndex-1]; } else fontName = tvguideConfig.fontNameDefault; } cFont *test = NULL; test = cFont::CreateFont(*fontName, 30); if (!test) { fontName = DefaultFontSml; } delete test; esyslog("tvguide: Set Font to %s", *fontName); } cFont *cFontManager::CreateFont(int size) { return cFont::CreateFont(*fontName, size); }