From 3513884f6838d31e72c462ee358293c2e797f04b Mon Sep 17 00:00:00 2001 From: Sami Varanka Date: Tue, 29 Jun 2021 18:57:12 +0300 Subject: Add: Colorize surfaceseries wireframe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added color property for surfaceseries wireframe. Modified surfaceseries cpptest and qmltest to test the added property. In addition, the documentation for the property was added. Modified qmlsurface example to use the new property. Fixes: QTBUG-64748 Change-Id: I18f56258cdba2b3270dce7c8313cbf17e499ff39 Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/drawer.cpp | 4 ++++ src/datavisualization/engine/surfaceseriesrendercache.cpp | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'src/datavisualization/engine') diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index e83a1715..853e800b 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -197,6 +197,10 @@ void Drawer::drawSelectionObject(ShaderHelper *shader, AbstractObjectHelper *obj void Drawer::drawSurfaceGrid(ShaderHelper *shader, SurfaceObject *object) { + // Get grid line color + QVector4D lineColor = Utils::vectorFromColor(object->wireFrameColor()); + shader->setUniformValue(shader->color(), lineColor); + // 1st attribute buffer : vertices glEnableVertexAttribArray(shader->posAtt()); glBindBuffer(GL_ARRAY_BUFFER, object->vertexBuf()); diff --git a/src/datavisualization/engine/surfaceseriesrendercache.cpp b/src/datavisualization/engine/surfaceseriesrendercache.cpp index 918d0fb6..545cee7e 100644 --- a/src/datavisualization/engine/surfaceseriesrendercache.cpp +++ b/src/datavisualization/engine/surfaceseriesrendercache.cpp @@ -66,6 +66,10 @@ void SurfaceSeriesRenderCache::populate(bool newSeries) QSurface3DSeries::DrawFlags drawMode = series()->drawMode(); m_surfaceVisible = drawMode.testFlag(QSurface3DSeries::DrawSurface); m_surfaceGridVisible = drawMode.testFlag(QSurface3DSeries::DrawWireframe); + QColor lineColor = series()->wireFrameColor(); + m_surfaceObj->setLineColor(lineColor); + m_sliceSurfaceObj->setLineColor(lineColor); + if (m_flatChangeAllowed && m_surfaceFlatShading != series()->isFlatShadingEnabled()) { m_surfaceFlatShading = series()->isFlatShadingEnabled(); m_flatStatusDirty = true; -- cgit v1.2.3