1 #pragma once
2 
3 #include <exception>
4 
5 namespace mbgl {
6 
7 class RendererObserver {
8 public:
9     virtual ~RendererObserver() = default;
10 
11     enum class RenderMode : uint32_t {
12         Partial,
13         Full
14     };
15 
16     // Signals that a repaint is required
onInvalidate()17     virtual void onInvalidate() {}
18 
19     // Resource failed to download / parse
onResourceError(std::exception_ptr)20     virtual void onResourceError(std::exception_ptr) {}
21 
22     // First frame
onWillStartRenderingMap()23     virtual void onWillStartRenderingMap() {}
24 
25     // Start of frame, initial is the first frame for this map
onWillStartRenderingFrame()26     virtual void onWillStartRenderingFrame() {}
27 
28     // End of frame, boolean flags that a repaint is required
onDidFinishRenderingFrame(RenderMode,bool)29     virtual void onDidFinishRenderingFrame(RenderMode, bool) {}
30 
31     // Final frame
onDidFinishRenderingMap()32     virtual void onDidFinishRenderingMap() {}
33 };
34 
35 } // namespace mbgl
36