1 #pragma once 2 3 #include <mbgl/style/source_impl.hpp> 4 #include <mbgl/style/sources/custom_geometry_source.hpp> 5 #include <mbgl/style/custom_tile_loader.hpp> 6 #include <mbgl/actor/actor_ref.hpp> 7 8 namespace mbgl { 9 namespace style { 10 11 class CustomGeometrySource::Impl : public Source::Impl { 12 public: 13 Impl(std::string id, CustomGeometrySource::Options options); 14 Impl(const Impl&, ActorRef<CustomTileLoader>); 15 16 optional<std::string> getAttribution() const final; 17 18 CustomGeometrySource::TileOptions getTileOptions() const; 19 Range<uint8_t> getZoomRange() const; 20 optional<ActorRef<CustomTileLoader>> getTileLoader() const; 21 22 private: 23 CustomGeometrySource::TileOptions tileOptions; 24 Range<uint8_t> zoomRange; 25 optional<ActorRef<CustomTileLoader>> loaderRef; 26 }; 27 28 } // namespace style 29 } // namespace mbgl 30