summaryrefslogtreecommitdiff
path: root/include/mbgl/map/map_observer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/map/map_observer.hpp')
-rw-r--r--include/mbgl/map/map_observer.hpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/mbgl/map/map_observer.hpp b/include/mbgl/map/map_observer.hpp
new file mode 100644
index 0000000000..e0a734cf5b
--- /dev/null
+++ b/include/mbgl/map/map_observer.hpp
@@ -0,0 +1,38 @@
+#pragma once
+
+#include <cstdint>
+
+namespace mbgl {
+
+class MapObserver {
+public:
+ static MapObserver& nullObserver() {
+ static MapObserver mapObserver;
+ return mapObserver;
+ }
+
+ enum class CameraChangeMode : uint32_t {
+ Immediate,
+ Animated
+ };
+
+ enum class RenderMode : uint32_t {
+ Partial,
+ Full
+ };
+
+ virtual void onCameraWillChange(CameraChangeMode) {}
+ virtual void onCameraIsChanging() {}
+ virtual void onCameraDidChange(CameraChangeMode) {}
+ virtual void onWillStartLoadingMap() {}
+ virtual void onDidFinishLoadingMap() {}
+ virtual void onDidFailLoadingMap() {}
+ virtual void onWillStartRenderingFrame() {}
+ virtual void onDidFinishRenderingFrame(RenderMode) {}
+ virtual void onWillStartRenderingMap() {}
+ virtual void onDidFinishRenderingMap(RenderMode) {}
+ virtual void onDidFinishLoadingStyle() {}
+ virtual void onSourceDidChange() {}
+};
+
+} // namespace mbgl