#pragma once #include #include #include #include #include #include #include namespace mbgl { class Renderer; class View; class StubRendererFrontend : public RendererFrontend { public: // Calls the provided callback when it's time to render using InvalidateCallback = std::function; StubRendererFrontend(std::unique_ptr, InvalidateCallback); // Will render async StubRendererFrontend(std::unique_ptr, View&); ~StubRendererFrontend() override; void reset() override; void setObserver(RendererObserver&) override; void update(std::shared_ptr) override; void render(View& view); Renderer* getRenderer(); private: std::unique_ptr renderer; std::shared_ptr updateParameters; util::AsyncTask asyncInvalidate; }; } // namespace mbgl