summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2016-11-01 01:18:20 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2016-11-01 17:44:34 +0200
commite2981c890e9a758c4dee703fa9e25e5d9eff65ce (patch)
treeb6c8ec431c1d56965b07412e0fcbfdc3a3f01fd1
parentbb6e39a1cfcbd5c478c4b221f723ba948d576e61 (diff)
downloadqtlocation-mapboxgl-e2981c890e9a758c4dee703fa9e25e5d9eff65ce.tar.gz
Revert "[core] Don't use GL_LINEAR if panning w/o rotation nor pitch"
This reverts commit a70bfd89108cf1aef75181819ae43e550a69255e.
-rw-r--r--src/mbgl/map/map.cpp1
-rw-r--r--src/mbgl/map/transform_state.cpp4
-rw-r--r--src/mbgl/map/transform_state.hpp1
-rw-r--r--src/mbgl/renderer/painter_symbol.cpp2
-rw-r--r--test/api/annotations.test.cpp16
5 files changed, 7 insertions, 17 deletions
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp
index 3daad10061..132efc01a8 100644
--- a/src/mbgl/map/map.cpp
+++ b/src/mbgl/map/map.cpp
@@ -409,6 +409,7 @@ void Map::cancelTransitions() {
void Map::setGestureInProgress(bool inProgress) {
impl->transform.setGestureInProgress(inProgress);
+ impl->onUpdate(Update::Repaint);
}
bool Map::isGestureInProgress() const {
diff --git a/src/mbgl/map/transform_state.cpp b/src/mbgl/map/transform_state.cpp
index fc05cceb76..23264ff274 100644
--- a/src/mbgl/map/transform_state.cpp
+++ b/src/mbgl/map/transform_state.cpp
@@ -175,6 +175,10 @@ float TransformState::getPitch() const {
#pragma mark - State
+bool TransformState::isChanging() const {
+ return rotating || scaling || panning || gestureInProgress;
+}
+
bool TransformState::isRotating() const {
return rotating;
}
diff --git a/src/mbgl/map/transform_state.hpp b/src/mbgl/map/transform_state.hpp
index c274ce1fcd..6faaf4ac41 100644
--- a/src/mbgl/map/transform_state.hpp
+++ b/src/mbgl/map/transform_state.hpp
@@ -60,6 +60,7 @@ public:
float getPitch() const;
// State
+ bool isChanging() const;
bool isRotating() const;
bool isScaling() const;
bool isPanning() const;
diff --git a/src/mbgl/renderer/painter_symbol.cpp b/src/mbgl/renderer/painter_symbol.cpp
index a7b0d3fa6c..d4ac5f94e9 100644
--- a/src/mbgl/renderer/painter_symbol.cpp
+++ b/src/mbgl/renderer/painter_symbol.cpp
@@ -70,7 +70,7 @@ void Painter::renderSymbol(PaintParameters& parameters,
SpriteAtlas& atlas = *layer.impl->spriteAtlas;
const bool iconScaled = values.paintSize != 1.0f || frame.pixelRatio != atlas.getPixelRatio() || bucket.iconsNeedLinear;
const bool iconTransformed = values.rotationAlignment == AlignmentType::Map || state.getPitch() != 0;
- atlas.bind(bucket.sdfIcons || state.isScaling() || state.isRotating() || iconScaled || iconTransformed, context, 0);
+ atlas.bind(bucket.sdfIcons || state.isChanging() || iconScaled || iconTransformed, context, 0);
std::array<uint16_t, 2> texsize {{ atlas.getWidth(), atlas.getHeight() }};
diff --git a/test/api/annotations.test.cpp b/test/api/annotations.test.cpp
index be71ba85c9..06a0a61b0a 100644
--- a/test/api/annotations.test.cpp
+++ b/test/api/annotations.test.cpp
@@ -49,7 +49,6 @@ TEST(Annotations, SymbolAnnotation) {
auto screenBox = ScreenBox { {}, { double(size.width), double(size.height) } };
auto features = test.map.queryPointAnnotations(screenBox);
EXPECT_EQ(features.size(), 1u);
- test.checkRendering("point_annotation");
test.map.setZoom(test.map.getMaxZoom());
test.checkRendering("point_annotation");
@@ -58,21 +57,6 @@ TEST(Annotations, SymbolAnnotation) {
EXPECT_EQ(features.size(), 1u);
}
-TEST(Annotations, SymbolLinearInterpolation)
-{
- AnnotationTest test;
-
- test.map.setStyleJSON(util::read_file("test/fixtures/api/empty.json"));
- test.map.addAnnotationIcon("default_marker", namedMarker("default_marker.png"));
- test.map.addAnnotation(SymbolAnnotation { Point<double>(0.15, 0.15), "default_marker" });
- test.checkRendering("point_annotation");
-
- // Should not trigger GL_LINEAR when binding the symbol shader.
- test.map.setGestureInProgress(true);
- test.map.moveBy({});
- test.checkRendering("point_annotation");
-}
-
TEST(Annotations, LineAnnotation) {
AnnotationTest test;