From 884e0194eecb5d0c13218818972542f87ca46393 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Sun, 11 Sep 2011 09:26:05 +0200 Subject: [PATCH] Implement QSGVertexColorMaterial::compare and make the class public Since the opaque state is just as easily settable through the Blending flag, we ditch it Change-Id: I92598e3305bd056fdf0711f1fbd6c1be8bf88275 Reviewed-on: http://codereview.qt-project.org/4628 Reviewed-by: Qt Sanity Bot Reviewed-by: Kim M. Kalland --- src/declarative/scenegraph/qsgdefaultrectanglenode.cpp | 2 +- src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp | 14 +++++++------- ...qsgvertexcolormaterial_p.h => qsgvertexcolormaterial.h} | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) rename src/declarative/scenegraph/util/{qsgvertexcolormaterial_p.h => qsgvertexcolormaterial.h} (94%) diff --git a/src/declarative/scenegraph/qsgdefaultrectanglenode.cpp b/src/declarative/scenegraph/qsgdefaultrectanglenode.cpp index b49966b..2905f06 100644 --- a/src/declarative/scenegraph/qsgdefaultrectanglenode.cpp +++ b/src/declarative/scenegraph/qsgdefaultrectanglenode.cpp @@ -174,7 +174,7 @@ void QSGDefaultRectangleNode::setGradientStops(const QGradientStops &stops) setGeometry(g); setFlag(OwnsGeometry); } - static_cast(material())->setColorsAreOpaque(m_gradient_is_opaque); + static_cast(material())->setFlag(QSGMaterial::Blending, !m_gradient_is_opaque); } m_dirty_geometry = true; diff --git a/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp b/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp index c31e9dc..26edbc2 100644 --- a/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp +++ b/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp @@ -134,20 +134,20 @@ QSGVertexColorMaterial::QSGVertexColorMaterial() } - /*! - Sets if the renderer should treat colors as opaque. + int QSGVertexColorMaterial::compare() const + + As the vertex color material has all its state in the vertex attributes, + all materials will be equal. - Setting this flag can in some cases improve performance. + \internal */ -void QSGVertexColorMaterial::setColorsAreOpaque(bool opaqueHint) +int QSGVertexColorMaterial::compare(const QSGMaterial *other) const { - setFlag(Blending, !opaqueHint); + return 0; } - - /*! \internal */ diff --git a/src/declarative/scenegraph/util/qsgvertexcolormaterial_p.h b/src/declarative/scenegraph/util/qsgvertexcolormaterial.h similarity index 94% rename from src/declarative/scenegraph/util/qsgvertexcolormaterial_p.h rename to src/declarative/scenegraph/util/qsgvertexcolormaterial.h index 8392ef2..c244f63 100644 --- a/src/declarative/scenegraph/util/qsgvertexcolormaterial_p.h +++ b/src/declarative/scenegraph/util/qsgvertexcolormaterial.h @@ -50,12 +50,12 @@ QT_BEGIN_NAMESPACE QT_MODULE(Declarative) -class QSGVertexColorMaterial : public QSGMaterial +class Q_DECLARATIVE_EXPORT QSGVertexColorMaterial : public QSGMaterial { public: QSGVertexColorMaterial(); - void setColorsAreOpaque(bool opaqueHint); + int compare(const QSGMaterial *other) const; protected: virtual QSGMaterialType *type() const; -- 2.7.4