summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/sources/render_image_source.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/sources/render_image_source.hpp')
-rw-r--r--src/mbgl/renderer/sources/render_image_source.hpp28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/mbgl/renderer/sources/render_image_source.hpp b/src/mbgl/renderer/sources/render_image_source.hpp
index 804daeef87..d21f4fae10 100644
--- a/src/mbgl/renderer/sources/render_image_source.hpp
+++ b/src/mbgl/renderer/sources/render_image_source.hpp
@@ -9,14 +9,25 @@ namespace mbgl {
class RasterBucket;
-class ImageSourceRenderData {
+class ImageSourceRenderData final : public RenderItem {
public:
ImageSourceRenderData(std::shared_ptr<RasterBucket> bucket_,
- std::vector<mat4> matrices_)
+ std::vector<mat4> matrices_,
+ std::string name_)
: bucket(std::move(bucket_)),
- matrices(std::move(matrices_)) {}
- std::shared_ptr<RasterBucket> bucket;
- std::vector<mat4> matrices;
+ matrices(std::move(matrices_)),
+ name(std::move(name_)) {}
+ ~ImageSourceRenderData() override;
+ const std::shared_ptr<RasterBucket> bucket;
+ const std::vector<mat4> matrices;
+
+private:
+ void upload(gfx::UploadPass&) const override;
+ void render(PaintParameters&) const override;
+ bool hasRenderPass(RenderPass) const override { return false; }
+ const std::string& getName() const override { return name; }
+
+ std::string name;
};
class RenderImageSource final : public RenderSource {
@@ -26,9 +37,8 @@ public:
bool isLoaded() const final;
- void upload(gfx::UploadPass&) final;
+ std::unique_ptr<RenderItem> createRenderItem() override;
void prepare(const SourcePrepareParameters&) final;
- void finishRender(PaintParameters&) final;
void updateFadingTiles() final {}
bool hasFadingTiles() const final { return false; }
@@ -38,9 +48,7 @@ public:
bool needsRelayout,
const TileParameters&) final;
- std::vector<std::reference_wrapper<RenderTile>> getRenderTiles() final {
- return {};
- }
+ RenderTiles getRenderTiles() override { return {}; }
const ImageSourceRenderData* getImageRenderData() const override {
return renderData.get();