diff options
author | Keränen Pasi <pasi.keranen@digia.com> | 2013-11-29 16:25:19 +0200 |
---|---|---|
committer | Pasi Keränen <pasi.keranen@digia.com> | 2013-12-02 10:10:12 +0200 |
commit | 7b621b89e40b9006bc8ffbb8595bba336fb60d42 (patch) | |
tree | f77e137a3ae78596a864400ac1f238fe24b240fa /src/datavisualization/engine/abstract3drenderer.cpp | |
parent | 94235c2e633845951ce6c947965789bb3f8ee7c4 (diff) |
Fixes retina issues with C++ widget graphs.
Task-id: QTRD-2660
Change-Id: Icd36c082f45077a1ebb3372838f43a50fd277076
Reviewed-by: Tomi Korpipää <tomi.korpipaa@digia.com>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/abstract3drenderer.cpp')
-rw-r--r-- | src/datavisualization/engine/abstract3drenderer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/datavisualization/engine/abstract3drenderer.cpp b/src/datavisualization/engine/abstract3drenderer.cpp index 06f13b5d..bafe6727 100644 --- a/src/datavisualization/engine/abstract3drenderer.cpp +++ b/src/datavisualization/engine/abstract3drenderer.cpp @@ -179,18 +179,21 @@ void Abstract3DRenderer::updateTheme(Q3DTheme *theme) void Abstract3DRenderer::updateScene(Q3DScene *scene) { - updateInputPosition(scene->selectionQueryPosition()); + float devicePixelRatio = scene->devicePixelRatio(); + QPoint logicalPixelPosition = scene->selectionQueryPosition(); + updateInputPosition(QPoint(logicalPixelPosition.x() * devicePixelRatio, + logicalPixelPosition.y() * devicePixelRatio)); - if (Q3DScene::invalidSelectionPoint() == scene->selectionQueryPosition()) { + if (Q3DScene::invalidSelectionPoint() == logicalPixelPosition) { updateSelectionState(SelectNone); } else { // Selections are one-shot, reset selection active to false before processing scene->setSelectionQueryPosition(Q3DScene::invalidSelectionPoint()); if (scene->isSlicingActive()) { - if (scene->isPointInPrimarySubView(m_inputPosition)) + if (scene->isPointInPrimarySubView(logicalPixelPosition)) updateSelectionState(SelectOnOverview); - else if (scene->isPointInSecondarySubView(m_inputPosition)) + else if (scene->isPointInSecondarySubView(logicalPixelPosition)) updateSelectionState(SelectOnSlice); else updateSelectionState(SelectNone); |