summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2019-05-16 14:48:49 +0300
committerMahmoud Badri <mahmoud.badri@qt.io>2019-05-17 08:24:29 +0000
commite029927d5f8d1cf485b0680286dd73c76a6882b5 (patch)
treeb4d2fd7be9c62f68e3baa25622aa0dd3a3085e5f
parent1bfdb226001d7a323ef9f7ec8017bc2eede5f67b (diff)
Remove 3 obsolete Text props
Task-number: QT3DS-2903 Change-Id: I0674abbdcd11395869cdc7c196c9c1aef3b484f3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r--res/DataModelMetadata/en-us/MetaData.xml4
-rw-r--r--res/intro/Intro.uip2
-rw-r--r--src/runtime/q3dstextrenderer.cpp29
-rw-r--r--src/runtime/q3dsuipparser.cpp21
-rw-r--r--src/runtime/q3dsuippresentation.cpp24
-rw-r--r--src/runtime/q3dsuippresentation_p.h14
6 files changed, 19 insertions, 75 deletions
diff --git a/res/DataModelMetadata/en-us/MetaData.xml b/res/DataModelMetadata/en-us/MetaData.xml
index 534b4c1..f323f50 100644
--- a/res/DataModelMetadata/en-us/MetaData.xml
+++ b/res/DataModelMetadata/en-us/MetaData.xml
@@ -466,9 +466,5 @@
<Property name="dropshadowstrength" formalName="Shadow Darkness" description="Darkness of the shadow in percents.\n100 is black, 0 is the same color as the text." min="0" max="100" type="Float" default="80" />
<Property name="dropshadowoffsetx" formalName="Horizontal Offset" description="Horizontal offset of the shadow.\nIt is relative to the font size." min="-100" max="100" type="Float" default="0"/>
<Property name="dropshadowoffsety" formalName="Vertical Offset" description="Vertical offset of the shadow.\nIt is relative to the font size." min="-100" max="100" type="Float" default="0" />
- <!--To be removed in 2.x (when UIP version is next updated)
- <Property name="dropshadowoffset" formalName="Shadow Offset" description="Offset of the shadow. It\nis relative to the font size." min="1" max="100" type="Float" default="10" />
- <Property name="dropshadowhorzalign" formalName="Horizontal Position" description="Horizontal position of the shadow" list="Left:Center:Right" default="Right" />
- <Property name="dropshadowvertalign" formalName="Vertical Position" description="Vertical position of the shadow" list="Top:Middle:Bottom" default="Bottom" />-->
</Text>
</MetaData>
diff --git a/res/intro/Intro.uip b/res/intro/Intro.uip
index 44279c1..2e474ef 100644
--- a/res/intro/Intro.uip
+++ b/res/intro/Intro.uip
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<UIP version="4" >
+<UIP version="6" >
<Project >
<ProjectSettings author="" company="" presentationWidth="1280" presentationHeight="720" maintainAspect="False" >
<CustomColors count="16" >#ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors>
diff --git a/src/runtime/q3dstextrenderer.cpp b/src/runtime/q3dstextrenderer.cpp
index 443a50c..fba32ff 100644
--- a/src/runtime/q3dstextrenderer.cpp
+++ b/src/runtime/q3dstextrenderer.cpp
@@ -241,33 +241,6 @@ void Q3DSTextRenderer::renderText(QPainter *painter, Q3DSTextNode *text3DS)
break;
}
- 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:
- shadowOffsetX = -offset;
- break;
- case Q3DSTextNode::Right:
- shadowOffsetX = offset;
- break;
- case Q3DSTextNode::Center:
- break;
- }
- switch (text3DS->shadowVerticalAlignment()) {
- case Q3DSTextNode::Top:
- shadowOffsetY = -offset;
- break;
- case Q3DSTextNode::Bottom:
- shadowOffsetY = offset;
- break;
- case Q3DSTextNode::Middle:
- break;
- }
- }
-
int wordWrapFlags = 0;
if (dynamicTextArea) {
wordWrapFlags = Qt::TextDontClip;
@@ -302,6 +275,8 @@ void Q3DSTextRenderer::renderText(QPainter *painter, Q3DSTextNode *text3DS)
QRectF bound(xTranslation, nextHeight, qreal(lineWidths.at(i)), lineHeight);
QRectF actualBound;
if (text3DS->shadow()) {
+ qreal shadowOffsetX = qreal(font->font.pixelSize() * text3DS->shadowOffsetX()) / 1000.;
+ qreal shadowOffsetY = qreal(font->font.pixelSize() * text3DS->shadowOffsetY()) / 1000.;
QRectF boundShadow(xTranslation + shadowOffsetX, nextHeight + shadowOffsetY,
qreal(lineWidths.at(i)), lineHeight);
// shadow is a darker shade of the given font color
diff --git a/src/runtime/q3dsuipparser.cpp b/src/runtime/q3dsuipparser.cpp
index ecb79f9..bdcbd69 100644
--- a/src/runtime/q3dsuipparser.cpp
+++ b/src/runtime/q3dsuipparser.cpp
@@ -83,6 +83,8 @@ QT_BEGIN_NAMESPACE
</UIP>
*/
+const int UIP_VERSION = 6; // latest supported version
+
// Returns a Presentation and does not maintain ownership
Q3DSUipPresentation *Q3DSUipParser::parse(const QString &filename,
const QString &presentationName,
@@ -118,13 +120,18 @@ Q3DSUipPresentation *Q3DSUipParser::createPresentation(const QString &presentati
QXmlStreamReader *r = reader();
if (r->readNextStartElement()) {
- if (r->name() == QStringLiteral("UIP")
- && (r->attributes().value(QLatin1String("version")) == QStringLiteral("5")
- || r->attributes().value(QLatin1String("version")) == QStringLiteral("4")
- || r->attributes().value(QLatin1String("version")) == QStringLiteral("3"))) {
- parseUIP();
- } else {
- r->raiseError(QObject::tr("UIP version is too low, and is no longer supported."));
+ if (r->name() == QLatin1String("UIP")) {
+ int uipVersion = r->attributes().value(QLatin1String("version")).toInt();
+ if (uipVersion >= 3 && uipVersion <= UIP_VERSION) {
+ if (uipVersion < 6) {
+ // uipVersion 6 introduced vec4 colors
+ qWarning() << "UIP version is old, Some custom materials, effects, and "
+ "behaviors may not work correctly.";
+ }
+ parseUIP();
+ } else {
+ r->raiseError(QObject::tr("UIP version is too low, and is no longer supported."));
+ }
}
}
diff --git a/src/runtime/q3dsuippresentation.cpp b/src/runtime/q3dsuippresentation.cpp
index ec366a8..7f1396a 100644
--- a/src/runtime/q3dsuippresentation.cpp
+++ b/src/runtime/q3dsuippresentation.cpp
@@ -3707,9 +3707,6 @@ void Q3DSTextNode::setProps(const V &attrs, PropSetFlags flags)
parseProperty(attrs, flags, typeName, QStringLiteral("dropshadowstrength"), &m_shadowStrength);
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);
parseProperty(attrs, flags, typeName, QStringLiteral("elide"), &m_elide);
@@ -3741,9 +3738,6 @@ int Q3DSTextNode::mapChangeFlags(const Q3DSPropertyChangeList &changeList) const
|| it->nameStr() == QLatin1String("dropshadowstrength")
|| 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("wordwrap")
|| it->nameStr() == QLatin1String("elide")
@@ -3818,24 +3812,6 @@ 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");
-}
-
Q3DSPropertyChange Q3DSTextNode::setBoundingBox(const QVector2D &v)
{
return createPropSetter(m_boundingBox, v, "boundingbox");
diff --git a/src/runtime/q3dsuippresentation_p.h b/src/runtime/q3dsuippresentation_p.h
index fde8233..ee3bf47 100644
--- a/src/runtime/q3dsuippresentation_p.h
+++ b/src/runtime/q3dsuippresentation_p.h
@@ -1568,6 +1568,7 @@ private:
class Q3DSV_PRIVATE_EXPORT Q3DSTextNode : public Q3DSNode
{
Q3DS_OBJECT
+
Q_PROPERTY(QString textstring READ text WRITE setText)
Q_PROPERTY(QColor textcolor READ color WRITE setColor)
Q_PROPERTY(QString font READ font WRITE setFont)
@@ -1580,12 +1581,10 @@ class Q3DSV_PRIVATE_EXPORT Q3DSTextNode : public Q3DSNode
Q_PROPERTY(float shadowStrength READ shadowStrength WRITE setShadowStrength)
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)
Q_PROPERTY(Elide elide READ elide WRITE setElide)
+
public:
enum HorizontalAlignment {
Left = 0,
@@ -1639,9 +1638,6 @@ public:
float shadowStrength() const { return m_shadowStrength; }
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; }
Elide elide() const { return m_elide; }
@@ -1658,9 +1654,6 @@ public:
Q3DSPropertyChange setShadowStrength(float 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);
Q3DSPropertyChange setElide(Elide v);
@@ -1681,9 +1674,6 @@ private:
float m_shadowStrength = 80;
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;
Elide m_elide = ElideNone;