X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FGuiFontMetrics.cpp;h=76ebd907064e088a442cdd03fb2097196c1a2f8e;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=a64e21184e5cd30aa0a0b569eb39af267657cad5;hpb=537481ebe535ebd71b8abc66f6805e4ffaa4b358;p=lyx.git diff --git a/src/frontends/qt4/GuiFontMetrics.cpp b/src/frontends/qt4/GuiFontMetrics.cpp index a64e21184e..76ebd90706 100644 --- a/src/frontends/qt4/GuiFontMetrics.cpp +++ b/src/frontends/qt4/GuiFontMetrics.cpp @@ -18,7 +18,9 @@ #include "Language.h" #include "Dimension.h" -#include +#include "insets/Inset.h" + +#include "support/lassert.h" using namespace std; @@ -34,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)); } @@ -77,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)); @@ -102,7 +104,7 @@ int GuiFontMetrics::rbearing(char_type c) const } 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); } @@ -123,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); @@ -178,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; } @@ -189,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; } @@ -215,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