From d7e18d6f6d4beeb45c615214d03d0e083d4434e5 Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Wed, 11 Feb 2015 11:04:04 -0800 Subject: [PATCH] Update TextOverlay::textSize to use new TextRenderer::getExtents --- interface/src/ui/overlays/TextOverlay.cpp | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/interface/src/ui/overlays/TextOverlay.cpp b/interface/src/ui/overlays/TextOverlay.cpp index 2f4b0d355d..f3b05b7300 100644 --- a/interface/src/ui/overlays/TextOverlay.cpp +++ b/interface/src/ui/overlays/TextOverlay.cpp @@ -165,19 +165,8 @@ QScriptValue TextOverlay::getProperty(const QString& property) { } QSizeF TextOverlay::textSize(const QString& text) const { + auto textRenderer = TextRenderer::getInstance(SANS_FONT_FAMILY, _fontSize, DEFAULT_FONT_WEIGHT); + auto extents = textRenderer->computeExtent(text); - QFont font(SANS_FONT_FAMILY, _fontSize, DEFAULT_FONT_WEIGHT); // Same font properties as render() - QFontMetrics fontMetrics(font); - const int TEXT_HEIGHT_ADJUST = -2; // Experimentally determined for the specified font - - QStringList lines = text.split(QRegExp("\r\n|\r|\n")); - - int width = 0; - for (int i = 0; i < lines.count(); i += 1) { - width = std::max(width, fontMetrics.width(qPrintable(lines[i]))); - } - - int height = lines.count() * (fontMetrics.height() + TEXT_HEIGHT_ADJUST); - - return QSizeF(width, height); + return QSizeF(extents.x, extents.y); }