diff options
Diffstat (limited to 'platform/default/mbgl/renderer/async_renderer_frontend.hpp')
-rw-r--r-- | platform/default/mbgl/renderer/async_renderer_frontend.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/platform/default/mbgl/renderer/async_renderer_frontend.hpp b/platform/default/mbgl/renderer/async_renderer_frontend.hpp new file mode 100644 index 0000000000..00cf3a480c --- /dev/null +++ b/platform/default/mbgl/renderer/async_renderer_frontend.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include <mbgl/map/view.hpp> +#include <mbgl/renderer/renderer_frontend.hpp> +#include <mbgl/util/async_task.hpp> + +#include <memory> +#include <vector> + +namespace mbgl { + +class Renderer; + +// Default implementation for RendererFrontend +class AsyncRendererFrontend : public mbgl::RendererFrontend { +public: + AsyncRendererFrontend(std::unique_ptr<Renderer>, View&); + ~AsyncRendererFrontend() override; + + void reset() override; + + void update(std::shared_ptr<UpdateParameters> updateParameters_) override; + + void setObserver(RendererObserver& observer_) override; + + Renderer* getRenderer(); + +private: + std::unique_ptr<Renderer> renderer; + View& view; + std::shared_ptr<UpdateParameters> updateParameters; + util::AsyncTask asyncInvalidate; +}; + +} // namespace mbgl |