// Load the font. Copied, generally, from OSD::LoadFont. bool MHIContext::LoadFont(QString name) { QString fullnameA = GetConfDir() + "/" + name; QByteArray fnameA = fullnameA.toAscii(); FT_Error errorA = FT_New_Face(ft_library, fnameA.constData(), 0, &m_face); if (!errorA) return true; QString fullnameB = GetFontsDir() + name; QByteArray fnameB = fullnameB.toAscii(); FT_Error errorB = FT_New_Face(ft_library, fnameB.constData(), 0, &m_face); if (!errorB) return true; QString fullnameC = GetShareDir() + "themes/" + name; QByteArray fnameC = fullnameC.toAscii(); FT_Error errorC = FT_New_Face(ft_library, fnameC.constData(), 0, &m_face); if (!errorC) return true; QString fullnameD = name; QByteArray fnameD = fullnameD.toAscii(); FT_Error errorD = FT_New_Face(ft_library, fnameD.constData(), 0, &m_face); if (!errorD) return true; LOG(VB_GENERAL, LOG_ERR, QString("[mhi] Unable to find font: %1").arg(name)); return false; }
void MythThemeBase::Init(void) { MythMainWindow *mainWindow = GetMythMainWindow(); QRect uiSize = mainWindow->GetUIScreenRect(); d->background = new MythScreenStack(mainWindow, "background"); d->background->DisableEffects(); GetGlobalFontManager()->LoadFonts(GetFontsDir(), "Shared"); GetGlobalFontManager()->LoadFonts(GetMythUI()->GetThemeDir(), "UI"); XMLParseBase::LoadBaseTheme(); d->backgroundscreen = new MythScreenType(d->background, "backgroundscreen"); if (!XMLParseBase::CopyWindowFromBase("backgroundwindow", d->backgroundscreen)) { QString backgroundname = GetMythUI()->qtconfig()->GetSetting("BackgroundPixmap" ); backgroundname = GetMythUI()->GetThemeDir() + backgroundname; d->backimg = new MythUIImage(backgroundname, d->backgroundscreen, "backimg"); d->backimg->SetPosition(mainWindow->NormPoint(QPoint(0, 0))); d->backimg->SetSize(uiSize.width(), uiSize.height()); d->backimg->Load(); } d->background->AddScreen(d->backgroundscreen, false); new MythScreenStack(mainWindow, "main stack", true); new MythScreenStack(mainWindow, "popup stack"); }