MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
renderer_observer.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cstdint>
4 #include <exception>
5 
6 namespace mbgl {
7 
8 namespace gfx {
9 class ShaderRegistry;
10 }
11 
13 public:
14  virtual ~RendererObserver() = default;
15 
16  enum class RenderMode : uint32_t {
17  Partial,
18  Full
19  };
20 
22  virtual void onInvalidate() {}
23 
25  virtual void onResourceError(std::exception_ptr) {}
26 
28  virtual void onWillStartRenderingMap() {}
29 
31  virtual void onWillStartRenderingFrame() {}
32 
34  virtual void onDidFinishRenderingFrame(RenderMode, bool /*repaint*/, bool /*placementChanged*/) {}
35 
37  virtual void onDidFinishRenderingMap() {}
38 
40  using StyleImageMissingCallback = std::function<void()>;
41  virtual void onStyleImageMissing(const std::string&, const StyleImageMissingCallback& done) { done(); }
42  virtual void onRemoveUnusedStyleImages(const std::vector<std::string>&) {}
43 
44  // Entry point for custom shader registration
46 };
47 
48 } // namespace mbgl
virtual ~RendererObserver()=default
virtual void onRemoveUnusedStyleImages(const std::vector< std::string > &)
virtual void onWillStartRenderingMap()
First frame.
virtual void onInvalidate()
Signals that a repaint is required.
virtual void onRegisterShaders(gfx::ShaderRegistry &)
virtual void onDidFinishRenderingMap()
Final frame.
virtual void onStyleImageMissing(const std::string &, const StyleImageMissingCallback &done)
virtual void onResourceError(std::exception_ptr)
Resource failed to download / parse.
std::function< void()> StyleImageMissingCallback
Style is missing an image.
virtual void onDidFinishRenderingFrame(RenderMode, bool, bool)
End of frame, booleans flags that a repaint is required and that placement changed.
virtual void onWillStartRenderingFrame()
Start of frame, initial is the first frame for this map.
A ShaderRegistry contains a collection of gfx::Shader instances. Using the registry,...
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
Definition: actor.hpp:15