Files
MapLibreParticleLab/include/mbgl/renderer/renderer_observer.hpp
Thiago Marcos P. Santos fb65d25831 [core] Make RendererObserver a public interface
Needed by backends implementing asyncronous rendering
2018-02-09 20:28:54 +02:00

36 lines
780 B
C++

#pragma once
#include <exception>
namespace mbgl {
class RendererObserver {
public:
virtual ~RendererObserver() = default;
enum class RenderMode : uint32_t {
Partial,
Full
};
// Signals that a repaint is required
virtual void onInvalidate() {}
// Resource failed to download / parse
virtual void onResourceError(std::exception_ptr) {}
// First frame
virtual void onWillStartRenderingMap() {}
// Start of frame, initial is the first frame for this map
virtual void onWillStartRenderingFrame() {}
// End of frame, boolean flags that a repaint is required
virtual void onDidFinishRenderingFrame(RenderMode, bool) {}
// Final frame
virtual void onDidFinishRenderingMap() {}
};
} // namespace mbgl