X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiFontLoader.h;h=40c15f5ea0b60ab6391a5ae2532d76257b34f23d;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=c85e8c6f8073d8a4190063f3a21ad56df19c73c3;hpb=fe2085b0e1ce78d457b440384451bdeee2372a47;p=lyx.git diff --git a/src/frontends/qt4/GuiFontLoader.h b/src/frontends/qt4/GuiFontLoader.h index c85e8c6f80..40c15f5ea0 100644 --- a/src/frontends/qt4/GuiFontLoader.h +++ b/src/frontends/qt4/GuiFontLoader.h @@ -9,77 +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 "Font.h" - -#include +class QFont; namespace lyx { -namespace frontend { - -/** - * Qt font loader for LyX. Matches Fonts against - * actual QFont instances, and also caches metrics. - */ -class GuiFontInfo -{ -public: - GuiFontInfo(Font 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(Font const & f); - inline virtual FontMetrics const & metrics(Font const & f) { - return *fontinfo(f).metrics.get(); - } - - /// Get the QFont for this Font - QFont const & get(Font const & f) { - return fontinfo(f).font; - } - - - /// Get font info (font + metrics) for the given LyX font. - GuiFontInfo & fontinfo(Font const & f) { - // fi is a reference to the pointer type (GuiFontInfo *) in the - // fontinfo_ table. - GuiFontInfo * & fi = - fontinfo_[f.family()][f.series()][f.realShape()][f.size()]; - if (!fi) - fi = new GuiFontInfo(f); - return *fi; - } - -private: - /// BUTT ugly ! - GuiFontInfo * fontinfo_[Font::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