diff options
author | Keränen Pasi <pasi.keranen@digia.com> | 2013-12-03 10:39:23 +0200 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2013-12-03 14:06:07 +0200 |
commit | 2af35db1a112c49991a80f48e3cd8d8814deb321 (patch) | |
tree | 69c7a37711f851473c87408ac446ae0c6dcff2c9 /src/datavisualizationqml2/declarativebars.cpp | |
parent | 5a3abb2517126239f1b916b7b0cbaaa624b1cb44 (diff) |
Fixes to QML retina display issues.
Task-id: QTRD-2661
Change-Id: I05fa1d9c3d078a7ed552b2b225f0d9bb1c03a0aa
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Diffstat (limited to 'src/datavisualizationqml2/declarativebars.cpp')
-rw-r--r-- | src/datavisualizationqml2/declarativebars.cpp | 70 |
1 files changed, 23 insertions, 47 deletions
diff --git a/src/datavisualizationqml2/declarativebars.cpp b/src/datavisualizationqml2/declarativebars.cpp index 91b338bd..905a842e 100644 --- a/src/datavisualizationqml2/declarativebars.cpp +++ b/src/datavisualizationqml2/declarativebars.cpp @@ -17,7 +17,7 @@ ****************************************************************************/ #include "declarativebars_p.h" -#include "declarativebarsrenderer_p.h" +#include "declarativerenderer_p.h" #include "q3dvalueaxis.h" #include "qitemmodelbardataproxy.h" @@ -25,8 +25,7 @@ QT_DATAVISUALIZATION_BEGIN_NAMESPACE DeclarativeBars::DeclarativeBars(QQuickItem *parent) : AbstractDeclarative(parent), - m_shared(0), - m_initialisedSize(0, 0) + m_barsController(0) { setFlags(QQuickItem::ItemHasContents); setAcceptedMouseButtons(Qt::AllButtons); @@ -36,110 +35,87 @@ DeclarativeBars::DeclarativeBars(QQuickItem *parent) setSmooth(true); // Create the shared component on the main GUI thread. - m_shared = new Bars3DController(boundingRect().toRect()); - AbstractDeclarative::setSharedController(m_shared); + m_barsController = new Bars3DController(boundingRect().toRect()); + AbstractDeclarative::setSharedController(m_barsController); } DeclarativeBars::~DeclarativeBars() { - delete m_shared; -} - -QSGNode *DeclarativeBars::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) -{ - // If old node exists and has right size, reuse it. - if (oldNode && m_initialisedSize == boundingRect().size().toSize()) { - // Update bounding rectangle (that has same size as before). - static_cast<DeclarativeBarsRenderer *>( oldNode )->setRect(boundingRect()); - return oldNode; - } - - // Create a new render node when size changes or if there is no node yet - m_initialisedSize = boundingRect().size().toSize(); - - // Delete old node - if (oldNode) - delete oldNode; - - // Create a new one and set it's bounding rectangle - DeclarativeBarsRenderer *node = new DeclarativeBarsRenderer(window(), m_shared); - node->setRect(boundingRect()); - m_shared->setBoundingRect(boundingRect().toRect()); - return node; + delete m_barsController; } void DeclarativeBars::setBarColor(const QColor &baseColor) { - m_shared->setBaseColor(baseColor); + m_barsController->setBaseColor(baseColor); } Q3DCategoryAxis *DeclarativeBars::rowAxis() const { - return static_cast<Q3DCategoryAxis *>(m_shared->axisX()); + return static_cast<Q3DCategoryAxis *>(m_barsController->axisX()); } void DeclarativeBars::setRowAxis(Q3DCategoryAxis *axis) { - m_shared->setAxisX(axis); + m_barsController->setAxisX(axis); } Q3DValueAxis *DeclarativeBars::valueAxis() const { - return static_cast<Q3DValueAxis *>(m_shared->axisY()); + return static_cast<Q3DValueAxis *>(m_barsController->axisY()); } void DeclarativeBars::setValueAxis(Q3DValueAxis *axis) { - m_shared->setAxisY(axis); + m_barsController->setAxisY(axis); } Q3DCategoryAxis *DeclarativeBars::columnAxis() const { - return static_cast<Q3DCategoryAxis *>(m_shared->axisZ()); + return static_cast<Q3DCategoryAxis *>(m_barsController->axisZ()); } void DeclarativeBars::setColumnAxis(Q3DCategoryAxis *axis) { - m_shared->setAxisZ(axis); + m_barsController->setAxisZ(axis); } void DeclarativeBars::setBarThickness(float thicknessRatio) { if (thicknessRatio != barThickness()) { - m_shared->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative()); + m_barsController->setBarSpecs(GLfloat(thicknessRatio), barSpacing(), isBarSpacingRelative()); emit barThicknessChanged(thicknessRatio); } } float DeclarativeBars::barThickness() const { - return m_shared->barThickness(); + return m_barsController->barThickness(); } void DeclarativeBars::setBarSpacing(QSizeF spacing) { if (spacing != barSpacing()) { - m_shared->setBarSpecs(GLfloat(barThickness()), spacing, isBarSpacingRelative()); + m_barsController->setBarSpecs(GLfloat(barThickness()), spacing, isBarSpacingRelative()); emit barSpacingChanged(spacing); } } QSizeF DeclarativeBars::barSpacing() const { - return m_shared->barSpacing(); + return m_barsController->barSpacing(); } void DeclarativeBars::setBarSpacingRelative(bool relative) { if (relative != isBarSpacingRelative()) { - m_shared->setBarSpecs(GLfloat(barThickness()), barSpacing(), relative); + m_barsController->setBarSpecs(GLfloat(barThickness()), barSpacing(), relative); emit barSpacingRelativeChanged(relative); } } bool DeclarativeBars::isBarSpacingRelative() const { - return m_shared->isBarSpecRelative(); + return m_barsController->isBarSpecRelative(); } QQmlListProperty<QBar3DSeries> DeclarativeBars::seriesList() @@ -158,18 +134,18 @@ void DeclarativeBars::appendSeriesFunc(QQmlListProperty<QBar3DSeries> *list, QBa int DeclarativeBars::countSeriesFunc(QQmlListProperty<QBar3DSeries> *list) { - return reinterpret_cast<DeclarativeBars *>(list->data)->m_shared->barSeriesList().size(); + return reinterpret_cast<DeclarativeBars *>(list->data)->m_barsController->barSeriesList().size(); } QBar3DSeries *DeclarativeBars::atSeriesFunc(QQmlListProperty<QBar3DSeries> *list, int index) { - return reinterpret_cast<DeclarativeBars *>(list->data)->m_shared->barSeriesList().at(index); + return reinterpret_cast<DeclarativeBars *>(list->data)->m_barsController->barSeriesList().at(index); } void DeclarativeBars::clearSeriesFunc(QQmlListProperty<QBar3DSeries> *list) { DeclarativeBars *declBars = reinterpret_cast<DeclarativeBars *>(list->data); - QList<QBar3DSeries *> realList = declBars->m_shared->barSeriesList(); + QList<QBar3DSeries *> realList = declBars->m_barsController->barSeriesList(); int count = realList.size(); for (int i = 0; i < count; i++) declBars->removeSeries(realList.at(i)); @@ -177,12 +153,12 @@ void DeclarativeBars::clearSeriesFunc(QQmlListProperty<QBar3DSeries> *list) void DeclarativeBars::addSeries(QBar3DSeries *series) { - m_shared->addSeries(series); + m_barsController->addSeries(series); } void DeclarativeBars::removeSeries(QBar3DSeries *series) { - m_shared->removeSeries(series); + m_barsController->removeSeries(series); series->setParent(this); // Reparent as removing will leave series parentless } |