diff options
-rw-r--r-- | src/location/declarativemaps/qdeclarativecirclemapitem.cpp | 14 | ||||
-rw-r--r-- | src/location/declarativemaps/qdeclarativepolylinemapitem.cpp | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp index a30b7b30..608260cd 100644 --- a/src/location/declarativemaps/qdeclarativecirclemapitem.cpp +++ b/src/location/declarativemaps/qdeclarativecirclemapitem.cpp @@ -513,7 +513,7 @@ void QDeclarativeCircleMapItem::updatePolish() invertedCircle = true; } else { geometry_.updateSourcePoints(*map(), circlePath); - geometry_.updateScreenPoints(*map()); + geometry_.updateScreenPoints(*map(), border_.width()); } borderGeometry_.clear(); @@ -552,9 +552,17 @@ void QDeclarativeCircleMapItem::updatePolish() } QRectF combined = QGeoMapItemGeometry::translateToCommonOrigin(geoms); - setWidth(combined.width()); - setHeight(combined.height()); + if (invertedCircle || !preserve) { + setWidth(combined.width()); + setHeight(combined.height()); + setPositionOnMap(geometry_.origin(), geometry_.firstPointOffset()); + } else { + setWidth(combined.width() + 2 * border_.width()); + setHeight(combined.height() + 2 * border_.width()); + } + + // No offsetting here, even in normal case, because first point offset is already translated setPositionOnMap(geometry_.origin(), geometry_.firstPointOffset()); } diff --git a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp index 620ed14e..2dab58e9 100644 --- a/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp +++ b/src/location/declarativemaps/qdeclarativepolylinemapitem.cpp @@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE static const double kClipperScaleFactor = 281474976710656.0; // 48 bits of precision -static const double kClipperScaleFactorInv = 1.0 / kClipperScaleFactor; static inline IntPoint toIntPoint(const double x, const double y) { |