diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-04-21 09:19:47 -0700 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-04-25 17:23:54 -0700 |
commit | 3c175adf30546fe58713b8fed29ac35a85e150be (patch) | |
tree | 5666e9bcf311ed1b86a13444e50dc7a030c10da9 /src/mbgl/renderer/render_raster_layer.cpp | |
parent | ea8ec38df156c6683c886253dbb1f6bc828686ff (diff) | |
download | qtlocation-mapboxgl-3c175adf30546fe58713b8fed29ac35a85e150be.tar.gz |
[core] split off render layers
Diffstat (limited to 'src/mbgl/renderer/render_raster_layer.cpp')
-rw-r--r-- | src/mbgl/renderer/render_raster_layer.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/mbgl/renderer/render_raster_layer.cpp b/src/mbgl/renderer/render_raster_layer.cpp new file mode 100644 index 0000000000..f877a02398 --- /dev/null +++ b/src/mbgl/renderer/render_raster_layer.cpp @@ -0,0 +1,33 @@ +#include <mbgl/renderer/render_raster_layer.hpp> +#include <mbgl/renderer/bucket.hpp> +#include <mbgl/style/layers/raster_layer_impl.hpp> + +namespace mbgl { + +RenderRasterLayer::RenderRasterLayer(const style::RasterLayer::Impl& _impl) + : RenderLayer(style::LayerType::Raster, _impl), + impl(&_impl) { +} + +std::unique_ptr<RenderLayer> RenderRasterLayer::clone() const { + return std::make_unique<RenderRasterLayer>(*this); +} + +std::unique_ptr<Bucket> RenderRasterLayer::createBucket(const BucketParameters&, const std::vector<const RenderLayer*>&) const { + assert(false); + return nullptr; +} + +void RenderRasterLayer::cascade(const style::CascadeParameters& parameters) { + unevaluated = impl->cascading.cascade(parameters, std::move(unevaluated)); +} + +bool RenderRasterLayer::evaluate(const style::PropertyEvaluationParameters& parameters) { + evaluated = unevaluated.evaluate(parameters); + + passes = evaluated.get<style::RasterOpacity>() > 0 ? RenderPass::Translucent : RenderPass::None; + + return unevaluated.hasTransition(); +} + +} // namespace mbgl |