diff options
Diffstat (limited to 'src/mbgl/renderer/painter_fill.cpp')
-rw-r--r-- | src/mbgl/renderer/painter_fill.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index e0e1c0c96a..d9e069d4e8 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -12,16 +12,16 @@ using namespace mbgl; void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileID& id, const mat4& matrix) { - const FillPaintProperties& properties = layer.properties; + const FillPaintProperties& properties = layer.paint; mat4 vtxMatrix = translatedMatrix(matrix, properties.translate, id, properties.translateAnchor); - Color fill_color = properties.fill_color; + Color fill_color = properties.color; fill_color[0] *= properties.opacity; fill_color[1] *= properties.opacity; fill_color[2] *= properties.opacity; fill_color[3] *= properties.opacity; - Color stroke_color = properties.stroke_color; + Color stroke_color = properties.outlineColor; if (stroke_color[3] < 0) { stroke_color = fill_color; } else { @@ -31,7 +31,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI stroke_color[3] *= properties.opacity; } - const bool pattern = !properties.image.from.empty(); + const bool pattern = !properties.pattern.value.from.empty(); bool outline = properties.antialias && !pattern && stroke_color != fill_color; bool fringeline = properties.antialias && !pattern && stroke_color == fill_color; @@ -63,20 +63,20 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI // Image fill. if (pass == RenderPass::Translucent) { - const SpriteAtlasPosition posA = spriteAtlas->getPosition(properties.image.from, true); - const SpriteAtlasPosition posB = spriteAtlas->getPosition(properties.image.to, true); + const SpriteAtlasPosition posA = spriteAtlas->getPosition(properties.pattern.value.from, true); + const SpriteAtlasPosition posB = spriteAtlas->getPosition(properties.pattern.value.to, true); float factor = 8.0 / std::pow(2, state.getIntegerZoom() - id.z) / id.overscaling; mat3 patternMatrixA; matrix::identity(patternMatrixA); matrix::scale(patternMatrixA, patternMatrixA, - 1.0f / (posA.size[0] * factor * properties.image.fromScale), - 1.0f / (posA.size[1] * factor * properties.image.fromScale)); + 1.0f / (posA.size[0] * factor * properties.pattern.value.fromScale), + 1.0f / (posA.size[1] * factor * properties.pattern.value.fromScale)); mat3 patternMatrixB; matrix::identity(patternMatrixB); matrix::scale(patternMatrixB, patternMatrixB, - 1.0f / (posB.size[0] * factor * properties.image.toScale), - 1.0f / (posB.size[1] * factor * properties.image.toScale)); + 1.0f / (posB.size[0] * factor * properties.pattern.value.toScale), + 1.0f / (posB.size[1] * factor * properties.pattern.value.toScale)); config.program = patternShader->program; patternShader->u_matrix = vtxMatrix; @@ -86,7 +86,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI patternShader->u_pattern_br_b = posB.br; patternShader->u_opacity = properties.opacity; patternShader->u_image = 0; - patternShader->u_mix = properties.image.t; + patternShader->u_mix = properties.pattern.value.t; patternShader->u_patternmatrix_a = patternMatrixA; patternShader->u_patternmatrix_b = patternMatrixB; |