diff --git a/platform/default/include/mbgl/map/map_snapshotter.hpp b/platform/default/include/mbgl/map/map_snapshotter.hpp index 2f7a4e6c0..df5711777 100644 --- a/platform/default/include/mbgl/map/map_snapshotter.hpp +++ b/platform/default/include/mbgl/map/map_snapshotter.hpp @@ -54,6 +54,7 @@ public: using Attributions = std::vector; using Callback = std::function; void snapshot(Callback); + void cancel(); private: class Impl; diff --git a/platform/default/src/mbgl/map/map_snapshotter.cpp b/platform/default/src/mbgl/map/map_snapshotter.cpp index 75914e079..201dd7824 100644 --- a/platform/default/src/mbgl/map/map_snapshotter.cpp +++ b/platform/default/src/mbgl/map/map_snapshotter.cpp @@ -232,6 +232,7 @@ public: Map& getMap() { return map; } const Map& getMap() const { return map; } SnapshotterRendererFrontend& getRenderer() { return frontend; } + void cancel() { renderStillCallback.reset(); } private: std::unique_ptr> renderStillCallback; @@ -256,10 +257,6 @@ MapSnapshotter::MapSnapshotter(std::pair style, MapSnapshotter::~MapSnapshotter() = default; -void MapSnapshotter::snapshot(MapSnapshotter::Callback callback) { - impl->snapshot(std::move(callback)); -} - void MapSnapshotter::setStyleURL(const std::string& styleURL) { impl->getMap().getStyle().loadURL(styleURL); } @@ -310,4 +307,12 @@ const style::Style& MapSnapshotter::getStyle() const { return impl->getMap().getStyle(); } +void MapSnapshotter::snapshot(MapSnapshotter::Callback callback) { + impl->snapshot(std::move(callback)); +} + +void MapSnapshotter::cancel() { + impl->cancel(); +} + } // namespace mbgl