diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-02-23 13:53:23 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2016-03-01 20:58:54 +0000 |
commit | 6e6d91478eb97afa750f2ad15625d6fca8981ae1 (patch) | |
tree | 30b154b75d863aef92c0f979ebc7d4c3cb5c46ca /src | |
parent | abe3f9ce7ab8087b13871472a11e7f5021084642 (diff) | |
download | qtlocation-mapboxgl-6e6d91478eb97afa750f2ad15625d6fca8981ae1.tar.gz |
[core] Cleared TileCoordinate from Painter
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/map/transform.cpp | 1 | ||||
-rw-r--r-- | src/mbgl/map/transform_state.hpp | 9 | ||||
-rw-r--r-- | src/mbgl/renderer/painter.cpp | 16 |
3 files changed, 12 insertions, 14 deletions
diff --git a/src/mbgl/map/transform.cpp b/src/mbgl/map/transform.cpp index d8cbfd23c2..060c169d6d 100644 --- a/src/mbgl/map/transform.cpp +++ b/src/mbgl/map/transform.cpp @@ -6,7 +6,6 @@ #include <mbgl/util/math.hpp> #include <mbgl/util/unitbezier.hpp> #include <mbgl/util/interpolate.hpp> -#include <mbgl/util/tile_coordinate.hpp> #include <mbgl/platform/log.hpp> #include <mbgl/platform/platform.hpp> #include <mbgl/util/chrono.hpp> diff --git a/src/mbgl/map/transform_state.hpp b/src/mbgl/map/transform_state.hpp index f86ba9eed6..9f5f3a744d 100644 --- a/src/mbgl/map/transform_state.hpp +++ b/src/mbgl/map/transform_state.hpp @@ -74,6 +74,11 @@ public: ScreenCoordinate coordinateToPoint(const TileCoordinate&) const; TileCoordinate pointToCoordinate(const ScreenCoordinate&) const; + double xLng(double x, double worldSize) const; + double yLat(double y, double worldSize) const; + double lngX(double lon) const; + double latY(double lat) const; + private: bool rotatedNorth() const; void constrain(double& scale, double& x, double& y) const; @@ -87,10 +92,6 @@ private: // logical dimensions uint16_t width = 0, height = 0; - double xLng(double x, double worldSize) const; - double yLat(double y, double worldSize) const; - double lngX(double lon) const; - double latY(double lat) const; double zoomScale(double zoom) const; double scaleZoom(double scale) const; double worldSize() const; diff --git a/src/mbgl/renderer/painter.cpp b/src/mbgl/renderer/painter.cpp index da3551aa74..f1210364a3 100644 --- a/src/mbgl/renderer/painter.cpp +++ b/src/mbgl/renderer/painter.cpp @@ -34,7 +34,6 @@ #include <mbgl/util/constants.hpp> #include <mbgl/util/mat3.hpp> -#include <mbgl/util/tile_coordinate.hpp> #if defined(DEBUG) #include <mbgl/util/stopwatch.hpp> @@ -270,8 +269,6 @@ void Painter::renderBackground(const BackgroundLayer& layer) { if (!imagePosA || !imagePosB) return; - float zoomFraction = state.getZoomFraction(); - config.program = patternShader->getID(); patternShader->u_matrix = identityMatrix; patternShader->u_pattern_tl_a = (*imagePosA).tl; @@ -282,8 +279,9 @@ void Painter::renderBackground(const BackgroundLayer& layer) { patternShader->u_opacity = properties.opacity; LatLng latLng = state.getLatLng(); - TileCoordinate center = state.latLngToCoordinate(latLng); - float scale = 1 / std::pow(2, zoomFraction); + double centerX = state.lngX(latLng.longitude); + double centerY = state.latY(latLng.latitude); + float scale = 1 / std::pow(2, state.getZoomFraction()); std::array<float, 2> sizeA = (*imagePosA).size; mat3 matrixA; @@ -292,8 +290,8 @@ void Painter::renderBackground(const BackgroundLayer& layer) { 1.0f / (sizeA[0] * properties.pattern.value.fromScale), 1.0f / (sizeA[1] * properties.pattern.value.fromScale)); matrix::translate(matrixA, matrixA, - std::fmod(center.column * util::tileSize, sizeA[0] * properties.pattern.value.fromScale), - std::fmod(center.row * util::tileSize, sizeA[1] * properties.pattern.value.fromScale)); + std::fmod(centerX, sizeA[0] * properties.pattern.value.fromScale), + std::fmod(centerY, sizeA[1] * properties.pattern.value.fromScale)); matrix::rotate(matrixA, matrixA, -state.getAngle()); matrix::scale(matrixA, matrixA, scale * state.getWidth() / 2, @@ -306,8 +304,8 @@ void Painter::renderBackground(const BackgroundLayer& layer) { 1.0f / (sizeB[0] * properties.pattern.value.toScale), 1.0f / (sizeB[1] * properties.pattern.value.toScale)); matrix::translate(matrixB, matrixB, - std::fmod(center.column * util::tileSize, sizeB[0] * properties.pattern.value.toScale), - std::fmod(center.row * util::tileSize, sizeB[1] * properties.pattern.value.toScale)); + std::fmod(centerX, sizeB[0] * properties.pattern.value.toScale), + std::fmod(centerY, sizeB[1] * properties.pattern.value.toScale)); matrix::rotate(matrixB, matrixB, -state.getAngle()); matrix::scale(matrixB, matrixB, scale * state.getWidth() / 2, |