diff options
author | Mika Salmela <mika.salmela@digia.com> | 2014-07-04 09:58:12 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@digia.com> | 2014-07-04 10:03:13 +0300 |
commit | 6e4fb232702fa128b5efa3eef5dfaff4870a9fd0 (patch) | |
tree | 315abbc95d09a558e3eb47c757c06fe66ce3c236 /src/datavisualization/engine/surface3dcontroller.cpp | |
parent | 6264a2ff1518d374e6150bf584f2ad3d133457dd (diff) |
Texture to surface
API for setting a texture to surface.
Task-number: QTRD-3232
Change-Id: Icd9de61882b54b9c1fc84a742e49980926ca681d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/surface3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/surface3dcontroller.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/datavisualization/engine/surface3dcontroller.cpp b/src/datavisualization/engine/surface3dcontroller.cpp index 5293cb0c..a6c086da 100644 --- a/src/datavisualization/engine/surface3dcontroller.cpp +++ b/src/datavisualization/engine/surface3dcontroller.cpp @@ -85,6 +85,12 @@ void Surface3DController::synchDataToRenderer() m_renderer->updateFlipHorizontalGrid(m_flipHorizontalGrid); m_changeTracker.flipHorizontalGridChanged = false; } + + if (m_changeTracker.surfaceTextureChanged) { + m_renderer->updateSurfaceTextures(m_changedTextures); + m_changeTracker.surfaceTextureChanged = false; + m_changedTextures.clear(); + } } void Surface3DController::handleAxisAutoAdjustRangeChangedInOrientation( @@ -146,6 +152,9 @@ void Surface3DController::addSeries(QAbstract3DSeries *series) QSurface3DSeries *surfaceSeries = static_cast<QSurface3DSeries *>(series); if (surfaceSeries->selectedPoint() != invalidSelectionPosition()) setSelectedPoint(surfaceSeries->selectedPoint(), surfaceSeries, false); + + if (!surfaceSeries->texture().isNull()) + updateSurfaceTexture(surfaceSeries); } void Surface3DController::removeSeries(QAbstract3DSeries *series) @@ -450,6 +459,16 @@ void Surface3DController::handleRowsRemoved(int startIndex, int count) emitNeedRender(); } +void Surface3DController::updateSurfaceTexture(QSurface3DSeries *series) +{ + m_changeTracker.surfaceTextureChanged = true; + + if (!m_changedTextures.contains(series)) + m_changedTextures.append(series); + + emitNeedRender(); +} + void Surface3DController::adjustAxisRanges() { QValue3DAxis *valueAxisX = static_cast<QValue3DAxis *>(m_axisX); |