summaryrefslogtreecommitdiffstats
path: root/src/render/framegraph/qclearbuffers.cpp
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2016-03-17 21:45:30 +0000
committerSean Harmer <sean.harmer@kdab.com>2016-03-22 12:53:11 +0000
commit68667e9105744478bcfd2cf16efda71a350da372 (patch)
treebf88e711878abc9403b89a21a1927e999448a6d9 /src/render/framegraph/qclearbuffers.cpp
parente3c31c3a5a1061e2cf85e49398093b0a11437649 (diff)
Added properties to QClearBuffers
- clearColor - clearDepthValue - clearStencilValue Task-number: QTBUG-51460 Change-Id: Ib31efde0b6ab97ef1f57d4ce71fb2fbca218dc85 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/framegraph/qclearbuffers.cpp')
-rw-r--r--src/render/framegraph/qclearbuffers.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/render/framegraph/qclearbuffers.cpp b/src/render/framegraph/qclearbuffers.cpp
index d0c323086..94371c637 100644
--- a/src/render/framegraph/qclearbuffers.cpp
+++ b/src/render/framegraph/qclearbuffers.cpp
@@ -48,6 +48,8 @@ namespace Qt3DRender {
QClearBuffersPrivate::QClearBuffersPrivate()
: QFrameGraphNodePrivate()
, m_buffersType(QClearBuffers::None)
+ , m_clearDepthValue(1.f)
+ , m_clearStencilValue(0)
{
}
@@ -56,6 +58,9 @@ void QClearBuffers::copy(const QNode *ref)
QFrameGraphNode::copy(ref);
const QClearBuffers *b = static_cast<const QClearBuffers*>(ref);
d_func()->m_buffersType = b->d_func()->m_buffersType;
+ d_func()->m_clearColor = b->d_func()->m_clearColor;
+ d_func()->m_clearDepthValue = b->d_func()->m_clearDepthValue;
+ d_func()->m_clearStencilValue = b->d_func()->m_clearStencilValue;
}
QClearBuffers::QClearBuffers(QNode *parent)
@@ -81,6 +86,24 @@ QClearBuffers::BufferType QClearBuffers::buffers() const
return d->m_buffersType;
}
+QColor QClearBuffers::clearColor() const
+{
+ Q_D(const QClearBuffers);
+ return d->m_clearColor;
+}
+
+float QClearBuffers::clearDepthValue() const
+{
+ Q_D(const QClearBuffers);
+ return d->m_clearDepthValue;
+}
+
+int QClearBuffers::clearStencilValue() const
+{
+ Q_D(const QClearBuffers);
+ return d->m_clearStencilValue;
+}
+
void QClearBuffers::setBuffers(QClearBuffers::BufferType buffers)
{
Q_D(QClearBuffers);
@@ -90,6 +113,35 @@ void QClearBuffers::setBuffers(QClearBuffers::BufferType buffers)
}
}
+void QClearBuffers::setClearColor(const QColor &color)
+{
+ Q_D(QClearBuffers);
+ if (d->m_clearColor != color) {
+ d->m_clearColor = color;
+ emit clearColorChanged(color);
+ }
+}
+
+void QClearBuffers::setClearDepthValue(float clearDepthValue)
+{
+ Q_D(QClearBuffers);
+ if (d->m_clearDepthValue != clearDepthValue) {
+ if (clearDepthValue >= 0.f && clearDepthValue <= 1.f) {
+ d->m_clearDepthValue = clearDepthValue;
+ emit clearDepthValueChanged(clearDepthValue);
+ } else qWarning() << "Invalid clear depth value";
+ }
+}
+
+void QClearBuffers::setClearStencilValue(int clearStencilValue)
+{
+ Q_D(QClearBuffers);
+ if (d->m_clearStencilValue != clearStencilValue) {
+ d->m_clearStencilValue = clearStencilValue;
+ emit clearStencilValueChanged(clearStencilValue);
+ }
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE