summaryrefslogtreecommitdiffstats
path: root/src/render/framegraph/qlayerfilter.h
diff options
context:
space:
mode:
authorJuan José Casafranca <juan.casafranca@kdab.com>2017-05-23 23:38:53 +0200
committerSean Harmer <sean.harmer@kdab.com>2017-08-02 17:56:42 +0000
commitafd242a810612341a37d496007ad79317d2efbea (patch)
treed260149db9753cb2d05e8374f6aa137f0d4852be /src/render/framegraph/qlayerfilter.h
parent4392fa4df4a8f4623dd3ff881f2dd03c94b50c30 (diff)
Accept/Drop entities and filter recursively
The layer now may specify if a subtree must be completely accepted recursively. The layerfilter can specify if the entities must be accepted or dropped. Task-number: QTBUG-59814 Change-Id: I7beff9e036d5de8b128cf960ba5f11477e5784e1 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/framegraph/qlayerfilter.h')
-rw-r--r--src/render/framegraph/qlayerfilter.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/render/framegraph/qlayerfilter.h b/src/render/framegraph/qlayerfilter.h
index 61eac5773..243ae7165 100644
--- a/src/render/framegraph/qlayerfilter.h
+++ b/src/render/framegraph/qlayerfilter.h
@@ -53,7 +53,15 @@ class QLayerFilterPrivate;
class QT3DRENDERSHARED_EXPORT QLayerFilter : public QFrameGraphNode
{
Q_OBJECT
+ Q_PROPERTY(FilterMode filterMode READ filterMode WRITE setFilterMode NOTIFY filterModeChanged)
public:
+ enum FilterMode
+ {
+ AcceptMatchingLayers = 0,
+ DiscardMatchingLayers
+ };
+ Q_ENUM(FilterMode) // LOVC_EXLC_LINE
+
explicit QLayerFilter(Qt3DCore::QNode *parent = nullptr);
~QLayerFilter();
@@ -61,6 +69,13 @@ public:
void removeLayer(QLayer *layer);
QVector<QLayer *> layers() const;
+ FilterMode filterMode() const;
+ void setFilterMode(FilterMode filterMode);
+
+Q_SIGNALS:
+ void filterModeChanged(FilterMode filterMode);
+
+
protected:
explicit QLayerFilter(QLayerFilterPrivate &dd, Qt3DCore::QNode *parent = nullptr);