summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/render_layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/render_layer.cpp')
-rw-r--r--src/mbgl/renderer/render_layer.cpp46
1 files changed, 3 insertions, 43 deletions
diff --git a/src/mbgl/renderer/render_layer.cpp b/src/mbgl/renderer/render_layer.cpp
index 3e9a7caf24..033df02282 100644
--- a/src/mbgl/renderer/render_layer.cpp
+++ b/src/mbgl/renderer/render_layer.cpp
@@ -1,14 +1,4 @@
#include <mbgl/renderer/render_layer.hpp>
-#include <mbgl/renderer/layers/render_background_layer.hpp>
-#include <mbgl/renderer/layers/render_circle_layer.hpp>
-#include <mbgl/renderer/layers/render_custom_layer.hpp>
-#include <mbgl/renderer/layers/render_fill_extrusion_layer.hpp>
-#include <mbgl/renderer/layers/render_fill_layer.hpp>
-#include <mbgl/renderer/layers/render_hillshade_layer.hpp>
-#include <mbgl/renderer/layers/render_line_layer.hpp>
-#include <mbgl/renderer/layers/render_raster_layer.hpp>
-#include <mbgl/renderer/layers/render_symbol_layer.hpp>
-#include <mbgl/renderer/layers/render_heatmap_layer.hpp>
#include <mbgl/renderer/paint_parameters.hpp>
#include <mbgl/renderer/render_tile.hpp>
#include <mbgl/style/types.hpp>
@@ -19,42 +9,12 @@ namespace mbgl {
using namespace style;
-std::unique_ptr<RenderLayer> RenderLayer::create(Immutable<Layer::Impl> impl) {
- switch (impl->type) {
- case LayerType::Fill:
- return std::make_unique<RenderFillLayer>(staticImmutableCast<FillLayer::Impl>(impl));
- case LayerType::Line:
- return std::make_unique<RenderLineLayer>(staticImmutableCast<LineLayer::Impl>(impl));
- case LayerType::Circle:
- return std::make_unique<RenderCircleLayer>(staticImmutableCast<CircleLayer::Impl>(impl));
- case LayerType::Symbol:
- return std::make_unique<RenderSymbolLayer>(staticImmutableCast<SymbolLayer::Impl>(impl));
- case LayerType::Raster:
- return std::make_unique<RenderRasterLayer>(staticImmutableCast<RasterLayer::Impl>(impl));
- case LayerType::Hillshade:
- return std::make_unique<RenderHillshadeLayer>(staticImmutableCast<HillshadeLayer::Impl>(impl));
- case LayerType::Background:
- return std::make_unique<RenderBackgroundLayer>(staticImmutableCast<BackgroundLayer::Impl>(impl));
- case LayerType::Custom:
- return std::make_unique<RenderCustomLayer>(staticImmutableCast<CustomLayer::Impl>(impl));
- case LayerType::FillExtrusion:
- return std::make_unique<RenderFillExtrusionLayer>(staticImmutableCast<FillExtrusionLayer::Impl>(impl));
- case LayerType::Heatmap:
- return std::make_unique<RenderHeatmapLayer>(staticImmutableCast<HeatmapLayer::Impl>(impl));
- }
-
- // Not reachable, but placate GCC.
- assert(false);
- return nullptr;
-}
-
-RenderLayer::RenderLayer(style::LayerType type_, Immutable<style::Layer::Impl> baseImpl_)
- : type(type_),
- baseImpl(baseImpl_) {
+RenderLayer::RenderLayer(Immutable<style::Layer::Impl> baseImpl_)
+ : baseImpl(std::move(baseImpl_)) {
}
void RenderLayer::setImpl(Immutable<style::Layer::Impl> impl) {
- baseImpl = impl;
+ baseImpl = std::move(impl);
}
const std::string& RenderLayer::getID() const {