#pragma once #include #include #include namespace mbgl { /** * @brief Base class for render sources that provide render tiles. */ class RenderTileSource : public RenderSource { public: RenderTileSource(Immutable); ~RenderTileSource() override; bool isLoaded() const override; void upload(gfx::UploadPass&) override; void prepare(const SourcePrepareParameters&) override; void finishRender(PaintParameters&) override; void updateFadingTiles() override; bool hasFadingTiles() const override; std::vector> getRenderTiles() override; std::unordered_map> queryRenderedFeatures(const ScreenLineString& geometry, const TransformState& transformState, const std::vector& layers, const RenderedQueryOptions& options, const mat4& projMatrix) const override; std::vector querySourceFeatures(const SourceQueryOptions&) const override; void reduceMemoryUse() override; void dumpDebugLogs() const override; protected: TilePyramid tilePyramid; std::vector renderTiles; }; } // namespace mbgl