diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-03-13 16:16:38 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2017-03-15 14:53:32 +0200 |
commit | fc70cbf1e12e27737c7a256682524cd617d18f71 (patch) | |
tree | 10bf1b6c629bb4c642d060182ab1443cdf0084a4 /include | |
parent | 98f5b71e6db748a2576e9fc6f17b9e76505df1aa (diff) | |
download | qtlocation-mapboxgl-fc70cbf1e12e27737c7a256682524cd617d18f71.tar.gz |
[core] Replace MapChange enum with MapObserver
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/map/backend.hpp | 7 | ||||
-rw-r--r-- | include/mbgl/map/map.hpp | 1 | ||||
-rw-r--r-- | include/mbgl/map/map_observer.hpp | 38 |
3 files changed, 41 insertions, 5 deletions
diff --git a/include/mbgl/map/backend.hpp b/include/mbgl/map/backend.hpp index 4a43921c0b..cd756abe43 100644 --- a/include/mbgl/map/backend.hpp +++ b/include/mbgl/map/backend.hpp @@ -1,6 +1,6 @@ #pragma once -#include <mbgl/map/change.hpp> +#include <mbgl/map/map_observer.hpp> #include <memory> @@ -12,7 +12,7 @@ class Context; class BackendScope; -class Backend { +class Backend : public MapObserver { public: Backend(); virtual ~Backend(); @@ -24,9 +24,6 @@ public: // in the near future. (Not called for Map::renderStill() mode.) virtual void invalidate() = 0; - // Notifies a watcher of map x/y/scale/rotation changes. - virtual void notifyMapChange(MapChange change); - protected: // Called when the backend's GL context needs to be made active or inactive. These are called, // as a matched pair, in four situations: diff --git a/include/mbgl/map/map.hpp b/include/mbgl/map/map.hpp index 02e14bea4e..79fcd34d9b 100644 --- a/include/mbgl/map/map.hpp +++ b/include/mbgl/map/map.hpp @@ -2,6 +2,7 @@ #include <mbgl/util/optional.hpp> #include <mbgl/util/chrono.hpp> +#include <mbgl/map/map_observer.hpp> #include <mbgl/map/mode.hpp> #include <mbgl/util/geo.hpp> #include <mbgl/util/feature.hpp> 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 |