diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-02-28 15:05:01 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2017-02-28 15:46:39 +0000 |
commit | 3027558cf4094c7d290731c9d819201c6d570c13 (patch) | |
tree | 30e8ba6628cb7886f1dd6eef886196a64e07cbaa /src/location/maps | |
parent | 65bd308685d6c863f4f684efa7a593d76cbdec3b (diff) | |
parent | 461da8f31a90b3ed5e98133850f0776c5e0c2a2d (diff) |
Merge "Merge remote-tracking branch 'gerrit/5.8' into 5.9" into refs/staging/5.9
Diffstat (limited to 'src/location/maps')
-rw-r--r-- | src/location/maps/qgeotiledmapscene.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/location/maps/qgeotiledmapscene.cpp b/src/location/maps/qgeotiledmapscene.cpp index 7a38153e..3711841d 100644 --- a/src/location/maps/qgeotiledmapscene.cpp +++ b/src/location/maps/qgeotiledmapscene.cpp @@ -557,6 +557,7 @@ void QGeoTiledMapRootNode::updateTiles(QGeoTiledMapTileContainerNode *root, delete root->tiles.take(s); bool straight = !d->isTiltedOrRotated(); + qreal pixelRatio = window->effectiveDevicePixelRatio(); for (QHash<QGeoTileSpec, QSGImageNode *>::iterator it = root->tiles.begin(); it != root->tiles.end(); ) { QSGImageNode *node = it.value(); @@ -570,7 +571,7 @@ void QGeoTiledMapRootNode::updateTiles(QGeoTiledMapTileContainerNode *root, delete node; } else { if (isTextureLinear != d->m_linearScaling) { - if (node->texture()->textureSize().width() > d->m_tileSize) { + if (node->texture()->textureSize().width() > d->m_tileSize * pixelRatio) { node->setFiltering(QSGTexture::Linear); // With mipmapping QSGTexture::Nearest generates artifacts node->setMipmapFiltering(QSGTexture::Linear); } else { @@ -595,7 +596,7 @@ void QGeoTiledMapRootNode::updateTiles(QGeoTiledMapTileContainerNode *root, tileNode->setTexture(textures.value(s)); if (d->buildGeometry(s, tileNode) && qgeotiledmapscene_isTileInViewport(tileNode->rect(), root->matrix(), straight)) { - if (tileNode->texture()->textureSize().width() > d->m_tileSize) { + if (tileNode->texture()->textureSize().width() > d->m_tileSize * pixelRatio) { tileNode->setFiltering(QSGTexture::Linear); // with mipmapping QSGTexture::Nearest generates artifacts tileNode->setMipmapFiltering(QSGTexture::Linear); } else { |