diff options
Diffstat (limited to 'src/render/framegraph/viewportnode.cpp')
-rw-r--r-- | src/render/framegraph/viewportnode.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/render/framegraph/viewportnode.cpp b/src/render/framegraph/viewportnode.cpp index ccdb68918..b68f7b55b 100644 --- a/src/render/framegraph/viewportnode.cpp +++ b/src/render/framegraph/viewportnode.cpp @@ -55,6 +55,7 @@ ViewportNode::ViewportNode() , m_yMin(0.0f) , m_xMax(1.0f) , m_yMax(1.0f) + , m_gamma(2.2f) { } @@ -67,6 +68,7 @@ void ViewportNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr m_xMax = data.normalizedRect.width(); m_yMin = data.normalizedRect.y(); m_yMax = data.normalizedRect.height(); + m_gamma = data.gamma; } float ViewportNode::xMin() const @@ -106,16 +108,28 @@ void ViewportNode::setYMax(float yMax) m_yMax = yMax; } +float ViewportNode::gamma() const +{ + return m_gamma; +} + +void ViewportNode::setGamma(float gamma) +{ + m_gamma = gamma; +} + void ViewportNode::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { if (e->type() == PropertyUpdated) { QPropertyUpdatedChangePtr propertyChange = qSharedPointerCast<QPropertyUpdatedChange>(e); if (propertyChange->propertyName() == QByteArrayLiteral("normalizedRect")) { - QRectF normalizedRect = propertyChange->value().value<QRectF>(); + QRectF normalizedRect = propertyChange->value().toRectF(); setXMin(normalizedRect.x()); setYMin(normalizedRect.y()); setXMax(normalizedRect.width()); setYMax(normalizedRect.height()); + } else if (propertyChange->propertyName() == QByteArrayLiteral("gamma")) { + setGamma(propertyChange->value().toFloat()); } markDirty(AbstractRenderer::AllDirty); } |