summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/painter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/painter.cpp')
-rw-r--r--src/mbgl/renderer/painter.cpp30
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,