#pragma once #include #include #include #include #include #include #include #include #include #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) override; // Feature querying std::vector queryRenderedFeatures(const ScreenCoordinate&, const RenderedQueryOptions&) const; std::vector queryRenderedFeatures(const ScreenBox&, const RenderedQueryOptions&) const; std::vector querySourceFeatures(const std::string& sourceID, const SourceQueryOptions&) const; AnnotationIDs queryPointAnnotations(const ScreenBox& box) const; AnnotationIDs queryShapeAnnotations(const ScreenBox& box) const; // Memory void reduceMemoryUse(); private: MapRenderer& mapRenderer; util::RunLoop* mapRunLoop; }; } // namespace android } // namespace mbgl