diff options
Diffstat (limited to 'src/mbgl/renderer/painter.cpp')
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index c11463ee24..555d6684ac 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -282,8 +282,8 @@ std::vector<RenderItem> Painter::determineRenderOrder(const Style& style) { if (layer.visibility == VisibilityType::None) continue; if (layer.type == StyleLayerType::Background) { // This layer defines a background color/image. - auto& props = dynamic_cast<const BackgroundLayer&>(layer).properties; - if (props.image.from.empty()) { + auto& props = dynamic_cast<const BackgroundLayer&>(layer).paint; + if (props.pattern.value.from.empty()) { // This is a solid background. We can use glClear(). background = props.color; background[0] *= props.opacity; @@ -352,14 +352,14 @@ std::vector<RenderItem> Painter::determineRenderOrder(const Style& style) { void Painter::renderBackground(const BackgroundLayer& layer) { // Note: This function is only called for textured background. Otherwise, the background color // is created with glClear. - const BackgroundPaintProperties& properties = layer.properties; + const BackgroundPaintProperties& properties = layer.paint; - if (!properties.image.to.empty()) { + if (!properties.pattern.value.to.empty()) { if ((properties.opacity >= 1.0f) != (pass == RenderPass::Opaque)) return; - SpriteAtlasPosition imagePosA = spriteAtlas->getPosition(properties.image.from, true); - SpriteAtlasPosition imagePosB = spriteAtlas->getPosition(properties.image.to, true); + SpriteAtlasPosition imagePosA = spriteAtlas->getPosition(properties.pattern.value.from, true); + SpriteAtlasPosition imagePosB = spriteAtlas->getPosition(properties.pattern.value.to, true); float zoomFraction = state.getZoomFraction(); config.program = patternShader->program; @@ -368,7 +368,7 @@ void Painter::renderBackground(const BackgroundLayer& layer) { patternShader->u_pattern_br_a = imagePosA.br; patternShader->u_pattern_tl_b = imagePosB.tl; patternShader->u_pattern_br_b = imagePosB.br; - patternShader->u_mix = properties.image.t; + patternShader->u_mix = properties.pattern.value.t; patternShader->u_opacity = properties.opacity; LatLng latLng = state.getLatLng(); @@ -379,11 +379,11 @@ void Painter::renderBackground(const BackgroundLayer& layer) { mat3 matrixA; matrix::identity(matrixA); matrix::scale(matrixA, matrixA, - 1.0f / (sizeA[0] * properties.image.fromScale), - 1.0f / (sizeA[1] * properties.image.fromScale)); + 1.0f / (sizeA[0] * properties.pattern.value.fromScale), + 1.0f / (sizeA[1] * properties.pattern.value.fromScale)); matrix::translate(matrixA, matrixA, - std::fmod(center.x * 512, sizeA[0] * properties.image.fromScale), - std::fmod(center.y * 512, sizeA[1] * properties.image.fromScale)); + std::fmod(center.x * 512, sizeA[0] * properties.pattern.value.fromScale), + std::fmod(center.y * 512, sizeA[1] * properties.pattern.value.fromScale)); matrix::rotate(matrixA, matrixA, -state.getAngle()); matrix::scale(matrixA, matrixA, scale * state.getWidth() / 2, @@ -393,11 +393,11 @@ void Painter::renderBackground(const BackgroundLayer& layer) { mat3 matrixB; matrix::identity(matrixB); matrix::scale(matrixB, matrixB, - 1.0f / (sizeB[0] * properties.image.toScale), - 1.0f / (sizeB[1] * properties.image.toScale)); + 1.0f / (sizeB[0] * properties.pattern.value.toScale), + 1.0f / (sizeB[1] * properties.pattern.value.toScale)); matrix::translate(matrixB, matrixB, - std::fmod(center.x * 512, sizeB[0] * properties.image.toScale), - std::fmod(center.y * 512, sizeB[1] * properties.image.toScale)); + std::fmod(center.x * 512, sizeB[0] * properties.pattern.value.toScale), + std::fmod(center.y * 512, sizeB[1] * properties.pattern.value.toScale)); matrix::rotate(matrixB, matrixB, -state.getAngle()); matrix::scale(matrixB, matrixB, scale * state.getWidth() / 2, |