#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace mbgl { using namespace style; struct StillImageRequest { StillImageRequest(Map::StillImageCallback&& callback_) : callback(std::move(callback_)) { } Map::StillImageCallback callback; }; class Map::Impl : public style::Observer, public RendererObserver { public: Impl(Map&, RendererFrontend&, MapObserver&, float pixelRatio, FileSource&, Scheduler&, MapMode, ConstrainMode, ViewportMode); ~Impl(); // StyleObserver void onSourceChanged(style::Source&) override; void onUpdate() override; void onStyleLoading() override; void onStyleLoaded() override; void onStyleError(std::exception_ptr) override; // RendererObserver void onInvalidate() override; void onResourceError(std::exception_ptr) override; void onWillStartRenderingFrame() override; void onDidFinishRenderingFrame(RenderMode, bool) override; void onWillStartRenderingMap() override; void onDidFinishRenderingMap() override; Map& map; MapObserver& observer; RendererFrontend& rendererFrontend; FileSource& fileSource; Scheduler& scheduler; Transform transform; const MapMode mode; const float pixelRatio; MapDebugOptions debugOptions { MapDebugOptions::NoDebug }; std::unique_ptr