summaryrefslogtreecommitdiff
path: root/platform/qt
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-22 17:44:00 +0300
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-06-22 18:07:19 +0300
commit7d63847beccc5335d7c6eeb4287e6b3a2bba6a83 (patch)
treec52bc1fdbcbd383982cc04c1ca3a509f4b68b4f0 /platform/qt
parentd58ed6f9f33ddf13f9141c052116bec0833561a9 (diff)
downloadqtlocation-mapboxgl-7d63847beccc5335d7c6eeb4287e6b3a2bba6a83.tar.gz
[Qt] Use mbgl::LineString instead of mbgl::Polygon as default shape
Diffstat (limited to 'platform/qt')
-rw-r--r--platform/qt/include/qmapbox.hpp5
-rw-r--r--platform/qt/src/qmapboxgl.cpp19
2 files changed, 8 insertions, 16 deletions
diff --git a/platform/qt/include/qmapbox.hpp b/platform/qt/include/qmapbox.hpp
index 1f4f22f5f1..60ef0a306f 100644
--- a/platform/qt/include/qmapbox.hpp
+++ b/platform/qt/include/qmapbox.hpp
@@ -11,8 +11,7 @@
namespace QMapbox {
typedef QPair<double, double> Coordinate;
-typedef QList<Coordinate> Coordinates;
-typedef QList<Coordinates> CoordinateSegments;
+typedef QList<Coordinate> LineString;
typedef QPair<Coordinate, double> CoordinateZoom;
@@ -22,7 +21,7 @@ typedef QList<AnnotationID> AnnotationIDs;
typedef QPair<Coordinate, QString> PointAnnotation;
// FIXME: We need to add support for custom style properties
-typedef QPair<CoordinateSegments, QString> ShapeAnnotation;
+typedef QPair<LineString, QString> ShapeAnnotation;
enum NetworkMode {
Online, // Default
diff --git a/platform/qt/src/qmapboxgl.cpp b/platform/qt/src/qmapboxgl.cpp
index 76b643f40a..efa53a3c6b 100644
--- a/platform/qt/src/qmapboxgl.cpp
+++ b/platform/qt/src/qmapboxgl.cpp
@@ -77,24 +77,17 @@ QThreadStorage<std::shared_ptr<mbgl::util::RunLoop>> loop;
// Convertion helper functions.
auto fromQMapboxGLShapeAnnotation(const ShapeAnnotation &shapeAnnotation) {
- const CoordinateSegments &segments = shapeAnnotation.first;
+ const LineString &lineString = shapeAnnotation.first;
const QString &styleLayer = shapeAnnotation.second;
- mbgl::Polygon<double> polygon;
- polygon.reserve(segments.size());
+ mbgl::LineString<double> mbglLineString;
+ mbglLineString.reserve(lineString.size());
- for (const Coordinates &coordinates : segments) {
- mbgl::LinearRing<double> linearRing;
- linearRing.reserve(coordinates.size());
-
- for (const Coordinate &coordinate : coordinates) {
- linearRing.emplace_back(mbgl::Point<double> { coordinate.first, coordinate.second });
- }
-
- polygon.push_back(std::move(linearRing));
+ for (const Coordinate &coordinate : lineString) {
+ mbglLineString.emplace_back(mbgl::Point<double> { coordinate.first, coordinate.second });
}
- return mbgl::StyleSourcedAnnotation { std::move(polygon), styleLayer.toStdString() };
+ return mbgl::StyleSourcedAnnotation { std::move(mbglLineString), styleLayer.toStdString() };
}
auto fromQMapboxTransitionOptions(const QMapbox::TransitionOptions &options) {