Files
MapLibreParticleLab/include/mln/renderer/renderer_frontend.hpp
Bart Louwers 2a8ebc4906 core: rename mbgl directories to mln (#4511)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-22 20:50:14 +02:00

38 lines
944 B
C++

#pragma once
#include <memory>
#include <mln/gfx/drawable.hpp>
#include <mln/actor/scheduler.hpp>
namespace mln {
class RendererObserver;
class UpdateParameters;
/// The RenderFrontend is the bridge between the Map and
/// platform used to update and observe the Renderer
///
/// It hides any threading specifics and always replies on
/// the original thread.
class RendererFrontend {
public:
virtual ~RendererFrontend() = default;
/// Must synchronously clean up the Renderer if set
virtual void reset() = 0;
/// Implementer must bind the renderer observer to the renderer in a
/// appropriate manner so that the callbacks occur on the main thread
virtual void setObserver(RendererObserver&) = 0;
/// Coalescing updates is up to the implementer
virtual void update(std::shared_ptr<UpdateParameters>) = 0;
virtual const TaggedScheduler& getThreadPool() const = 0;
protected:
};
} // namespace mln