aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorTasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>2023-01-24 00:49:50 +0900
committerTasuku Suzuki <tasuku.suzuki@signal-slot.co.jp>2023-01-24 17:21:08 +0900
commit7827d7b27f142c2035ab8aa69d3ed0907d74f238 (patch)
treea32733b80634221e4e4b00c77a14e990f9580ea4 /src/quick
parent2073fb40bef49ffab642b045f6be7f2b6f1e77fb (diff)
Fix build with -no-feature-quick-shadereffect
Changes the feature from PRIVATE to PUBLIC to disable the private layer property in qquickitem.h. Disables UniformAnimator and Item::layer. Fixes missing headers seen by disabling the feature. Pick-to: 6.5 Change-Id: I9025568c5d98cb708ed2fcfb323ac33c06c2ccaf Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/configure.cmake2
-rw-r--r--src/quick/items/qquickitem.cpp6
-rw-r--r--src/quick/items/qquickitem.h2
-rw-r--r--src/quick/items/qquickitem_p.h2
-rw-r--r--src/quick/util/qquickanimator.cpp2
-rw-r--r--src/quick/util/qquickanimator_p.h4
-rw-r--r--src/quick/util/qquickanimator_p_p.h2
-rw-r--r--src/quick/util/qquickanimatorjob.cpp4
-rw-r--r--src/quick/util/qquickanimatorjob_p.h2
9 files changed, 21 insertions, 5 deletions
diff --git a/src/quick/configure.cmake b/src/quick/configure.cmake
index b944f96026..ad4c645983 100644
--- a/src/quick/configure.cmake
+++ b/src/quick/configure.cmake
@@ -103,7 +103,7 @@ qt_feature("quick-repeater" PRIVATE
PURPOSE "Provides the Repeater item."
CONDITION QT_FEATURE_qml_delegate_model
)
-qt_feature("quick-shadereffect" PRIVATE
+qt_feature("quick-shadereffect" PUBLIC
SECTION "Qt Quick"
LABEL "ShaderEffect item"
PURPOSE "Provides Shader effects."
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 5b293afaa3..cc860c9ae3 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -8968,23 +8968,21 @@ QSGTextureProvider *QQuickItem::textureProvider() const
\sa Window::palette, Popup::palette, ColorGroup, Palette, SystemPalette
*/
+#if QT_CONFIG(quick_shadereffect)
/*!
\property QQuickItem::layer
\internal
*/
QQuickItemLayer *QQuickItemPrivate::layer() const
{
-#if QT_CONFIG(quick_shadereffect)
if (!extra.isAllocated() || !extra->layer) {
extra.value().layer = new QQuickItemLayer(const_cast<QQuickItem *>(q_func()));
if (!componentComplete)
extra->layer->classBegin();
}
return extra->layer;
-#else
- return 0;
-#endif
}
+#endif
/*!
\internal
diff --git a/src/quick/items/qquickitem.h b/src/quick/items/qquickitem.h
index 2df6a90f91..a9dbc4d4ef 100644
--- a/src/quick/items/qquickitem.h
+++ b/src/quick/items/qquickitem.h
@@ -114,7 +114,9 @@ class Q_QUICK_EXPORT QQuickItem : public QObject, public QQmlParserStatus
Q_PROPERTY(qreal implicitHeight READ implicitHeight WRITE setImplicitHeight NOTIFY implicitHeightChanged)
Q_PROPERTY(QObject *containmentMask READ containmentMask WRITE setContainmentMask NOTIFY containmentMaskChanged REVISION(2, 11))
+#if QT_CONFIG(quick_shadereffect)
Q_PRIVATE_PROPERTY(QQuickItem::d_func(), QQuickItemLayer *layer READ layer DESIGNABLE false CONSTANT FINAL)
+#endif
Q_CLASSINFO("DefaultProperty", "data")
Q_CLASSINFO("ParentProperty", "parent")
diff --git a/src/quick/items/qquickitem_p.h b/src/quick/items/qquickitem_p.h
index ed609acf5a..8fe7686a62 100644
--- a/src/quick/items/qquickitem_p.h
+++ b/src/quick/items/qquickitem_p.h
@@ -250,7 +250,9 @@ public:
QQuickAnchorLine verticalCenter() const;
QQuickAnchorLine baseline() const;
+#if QT_CONFIG(quick_shadereffect)
QQuickItemLayer *layer() const;
+#endif
void localizedTouchEvent(const QTouchEvent *event, bool isFiltering, QMutableTouchEvent *localized);
bool hasPointerHandlers() const;
diff --git a/src/quick/util/qquickanimator.cpp b/src/quick/util/qquickanimator.cpp
index 6a58e2c421..7b73e9e59b 100644
--- a/src/quick/util/qquickanimator.cpp
+++ b/src/quick/util/qquickanimator.cpp
@@ -472,6 +472,7 @@ QQuickRotationAnimator::RotationDirection QQuickRotationAnimator::direction() co
return d->direction;
}
+#if QT_CONFIG(quick_shadereffect)
/*!
\qmltype UniformAnimator
\instantiates QQuickUniformAnimator
@@ -549,6 +550,7 @@ QQuickAnimatorJob *QQuickUniformAnimator::createJob() const
job->setUniform(u.toLatin1());
return job;
}
+#endif
QT_END_NAMESPACE
diff --git a/src/quick/util/qquickanimator_p.h b/src/quick/util/qquickanimator_p.h
index 5be36cb1f9..0dd5738464 100644
--- a/src/quick/util/qquickanimator_p.h
+++ b/src/quick/util/qquickanimator_p.h
@@ -147,6 +147,7 @@ protected:
QString propertyName() const override { return QStringLiteral("rotation"); }
};
+#if QT_CONFIG(quick_shadereffect)
class QQuickUniformAnimatorPrivate;
class Q_QUICK_PRIVATE_EXPORT QQuickUniformAnimator : public QQuickAnimator
{
@@ -169,6 +170,7 @@ protected:
QQuickAnimatorJob *createJob() const override;
QString propertyName() const override;
};
+#endif
QT_END_NAMESPACE
@@ -178,5 +180,7 @@ QML_DECLARE_TYPE(QQuickYAnimator)
QML_DECLARE_TYPE(QQuickScaleAnimator)
QML_DECLARE_TYPE(QQuickRotationAnimator)
QML_DECLARE_TYPE(QQuickOpacityAnimator)
+#if QT_CONFIG(quick_shadereffect)
QML_DECLARE_TYPE(QQuickUniformAnimator)
+#endif
#endif // QQUICKANIMATOR_P_H
diff --git a/src/quick/util/qquickanimator_p_p.h b/src/quick/util/qquickanimator_p_p.h
index 550461bec7..29dd34a8e8 100644
--- a/src/quick/util/qquickanimator_p_p.h
+++ b/src/quick/util/qquickanimator_p_p.h
@@ -59,11 +59,13 @@ public:
QQuickRotationAnimator::RotationDirection direction;
};
+#if QT_CONFIG(quick_shadereffect)
class QQuickUniformAnimatorPrivate : public QQuickAnimatorPrivate
{
public:
QString uniform;
};
+#endif
QT_END_NAMESPACE
diff --git a/src/quick/util/qquickanimatorjob.cpp b/src/quick/util/qquickanimatorjob.cpp
index 599b5515cb..1ac87b6b74 100644
--- a/src/quick/util/qquickanimatorjob.cpp
+++ b/src/quick/util/qquickanimatorjob.cpp
@@ -7,7 +7,9 @@
#include "qquickanimator_p.h"
#include "qquickanimator_p_p.h"
#include <private/qquickitem_p.h>
+#if QT_CONFIG(quick_shadereffect)
#include <private/qquickshadereffect_p.h>
+#endif
#include <private/qanimationgroupjob_p.h>
#include <qcoreapplication.h>
@@ -575,6 +577,7 @@ void QQuickOpacityAnimatorJob::updateCurrentTime(int time)
m_opacityNode->setOpacity(m_value);
}
+#if QT_CONFIG(quick_shadereffect)
QQuickUniformAnimatorJob::QQuickUniformAnimatorJob()
{
m_isUniform = true;
@@ -616,6 +619,7 @@ void QQuickUniformAnimatorJob::invalidate()
{
m_effect = nullptr;
}
+#endif
QT_END_NAMESPACE
diff --git a/src/quick/util/qquickanimatorjob_p.h b/src/quick/util/qquickanimatorjob_p.h
index 8065dfc934..fef29ac385 100644
--- a/src/quick/util/qquickanimatorjob_p.h
+++ b/src/quick/util/qquickanimatorjob_p.h
@@ -259,6 +259,7 @@ private:
QSGOpacityNode *m_opacityNode;
};
+#if QT_CONFIG(quick_shadereffect)
class QQuickShaderEffect;
class Q_QUICK_PRIVATE_EXPORT QQuickUniformAnimatorJob : public QQuickAnimatorJob
@@ -281,6 +282,7 @@ private:
QByteArray m_uniform;
QQuickShaderEffect *m_effect = nullptr;
};
+#endif
QT_END_NAMESPACE