diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-06-27 17:04:09 -0700 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-07-18 10:45:12 +0200 |
commit | d68d8a7846ef0b4d06c31e0ed451b31354a7dec9 (patch) | |
tree | 8236d0ce48b0d90baab947e044ce3a61aa9a615b /platform/android/src/android_renderer_frontend.hpp | |
parent | b6d56ad634e2b3048e97bedd9f674aa4ec975453 (diff) | |
download | qtlocation-mapboxgl-d68d8a7846ef0b4d06c31e0ed451b31354a7dec9.tar.gz |
[android] rendering interface changes
Diffstat (limited to 'platform/android/src/android_renderer_frontend.hpp')
-rw-r--r-- | platform/android/src/android_renderer_frontend.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/platform/android/src/android_renderer_frontend.hpp b/platform/android/src/android_renderer_frontend.hpp new file mode 100644 index 0000000000..95513a7682 --- /dev/null +++ b/platform/android/src/android_renderer_frontend.hpp @@ -0,0 +1,51 @@ + +#pragma once + +#include <mbgl/annotation/annotation.hpp> +#include <mbgl/renderer/renderer_frontend.hpp> +#include <mbgl/util/async_task.hpp> +#include <mbgl/util/geo.hpp> + +#include <functional> +#include <memory> +#include <vector> + +namespace mbgl { + +class View; +class Renderer; +class View; +class RenderedQueryOptions; +class SourceQueryOptions; + +namespace android { + +class AndroidRendererFrontend : public RendererFrontend { +public: + using InvalidateCallback = std::function<void ()>; + AndroidRendererFrontend(std::unique_ptr<Renderer>, InvalidateCallback); + ~AndroidRendererFrontend() override; + + void reset() override; + void setObserver(RendererObserver&) override; + + void update(std::shared_ptr<UpdateParameters>) override; + void render(View& view); + + // Feature querying + std::vector<Feature> queryRenderedFeatures(const ScreenCoordinate&, const RenderedQueryOptions&) const; + std::vector<Feature> queryRenderedFeatures(const ScreenBox&, const RenderedQueryOptions&) const; + std::vector<Feature> querySourceFeatures(const std::string& sourceID, const SourceQueryOptions&) const; + AnnotationIDs queryPointAnnotations(const ScreenBox& box) const; + + // Memory + void onLowMemory(); + +private: + std::unique_ptr<Renderer> renderer; + std::shared_ptr<UpdateParameters> updateParameters; + util::AsyncTask asyncInvalidate; +}; + +} // namespace android +} // namespace mbgl |