summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-12-09 11:30:01 -0800
committerJohn Firebaugh <john.firebaugh@gmail.com>2017-02-02 09:44:06 -0800
commit67e157e8b4add5b2b5838bc021ba8ad3f030ab9f (patch)
tree802a8e3562badc17d9411303193d32ba885a11b5
parent01b557aeb34d51b2a63ee54ef38192f705d068e9 (diff)
downloadqtlocation-mapboxgl-67e157e8b4add5b2b5838bc021ba8ad3f030ab9f.tar.gz
[core] Move fill-outline special case to FillLayer::Impl::evaluate
-rw-r--r--src/mbgl/renderer/painter_fill.cpp6
-rw-r--r--src/mbgl/style/layers/fill_layer_impl.cpp4
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>()) {