diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-12-09 11:30:01 -0800 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2017-02-02 09:44:06 -0800 |
commit | 67e157e8b4add5b2b5838bc021ba8ad3f030ab9f (patch) | |
tree | 802a8e3562badc17d9411303193d32ba885a11b5 /src | |
parent | 01b557aeb34d51b2a63ee54ef38192f705d068e9 (diff) | |
download | qtlocation-mapboxgl-67e157e8b4add5b2b5838bc021ba8ad3f030ab9f.tar.gz |
[core] Move fill-outline special case to FillLayer::Impl::evaluate
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/renderer/painter_fill.cpp | 6 | ||||
-rw-r--r-- | src/mbgl/style/layers/fill_layer_impl.cpp | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index 356ccfc0b2..f4e73f94ac 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -85,7 +85,6 @@ void Painter::renderFill(PaintParameters& parameters, } else { auto draw = [&] (uint8_t sublayer, auto& program, - Color outlineColor, const auto& drawMode, const auto& vertexBuffer, const auto& indexBuffer, @@ -102,7 +101,7 @@ void Painter::renderFill(PaintParameters& parameters, state) }, uniforms::u_opacity::Value{ properties.get<FillOpacity>() }, uniforms::u_color::Value{ properties.get<FillColor>() }, - uniforms::u_outline_color::Value{ outlineColor }, + uniforms::u_outline_color::Value{ properties.get<FillOutlineColor>() }, uniforms::u_world::Value{ context.viewport.getCurrentValue().size }, }, vertexBuffer, @@ -114,7 +113,6 @@ void Painter::renderFill(PaintParameters& parameters, if (properties.get<FillAntialias>() && !layer.impl->paint.unevaluated.get<FillOutlineColor>().isUndefined() && pass == RenderPass::Translucent) { draw(2, parameters.programs.fillOutline, - properties.get<FillOutlineColor>(), gl::Lines { 2.0f }, *bucket.vertexBuffer, *bucket.lineIndexBuffer, @@ -126,7 +124,6 @@ void Painter::renderFill(PaintParameters& parameters, if ((properties.get<FillColor>().a >= 1.0f && properties.get<FillOpacity>() >= 1.0f) == (pass == RenderPass::Opaque)) { draw(1, parameters.programs.fill, - properties.get<FillOutlineColor>(), gl::Triangles(), *bucket.vertexBuffer, *bucket.triangleIndexBuffer, @@ -136,7 +133,6 @@ void Painter::renderFill(PaintParameters& parameters, if (properties.get<FillAntialias>() && layer.impl->paint.unevaluated.get<FillOutlineColor>().isUndefined() && pass == RenderPass::Translucent) { draw(2, parameters.programs.fillOutline, - properties.get<FillColor>(), gl::Lines { 2.0f }, *bucket.vertexBuffer, *bucket.lineIndexBuffer, diff --git a/src/mbgl/style/layers/fill_layer_impl.cpp b/src/mbgl/style/layers/fill_layer_impl.cpp index 51636820f0..1ff26aa003 100644 --- a/src/mbgl/style/layers/fill_layer_impl.cpp +++ b/src/mbgl/style/layers/fill_layer_impl.cpp @@ -15,6 +15,10 @@ void FillLayer::Impl::cascade(const CascadeParameters& parameters) { bool FillLayer::Impl::evaluate(const PropertyEvaluationParameters& parameters) { paint.evaluate(parameters); + if (paint.unevaluated.get<FillOutlineColor>().isUndefined()) { + paint.evaluated.get<FillOutlineColor>() = paint.evaluated.get<FillColor>(); + } + passes = RenderPass::None; if (paint.evaluated.get<FillAntialias>()) { |