diff options
Diffstat (limited to 'src/mbgl/tile/custom_geometry_tile.hpp')
-rw-r--r-- | src/mbgl/tile/custom_geometry_tile.hpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mbgl/tile/custom_geometry_tile.hpp b/src/mbgl/tile/custom_geometry_tile.hpp index 66cc412e8c..1df44e6b2a 100644 --- a/src/mbgl/tile/custom_geometry_tile.hpp +++ b/src/mbgl/tile/custom_geometry_tile.hpp @@ -1,13 +1,19 @@ #pragma once #include <mbgl/tile/geometry_tile.hpp> +#include <mbgl/style/sources/custom_geometry_source.hpp> #include <mbgl/util/feature.hpp> -#include <mbgl/style/custom_tile_loader.hpp> +#include <mbgl/util/geojson.hpp> +#include <mbgl/actor/mailbox.hpp> namespace mbgl { class TileParameters; +namespace style { +class CustomTileLoader; +} // namespace style + class CustomGeometryTile: public GeometryTile { public: CustomGeometryTile(const OverscaledTileID&, @@ -16,7 +22,9 @@ public: const style::CustomGeometrySource::TileOptions, ActorRef<style::CustomTileLoader> loader); ~CustomGeometryTile() override; + void setTileData(const GeoJSON& data); + void invalidateTileData(); void setNecessity(TileNecessity) final; @@ -25,10 +33,12 @@ public: const SourceQueryOptions&) override; private: + bool stale = true; TileNecessity necessity; const style::CustomGeometrySource::TileOptions options; ActorRef<style::CustomTileLoader> loader; - Actor<style::SetTileDataFunction> actor; + std::shared_ptr<Mailbox> mailbox; + ActorRef<CustomGeometryTile> actorRef; }; } // namespace mbgl |