#pragma once #include #include #include #include #include #include namespace mbgl { template class ActorRef; struct CameraOptions; class FileSource; class Size; class LatLngBounds; class MapSnapshotter { public: MapSnapshotter(FileSource& fileSource, Scheduler& scheduler, const std::string& styleURL, const Size&, const float pixelRatio, const CameraOptions&, const optional region, const optional cacheDir = {}); ~MapSnapshotter(); using Callback = std::function; void snapshot(ActorRef); private: class Impl; std::unique_ptr> impl; }; } // namespace mbgl