[core] Inherit RenderAnnotationSource from RenderTileSource

This commit is contained in:
Mikhail Pozdnyakov
2019-06-05 16:41:14 +03:00
parent 50e239a937
commit ad53132e5d
2 changed files with 4 additions and 55 deletions

View File

@@ -10,7 +10,7 @@ namespace mbgl {
using namespace style;
RenderAnnotationSource::RenderAnnotationSource(Immutable<AnnotationSource::Impl> impl_)
: RenderSource(impl_) {
: RenderTileSource(std::move(impl_)) {
assert(LayerManager::annotationsEnabled);
tilePyramid.setObserver(this);
}
@@ -19,10 +19,6 @@ const AnnotationSource::Impl& RenderAnnotationSource::impl() const {
return static_cast<const AnnotationSource::Impl&>(*baseImpl);
}
bool RenderAnnotationSource::isLoaded() const {
return tilePyramid.isLoaded();
}
void RenderAnnotationSource::update(Immutable<style::Source::Impl> baseImpl_,
const std::vector<Immutable<style::LayerProperties>>& layers,
const bool needsRendering,
@@ -47,30 +43,6 @@ void RenderAnnotationSource::update(Immutable<style::Source::Impl> baseImpl_,
});
}
void RenderAnnotationSource::upload(gfx::UploadPass& uploadPass) {
tilePyramid.upload(uploadPass);
}
void RenderAnnotationSource::prepare(const SourcePrepareParameters& parameters) {
tilePyramid.prepare(parameters);
}
void RenderAnnotationSource::finishRender(PaintParameters& parameters) {
tilePyramid.finishRender(parameters);
}
void RenderAnnotationSource::updateFadingTiles() {
tilePyramid.updateFadingTiles();
}
bool RenderAnnotationSource::hasFadingTiles() const {
return tilePyramid.hasFadingTiles();
}
std::vector<std::reference_wrapper<RenderTile>> RenderAnnotationSource::getRenderTiles() {
return tilePyramid.getRenderTiles();
}
std::unordered_map<std::string, std::vector<Feature>>
RenderAnnotationSource::queryRenderedFeatures(const ScreenLineString& geometry,
const TransformState& transformState,
@@ -84,12 +56,5 @@ std::vector<Feature> RenderAnnotationSource::querySourceFeatures(const SourceQue
return {};
}
void RenderAnnotationSource::reduceMemoryUse() {
tilePyramid.reduceMemoryUse();
}
void RenderAnnotationSource::dumpDebugLogs() const {
tilePyramid.dumpDebugLogs();
}
} // namespace mbgl

View File

@@ -1,16 +1,13 @@
#pragma once
#include <mbgl/renderer/render_source.hpp>
#include <mbgl/renderer/tile_pyramid.hpp>
#include <mbgl/annotation/annotation_source.hpp>
#include <mbgl/renderer/sources/render_tile_source.hpp>
namespace mbgl {
class RenderAnnotationSource : public RenderSource {
class RenderAnnotationSource final : public RenderTileSource {
public:
RenderAnnotationSource(Immutable<AnnotationSource::Impl>);
bool isLoaded() const final;
explicit RenderAnnotationSource(Immutable<AnnotationSource::Impl>);
void update(Immutable<style::Source::Impl>,
const std::vector<Immutable<style::LayerProperties>>&,
@@ -18,14 +15,6 @@ public:
bool needsRelayout,
const TileParameters&) final;
void upload(gfx::UploadPass&) final;
void prepare(const SourcePrepareParameters&) final;
void finishRender(PaintParameters&) final;
void updateFadingTiles() final;
bool hasFadingTiles() const final;
std::vector<std::reference_wrapper<RenderTile>> getRenderTiles() final;
std::unordered_map<std::string, std::vector<Feature>>
queryRenderedFeatures(const ScreenLineString& geometry,
const TransformState& transformState,
@@ -36,13 +25,8 @@ public:
std::vector<Feature>
querySourceFeatures(const SourceQueryOptions&) const final;
void reduceMemoryUse() final;
void dumpDebugLogs() const final;
private:
const AnnotationSource::Impl& impl() const;
TilePyramid tilePyramid;
};
template <>