diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-12-09 10:49:49 +0200 |
---|---|---|
committer | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-12-10 09:01:45 +0200 |
commit | 3573055abe42ff283d011d8550bc8495156338a1 (patch) | |
tree | bb45d4f7e32a0c63329d9f52639081162b34e17e /src/datavisualization/engine/seriesrendercache.cpp | |
parent | 22557b312570cbefde584466a28f2b9bfcc570ba (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.cpp | 47 |
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 |