summaryrefslogtreecommitdiff
path: root/platform/android/src/android_renderer_frontend.hpp
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-06-27 17:04:09 -0700
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-07-18 10:45:12 +0200
commitd68d8a7846ef0b4d06c31e0ed451b31354a7dec9 (patch)
tree8236d0ce48b0d90baab947e044ce3a61aa9a615b /platform/android/src/android_renderer_frontend.hpp
parentb6d56ad634e2b3048e97bedd9f674aa4ec975453 (diff)
downloadqtlocation-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.hpp51
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