diff options
author | louis <louis.braun@gmx.de> | 2013-12-21 11:25:03 +0100 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2013-12-21 11:25:03 +0100 |
commit | 4c61104675de5f1fac7e7fa95fb5743e18defc02 (patch) | |
tree | 7a3ee90e3b28246e8d4595954d4559445fb7ebe7 /fontmanager.c | |
parent | 8aa2c81d3165a0517115337362f1203ea4bdd899 (diff) | |
download | vdr-plugin-tvguide-4c61104675de5f1fac7e7fa95fb5743e18defc02.tar.gz vdr-plugin-tvguide-4c61104675de5f1fac7e7fa95fb5743e18defc02.tar.bz2 |
Version 1.2.0pre
Diffstat (limited to 'fontmanager.c')
-rw-r--r-- | fontmanager.c | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/fontmanager.c b/fontmanager.c new file mode 100644 index 0000000..5123b7e --- /dev/null +++ b/fontmanager.c @@ -0,0 +1,92 @@ +#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);
+}
+
|