1 #pragma once 2 3 #include <mbgl/style/source.hpp> 4 5 #include <cstdint> 6 #include <exception> 7 #include <string> 8 9 namespace mbgl { 10 11 class MapObserver { 12 public: 13 virtual ~MapObserver() = default; 14 nullObserver()15 static MapObserver& nullObserver() { 16 static MapObserver mapObserver; 17 return mapObserver; 18 } 19 20 enum class CameraChangeMode : uint32_t { 21 Immediate, 22 Animated 23 }; 24 25 enum class RenderMode : uint32_t { 26 Partial, 27 Full 28 }; 29 onCameraWillChange(CameraChangeMode)30 virtual void onCameraWillChange(CameraChangeMode) {} onCameraIsChanging()31 virtual void onCameraIsChanging() {} onCameraDidChange(CameraChangeMode)32 virtual void onCameraDidChange(CameraChangeMode) {} onWillStartLoadingMap()33 virtual void onWillStartLoadingMap() {} onDidFinishLoadingMap()34 virtual void onDidFinishLoadingMap() {} onDidFailLoadingMap(std::exception_ptr)35 virtual void onDidFailLoadingMap(std::exception_ptr) {} onWillStartRenderingFrame()36 virtual void onWillStartRenderingFrame() {} onDidFinishRenderingFrame(RenderMode)37 virtual void onDidFinishRenderingFrame(RenderMode) {} onWillStartRenderingMap()38 virtual void onWillStartRenderingMap() {} onDidFinishRenderingMap(RenderMode)39 virtual void onDidFinishRenderingMap(RenderMode) {} onDidFinishLoadingStyle()40 virtual void onDidFinishLoadingStyle() {} onSourceChanged(style::Source &)41 virtual void onSourceChanged(style::Source&) {} 42 }; 43 44 } // namespace mbgl 45