summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/scatter3drenderer.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-24 14:03:14 +0200
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2014-02-24 14:23:34 +0200
commit37493fac3422ce5cbe34748ca25757ca6302a583 (patch)
tree4bbffa04287106049fca1857225e0711fafe4730 /src/datavisualization/engine/scatter3drenderer.cpp
parente07e480d744c6f091844350704b916a71811c6b9 (diff)
Move selection labels to renderer from render items
Creating a new label on demand is fast enough, so we don't need to store old labels. Storing labels unnecessarily leads to unchecked use of graphics memory. Optimized bar slices a bit by having separate class of render items for slice items. Change-Id: I5afdecfb3949393341b6c3eaefbc667c65da32e3 Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/scatter3drenderer.cpp')
-rw-r--r--src/datavisualization/engine/scatter3drenderer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp
index 19061b11..de1a769a 100644
--- a/src/datavisualization/engine/scatter3drenderer.cpp
+++ b/src/datavisualization/engine/scatter3drenderer.cpp
@@ -1460,10 +1460,10 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle)
} else {
glDisable(GL_DEPTH_TEST);
// Draw the selection label
- LabelItem &labelItem = selectedItem->selectionLabelItem();
+ LabelItem &labelItem = selectionLabelItem();
if (m_selectedItem != selectedItem || m_updateLabels
|| !labelItem.textureId() || m_selectionLabelDirty) {
- QString labelText = selectedItem->selectionLabel();
+ QString labelText = selectionLabel();
if (labelText.isNull() || m_selectionLabelDirty) {
static const QString xTitleTag(QStringLiteral("@xTitle"));
static const QString yTitleTag(QStringLiteral("@yTitle"));
@@ -1505,7 +1505,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle)
}
labelText.replace(seriesNameTag, m_visibleSeriesList[m_selectedItemSeriesIndex].name());
- selectedItem->setSelectionLabel(labelText);
+ setSelectionLabel(labelText);
m_selectionLabelDirty = false;
}
m_drawer->generateLabelItem(labelItem, labelText);
@@ -1534,6 +1534,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle)
void Scatter3DRenderer::updateSelectedItem(int index, const QScatter3DSeries *series)
{
m_selectionDirty = true;
+ m_selectionLabelDirty = true;
m_selectedSeries = series;
m_selectedItemIndex = Scatter3DController::invalidSelectionIndex();
m_selectedItemTotalIndex = Scatter3DController::invalidSelectionIndex();