#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace mbgl { enum class RenderState { never, partial, fully }; class Map::Impl : public Style::Observer { public: Impl(View&, FileSource&, MapMode, GLContextMode, ConstrainMode, ViewportMode); void onResourceLoaded() override; void onResourceError(std::exception_ptr) override; void update(); void render(); void loadStyleJSON(const std::string& json, const std::string& base); View& view; FileSource& fileSource; RenderState renderState = RenderState::never; Transform transform; const MapMode mode; const GLContextMode contextMode; const float pixelRatio; MapDebugOptions debugOptions { MapDebugOptions::NoDebug }; gl::GLObjectStore glObjectStore; Update updateFlags = Update::Nothing; util::AsyncTask asyncUpdate; std::unique_ptr annotationManager; std::unique_ptr texturePool; std::unique_ptr painter; std::unique_ptr