diff options
-rw-r--r-- | src/runtime/q3dstextrenderer.cpp | 7 | ||||
-rw-r--r-- | src/runtime/q3dsuippresentation.cpp | 29 | ||||
-rw-r--r-- | src/runtime/q3dsuippresentation_p.h | 32 |
3 files changed, 47 insertions, 21 deletions
diff --git a/src/runtime/q3dstextrenderer.cpp b/src/runtime/q3dstextrenderer.cpp index edc630f..cddca08 100644 --- a/src/runtime/q3dstextrenderer.cpp +++ b/src/runtime/q3dstextrenderer.cpp @@ -238,9 +238,10 @@ void Q3DSTextRenderer::renderText(QPainter *painter, Q3DSTextNode *text3DS) break; } - qreal shadowOffsetX = 0.; - qreal shadowOffsetY = 0.; - if (text3DS->shadow()) { + qreal shadowOffsetX = qreal(font->font.pixelSize() * text3DS->shadowOffsetX()) / 1000.; + qreal shadowOffsetY = qreal(font->font.pixelSize() * text3DS->shadowOffsetY()) / 1000.; + // To be removed in 2.x (when UIP version is next updated) + if (text3DS->shadow() && shadowOffsetX == 0. && shadowOffsetY == 0.) { const qreal offset = qreal(text3DS->shadowOffset()) / 10.; switch (text3DS->shadowHorizontalAlignment()) { case Q3DSTextNode::Left: diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp index 260f4c4..f0424c8 100644 --- a/src/runtime/q3dsuippresentation.cpp +++ b/src/runtime/q3dsuippresentation.cpp @@ -3551,9 +3551,11 @@ void Q3DSTextNode::setProps(const V &attrs, PropSetFlags flags) parseProperty(attrs, flags, typeName, QStringLiteral("tracking"), &m_tracking); parseProperty(attrs, flags, typeName, QStringLiteral("dropshadow"), &m_shadow); parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowstrength"), &m_shadowStrength); - parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowoffset"), &m_shadowOffset); - parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowhorzalign"), &m_shadowHorzAlign); - parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowvertalign"), &m_shadowVertAlign); + parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowoffsetx"), &m_shadowOffsetX); + parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowoffsety"), &m_shadowOffsetY); + parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowoffset"), &m_shadowOffset); // To be removed in 2.x (when UIP version is next updated) + parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowhorzalign"), &m_shadowHorzAlign); // To be removed in 2.x (when UIP version is next updated) + parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowvertalign"), &m_shadowVertAlign); // To be removed in 2.x (when UIP version is next updated) parseSizeProperty(attrs, flags, typeName, QStringLiteral("boundingbox"), &m_boundingBox); parseProperty(attrs, flags, typeName, QStringLiteral("wordwrap"), &m_wordWrap); @@ -3582,9 +3584,11 @@ int Q3DSTextNode::mapChangeFlags(const Q3DSPropertyChangeList &changeList) const || it->nameStr() == QLatin1String("tracking") || it->nameStr() == QLatin1String("dropshadow") || it->nameStr() == QLatin1String("dropshadowstrength") - || it->nameStr() == QLatin1String("dropshadowoffset") - || it->nameStr() == QLatin1String("dropshadowhorzalign") - || it->nameStr() == QLatin1String("dropshadowvertalign") + || it->nameStr() == QLatin1String("dropshadowoffsetx") + || it->nameStr() == QLatin1String("dropshadowoffsety") + || it->nameStr() == QLatin1String("dropshadowoffset") // To be removed in 2.x (when UIP version is next updated) + || it->nameStr() == QLatin1String("dropshadowhorzalign") // To be removed in 2.x (when UIP version is next updated) + || it->nameStr() == QLatin1String("dropshadowvertalign") // To be removed in 2.x (when UIP version is next updated) || it->nameStr() == QLatin1String("boundingbox") || it->nameStr() == QLatin1String("size") || it->nameStr() == QLatin1String("font") @@ -3647,16 +3651,29 @@ Q3DSPropertyChange Q3DSTextNode::setShadowStrength(float v) return createPropSetter(m_shadowStrength, v, "dropshadowstrength"); } +Q3DSPropertyChange Q3DSTextNode::setShadowOffsetX(float v) +{ + return createPropSetter(m_shadowOffsetX, v, "dropshadowoffsetx"); +} + +Q3DSPropertyChange Q3DSTextNode::setShadowOffsetY(float v) +{ + return createPropSetter(m_shadowOffsetY, v, "dropshadowoffsety"); +} + +// To be removed in 2.x (when UIP version is next updated) Q3DSPropertyChange Q3DSTextNode::setShadowOffset(float v) { return createPropSetter(m_shadowOffset, v, "dropshadowoffset"); } +// To be removed in 2.x (when UIP version is next updated) Q3DSPropertyChange Q3DSTextNode::setShadowHorizontalAlignment(HorizontalAlignment v) { return createPropSetter(m_shadowHorzAlign, v, "dropshadowhorzalign"); } +// To be removed in 2.x (when UIP version is next updated) Q3DSPropertyChange Q3DSTextNode::setShadowVerticalAlignment(VerticalAlignment v) { return createPropSetter(m_shadowVertAlign, v, "dropshadowvertalign"); diff --git a/src/runtime/q3dsuippresentation_p.h b/src/runtime/q3dsuippresentation_p.h index 064456b..afdbeba 100644 --- a/src/runtime/q3dsuippresentation_p.h +++ b/src/runtime/q3dsuippresentation_p.h @@ -1549,9 +1549,11 @@ class Q3DSV_PRIVATE_EXPORT Q3DSTextNode : public Q3DSNode Q_PROPERTY(float tracking READ tracking WRITE setTracking) Q_PROPERTY(bool shadow READ shadow WRITE setShadow) Q_PROPERTY(float shadowStrength READ shadowStrength WRITE setShadowStrength) - Q_PROPERTY(float shadowOffset READ shadowOffset WRITE setShadowOffset) - Q_PROPERTY(HorizontalAlignment shadowHorzAlign READ shadowHorizontalAlignment WRITE setShadowHorizontalAlignment) - Q_PROPERTY(VerticalAlignment shadowVertAlign READ shadowVerticalAlignment WRITE setShadowVerticalAlignment) + Q_PROPERTY(float shadowOffsetX READ shadowOffsetX WRITE setShadowOffsetX) + Q_PROPERTY(float shadowOffsetY READ shadowOffsetY WRITE setShadowOffsetY) + Q_PROPERTY(float shadowOffset READ shadowOffset WRITE setShadowOffset) // To be removed in 2.x (when UIP version is next updated) + Q_PROPERTY(HorizontalAlignment shadowHorzAlign READ shadowHorizontalAlignment WRITE setShadowHorizontalAlignment) // To be removed in 2.x (when UIP version is next updated) + Q_PROPERTY(VerticalAlignment shadowVertAlign READ shadowVerticalAlignment WRITE setShadowVerticalAlignment) // To be removed in 2.x (when UIP version is next updated) Q_PROPERTY(QVector2D boundingBox READ boundingBox WRITE setBoundingBox) Q_PROPERTY(WordWrap wordWrap READ wordWrap WRITE setWordWrap) public: @@ -1597,9 +1599,11 @@ public: float tracking() const { return m_tracking; } bool shadow() const { return m_shadow; } float shadowStrength() const { return m_shadowStrength; } - float shadowOffset() const { return m_shadowOffset; } - HorizontalAlignment shadowHorizontalAlignment() const { return m_shadowHorzAlign; } - VerticalAlignment shadowVerticalAlignment() const { return m_shadowVertAlign; } + float shadowOffsetX() const { return m_shadowOffsetX; } + float shadowOffsetY() const { return m_shadowOffsetY; } + float shadowOffset() const { return m_shadowOffset; } // To be removed in 2.x (when UIP version is next updated) + HorizontalAlignment shadowHorizontalAlignment() const { return m_shadowHorzAlign; } // To be removed in 2.x (when UIP version is next updated) + VerticalAlignment shadowVerticalAlignment() const { return m_shadowVertAlign; } // To be removed in 2.x (when UIP version is next updated) QVector2D boundingBox() const { return m_boundingBox; } WordWrap wordWrap() const { return m_wordWrap; } @@ -1613,9 +1617,11 @@ public: Q3DSPropertyChange setTracking(float v); Q3DSPropertyChange setShadow(bool v); Q3DSPropertyChange setShadowStrength(float v); - Q3DSPropertyChange setShadowOffset(float v); - Q3DSPropertyChange setShadowHorizontalAlignment(HorizontalAlignment v); - Q3DSPropertyChange setShadowVerticalAlignment(VerticalAlignment v); + Q3DSPropertyChange setShadowOffsetX(float v); + Q3DSPropertyChange setShadowOffsetY(float v); + Q3DSPropertyChange setShadowOffset(float v); // To be removed in 2.x (when UIP version is next updated) + Q3DSPropertyChange setShadowHorizontalAlignment(HorizontalAlignment v); // To be removed in 2.x (when UIP version is next updated) + Q3DSPropertyChange setShadowVerticalAlignment(VerticalAlignment v); // To be removed in 2.x (when UIP version is next updated) Q3DSPropertyChange setBoundingBox(const QVector2D &v); Q3DSPropertyChange setWordWrap(WordWrap v); @@ -1633,9 +1639,11 @@ private: float m_tracking = 0; bool m_shadow = false; float m_shadowStrength = 80; - float m_shadowOffset = 10; - HorizontalAlignment m_shadowHorzAlign = Right; - VerticalAlignment m_shadowVertAlign = Bottom; + float m_shadowOffsetX = 0; + float m_shadowOffsetY = 0; + float m_shadowOffset = 10; // To be removed in 2.x (when UIP version is next updated) + HorizontalAlignment m_shadowHorzAlign = Right; // To be removed in 2.x (when UIP version is next updated) + VerticalAlignment m_shadowVertAlign = Bottom; // To be removed in 2.x (when UIP version is next updated) QVector2D m_boundingBox; WordWrap m_wordWrap = WrapWord; }; |