X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FFontLoader.h;h=ac1854a345073e730665b4ddf5c62a7b2fdfe3de;hb=161f7b7f62cb33dab681add6c5b5b68a887e2ea1;hp=e674a26ff1de3e9c14475b91bbc16e8095274ff3;hpb=00edcc582ff7cfe9cbbc8f7458ea29649bd642d9;p=lyx.git diff --git a/src/frontends/FontLoader.h b/src/frontends/FontLoader.h index e674a26ff1..ac1854a345 100644 --- a/src/frontends/FontLoader.h +++ b/src/frontends/FontLoader.h @@ -9,12 +9,15 @@ * Full author contact details are available in file CREDITS. */ -#ifndef LYX_FONTLOADER_H -#define LYX_FONTLOADER_H +#ifndef FONTLOADER_H +#define FONTLOADER_H -class LyXFont; +#include "support/strfwd.h" namespace lyx { + +class FontInfo; + namespace frontend { class FontMetrics; @@ -24,21 +27,30 @@ class FontLoader { public: /// - FontLoader() {} - /// - virtual ~FontLoader() {} + FontLoader(); + /// Clears cache + ~FontLoader(); /// Update fonts after zoom, dpi, font names, or norm change - virtual void update() = 0; + // (basically by deleting all cached values) + void update(); /// Is the given font available ? - virtual bool available(LyXFont const & f) = 0; + bool available(FontInfo const & f); + + /// Can the given symbol be displayed in general? + bool canBeDisplayed(char_type c); - /// Get the Font metrics for this LyXFont - virtual FontMetrics const & metrics(LyXFont const & f) = 0; + /// Get the Font metrics for this FontInfo + FontMetrics const & metrics(FontInfo const & f); }; + } // namespace frontend + +/// Implementation is in Application.cpp +extern frontend::FontLoader & theFontLoader(); + } // namespace lyx -#endif // QFONT_LOADER_H +#endif // FONTLOADER_H