summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnsis Brammanis <ansis@mapbox.com>2020-02-11 13:39:22 -0500
committerAnsis Brammanis <ansis@mapbox.com>2020-02-11 13:39:22 -0500
commit42a6643fc8e4cd8a8c7d49b1713b02c22bf24722 (patch)
tree427eb1cc2aa4a3873543f4c3c1b5dc61405dbf4f
parent4f18d5fa92df175ac30f856a9273a00349b56cc3 (diff)
downloadqtlocation-mapboxgl-upstream/symbol-sort-key-to-double.tar.gz
start switching symbol-sort-key to double (does not compile)upstream/symbol-sort-key-to-double
-rw-r--r--include/mbgl/style/layers/symbol_layer.hpp6
-rw-r--r--src/mbgl/layout/pattern_layout.hpp6
-rw-r--r--src/mbgl/layout/symbol_feature.hpp2
-rw-r--r--src/mbgl/layout/symbol_instance.hpp2
-rw-r--r--src/mbgl/layout/symbol_layout.cpp6
-rw-r--r--src/mbgl/layout/symbol_layout.hpp4
-rw-r--r--src/mbgl/programs/segment.hpp4
-rw-r--r--src/mbgl/renderer/layers/render_symbol_layer.cpp4
-rw-r--r--src/mbgl/renderer/render_layer.hpp2
-rw-r--r--src/mbgl/style/layers/symbol_layer.cpp6
-rw-r--r--src/mbgl/style/layers/symbol_layer_properties.hpp2
-rw-r--r--src/mbgl/text/placement.hpp2
12 files changed, 23 insertions, 23 deletions
diff --git a/include/mbgl/style/layers/symbol_layer.hpp b/include/mbgl/style/layers/symbol_layer.hpp
index 8620869928..4330b36af7 100644
--- a/include/mbgl/style/layers/symbol_layer.hpp
+++ b/include/mbgl/style/layers/symbol_layer.hpp
@@ -93,9 +93,9 @@ public:
const PropertyValue<SymbolPlacementType>& getSymbolPlacement() const;
void setSymbolPlacement(const PropertyValue<SymbolPlacementType>&);
- static PropertyValue<float> getDefaultSymbolSortKey();
- const PropertyValue<float>& getSymbolSortKey() const;
- void setSymbolSortKey(const PropertyValue<float>&);
+ static PropertyValue<double> getDefaultSymbolSortKey();
+ const PropertyValue<double>& getSymbolSortKey() const;
+ void setSymbolSortKey(const PropertyValue<double>&);
static PropertyValue<float> getDefaultSymbolSpacing();
const PropertyValue<float>& getSymbolSpacing() const;
diff --git a/src/mbgl/layout/pattern_layout.hpp b/src/mbgl/layout/pattern_layout.hpp
index 44729dea83..ed7f7b918f 100644
--- a/src/mbgl/layout/pattern_layout.hpp
+++ b/src/mbgl/layout/pattern_layout.hpp
@@ -23,7 +23,7 @@ public:
PatternFeature(std::size_t i_,
std::unique_ptr<GeometryTileFeature> feature_,
PatternLayerMap patterns_,
- float sortKey_ = 0.0f)
+ double sortKey_ = 0.0f)
: i(i_), feature(std::move(feature_)), patterns(std::move(patterns_)), sortKey(sortKey_) {}
friend bool operator<(const PatternFeature& lhs, const PatternFeature& rhs) { return lhs.sortKey < rhs.sortKey; }
@@ -31,7 +31,7 @@ public:
std::size_t i;
std::unique_ptr<GeometryTileFeature> feature;
PatternLayerMap patterns;
- float sortKey;
+ double sortKey;
};
template <typename SortKeyPropertyType>
@@ -60,7 +60,7 @@ struct PatternFeatureInserter {
float zoom,
const PropertiesType& properties) {
const auto& sortKeyProperty = properties.template get<SortKeyPropertyType>();
- float sortKey = sortKeyProperty.evaluate(*feature, zoom, SortKeyPropertyType::defaultValue());
+ double sortKey = sortKeyProperty.evaluate(*feature, zoom, SortKeyPropertyType::defaultValue());
PatternFeature patternFeature{index, std::move(feature), std::move(patternDependencyMap), sortKey};
const auto lowerBound = std::lower_bound(features.cbegin(), features.cend(), patternFeature);
features.insert(lowerBound, std::move(patternFeature));
diff --git a/src/mbgl/layout/symbol_feature.hpp b/src/mbgl/layout/symbol_feature.hpp
index d0aced1b19..48c2500321 100644
--- a/src/mbgl/layout/symbol_feature.hpp
+++ b/src/mbgl/layout/symbol_feature.hpp
@@ -31,7 +31,7 @@ public:
GeometryCollection geometry;
optional<TaggedString> formattedText;
optional<style::expression::Image> icon;
- float sortKey = 0.0f;
+ double sortKey = 0.0f;
std::size_t index;
bool allowsVerticalWritingMode = false;
};
diff --git a/src/mbgl/layout/symbol_instance.hpp b/src/mbgl/layout/symbol_instance.hpp
index 3303e5f7e3..8a017e503b 100644
--- a/src/mbgl/layout/symbol_instance.hpp
+++ b/src/mbgl/layout/symbol_instance.hpp
@@ -125,7 +125,7 @@ public:
class SortKeyRange {
public:
- float sortKey;
+ double sortKey;
size_t symbolInstanceStart;
size_t symbolInstanceEnd;
};
diff --git a/src/mbgl/layout/symbol_layout.cpp b/src/mbgl/layout/symbol_layout.cpp
index 61c3b4ad66..aa8f4ca754 100644
--- a/src/mbgl/layout/symbol_layout.cpp
+++ b/src/mbgl/layout/symbol_layout.cpp
@@ -900,7 +900,7 @@ size_t SymbolLayout::addSymbol(SymbolBucket::Buffer& buffer,
const SymbolQuad& symbol,
const Anchor& labelAnchor,
PlacedSymbol& placedSymbol,
- float sortKey) {
+ double sortKey) {
constexpr const uint16_t vertexLength = 4;
const auto &tl = symbol.tl;
@@ -914,7 +914,7 @@ size_t SymbolLayout::addSymbol(SymbolBucket::Buffer& buffer,
if (buffer.segments.empty() ||
buffer.segments.back().vertexLength + vertexLength > std::numeric_limits<uint16_t>::max() ||
- fabs(buffer.segments.back().sortKey - sortKey) > std::numeric_limits<float>::epsilon()) {
+ fabs(buffer.segments.back().sortKey - sortKey) > std::numeric_limits<double>::epsilon()) {
buffer.segments.emplace_back(buffer.vertices.elements(), buffer.triangles.elements(), 0ul, 0ul, sortKey);
}
@@ -993,7 +993,7 @@ size_t SymbolLayout::addSymbols(SymbolBucket::Buffer& buffer,
const SymbolQuads& symbols,
const Anchor& labelAnchor,
PlacedSymbol& placedSymbol,
- float sortKey) {
+ double sortKey) {
bool firstSymbol = true;
size_t firstIndex = 0;
for (auto& symbol : symbols) {
diff --git a/src/mbgl/layout/symbol_layout.hpp b/src/mbgl/layout/symbol_layout.hpp
index 52c912c8ae..3b7398ce78 100644
--- a/src/mbgl/layout/symbol_layout.hpp
+++ b/src/mbgl/layout/symbol_layout.hpp
@@ -81,13 +81,13 @@ private:
const SymbolQuad&,
const Anchor& labelAnchor,
PlacedSymbol& placedSymbol,
- float sortKey);
+ double sortKey);
size_t addSymbols(SymbolBucket::Buffer&,
const Range<float> sizeData,
const SymbolQuads&,
const Anchor& labelAnchor,
PlacedSymbol& placedSymbol,
- float sortKey);
+ double sortKey);
// Adds symbol quads to bucket and returns formatted section index of last
// added quad.
diff --git a/src/mbgl/programs/segment.hpp b/src/mbgl/programs/segment.hpp
index 13e206aa2a..71e5c7733a 100644
--- a/src/mbgl/programs/segment.hpp
+++ b/src/mbgl/programs/segment.hpp
@@ -15,7 +15,7 @@ public:
std::size_t indexOffset_,
std::size_t vertexLength_ = 0,
std::size_t indexLength_ = 0,
- float sortKey_ = 0.0f)
+ double sortKey_ = 0.0f)
: vertexOffset(vertexOffset_),
indexOffset(indexOffset_),
vertexLength(vertexLength_),
@@ -39,7 +39,7 @@ public:
// uses fill-color and the other uses fill-pattern
mutable std::map<std::string, gfx::DrawScope> drawScopes;
- float sortKey;
+ double sortKey;
};
template <class AttributeList>
diff --git a/src/mbgl/renderer/layers/render_symbol_layer.cpp b/src/mbgl/renderer/layers/render_symbol_layer.cpp
index 955ad2ce51..2286bdf166 100644
--- a/src/mbgl/renderer/layers/render_symbol_layer.cpp
+++ b/src/mbgl/renderer/layers/render_symbol_layer.cpp
@@ -66,7 +66,7 @@ struct RenderableSegment {
const RenderTile& tile_,
const LayerRenderData& renderData_,
const SymbolBucket::PaintProperties& bucketPaintProperties_,
- float sortKey_,
+ double sortKey_,
const SymbolType type_)
: segment(segment_),
tile(tile_),
@@ -79,7 +79,7 @@ struct RenderableSegment {
const RenderTile& tile;
const LayerRenderData& renderData;
const SymbolBucket::PaintProperties& bucketPaintProperties;
- float sortKey;
+ double sortKey;
SymbolType type;
friend bool operator < (const RenderableSegment& lhs, const RenderableSegment& rhs) {
diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp
index 4931893271..7b50548923 100644
--- a/src/mbgl/renderer/render_layer.hpp
+++ b/src/mbgl/renderer/render_layer.hpp
@@ -37,7 +37,7 @@ public:
std::reference_wrapper<const RenderTile> tile;
std::shared_ptr<FeatureIndex> featureIndex;
bool firstInBucket;
- float sortKey;
+ double sortKey;
size_t symbolInstanceStart;
size_t symbolInstanceEnd;
};
diff --git a/src/mbgl/style/layers/symbol_layer.cpp b/src/mbgl/style/layers/symbol_layer.cpp
index 39c2f2a052..9fce1b3223 100644
--- a/src/mbgl/style/layers/symbol_layer.cpp
+++ b/src/mbgl/style/layers/symbol_layer.cpp
@@ -301,15 +301,15 @@ void SymbolLayer::setSymbolPlacement(const PropertyValue<SymbolPlacementType>& v
baseImpl = std::move(impl_);
observer->onLayerChanged(*this);
}
-PropertyValue<float> SymbolLayer::getDefaultSymbolSortKey() {
+PropertyValue<double> SymbolLayer::getDefaultSymbolSortKey() {
return SymbolSortKey::defaultValue();
}
-const PropertyValue<float>& SymbolLayer::getSymbolSortKey() const {
+const PropertyValue<double>& SymbolLayer::getSymbolSortKey() const {
return impl().layout.get<SymbolSortKey>();
}
-void SymbolLayer::setSymbolSortKey(const PropertyValue<float>& value) {
+void SymbolLayer::setSymbolSortKey(const PropertyValue<double>& value) {
if (value == getSymbolSortKey()) return;
auto impl_ = mutableImpl();
impl_->layout.get<SymbolSortKey>() = value;
diff --git a/src/mbgl/style/layers/symbol_layer_properties.hpp b/src/mbgl/style/layers/symbol_layer_properties.hpp
index 6552589971..72e98b1f3a 100644
--- a/src/mbgl/style/layers/symbol_layer_properties.hpp
+++ b/src/mbgl/style/layers/symbol_layer_properties.hpp
@@ -96,7 +96,7 @@ struct SymbolPlacement : LayoutProperty<SymbolPlacementType> {
static SymbolPlacementType defaultValue() { return SymbolPlacementType::Point; }
};
-struct SymbolSortKey : DataDrivenLayoutProperty<float> {
+struct SymbolSortKey : DataDrivenLayoutProperty<double> {
static constexpr const char *name() { return "symbol-sort-key"; }
static float defaultValue() { return 0; }
};
diff --git a/src/mbgl/text/placement.hpp b/src/mbgl/text/placement.hpp
index 9fbd6b9743..6ba14f49d6 100644
--- a/src/mbgl/text/placement.hpp
+++ b/src/mbgl/text/placement.hpp
@@ -91,7 +91,7 @@ public:
const RenderTile& tile;
std::string sourceId;
std::shared_ptr<FeatureIndex> featureIndex;
- float sortKey;
+ double sortKey;
size_t symbolInstanceStart;
size_t symbolInstanceEnd;
};