diff options
Diffstat (limited to 'platform/android/src/android_renderer_frontend.hpp')
-rw-r--r-- | platform/android/src/android_renderer_frontend.hpp | 49 |
1 files changed, 49 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..94508fd816 --- /dev/null +++ b/platform/android/src/android_renderer_frontend.hpp @@ -0,0 +1,49 @@ +#pragma once + +#include <mbgl/actor/actor.hpp> +#include <mbgl/annotation/annotation.hpp> +#include <mbgl/renderer/renderer_frontend.hpp> +#include <mbgl/util/geo.hpp> +#include <mbgl/util/run_loop.hpp> + +#include <functional> +#include <memory> +#include <vector> +#include <string> + +#include "map_renderer.hpp" + +namespace mbgl { + +class RenderedQueryOptions; +class SourceQueryOptions; + +namespace android { + +class AndroidRendererFrontend : public RendererFrontend { +public: + + AndroidRendererFrontend(MapRenderer&); + ~AndroidRendererFrontend() override; + + void reset() override; + void setObserver(RendererObserver&) override; + + void update(std::shared_ptr<UpdateParameters>) override; + + // 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: + MapRenderer& mapRenderer; + util::RunLoop* mapRunLoop; +}; + +} // namespace android +} // namespace mbgl |