diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-04-12 13:08:06 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@digia.com> | 2013-04-12 17:53:40 +0300 |
commit | de431be4a3da6de758a08e1bc63f5b152a66395d (patch) | |
tree | 25bc3bfe8e6594ce3e345699cf9aa01ef195f31d /src/datavis3d | |
parent | bc6b83691901e4fa897e61182acf9b2ddaddc804 (diff) |
Added support for setting font
Change-Id: Id56bd700820ea5b2b7982d0bb4b20dcad838bf78
Change-Id: Id56bd700820ea5b2b7982d0bb4b20dcad838bf78
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavis3d')
-rw-r--r-- | src/datavis3d/engine/q3dbars.cpp | 10 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dbars.h | 3 | ||||
-rw-r--r-- | src/datavis3d/engine/q3dbars_p.h | 2 | ||||
-rw-r--r-- | src/datavis3d/utils/utils.cpp | 7 | ||||
-rw-r--r-- | src/datavis3d/utils/utils_p.h | 3 |
5 files changed, 20 insertions, 5 deletions
diff --git a/src/datavis3d/engine/q3dbars.cpp b/src/datavis3d/engine/q3dbars.cpp index 2ee69338..2fdd5d9c 100644 --- a/src/datavis3d/engine/q3dbars.cpp +++ b/src/datavis3d/engine/q3dbars.cpp @@ -461,7 +461,8 @@ void Q3DBars::drawZoomScene() QDataItem *item = d_ptr->m_zoomSelection->d_ptr->getItem(col); // Create labels // Print label into a QImage using QPainter - QImage label = Utils::printTextToImage(item->d_ptr->valueStr() + QImage label = Utils::printTextToImage(d_ptr->m_font + , item->d_ptr->valueStr() , d_ptr->m_theme->m_textBackgroundColor , d_ptr->m_theme->m_textColor , d_ptr->m_labelTransparency); @@ -1300,6 +1301,12 @@ void Q3DBars::setFontSize(float fontsize) d_ptr->m_fontSize = fontsize; } +void Q3DBars::setFont(const QFont &font) +{ + d_ptr->m_font = font; + d_ptr->m_fontSize = font.pointSizeF(); +} + void Q3DBars::setLabelTransparency(LabelTransparency transparency) { d_ptr->m_labelTransparency = transparency; @@ -1450,6 +1457,7 @@ Q3DBarsPrivate::Q3DBarsPrivate(Q3DBars *q) , m_textureHelper(new TextureHelper()) , m_labelTransparency(Q3DBars::TransparencyNone) , m_fontSize(10.0f) + , m_font(QFont(QStringLiteral("Arial"))) { } diff --git a/src/datavis3d/engine/q3dbars.h b/src/datavis3d/engine/q3dbars.h index f2a978a4..df02e0e8 100644 --- a/src/datavis3d/engine/q3dbars.h +++ b/src/datavis3d/engine/q3dbars.h @@ -192,6 +192,9 @@ public: // Font size adjustment (should it be in enum (smallest, smaller, small, normal, large, larger, largest), or just float? void setFontSize(float fontsize); + // Set font + void setFont(const QFont &font); + // Label transparency adjustment void setLabelTransparency(LabelTransparency transparency); diff --git a/src/datavis3d/engine/q3dbars_p.h b/src/datavis3d/engine/q3dbars_p.h index 1a611915..081bd97b 100644 --- a/src/datavis3d/engine/q3dbars_p.h +++ b/src/datavis3d/engine/q3dbars_p.h @@ -44,6 +44,7 @@ #include "qdatavis3dglobal.h" #include <QOpenGLFunctions> +#include <QFont> class QOpenGLPaintDevice; class QPoint; @@ -139,6 +140,7 @@ public: TextureHelper *m_textureHelper; Q3DBars::LabelTransparency m_labelTransparency; float m_fontSize; + QFont m_font; }; QTCOMMERCIALDATAVIS3D_END_NAMESPACE diff --git a/src/datavis3d/utils/utils.cpp b/src/datavis3d/utils/utils.cpp index 770e24f6..cf59699c 100644 --- a/src/datavis3d/utils/utils.cpp +++ b/src/datavis3d/utils/utils.cpp @@ -141,12 +141,13 @@ void Utils::printText(QPainter *painter, const QString &text, const QPoint &posi painter->restore(); } -QImage Utils::printTextToImage(const QString &text, const QColor &bgrColor, const QColor &txtColor +QImage Utils::printTextToImage(const QFont &font, const QString &text, const QColor &bgrColor + , const QColor &txtColor , Q3DBars::LabelTransparency transparency) { // Calculate text dimensions - QFont valueFont = QFont(QStringLiteral("Arial"), 30); - valueFont.setBold(true); + QFont valueFont = font; + valueFont.setPointSize(30); QFontMetrics valueFM(valueFont); int valueStrWidth = valueFM.width(text); int valueStrHeight = valueFM.height(); diff --git a/src/datavis3d/utils/utils_p.h b/src/datavis3d/utils/utils_p.h index 45de673e..506944ab 100644 --- a/src/datavis3d/utils/utils_p.h +++ b/src/datavis3d/utils/utils_p.h @@ -60,7 +60,8 @@ public: static QVector3D vectorFromColor(const QColor &color); static void printText(QPainter *painter, const QString &text, const QPoint &position , bool absoluteCoords = true, qreal rotation = 0, qreal scale = 1.0f); - static QImage printTextToImage(const QString &text + static QImage printTextToImage(const QFont &font + , const QString &text , const QColor &bgrColor , const QColor &txtColor , Q3DBars::LabelTransparency transparency); |