summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-06-06 16:19:28 -0700
committerKonstantin Käfer <mail@kkaefer.com>2016-06-10 12:42:14 +0200
commit908f3f083244dc264e8e6a6869c543d456b2b13c (patch)
tree4c35142f3c80ac7c7d844ce8dbfb6fabd79b3e47 /src
parenta7cc291ce17bb2d4aa2b2d1fa481442926ec2566 (diff)
downloadqtlocation-mapboxgl-908f3f083244dc264e8e6a6869c543d456b2b13c.tar.gz
[core] Introduce GeometryTileData subclasses
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/style/source.cpp10
-rw-r--r--src/mbgl/tile/annotation_tile_data.hpp12
-rw-r--r--src/mbgl/tile/geojson_tile_data.hpp12
-rw-r--r--src/mbgl/tile/vector_tile_data.hpp12
4 files changed, 42 insertions, 4 deletions
diff --git a/src/mbgl/style/source.cpp b/src/mbgl/style/source.cpp
index 7d785e34a7..d0a002dd70 100644
--- a/src/mbgl/style/source.cpp
+++ b/src/mbgl/style/source.cpp
@@ -24,8 +24,10 @@
#include <mbgl/tile/annotation_tile_source.hpp>
#include <mbgl/tile/image_tile_source.hpp>
-#include <mbgl/tile/geometry_tile_data.hpp>
#include <mbgl/tile/raster_tile_data.hpp>
+#include <mbgl/tile/annotation_tile_data.hpp>
+#include <mbgl/tile/geojson_tile_data.hpp>
+#include <mbgl/tile/vector_tile_data.hpp>
#include <mbgl/style/parser.hpp>
#include <mbgl/gl/debugging.hpp>
@@ -209,7 +211,7 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT
const auto resource = Resource::tile(
tileset->tiles.at(0), parameters.pixelRatio, overscaledTileID.canonical.x,
overscaledTileID.canonical.y, overscaledTileID.canonical.z);
- auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style,
+ auto data = std::make_unique<VectorTileData>(overscaledTileID, id, parameters.style,
parameters.mode);
data->setTileSource(
std::make_unique<VectorTileSource>(*data, resource, parameters.fileSource));
@@ -218,7 +220,7 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT
// std::unique_ptr<GeometryTileData>.
return std::move(data);
} else if (type == SourceType::Annotations) {
- auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style,
+ auto data = std::make_unique<AnnotationTileData>(overscaledTileID, id, parameters.style,
parameters.mode);
data->setTileSource(std::make_unique<AnnotationTileSource>(
*data, overscaledTileID, parameters.annotationManager));
@@ -227,7 +229,7 @@ std::unique_ptr<TileData> Source::createTile(const OverscaledTileID& overscaledT
// std::unique_ptr<GeometryTileData>.
return std::move(data);
} else if (type == SourceType::GeoJSON) {
- auto data = std::make_unique<GeometryTileData>(overscaledTileID, id, parameters.style,
+ auto data = std::make_unique<GeoJSONTileData>(overscaledTileID, id, parameters.style,
parameters.mode);
data->setTileSource(
std::make_unique<GeoJSONTileSource>(*data, geojsonvt.get(), overscaledTileID));
diff --git a/src/mbgl/tile/annotation_tile_data.hpp b/src/mbgl/tile/annotation_tile_data.hpp
new file mode 100644
index 0000000000..fdd6dde6b0
--- /dev/null
+++ b/src/mbgl/tile/annotation_tile_data.hpp
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <mbgl/tile/geometry_tile_data.hpp>
+
+namespace mbgl {
+
+class AnnotationTileData : public GeometryTileData {
+public:
+ using GeometryTileData::GeometryTileData;
+};
+
+} // namespace mbgl
diff --git a/src/mbgl/tile/geojson_tile_data.hpp b/src/mbgl/tile/geojson_tile_data.hpp
new file mode 100644
index 0000000000..be1a38abe6
--- /dev/null
+++ b/src/mbgl/tile/geojson_tile_data.hpp
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <mbgl/tile/geometry_tile_data.hpp>
+
+namespace mbgl {
+
+class GeoJSONTileData : public GeometryTileData {
+public:
+ using GeometryTileData::GeometryTileData;
+};
+
+} // namespace mbgl
diff --git a/src/mbgl/tile/vector_tile_data.hpp b/src/mbgl/tile/vector_tile_data.hpp
new file mode 100644
index 0000000000..67aadb8a71
--- /dev/null
+++ b/src/mbgl/tile/vector_tile_data.hpp
@@ -0,0 +1,12 @@
+#pragma once
+
+#include <mbgl/tile/geometry_tile_data.hpp>
+
+namespace mbgl {
+
+class VectorTileData : public GeometryTileData {
+public:
+ using GeometryTileData::GeometryTileData;
+};
+
+} // namespace mbgl