#include #include #include #include #include namespace mbgl { using namespace style; RenderTileSource::RenderTileSource(Immutable impl_) : RenderSource(std::move(impl_)) { tilePyramid.setObserver(this); } RenderTileSource::~RenderTileSource() = default; bool RenderTileSource::isLoaded() const { return tilePyramid.isLoaded(); } void RenderTileSource::upload(gfx::UploadPass& parameters) { for (auto& tile : renderTiles) { tile.upload(parameters); } } void RenderTileSource::prepare(const SourcePrepareParameters& parameters) { renderTiles.clear(); for (auto& entry : tilePyramid.getRenderedTiles()) { renderTiles.emplace_back(entry.first, entry.second); renderTiles.back().prepare(parameters); } } void RenderTileSource::finishRender(PaintParameters& parameters) { for (auto& tile : renderTiles) { tile.finishRender(parameters); } } void RenderTileSource::updateFadingTiles() { tilePyramid.updateFadingTiles(); } bool RenderTileSource::hasFadingTiles() const { return tilePyramid.hasFadingTiles(); } std::vector> RenderTileSource::getRenderedTiles() { return { renderTiles.begin(), renderTiles.end() }; } std::unordered_map> RenderTileSource::queryRenderedFeatures(const ScreenLineString& geometry, const TransformState& transformState, const std::vector& layers, const RenderedQueryOptions& options, const mat4& projMatrix) const { return tilePyramid.queryRenderedFeatures(geometry, transformState, layers, options, projMatrix); } std::vector RenderTileSource::querySourceFeatures(const SourceQueryOptions& options) const { return tilePyramid.querySourceFeatures(options); } void RenderTileSource::reduceMemoryUse() { tilePyramid.reduceMemoryUse(); } void RenderTileSource::dumpDebugLogs() const { tilePyramid.dumpDebugLogs(); } } // namespace mbgl