]> git.lyx.org Git - features.git/commitdiff
enable Font cache only for MacOSX and inline width() for other platform.
authorAbdelrazak Younes <younes@lyx.org>
Wed, 4 Oct 2006 10:08:51 +0000 (10:08 +0000)
committerAbdelrazak Younes <younes@lyx.org>
Wed, 4 Oct 2006 10:08:51 +0000 (10:08 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15233 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/GuiFontLoader.C
src/frontends/qt4/GuiFontLoader.h

index 3f9fe409c9a37e790ed5e66929c7e176cf1bd91e..e75bbad8490eddc3ed7a2aa976ee8ddcac5845c1 100644 (file)
@@ -289,12 +289,9 @@ QLFontInfo::QLFontInfo(LyXFont const & f)
        metrics = QFontMetrics(font);
 }
 
-
+#ifdef USE_LYX_FONTCACHE
 int QLFontInfo::width(Uchar val)
 {
-// Starting with version 3.1.0, Qt/X11 does its own caching of
-// character width, so it is not necessary to provide ours.
-#if defined (USE_LYX_FONTCACHE)
        QLFontInfo::WidthCache::const_iterator cit = widthcache.find(val);
        if (cit != widthcache.end())
                return cit->second;
@@ -302,10 +299,8 @@ int QLFontInfo::width(Uchar val)
        int const w = metrics.width(QChar(val));
        widthcache[val] = w;
        return w;
-#else
-       return metrics.width(QChar(val));
-#endif
 }
+#endif
 
 
 bool GuiFontLoader::available(LyXFont const & f)
index 3532aa98e7a5cb99aac304936c6b9ebeb60d3711..566b7d44631f28aaaec2dc4e35dc2b7fcb64c65d 100644 (file)
 #include <QFont>
 #include <QFontMetrics>
 
-//#if QT_VERSION < 0x030100
+// Starting with version 3.1.0, Qt/X11 does its own caching of
+// character width, so it is not necessary to provide ours.
+#if defined(Q_WS_MACX)
 #define USE_LYX_FONTCACHE
-//#endif
-
-#if defined(USE_LYX_FONTCACHE)
 #include <map>
 #endif
 
@@ -39,19 +38,24 @@ class QLFontInfo {
 public:
        QLFontInfo(LyXFont const & f);
 
-       /// Return pixel width for the given unicode char
-       int width(Uchar val);
-
        /// The font instance
        QFont font;
        /// Metrics on the font
        QFontMetrics metrics;
 
-#if defined(USE_LYX_FONTCACHE)
+#ifndef USE_LYX_FONTCACHE
+       /// Return pixel width for the given unicode char
+       int width(Uchar val) { return metrics.width(QChar(val)); }
+
+#else
+       /// Return pixel width for the given unicode char
+       int width(Uchar val);
+
+private:
        typedef std::map<Uchar, int> WidthCache;
        /// Cache of char widths
        WidthCache widthcache;
-#endif
+#endif // USE_LYX_FONTCACHE
 };