X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiFontLoader.h;h=40c15f5ea0b60ab6391a5ae2532d76257b34f23d;hb=39d569661a3f4411d4501f9a8db9c7360ef5d568;hp=71d10b26d2d272406068539a04cc3a6607521eaf;hpb=00edcc582ff7cfe9cbbc8f7458ea29649bd642d9;p=lyx.git diff --git a/src/frontends/qt4/GuiFontLoader.h b/src/frontends/qt4/GuiFontLoader.h index 71d10b26d2..40c15f5ea0 100644 --- a/src/frontends/qt4/GuiFontLoader.h +++ b/src/frontends/qt4/GuiFontLoader.h @@ -9,76 +9,25 @@ * Full author contact details are available in file CREDITS. */ -#ifndef QT4_FONTLOADER_H -#define QT4_FONTLOADER_H +#ifndef GUI_FONTLOADER_H +#define GUI_FONTLOADER_H -#include "frontends/FontLoader.h" - -#include "GuiFontMetrics.h" - -#include "encoding.h" -#include "lyxfont.h" - -#include +class QFont; namespace lyx { -namespace frontend { - -/** - * Qt font loader for LyX. Matches LyXFonts against - * actual QFont instances, and also caches metrics. - */ -class QLFontInfo { -public: - QLFontInfo(LyXFont const & f); - /// The font instance - QFont font; - /// Metrics on the font - boost::scoped_ptr metrics; -}; +class FontInfo; +namespace frontend { -/// Hold info about a particular font -class GuiFontLoader: public FontLoader -{ -public: - /// - GuiFontLoader(); - - /// Destructor - virtual ~GuiFontLoader(); - - virtual void update(); - virtual bool available(LyXFont const & f); - inline virtual FontMetrics const & metrics(LyXFont const & f) { - return *fontinfo(f).metrics.get(); - } - - /// Get the QFont for this LyXFont - QFont const & get(LyXFont const & f) { - return fontinfo(f).font; - } - - - /// Get font info (font + metrics) for the given LyX font. - QLFontInfo & fontinfo(LyXFont const & f) { - // fi is a reference to the pointer type (QLFontInfo *) in the - // fontinfo_ table. - QLFontInfo * & fi = - fontinfo_[f.family()][f.series()][f.realShape()][f.size()]; - if (!fi) - fi = new QLFontInfo(f); - return *fi; - } - -private: - /// BUTT ugly ! - QLFontInfo * fontinfo_[LyXFont::NUM_FAMILIES][2][4][10]; -}; +class GuiFontMetrics; +/// Metrics on the font +GuiFontMetrics const & getFontMetrics(FontInfo const & f); +/// Get the QFont for this FontInfo +QFont const & getFont(FontInfo const & f); } // namespace frontend } // namespace lyx -#endif // QT4_FONTLOADER_H +#endif // GUI_FONTLOADER_H