summaryrefslogtreecommitdiff
path: root/src/mbgl/tile/custom_geometry_tile.hpp
diff options
context:
space:
mode:
authorAsheem Mamoowala <asheem.mamoowala@mapbox.com>2017-11-29 20:18:40 -0800
committerAsheem Mamoowala <asheem.mamoowala@mapbox.com>2017-12-05 11:05:44 -0800
commit9b0459171d29a55e9332de0998e3653a689661fc (patch)
tree8408f630d0b7626de79dea186fd8b0aba93fd90d /src/mbgl/tile/custom_geometry_tile.hpp
parentf16ecf59074e6c1f6296eb03f30b744eaa66779f (diff)
downloadqtlocation-mapboxgl-9b0459171d29a55e9332de0998e3653a689661fc.tar.gz
[core] Mark custom geometry tiles stale without clearing data
Diffstat (limited to 'src/mbgl/tile/custom_geometry_tile.hpp')
-rw-r--r--src/mbgl/tile/custom_geometry_tile.hpp14
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