#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 { using namespace style; enum class RenderState : uint8_t { Never, Partial, Fully, }; class Map::Impl : public style::Observer { public: Impl(View&, FileSource&, MapMode, GLContextMode, ConstrainMode, ViewportMode); void onNeedsRepaint() override; void onStyleError() override; void onResourceError(std::exception_ptr) override; void update(); void render(); void loadStyleJSON(const std::string&); View& view; FileSource& fileSource; RenderState renderState = RenderState::Never; Transform transform; const MapMode mode; const GLContextMode contextMode; const float pixelRatio; MapDebugOptions debugOptions { MapDebugOptions::NoDebug }; gl::ObjectStore store; Update updateFlags = Update::Nothing; util::AsyncTask asyncUpdate; std::unique_ptr annotationManager; std::unique_ptr painter; std::unique_ptr