diff options
Diffstat (limited to 'src')
10 files changed, 46 insertions, 0 deletions
diff --git a/src/mbgl/renderer/layers/render_background_layer.cpp b/src/mbgl/renderer/layers/render_background_layer.cpp index 4725bce435..6f76efda7a 100644 --- a/src/mbgl/renderer/layers/render_background_layer.cpp +++ b/src/mbgl/renderer/layers/render_background_layer.cpp @@ -16,10 +16,15 @@ namespace mbgl { using namespace style; +namespace { + inline const BackgroundLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == BackgroundLayer::Impl::staticTypeInfo()); return static_cast<const style::BackgroundLayer::Impl&>(*impl); } +} // namespace + RenderBackgroundLayer::RenderBackgroundLayer(Immutable<style::BackgroundLayer::Impl> _impl) : RenderLayer(makeMutable<BackgroundLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_circle_layer.cpp b/src/mbgl/renderer/layers/render_circle_layer.cpp index 4f1620364f..ea0c20f124 100644 --- a/src/mbgl/renderer/layers/render_circle_layer.cpp +++ b/src/mbgl/renderer/layers/render_circle_layer.cpp @@ -15,10 +15,15 @@ namespace mbgl { using namespace style; +namespace { + inline const style::CircleLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == CircleLayer::Impl::staticTypeInfo()); return static_cast<const style::CircleLayer::Impl&>(*impl); } +} // namespace + RenderCircleLayer::RenderCircleLayer(Immutable<style::CircleLayer::Impl> _impl) : RenderLayer(makeMutable<CircleLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_custom_layer.cpp b/src/mbgl/renderer/layers/render_custom_layer.cpp index 75c21997b0..c53286a2a0 100644 --- a/src/mbgl/renderer/layers/render_custom_layer.cpp +++ b/src/mbgl/renderer/layers/render_custom_layer.cpp @@ -14,10 +14,15 @@ namespace mbgl { using namespace style; +namespace { + inline const CustomLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == CustomLayer::Impl::staticTypeInfo()); return static_cast<const CustomLayer::Impl&>(*impl); } +} // namespace + RenderCustomLayer::RenderCustomLayer(Immutable<style::CustomLayer::Impl> _impl) : RenderLayer(makeMutable<CustomLayerProperties>(std::move(_impl))), host(impl(baseImpl).host) { diff --git a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp index 3c97ab7431..835e8c8ee5 100644 --- a/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp @@ -20,10 +20,15 @@ namespace mbgl { using namespace style; +namespace { + inline const FillExtrusionLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == FillExtrusionLayer::Impl::staticTypeInfo()); return static_cast<const FillExtrusionLayer::Impl&>(*impl); } +} // namespace + RenderFillExtrusionLayer::RenderFillExtrusionLayer(Immutable<style::FillExtrusionLayer::Impl> _impl) : RenderLayer(makeMutable<FillExtrusionLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_fill_layer.cpp b/src/mbgl/renderer/layers/render_fill_layer.cpp index 6a134a398a..27cb76fede 100644 --- a/src/mbgl/renderer/layers/render_fill_layer.cpp +++ b/src/mbgl/renderer/layers/render_fill_layer.cpp @@ -21,10 +21,15 @@ namespace mbgl { using namespace style; +namespace { + inline const FillLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == FillLayer::Impl::staticTypeInfo()); return static_cast<const FillLayer::Impl&>(*impl); } +} // namespace + RenderFillLayer::RenderFillLayer(Immutable<style::FillLayer::Impl> _impl) : RenderLayer(makeMutable<FillLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_heatmap_layer.cpp b/src/mbgl/renderer/layers/render_heatmap_layer.cpp index 478a8f8c47..4fa20ffd13 100644 --- a/src/mbgl/renderer/layers/render_heatmap_layer.cpp +++ b/src/mbgl/renderer/layers/render_heatmap_layer.cpp @@ -19,10 +19,15 @@ namespace mbgl { using namespace style; +namespace { + inline const HeatmapLayer::Impl& impl(const Immutable<Layer::Impl>& impl) { + assert(impl->getTypeInfo() == HeatmapLayer::Impl::staticTypeInfo()); return static_cast<const HeatmapLayer::Impl&>(*impl); } +} // namespace + RenderHeatmapLayer::RenderHeatmapLayer(Immutable<HeatmapLayer::Impl> _impl) : RenderLayer(makeMutable<HeatmapLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()), colorRamp({256, 1}) { diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp index 2c7e0aef86..a3b96721a4 100644 --- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp +++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp @@ -18,10 +18,15 @@ namespace mbgl { using namespace style; +namespace { + inline const HillshadeLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == HillshadeLayer::Impl::staticTypeInfo()); return static_cast<const HillshadeLayer::Impl&>(*impl); } +} // namespace + RenderHillshadeLayer::RenderHillshadeLayer(Immutable<style::HillshadeLayer::Impl> _impl) : RenderLayer(makeMutable<HillshadeLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp index fcd52b21df..6d635f65e7 100644 --- a/src/mbgl/renderer/layers/render_line_layer.cpp +++ b/src/mbgl/renderer/layers/render_line_layer.cpp @@ -20,10 +20,15 @@ namespace mbgl { using namespace style; +namespace { + inline const LineLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == LineLayer::Impl::staticTypeInfo()); return static_cast<const LineLayer::Impl&>(*impl); } +} // namespace + RenderLineLayer::RenderLineLayer(Immutable<style::LineLayer::Impl> _impl) : RenderLayer(makeMutable<LineLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()), diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp index 82d135b9ef..8a1a8a6c28 100644 --- a/src/mbgl/renderer/layers/render_raster_layer.cpp +++ b/src/mbgl/renderer/layers/render_raster_layer.cpp @@ -14,10 +14,15 @@ namespace mbgl { using namespace style; +namespace { + inline const RasterLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == RasterLayer::Impl::staticTypeInfo()); return static_cast<const RasterLayer::Impl&>(*impl); } +} // namespace + RenderRasterLayer::RenderRasterLayer(Immutable<style::RasterLayer::Impl> _impl) : RenderLayer(makeMutable<RasterLayerProperties>(std::move(_impl))), unevaluated(impl(baseImpl).paint.untransitioned()) { diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp index 4dddd57009..9733241393 100644 --- a/src/mbgl/renderer/layers/render_symbol_layer.cpp +++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp @@ -227,6 +227,7 @@ void drawText(const DrawFn& draw, } inline const SymbolLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) { + assert(impl->getTypeInfo() == SymbolLayer::Impl::staticTypeInfo()); return static_cast<const SymbolLayer::Impl&>(*impl); } |