summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/custom_tile.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/tile/custom_tile.hpp')
-rw-r--r--src/mbgl/tile/custom_tile.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/mbgl/tile/custom_tile.hpp b/src/mbgl/tile/custom_tile.hpp
new file mode 100644
index 0000000000..66606d2224
--- /dev/null
+++ b/src/mbgl/tile/custom_tile.hpp
@@ -0,0 +1,33 @@
+#pragma once
+
+#include <mbgl/tile/geometry_tile.hpp>
+#include <mbgl/util/feature.hpp>
+#include <mbgl/style/sources/custom_vector_source.hpp>
+#include <mbgl/style/sources/geojson_source.hpp>
+
+namespace mbgl {
+
+class TileParameters;
+
+class CustomTile: public GeometryTile {
+public:
+ CustomTile(const OverscaledTileID&,
+ std::string sourceID,
+ const TileParameters&,
+ const style::GeoJSONOptions);
+
+ void setTileData(const CanonicalTileID& tileID, const style::FetchTileResult& result);
+
+ void setNecessity(Necessity) final;
+
+ void querySourceFeatures(
+ std::vector<Feature>& result,
+ const SourceQueryOptions&) override;
+
+ ActorRef<style::FetchTileCallback> fetchTileCallback();
+private:
+ const style::GeoJSONOptions options;
+ Actor<style::FetchTileCallback> actor;
+};
+
+} // namespace mbgl