X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiFontMetrics.cpp;h=76ebd907064e088a442cdd03fb2097196c1a2f8e;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=67d0a16a90548ccb6c4f0d6d39723bbb1e823755;hpb=14f7e7fffec066a1b787ac2eff5cfda1c5c2a225;p=lyx.git diff --git a/src/frontends/qt4/GuiFontMetrics.cpp b/src/frontends/qt4/GuiFontMetrics.cpp index 67d0a16a90..76ebd90706 100644 --- a/src/frontends/qt4/GuiFontMetrics.cpp +++ b/src/frontends/qt4/GuiFontMetrics.cpp @@ -18,11 +18,11 @@ #include "Language.h" #include "Dimension.h" -#include "support/unicode.h" +#include "insets/Inset.h" -#include +#include "support/lassert.h" -using std::string; +using namespace std; namespace lyx { namespace frontend { @@ -36,7 +36,7 @@ namespace frontend { */ static inline QChar const ucs4_to_qchar(char_type const ucs4) { - BOOST_ASSERT(is_utf16(ucs4)); + LASSERT(is_utf16(ucs4), /**/); return QChar(static_cast(ucs4)); } @@ -79,7 +79,7 @@ int GuiFontMetrics::lbearing(char_type c) const if (!is_utf16(c)) // FIXME: QFontMetrics::leftBearingdoes not support the // full unicode range. Once it does, we could use: - //return metrics_.leftBearing(toqstr(docstring(1,c))); + //return metrics_.leftBearing(toqstr(docstring(1, c))); return 0; return metrics_.leftBearing(ucs4_to_qchar(c)); @@ -101,11 +101,12 @@ int GuiFontMetrics::rbearing(char_type c) const if (is_utf16(c)) { QChar sc = ucs4_to_qchar(c); value = width(c) - metrics_.rightBearing(sc); - } else - // FIXME: QFontMetrics::leftBearingdoes not support the + } else { + // FIXME: QFontMetrics::leftBearing does not support the // full unicode range. Once it does, we could use: - // metrics_.rightBearing(toqstr(docstring(1,c))); + // metrics_.rightBearing(toqstr(docstring(1, c))); value = width(c); + } rbearing_cache_.insert(c, value); @@ -124,7 +125,7 @@ int GuiFontMetrics::smallcapsWidth(char_type c) const else return metrics_.width(qc); } else { - QString const s = toqstr(docstring(1,c)); + QString const s = toqstr(docstring(1, c)); QString const us = s.toUpper(); if (s != us) return smallcaps_metrics_.width(us); @@ -179,8 +180,9 @@ int GuiFontMetrics::signedWidth(docstring const & s) const void GuiFontMetrics::rectText(docstring const & str, int & w, int & ascent, int & descent) const { - static int const d = 2; - w = width(str) + d * 2 + 2; + static int const d = Inset::TEXT_TO_INSET_OFFSET / 2; + + w = width(str) + Inset::TEXT_TO_INSET_OFFSET; ascent = metrics_.ascent() + d; descent = metrics_.descent() + d; } @@ -190,10 +192,8 @@ void GuiFontMetrics::rectText(docstring const & str, void GuiFontMetrics::buttonText(docstring const & str, int & w, int & ascent, int & descent) const { - static int const d = 3; - w = width(str) + d * 2 + 2; - ascent = metrics_.ascent() + d; - descent = metrics_.descent() + d; + rectText(str, w, ascent, descent); + w += Inset::TEXT_TO_INSET_OFFSET; } @@ -216,7 +216,7 @@ GuiFontMetrics::AscendDescend const GuiFontMetrics::fillMetricsCache( if (is_utf16(c)) r = metrics_.boundingRect(ucs4_to_qchar(c)); else - r = metrics_.boundingRect(toqstr(docstring(1,c))); + r = metrics_.boundingRect(toqstr(docstring(1, c))); AscendDescend ad = { -r.top(), r.bottom() + 1}; // We could as well compute the width but this is not really @@ -272,5 +272,5 @@ int GuiFontMetrics::descent(char_type c) const return value.descent; } -} // frontend -} // lyx +} // namespace frontend +} // namespace lyx