summaryrefslogtreecommitdiff
path: root/src/mbgl/style/sources
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/style/sources')
-rw-r--r--src/mbgl/style/sources/geojson_source.cpp6
-rw-r--r--src/mbgl/style/sources/geojson_source.hpp3
-rw-r--r--src/mbgl/style/sources/raster_source.cpp6
-rw-r--r--src/mbgl/style/sources/raster_source.hpp3
-rw-r--r--src/mbgl/style/sources/vector_source.cpp6
-rw-r--r--src/mbgl/style/sources/vector_source.hpp3
6 files changed, 27 insertions, 0 deletions
diff --git a/src/mbgl/style/sources/geojson_source.cpp b/src/mbgl/style/sources/geojson_source.cpp
index 8a573becfe..caedcffcd5 100644
--- a/src/mbgl/style/sources/geojson_source.cpp
+++ b/src/mbgl/style/sources/geojson_source.cpp
@@ -1,4 +1,5 @@
#include <mbgl/style/sources/geojson_source.hpp>
+#include <mbgl/tile/geojson_tile.hpp>
#include <mapbox/geojsonvt.hpp>
@@ -14,5 +15,10 @@ GeoJSONSource::GeoJSONSource(std::string id_,
geojsonvt = std::move(geojsonvt_);
}
+std::unique_ptr<Tile> GeoJSONSource::createTile(const OverscaledTileID& tileID,
+ const UpdateParameters& parameters) {
+ return std::make_unique<GeoJSONTile>(tileID, id, parameters, geojsonvt.get());
+}
+
} // namespace style
} // namespace mbgl
diff --git a/src/mbgl/style/sources/geojson_source.hpp b/src/mbgl/style/sources/geojson_source.hpp
index d9f8cb4c62..c9262f22b7 100644
--- a/src/mbgl/style/sources/geojson_source.hpp
+++ b/src/mbgl/style/sources/geojson_source.hpp
@@ -12,6 +12,9 @@ public:
uint16_t tileSize,
std::unique_ptr<Tileset>&&,
std::unique_ptr<mapbox::geojsonvt::GeoJSONVT>&&);
+
+private:
+ std::unique_ptr<Tile> createTile(const OverscaledTileID&, const UpdateParameters&) final;
};
} // namespace style
diff --git a/src/mbgl/style/sources/raster_source.cpp b/src/mbgl/style/sources/raster_source.cpp
index 868d3f7f88..de8b248421 100644
--- a/src/mbgl/style/sources/raster_source.cpp
+++ b/src/mbgl/style/sources/raster_source.cpp
@@ -1,4 +1,5 @@
#include <mbgl/style/sources/raster_source.hpp>
+#include <mbgl/tile/raster_tile.hpp>
namespace mbgl {
namespace style {
@@ -10,5 +11,10 @@ RasterSource::RasterSource(std::string id_,
: Source(SourceType::Raster, std::move(id_), std::move(url_), tileSize_, std::move(tileset_)) {
}
+std::unique_ptr<Tile> RasterSource::createTile(const OverscaledTileID& tileID,
+ const UpdateParameters& parameters) {
+ return std::make_unique<RasterTile>(tileID, parameters, *tileset);
+}
+
} // namespace style
} // namespace mbgl
diff --git a/src/mbgl/style/sources/raster_source.hpp b/src/mbgl/style/sources/raster_source.hpp
index 0e062c14f8..abc203e3cb 100644
--- a/src/mbgl/style/sources/raster_source.hpp
+++ b/src/mbgl/style/sources/raster_source.hpp
@@ -11,6 +11,9 @@ public:
std::string url,
uint16_t tileSize,
std::unique_ptr<Tileset>&&);
+
+private:
+ std::unique_ptr<Tile> createTile(const OverscaledTileID&, const UpdateParameters&) final;
};
} // namespace style
diff --git a/src/mbgl/style/sources/vector_source.cpp b/src/mbgl/style/sources/vector_source.cpp
index e6adb9bb9f..5cf0a1e182 100644
--- a/src/mbgl/style/sources/vector_source.cpp
+++ b/src/mbgl/style/sources/vector_source.cpp
@@ -1,4 +1,5 @@
#include <mbgl/style/sources/vector_source.hpp>
+#include <mbgl/tile/vector_tile.hpp>
namespace mbgl {
namespace style {
@@ -9,5 +10,10 @@ VectorSource::VectorSource(std::string id_,
: Source(SourceType::Vector, std::move(id_), std::move(url_), util::tileSize, std::move(tileset_)) {
}
+std::unique_ptr<Tile> VectorSource::createTile(const OverscaledTileID& tileID,
+ const UpdateParameters& parameters) {
+ return std::make_unique<VectorTile>(tileID, id, parameters, *tileset);
+}
+
} // namespace style
} // namespace mbgl
diff --git a/src/mbgl/style/sources/vector_source.hpp b/src/mbgl/style/sources/vector_source.hpp
index 08ab9a461e..e98c17ddc1 100644
--- a/src/mbgl/style/sources/vector_source.hpp
+++ b/src/mbgl/style/sources/vector_source.hpp
@@ -10,6 +10,9 @@ public:
VectorSource(std::string id,
std::string url,
std::unique_ptr<Tileset>&&);
+
+private:
+ std::unique_ptr<Tile> createTile(const OverscaledTileID&, const UpdateParameters&) final;
};
} // namespace style