#pragma once #include #include #include #include #include namespace mbgl { class TileParameters; namespace style { class CustomTileLoader; } // namespace style class CustomGeometryTile: public GeometryTile { public: CustomGeometryTile(const OverscaledTileID&, std::string sourceID, const TileParameters&, Immutable, ActorRef loader); ~CustomGeometryTile() override; void setTileData(const GeoJSON& geoJSON); void invalidateTileData(); void setNecessity(TileNecessity) final; void querySourceFeatures( std::vector& result, const SourceQueryOptions&) override; private: bool stale = true; TileNecessity necessity; Immutable options; ActorRef loader; std::shared_ptr mailbox; ActorRef actorRef; }; } // namespace mbgl