summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-07-05 12:27:00 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-07-07 14:32:27 -0700
commitc09fb0f5197be81cca8e925bcfd46c11b871b94e (patch)
treec4b6ea795e799121a49b68e273e360272be5db84 /src/mbgl/renderer
parentc8e87128b1e9f1e49c486fa01533644cf14c78e8 (diff)
downloadqtlocation-mapboxgl-c09fb0f5197be81cca8e925bcfd46c11b871b94e.tar.gz
[core] Add support for circle-pitch-scale
Diffstat (limited to 'src/mbgl/renderer')
-rw-r--r--src/mbgl/renderer/painter_circle.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/mbgl/renderer/painter_circle.cpp b/src/mbgl/renderer/painter_circle.cpp
index 5bc31f7f81..8e9f1909bb 100644
--- a/src/mbgl/renderer/painter_circle.cpp
+++ b/src/mbgl/renderer/painter_circle.cpp
@@ -32,10 +32,18 @@ void Painter::renderCircle(CircleBucket& bucket,
config.program = circleShader.getID();
circleShader.u_matrix = vtxMatrix;
- circleShader->u_extrude_scale = {{
- pixelsToGLUnits[0] * state.getAltitude(),
- pixelsToGLUnits[1] * state.getAltitude()
- }};
+
+ if (properties.circlePitchScale == CirclePitchScaleType::Map) {
+ circleShader.u_extrude_scale = {{
+ pixelsToGLUnits[0] * state.getAltitude(),
+ pixelsToGLUnits[1] * state.getAltitude()
+ }};
+ circleShader.u_scale_with_map = true;
+ } else {
+ circleShader.u_extrude_scale = pixelsToGLUnits;
+ circleShader.u_scale_with_map = false;
+ }
+
circleShader.u_devicepixelratio = frame.pixelRatio;
circleShader.u_color = properties.circleColor;
circleShader.u_radius = properties.circleRadius;