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;
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)
#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
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
};