diff options
Diffstat (limited to 'src/mbgl/renderer/render_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/render_layer.cpp | 46 |
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 { |