summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runtime/q3dstextrenderer.cpp7
-rw-r--r--src/runtime/q3dsuippresentation.cpp29
-rw-r--r--src/runtime/q3dsuippresentation_p.h32
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;
};