summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/layers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/layers')
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp11
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.hpp5
2 files changed, 6 insertions, 10 deletions
diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp
index 9811899d83..e22e14275c 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -3,6 +3,7 @@
#include <mbgl/renderer/render_tile.hpp>
#include <mbgl/renderer/paint_parameters.hpp>
#include <mbgl/renderer/render_static_data.hpp>
+#include <mbgl/renderer/sources/render_image_source.hpp>
#include <mbgl/programs/programs.hpp>
#include <mbgl/programs/raster_program.hpp>
#include <mbgl/tile/tile.hpp>
@@ -74,13 +75,7 @@ static std::array<float, 3> spinWeights(float spin) {
void RenderRasterLayer::prepare(const LayerPrepareParameters& params) {
RenderLayer::prepare(params);
- auto* imageSource = params.source->as<RenderImageSource>();
- if (imageSource && imageSource->isLoaded()) {
- assert(imageSource->isEnabled());
- assert(imageSource->sharedData.bucket);
- assert(imageSource->sharedData.matrices);
- imageData = imageSource->sharedData;
- }
+ imageData = params.source->getImageRenderData();
}
void RenderRasterLayer::render(PaintParameters& parameters) {
@@ -147,7 +142,7 @@ void RenderRasterLayer::render(PaintParameters& parameters) {
assert(bucket.texture);
size_t i = 0;
- for (const auto& matrix_ : *imageData->matrices) {
+ for (const auto& matrix_ : imageData->matrices) {
draw(matrix_,
*bucket.vertexBuffer,
*bucket.indexBuffer,
diff --git a/src/mbgl/renderer/layers/render_raster_layer.hpp b/src/mbgl/renderer/layers/render_raster_layer.hpp
index 9ef7c9837f..94bbd36a0d 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.hpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.hpp
@@ -1,12 +1,13 @@
#pragma once
#include <mbgl/renderer/render_layer.hpp>
-#include <mbgl/renderer/sources/render_image_source.hpp>
#include <mbgl/style/layers/raster_layer_impl.hpp>
#include <mbgl/style/layers/raster_layer_properties.hpp>
namespace mbgl {
+class ImageSourceRenderData;
+
class RenderRasterLayer final : public RenderLayer {
public:
explicit RenderRasterLayer(Immutable<style::RasterLayer::Impl>);
@@ -22,7 +23,7 @@ private:
// Paint properties
style::RasterPaintProperties::Unevaluated unevaluated;
- optional<ImageLayerRenderData> imageData;
+ const ImageSourceRenderData* imageData = nullptr;
};
} // namespace mbgl