diff options
Diffstat (limited to 'include/mbgl/map/map_observer.hpp')
-rw-r--r-- | include/mbgl/map/map_observer.hpp | 38 |
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 |