diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2019-12-10 13:38:36 +0100 |
---|---|---|
committer | Alexander Shalamov <alexander.shalamov@mapbox.com> | 2020-01-15 15:02:11 +0200 |
commit | 027e803b722301a03e9ef53b584c2795ff47e7bd (patch) | |
tree | d40e718688a00980ad5c40dc5db7200fb732410a /src/mbgl/layout | |
parent | 1342cb44b3f8bb0cd5c019174b62886b84d62cf8 (diff) | |
download | qtlocation-mapboxgl-027e803b722301a03e9ef53b584c2795ff47e7bd.tar.gz |
[core] move icon rotation from shaping to quad generation to mirror JS
Diffstat (limited to 'src/mbgl/layout')
-rw-r--r-- | src/mbgl/layout/symbol_instance.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/layout/symbol_instance.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/layout/symbol_layout.cpp | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/src/mbgl/layout/symbol_instance.cpp b/src/mbgl/layout/symbol_instance.cpp index 3a16d25de6..01ba3e26a6 100644 --- a/src/mbgl/layout/symbol_instance.cpp +++ b/src/mbgl/layout/symbol_instance.cpp @@ -26,14 +26,15 @@ SymbolInstanceSharedData::SymbolInstanceSharedData(GeometryCoordinates line_, const style::SymbolPlacementType textPlacement, const std::array<float, 2>& textOffset, const ImageMap& imageMap, + float iconRotation, SymbolContent iconType, bool allowVerticalPlacement) : line(std::move(line_)) { // Create the quads used for rendering the icon and glyphs. if (shapedIcon) { - iconQuads = getIconQuads(*shapedIcon, iconType); + iconQuads = getIconQuads(*shapedIcon, iconRotation, iconType); if (verticallyShapedIcon) { - verticalIconQuads = getIconQuads(*verticallyShapedIcon, iconType); + verticalIconQuads = getIconQuads(*verticallyShapedIcon, iconRotation, iconType); } } diff --git a/src/mbgl/layout/symbol_instance.hpp b/src/mbgl/layout/symbol_instance.hpp index 74124d3364..56dd82240e 100644 --- a/src/mbgl/layout/symbol_instance.hpp +++ b/src/mbgl/layout/symbol_instance.hpp @@ -32,6 +32,7 @@ struct SymbolInstanceSharedData { const style::SymbolPlacementType textPlacement, const std::array<float, 2>& textOffset, const ImageMap& imageMap, + float iconRotation, SymbolContent iconType, bool allowVerticalPlacement); bool empty() const; diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp index 98274136ec..1772d1ef91 100644 --- a/src/mbgl/layout/symbol_layout.cpp +++ b/src/mbgl/layout/symbol_layout.cpp @@ -474,8 +474,7 @@ void SymbolLayout::prepareSymbols(const GlyphMap& glyphMap, iconType = SymbolContent::IconRGBA; shapedIcon = PositionedIcon::shapeIcon(imagePositions.at(feature.icon->id()), layout->evaluate<IconOffset>(zoom, feature), - layout->evaluate<IconAnchor>(zoom, feature), - layout->evaluate<IconRotate>(zoom, feature) * util::DEG2RAD); + layout->evaluate<IconAnchor>(zoom, feature)); if (image->second->sdf) { iconType = SymbolContent::IconSDF; } @@ -601,6 +600,7 @@ void SymbolLayout::addFeature(const std::size_t layoutFeatureIndex, textPlacement, textOffset, imageMap, + iconRotation, iconType, allowVerticalPlacement); }; |