summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps/qdeclarativecirclemapitem_p.h
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2017-02-28 18:26:19 -0800
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-08-30 13:49:36 +0000
commit6024168ef21dd4fe6c5ddd7e837d56076e886e01 (patch)
tree140e9d827a4045382dee6db2412268cc164cdfc5 /src/location/declarativemaps/qdeclarativecirclemapitem_p.h
parent8dae4824df50dfde8c4910bdf88cde78aeb1ce18 (diff)
downloadqtlocation-6024168ef21dd4fe6c5ddd7e837d56076e886e01.tar.gz
Mapbox GL native circle support
Circles crossing one pole are drawn inverted. Circles crossing 2 poles do not even have the correct geometry. Nevertheless, a first approximation. Task-number: QTBUG-58869 Change-Id: I5a508f5d6e27c4f08412a7ae327883866068a1e9 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Diffstat (limited to 'src/location/declarativemaps/qdeclarativecirclemapitem_p.h')
-rw-r--r--src/location/declarativemaps/qdeclarativecirclemapitem_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/location/declarativemaps/qdeclarativecirclemapitem_p.h b/src/location/declarativemaps/qdeclarativecirclemapitem_p.h
index 15774427..c117b444 100644
--- a/src/location/declarativemaps/qdeclarativecirclemapitem_p.h
+++ b/src/location/declarativemaps/qdeclarativecirclemapitem_p.h
@@ -96,6 +96,12 @@ public:
const QGeoShape &geoShape() const Q_DECL_OVERRIDE;
QGeoMap::ItemType itemType() const Q_DECL_OVERRIDE;
+ static bool crossEarthPole(const QGeoCoordinate &center, qreal distance);
+ static void calculatePeripheralPoints(QList<QGeoCoordinate> &path, const QGeoCoordinate &center,
+ qreal distance, int steps, QGeoCoordinate &leftBound);
+ bool preserveCircleGeometry(QList<QDoubleVector2D> &path, const QGeoCoordinate &center,
+ qreal distance);
+
Q_SIGNALS:
void centerChanged(const QGeoCoordinate &center);
void radiusChanged(qreal radius);
@@ -111,8 +117,6 @@ protected Q_SLOTS:
private:
void updateCirclePath();
- bool preserveCircleGeometry(QList<QDoubleVector2D> &path, const QGeoCoordinate &center,
- qreal distance);
void updateCirclePathForRendering(QList<QDoubleVector2D> &path, const QGeoCoordinate &center,
qreal distance);