summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine/abstract3drenderer.cpp
diff options
context:
space:
mode:
authorKeränen Pasi <pasi.keranen@digia.com>2013-11-29 16:25:19 +0200
committerPasi Keränen <pasi.keranen@digia.com>2013-12-02 10:10:12 +0200
commit7b621b89e40b9006bc8ffbb8595bba336fb60d42 (patch)
treef77e137a3ae78596a864400ac1f238fe24b240fa /src/datavisualization/engine/abstract3drenderer.cpp
parent94235c2e633845951ce6c947965789bb3f8ee7c4 (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.cpp11
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);