From 115512153064276d23bb865d1947e669eb022b50 Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Wed, 3 Jul 2019 11:45:33 +0300 Subject: [core] Introduce ImageSourceRenderData and RenderSource::getImageRenderData() Image source render data is owned by render source, which is simpler than the previous approach and aligned with the render tiles ownership model. --- src/mbgl/renderer/sources/render_image_source.hpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/mbgl/renderer/sources/render_image_source.hpp') diff --git a/src/mbgl/renderer/sources/render_image_source.hpp b/src/mbgl/renderer/sources/render_image_source.hpp index f1d3a86db1..ac9bdbecb7 100644 --- a/src/mbgl/renderer/sources/render_image_source.hpp +++ b/src/mbgl/renderer/sources/render_image_source.hpp @@ -2,21 +2,26 @@ #include #include +#include #include namespace mbgl { class RasterBucket; -class ImageLayerRenderData { +class ImageSourceRenderData { public: + ImageSourceRenderData(std::shared_ptr bucket_, + std::vector matrices_) + : bucket(std::move(bucket_)), + matrices(std::move(matrices_)) {} std::shared_ptr bucket; - std::shared_ptr> matrices; + std::vector matrices; }; -class RenderImageSource : public RenderSource { +class RenderImageSource final : public RenderSource { public: - RenderImageSource(Immutable); + explicit RenderImageSource(Immutable); ~RenderImageSource() override; bool isLoaded() const final; @@ -37,6 +42,10 @@ public: return {}; } + const ImageSourceRenderData* getImageRenderData() const override { + return renderData.get(); + } + std::unordered_map> queryRenderedFeatures(const ScreenLineString& geometry, const TransformState& transformState, @@ -54,7 +63,8 @@ private: friend class RenderRasterLayer; const style::ImageSource::Impl& impl() const; - ImageLayerRenderData sharedData; + std::shared_ptr bucket; + std::unique_ptr renderData; std::vector tileIds; }; -- cgit v1.2.1