mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 15:01:48 +02:00
93 lines
4.2 KiB
C
93 lines
4.2 KiB
C
#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/25 + 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);
|
|
}
|
|
|
|
void cFontManager::DeleteFonts() {
|
|
delete FontButton;
|
|
delete FontDetailView;
|
|
delete FontDetailViewSmall;
|
|
delete FontDetailHeader;
|
|
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;
|
|
}
|
|
|
|
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);
|
|
}
|
|
|