summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/seriesrendercache.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-12-09 10:49:49 +0200
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-12-10 09:01:45 +0200
commit3573055abe42ff283d011d8550bc8495156338a1 (patch)
treebb45d4f7e32a0c63329d9f52639081162b34e17e /src/datavisualization/engine/seriesrendercache.cpp
parent22557b312570cbefde584466a28f2b9bfcc570ba (diff)
Move series specific visual elements to series, part 4
Colors to series - Multiselection labels in bar slices still buggy - Selection in bars doesn't work correctly if not all series have items in that grid Task-number: QTRD-2557 Change-Id: Icd38428e5337a26b8410476104bb1f1f784cdc7f Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualization/engine/seriesrendercache.cpp')
-rw-r--r--src/datavisualization/engine/seriesrendercache.cpp47
1 files changed, 46 insertions, 1 deletions
diff --git a/src/datavisualization/engine/seriesrendercache.cpp b/src/datavisualization/engine/seriesrendercache.cpp
index 7a4c0a14..b1c78c24 100644
--- a/src/datavisualization/engine/seriesrendercache.cpp
+++ b/src/datavisualization/engine/seriesrendercache.cpp
@@ -19,6 +19,8 @@
#include "seriesrendercache_p.h"
#include "objecthelper_p.h"
#include "abstract3drenderer_p.h"
+#include "texturehelper_p.h"
+#include "utils_p.h"
QT_DATAVISUALIZATION_BEGIN_NAMESPACE
@@ -119,7 +121,50 @@ void SeriesRenderCache::populate(QAbstract3DSeries *series, Abstract3DRenderer *
}
}
- // TODO: Add other visual element extractions
+ if (seriesChanged || changeTracker.colorStyleChanged) {
+ m_colorStyle = series->colorStyle();
+ changeTracker.colorStyleChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.baseColorChanged) {
+ m_baseColor = Utils::vectorFromColor(series->baseColor());
+ changeTracker.baseColorChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.baseGradientChanged) {
+ renderer->fixGradient(&series->baseGradient(), &m_baseGradientTexture);
+ changeTracker.baseGradientChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.singleHighlightColorChanged) {
+ m_singleHighlightColor = Utils::vectorFromColor(series->singleHighlightColor());
+ changeTracker.singleHighlightColorChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.singleHighlightGradientChanged) {
+ renderer->fixGradient(&series->singleHighlightGradient(),
+ &m_singleHighlightGradientTexture);
+ changeTracker.singleHighlightGradientChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.multiHighlightColorChanged) {
+ m_multiHighlightColor = Utils::vectorFromColor(series->multiHighlightColor());
+ changeTracker.multiHighlightColorChanged = false;
+ }
+
+ if (seriesChanged || changeTracker.multiHighlightGradientChanged) {
+ renderer->fixGradient(&series->multiHighlightGradient(),
+ &m_multiHighlightGradientTexture);
+ changeTracker.multiHighlightGradientChanged = false;
+ }
+}
+
+void SeriesRenderCache::cleanup(TextureHelper *texHelper)
+{
+ delete m_object;
+ texHelper->deleteTexture(&m_baseGradientTexture);
+ texHelper->deleteTexture(&m_singleHighlightGradientTexture);
+ texHelper->deleteTexture(&m_multiHighlightGradientTexture);
}
QT_DATAVISUALIZATION_END_NAMESPACE