summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzmiao <miao.zhao@mapbox.com>2020-02-07 15:34:01 +0200
committerzmiao <miao.zhao@mapbox.com>2020-02-12 12:24:05 +0200
commit2963afa010e75bb8bc3c20150c06c5779121077d (patch)
tree009843afa585563a0bb0d2dfee41edfe1ec70baf
parent1bd2ccf2398004b02b479e6ad3144f52e7631b2a (diff)
downloadqtlocation-mapboxgl-2963afa010e75bb8bc3c20150c06c5779121077d.tar.gz
Add support for expression test
Fix polygon within algorithm Add Unit tests Fix incorrect metrics folder for ios-render-test-runner job
-rw-r--r--CMakeLists.txt2
-rw-r--r--expression-test/expression_test_parser.cpp30
-rw-r--r--expression-test/expression_test_parser.hpp3
-rw-r--r--expression-test/expression_test_runner.cpp10
-rw-r--r--include/mbgl/style/expression/expression.hpp5
-rw-r--r--include/mbgl/style/expression/within.hpp4
-rw-r--r--next/CMakeLists.txt1010
-rw-r--r--src/core-files.json817
-rw-r--r--src/mbgl/style/expression/expression.cpp24
-rw-r--r--src/mbgl/style/expression/within.cpp131
-rw-r--r--src/mbgl/tile/geometry_tile_data.cpp77
-rw-r--r--src/mbgl/tile/geometry_tile_data.hpp2
-rw-r--r--test/fixtures/expression_equality/within.a.json4
-rw-r--r--test/fixtures/expression_equality/within.b.json4
-rw-r--r--test/src/mbgl/test/stub_geometry_tile_feature.hpp3
-rw-r--r--test/style/property_expression.test.cpp98
16 files changed, 357 insertions, 1867 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e16dd9da05..e008db2117 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -188,6 +188,7 @@ add_library(
${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/step.hpp
${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/type.hpp
${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/value.hpp
+ ${PROJECT_SOURCE_DIR}/include/mbgl/style/expression/within.hpp
${PROJECT_SOURCE_DIR}/include/mbgl/style/filter.hpp
${PROJECT_SOURCE_DIR}/include/mbgl/style/image.hpp
${PROJECT_SOURCE_DIR}/include/mbgl/style/layer.hpp
@@ -578,6 +579,7 @@ add_library(
${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/util.cpp
${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/util.hpp
${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/value.cpp
+ ${PROJECT_SOURCE_DIR}/src/mbgl/style/expression/within.cpp
${PROJECT_SOURCE_DIR}/src/mbgl/style/filter.cpp
${PROJECT_SOURCE_DIR}/src/mbgl/style/image.cpp
${PROJECT_SOURCE_DIR}/src/mbgl/style/image_impl.cpp
diff --git a/expression-test/expression_test_parser.cpp b/expression-test/expression_test_parser.cpp
index 44f8bebf5e..0d414cc2c0 100644
--- a/expression-test/expression_test_parser.cpp
+++ b/expression-test/expression_test_parser.cpp
@@ -14,6 +14,8 @@
#include <args.hxx>
+#include <regex>
+
using namespace mbgl;
using namespace mbgl::style;
using namespace mbgl::style::conversion;
@@ -254,6 +256,19 @@ bool parseInputs(const JSValue& inputsValue, TestData& data) {
heatmapDensity = evaluationContext["heatmapDensity"].GetDouble();
}
+ // Parse canonicalID
+ optional<CanonicalTileID> canonical;
+ if (evaluationContext.HasMember("canonicalID")) {
+ assert(evaluationContext["canonicalID"].IsObject());
+ assert(
+ evaluationContext["canonicalID"].HasMember("z") && evaluationContext["canonicalID"]["z"].IsNumber() &&
+ evaluationContext["canonicalID"].HasMember("x") && evaluationContext["canonicalID"]["x"].IsNumber() &&
+ evaluationContext["canonicalID"].HasMember("y") && evaluationContext["canonicalID"]["y"].IsNumber());
+ canonical = CanonicalTileID(evaluationContext["canonicalID"]["z"].GetUint(),
+ evaluationContext["canonicalID"]["x"].GetUint(),
+ evaluationContext["canonicalID"]["y"].GetUint());
+ }
+
// Parse availableImages
std::set<std::string> availableImages;
if (evaluationContext.HasMember("availableImages")) {
@@ -282,8 +297,11 @@ bool parseInputs(const JSValue& inputsValue, TestData& data) {
feature.id = mapbox::geojson::convert<mapbox::feature::identifier>(featureObject["id"]);
}
- data.inputs.emplace_back(
- std::move(zoom), std::move(heatmapDensity), std::move(availableImages), std::move(feature));
+ data.inputs.emplace_back(std::move(zoom),
+ std::move(heatmapDensity),
+ std::move(canonical),
+ std::move(availableImages),
+ std::move(feature));
}
return true;
}
@@ -294,11 +312,11 @@ std::tuple<filesystem::path, std::vector<filesystem::path>, bool, uint32_t> pars
args::ArgumentParser argumentParser("Mapbox GL Expression Test Runner");
args::HelpFlag helpFlag(argumentParser, "help", "Display this help menu", { 'h', "help" });
- args::Flag shuffleFlag(argumentParser, "shuffle", "Toggle shuffling the tests order",
- { 's', "shuffle" });
+ args::Flag shuffleFlag(argumentParser, "shuffle", "Toggle shuffling the tests order", {'s', "shuffle"});
args::ValueFlag<uint32_t> seedValue(argumentParser, "seed", "Shuffle seed (default: random)",
{ "seed" });
args::PositionalList<std::string> testNameValues(argumentParser, "URL", "Test name(s)");
+ args::ValueFlag<std::string> testFilterValue(argumentParser, "filter", "Test filter regex", {'f', "filter"});
try {
argumentParser.ParseCLI(argc, argv);
@@ -336,6 +354,7 @@ std::tuple<filesystem::path, std::vector<filesystem::path>, bool, uint32_t> pars
paths.emplace_back(rootPath);
}
+ auto testFilter = testFilterValue ? args::get(testFilterValue) : std::string{};
// Recursively traverse through the test paths and collect test directories containing "test.json".
std::vector<filesystem::path> testPaths;
testPaths.reserve(paths.size());
@@ -346,6 +365,9 @@ std::tuple<filesystem::path, std::vector<filesystem::path>, bool, uint32_t> pars
}
for (auto& testPath : filesystem::recursive_directory_iterator(path)) {
+ if (!testFilter.empty() && !std::regex_search(testPath.path().string(), std::regex(testFilter))) {
+ continue;
+ }
if (testPath.path().filename() == "test.json") {
testPaths.emplace_back(testPath.path());
}
diff --git a/expression-test/expression_test_parser.hpp b/expression-test/expression_test_parser.hpp
index 842d8a1563..b73dbf0539 100644
--- a/expression-test/expression_test_parser.hpp
+++ b/expression-test/expression_test_parser.hpp
@@ -16,14 +16,17 @@ using namespace mbgl;
struct Input {
Input(optional<float> zoom_,
optional<double> heatmapDensity_,
+ optional<CanonicalTileID> canonical_,
std::set<std::string> availableImages_,
Feature feature_)
: zoom(std::move(zoom_)),
heatmapDensity(std::move(heatmapDensity_)),
+ canonical(std::move(canonical_)),
availableImages(std::move(availableImages_)),
feature(std::move(feature_)) {}
optional<float> zoom;
optional<double> heatmapDensity;
+ optional<CanonicalTileID> canonical;
std::set<std::string> availableImages;
Feature feature;
};
diff --git a/expression-test/expression_test_runner.cpp b/expression-test/expression_test_runner.cpp
index 436e449921..c0d4511636 100644
--- a/expression-test/expression_test_runner.cpp
+++ b/expression-test/expression_test_runner.cpp
@@ -104,8 +104,14 @@ TestRunOutput runExpressionTest(TestData& data, const std::string& rootPath, con
std::vector<Value> outputs;
if (!data.inputs.empty()) {
for (const auto& input : data.inputs) {
- auto evaluationResult =
- expression->evaluate(input.zoom, input.feature, input.heatmapDensity, input.availableImages);
+ mbgl::style::expression::EvaluationResult evaluationResult;
+ if (input.canonical) {
+ evaluationResult = expression->evaluate(
+ input.zoom, input.feature, input.heatmapDensity, input.availableImages, *input.canonical);
+ } else {
+ evaluationResult =
+ expression->evaluate(input.zoom, input.feature, input.heatmapDensity, input.availableImages);
+ }
if (!evaluationResult) {
std::unordered_map<std::string, Value> error{{"error", Value{evaluationResult.error().message}}};
outputs.emplace_back(Value{std::move(error)});
diff --git a/include/mbgl/style/expression/expression.hpp b/include/mbgl/style/expression/expression.hpp
index 1e34a8bd38..0fd5c4959e 100644
--- a/include/mbgl/style/expression/expression.hpp
+++ b/include/mbgl/style/expression/expression.hpp
@@ -191,6 +191,11 @@ public:
const Feature& feature,
optional<double> colorRampParameter,
const std::set<std::string>& availableImages) const;
+ EvaluationResult evaluate(optional<float> zoom,
+ const Feature& feature,
+ optional<double> colorRampParameter,
+ const std::set<std::string>& availableImages,
+ const CanonicalTileID& canonical) const;
EvaluationResult evaluate(optional<mbgl::Value> accumulated, const Feature& feature) const;
/**
diff --git a/include/mbgl/style/expression/within.hpp b/include/mbgl/style/expression/within.hpp
index 88e9cc56b8..5cc36ab19c 100644
--- a/include/mbgl/style/expression/within.hpp
+++ b/include/mbgl/style/expression/within.hpp
@@ -31,10 +31,10 @@ public:
return false;
}
- std::vector<optional<Value>> possibleOutputs() const override { return {{false}}; }
+ std::vector<optional<Value>> possibleOutputs() const override { return {{true}, {false}}; }
mbgl::Value serialize() const override;
- std::string getOperator() const override { return "Within"; }
+ std::string getOperator() const override { return "within"; }
private:
GeoJSON geoJSONSource;
diff --git a/next/CMakeLists.txt b/next/CMakeLists.txt
deleted file mode 100644
index ab63a55aeb..0000000000
--- a/next/CMakeLists.txt
+++ /dev/null
@@ -1,1010 +0,0 @@
-cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
-project("Mapbox GL Native" LANGUAGES CXX C)
-
-# TODO: Remove when PROJECT_SOURCE_DIR becomes the actual root.
-set(MBGL_ROOT ${PROJECT_SOURCE_DIR}/..)
-
-set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER Core)
-
-set(
- MEMORYCHECK_COMMAND_OPTIONS
- "--leak-check=full --gen-suppressions=all --error-exitcode=1 --suppressions=${MBGL_ROOT}/scripts/valgrind.sup"
-)
-
-include(CTest)
-
-if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE Release)
-endif()
-
-option(MBGL_WITH_CORE_ONLY "Build only the core bits, no platform code" OFF)
-option(MBGL_WITH_COVERAGE "Enable code coverage collection" OFF)
-option(MBGL_WITH_QT "Build Mapbox GL Qt bindings" OFF)
-option(MBGL_WITH_SANITIZER "Use [address|thread|undefined] here" OFF)
-option(MBGL_WITH_RTTI "Compile with runtime type information" OFF)
-option(MBGL_WITH_OPENGL "Build with OpenGL renderer" ON)
-
-add_library(
- mbgl-compiler-options INTERFACE
-)
-
-target_compile_options(
- mbgl-compiler-options
- INTERFACE
- $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage>
- $<$<BOOL:${MBGL_WITH_SANITIZER}>:-DSANITIZE>
- $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-omit-frame-pointer>
- $<$<BOOL:${MBGL_WITH_SANITIZER}>:-fno-optimize-sibling-calls>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=implicit-conversion>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=unsigned-integer-overflow>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<BOOL:${MBGL_WITH_RTTI}>>>:-fno-rtti>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wall>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wshadow>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Wextra>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<PLATFORM_ID:Windows>>>:-Werror>
- $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<PLATFORM_ID:Android>>:-Wno-error=tautological-constant-compare>
- $<$<CXX_COMPILER_ID:GNU>:-Wno-error=maybe-uninitialized>
- $<$<CXX_COMPILER_ID:GNU>:-Wno-error=return-type>
- $<$<CXX_COMPILER_ID:GNU>:-Wno-error=unknown-pragmas>
- $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=deprecated-declarations>
- $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-parameter>
- $<$<CXX_COMPILER_ID:AppleClang>:-Wno-error=unused-property-ivar>
-)
-
-target_link_libraries(
- mbgl-compiler-options
- INTERFACE
- $<$<BOOL:${MBGL_WITH_COVERAGE}>:--coverage>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},address>:-fsanitize=address>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},thread>:-fsanitize=thread>
- $<$<STREQUAL:${MBGL_WITH_SANITIZER},undefined>:-fsanitize=undefined>
-)
-
-cmake_policy(SET CMP0063 NEW)
-set(CMAKE_CXX_EXTENSIONS OFF)
-set(CMAKE_CXX_STANDARD 14)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
-set(CMAKE_CXX_VISIBILITY_PRESET hidden)
-set(CMAKE_C_EXTENSIONS OFF)
-set(CMAKE_C_STANDARD 99)
-set(CMAKE_C_STANDARD_REQUIRED ON)
-set(CMAKE_C_VISIBILITY_PRESET hidden)
-set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
-set(CMAKE_INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL ON)
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
-
-if(MBGL_WITH_QT)
- find_package(Qt5Core REQUIRED)
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTORCC ON)
-endif()
-
-add_library(
- mbgl-core STATIC
- ${MBGL_ROOT}/include/mbgl/actor/actor.hpp
- ${MBGL_ROOT}/include/mbgl/actor/actor_ref.hpp
- ${MBGL_ROOT}/include/mbgl/actor/aspiring_actor.hpp
- ${MBGL_ROOT}/include/mbgl/actor/established_actor.hpp
- ${MBGL_ROOT}/include/mbgl/actor/mailbox.hpp
- ${MBGL_ROOT}/include/mbgl/actor/message.hpp
- ${MBGL_ROOT}/include/mbgl/actor/scheduler.hpp
- ${MBGL_ROOT}/include/mbgl/annotation/annotation.hpp
- ${MBGL_ROOT}/include/mbgl/gfx/backend_scope.hpp
- ${MBGL_ROOT}/include/mbgl/gfx/renderable.hpp
- ${MBGL_ROOT}/include/mbgl/gfx/renderer_backend.hpp
- ${MBGL_ROOT}/include/mbgl/gfx/rendering_stats.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/background_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/circle_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/fill_extrusion_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/fill_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/heatmap_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/hillshade_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/layer_manager.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/line_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/raster_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/layermanager/symbol_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/map/bound_options.hpp
- ${MBGL_ROOT}/include/mbgl/map/camera.hpp
- ${MBGL_ROOT}/include/mbgl/map/change.hpp
- ${MBGL_ROOT}/include/mbgl/map/map.hpp
- ${MBGL_ROOT}/include/mbgl/map/map_observer.hpp
- ${MBGL_ROOT}/include/mbgl/map/map_options.hpp
- ${MBGL_ROOT}/include/mbgl/map/mode.hpp
- ${MBGL_ROOT}/include/mbgl/map/projection_mode.hpp
- ${MBGL_ROOT}/include/mbgl/math/clamp.hpp
- ${MBGL_ROOT}/include/mbgl/math/log2.hpp
- ${MBGL_ROOT}/include/mbgl/math/minmax.hpp
- ${MBGL_ROOT}/include/mbgl/math/wrap.hpp
- ${MBGL_ROOT}/include/mbgl/platform/settings.hpp
- ${MBGL_ROOT}/include/mbgl/platform/thread.hpp
- ${MBGL_ROOT}/include/mbgl/renderer/query.hpp
- ${MBGL_ROOT}/include/mbgl/renderer/renderer.hpp
- ${MBGL_ROOT}/include/mbgl/renderer/renderer_frontend.hpp
- ${MBGL_ROOT}/include/mbgl/renderer/renderer_observer.hpp
- ${MBGL_ROOT}/include/mbgl/renderer/renderer_state.hpp
- ${MBGL_ROOT}/include/mbgl/storage/database_file_source.hpp
- ${MBGL_ROOT}/include/mbgl/storage/file_source.hpp
- ${MBGL_ROOT}/include/mbgl/storage/file_source_manager.hpp
- ${MBGL_ROOT}/include/mbgl/storage/network_status.hpp
- ${MBGL_ROOT}/include/mbgl/storage/offline.hpp
- ${MBGL_ROOT}/include/mbgl/storage/online_file_source.hpp
- ${MBGL_ROOT}/include/mbgl/storage/resource.hpp
- ${MBGL_ROOT}/include/mbgl/storage/resource_options.hpp
- ${MBGL_ROOT}/include/mbgl/storage/resource_transform.hpp
- ${MBGL_ROOT}/include/mbgl/storage/response.hpp
- ${MBGL_ROOT}/include/mbgl/style/color_ramp_property_value.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/color_ramp_property_value.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/constant.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/coordinate.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/custom_geometry_source_options.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/filter.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/function.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/geojson.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/geojson_options.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/get_json_type.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/light.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/position.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/property_value.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/source.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/tileset.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion/transition_options.hpp
- ${MBGL_ROOT}/include/mbgl/style/conversion_impl.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/assertion.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/at.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/boolean_operator.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/case.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/check_subtype.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/coalesce.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/coercion.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/collator.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/collator_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/comparison.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/compound_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/dsl.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/error.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/find_zoom_curve.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/format_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/format_section_override.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/formatted.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/get_covering_stops.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/image.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/image_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/interpolate.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/interpolator.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/is_constant.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/is_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/length.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/let.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/literal.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/match.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/number_format.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/parsing_context.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/step.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/type.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/value.hpp
- ${MBGL_ROOT}/include/mbgl/style/expression/within.hpp
- ${MBGL_ROOT}/include/mbgl/style/filter.hpp
- ${MBGL_ROOT}/include/mbgl/style/image.hpp
- ${MBGL_ROOT}/include/mbgl/style/layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layer_properties.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/background_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/circle_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/fill_extrusion_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/fill_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/heatmap_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/hillshade_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/line_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/raster_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/layers/symbol_layer.hpp
- ${MBGL_ROOT}/include/mbgl/style/light.hpp
- ${MBGL_ROOT}/include/mbgl/style/position.hpp
- ${MBGL_ROOT}/include/mbgl/style/property_expression.hpp
- ${MBGL_ROOT}/include/mbgl/style/property_value.hpp
- ${MBGL_ROOT}/include/mbgl/style/source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/custom_geometry_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/geojson_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/image_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/raster_dem_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/raster_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/sources/vector_source.hpp
- ${MBGL_ROOT}/include/mbgl/style/style.hpp
- ${MBGL_ROOT}/include/mbgl/style/style_property.hpp
- ${MBGL_ROOT}/include/mbgl/style/transition_options.hpp
- ${MBGL_ROOT}/include/mbgl/style/types.hpp
- ${MBGL_ROOT}/include/mbgl/style/undefined.hpp
- ${MBGL_ROOT}/include/mbgl/tile/tile_id.hpp
- ${MBGL_ROOT}/include/mbgl/tile/tile_necessity.hpp
- ${MBGL_ROOT}/include/mbgl/util/async_request.hpp
- ${MBGL_ROOT}/include/mbgl/util/async_task.hpp
- ${MBGL_ROOT}/include/mbgl/util/char_array_buffer.hpp
- ${MBGL_ROOT}/include/mbgl/util/chrono.hpp
- ${MBGL_ROOT}/include/mbgl/util/color.hpp
- ${MBGL_ROOT}/include/mbgl/util/compression.hpp
- ${MBGL_ROOT}/include/mbgl/util/constants.hpp
- ${MBGL_ROOT}/include/mbgl/util/convert.hpp
- ${MBGL_ROOT}/include/mbgl/util/enum.hpp
- ${MBGL_ROOT}/include/mbgl/util/event.hpp
- ${MBGL_ROOT}/include/mbgl/util/exception.hpp
- ${MBGL_ROOT}/include/mbgl/util/expected.hpp
- ${MBGL_ROOT}/include/mbgl/util/feature.hpp
- ${MBGL_ROOT}/include/mbgl/util/font_stack.hpp
- ${MBGL_ROOT}/include/mbgl/util/geo.hpp
- ${MBGL_ROOT}/include/mbgl/util/geojson.hpp
- ${MBGL_ROOT}/include/mbgl/util/geometry.hpp
- ${MBGL_ROOT}/include/mbgl/util/ignore.hpp
- ${MBGL_ROOT}/include/mbgl/util/image.hpp
- ${MBGL_ROOT}/include/mbgl/util/immutable.hpp
- ${MBGL_ROOT}/include/mbgl/util/indexed_tuple.hpp
- ${MBGL_ROOT}/include/mbgl/util/interpolate.hpp
- ${MBGL_ROOT}/include/mbgl/util/logging.hpp
- ${MBGL_ROOT}/include/mbgl/util/noncopyable.hpp
- ${MBGL_ROOT}/include/mbgl/util/optional.hpp
- ${MBGL_ROOT}/include/mbgl/util/platform.hpp
- ${MBGL_ROOT}/include/mbgl/util/premultiply.hpp
- ${MBGL_ROOT}/include/mbgl/util/projection.hpp
- ${MBGL_ROOT}/include/mbgl/util/range.hpp
- ${MBGL_ROOT}/include/mbgl/util/run_loop.hpp
- ${MBGL_ROOT}/include/mbgl/util/size.hpp
- ${MBGL_ROOT}/include/mbgl/util/string.hpp
- ${MBGL_ROOT}/include/mbgl/util/thread.hpp
- ${MBGL_ROOT}/include/mbgl/util/tileset.hpp
- ${MBGL_ROOT}/include/mbgl/util/timer.hpp
- ${MBGL_ROOT}/include/mbgl/util/traits.hpp
- ${MBGL_ROOT}/include/mbgl/util/type_list.hpp
- ${MBGL_ROOT}/include/mbgl/util/unitbezier.hpp
- ${MBGL_ROOT}/include/mbgl/util/util.hpp
- ${MBGL_ROOT}/include/mbgl/util/variant.hpp
- ${MBGL_ROOT}/include/mbgl/util/work_request.hpp
- ${MBGL_ROOT}/include/mbgl/util/work_task.hpp
- ${MBGL_ROOT}/include/mbgl/util/work_task_impl.hpp
- ${MBGL_ROOT}/src/csscolorparser/csscolorparser.cpp
- ${MBGL_ROOT}/src/csscolorparser/csscolorparser.hpp
- ${MBGL_ROOT}/src/mbgl/actor/mailbox.cpp
- ${MBGL_ROOT}/src/mbgl/actor/scheduler.cpp
- ${MBGL_ROOT}/src/mbgl/algorithm/update_renderables.hpp
- ${MBGL_ROOT}/src/mbgl/algorithm/update_tile_masks.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_manager.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_manager.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_source.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_source.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_tile.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/annotation_tile.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/fill_annotation_impl.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/fill_annotation_impl.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/line_annotation_impl.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/line_annotation_impl.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/render_annotation_source.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/render_annotation_source.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/shape_annotation_impl.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/shape_annotation_impl.hpp
- ${MBGL_ROOT}/src/mbgl/annotation/symbol_annotation_impl.cpp
- ${MBGL_ROOT}/src/mbgl/annotation/symbol_annotation_impl.hpp
- ${MBGL_ROOT}/src/mbgl/geometry/anchor.hpp
- ${MBGL_ROOT}/src/mbgl/geometry/debug_font_data.hpp
- ${MBGL_ROOT}/src/mbgl/geometry/dem_data.cpp
- ${MBGL_ROOT}/src/mbgl/geometry/dem_data.hpp
- ${MBGL_ROOT}/src/mbgl/geometry/feature_index.cpp
- ${MBGL_ROOT}/src/mbgl/geometry/feature_index.hpp
- ${MBGL_ROOT}/src/mbgl/geometry/line_atlas.cpp
- ${MBGL_ROOT}/src/mbgl/geometry/line_atlas.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/attribute.cpp
- ${MBGL_ROOT}/src/mbgl/gfx/attribute.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/color_mode.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/command_encoder.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/context.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/cull_face_mode.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/debug_group.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/depth_mode.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/draw_mode.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/draw_scope.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/index_buffer.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/index_vector.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/offscreen_texture.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/program.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/render_pass.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/renderbuffer.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/renderer_backend.cpp
- ${MBGL_ROOT}/src/mbgl/gfx/rendering_stats.cpp
- ${MBGL_ROOT}/src/mbgl/gfx/stencil_mode.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/texture.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/types.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/uniform.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/upload_pass.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/vertex_buffer.hpp
- ${MBGL_ROOT}/src/mbgl/gfx/vertex_vector.hpp
- ${MBGL_ROOT}/src/mbgl/layermanager/background_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/circle_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/fill_extrusion_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/fill_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/heatmap_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/hillshade_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/layer_manager.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/line_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/raster_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layermanager/symbol_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/layout/clip_lines.cpp
- ${MBGL_ROOT}/src/mbgl/layout/clip_lines.hpp
- ${MBGL_ROOT}/src/mbgl/layout/layout.hpp
- ${MBGL_ROOT}/src/mbgl/layout/merge_lines.cpp
- ${MBGL_ROOT}/src/mbgl/layout/merge_lines.hpp
- ${MBGL_ROOT}/src/mbgl/layout/pattern_layout.hpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_feature.hpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_instance.cpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_instance.hpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_layout.cpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_layout.hpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_projection.cpp
- ${MBGL_ROOT}/src/mbgl/layout/symbol_projection.hpp
- ${MBGL_ROOT}/src/mbgl/map/map.cpp
- ${MBGL_ROOT}/src/mbgl/map/map_impl.cpp
- ${MBGL_ROOT}/src/mbgl/map/map_impl.hpp
- ${MBGL_ROOT}/src/mbgl/map/map_options.cpp
- ${MBGL_ROOT}/src/mbgl/map/transform.cpp
- ${MBGL_ROOT}/src/mbgl/map/transform.hpp
- ${MBGL_ROOT}/src/mbgl/map/transform_state.cpp
- ${MBGL_ROOT}/src/mbgl/map/transform_state.hpp
- ${MBGL_ROOT}/src/mbgl/map/zoom_history.hpp
- ${MBGL_ROOT}/src/mbgl/math/log2.cpp
- ${MBGL_ROOT}/src/mbgl/platform/settings.cpp
- ${MBGL_ROOT}/src/mbgl/programs/attributes.hpp
- ${MBGL_ROOT}/src/mbgl/programs/background_pattern_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/background_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/background_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/circle_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/circle_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/clipping_mask_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/clipping_mask_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/collision_box_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/collision_box_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/collision_circle_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/debug_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/debug_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_pattern_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_extrusion_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_outline_pattern_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_outline_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_pattern_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/fill_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/heatmap_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/heatmap_texture_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/heatmap_texture_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/hillshade_prepare_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/hillshade_prepare_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/hillshade_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/hillshade_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/line_gradient_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/line_pattern_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/line_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/line_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/line_sdf_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/program_parameters.cpp
- ${MBGL_ROOT}/src/mbgl/programs/program_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/programs/programs.cpp
- ${MBGL_ROOT}/src/mbgl/programs/programs.hpp
- ${MBGL_ROOT}/src/mbgl/programs/raster_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/raster_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/segment.hpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_icon_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_program.cpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_sdf_icon_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_sdf_text_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/symbol_text_and_icon_program.hpp
- ${MBGL_ROOT}/src/mbgl/programs/textures.hpp
- ${MBGL_ROOT}/src/mbgl/programs/uniforms.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/backend_scope.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/bucket_parameters.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/bucket_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/circle_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/circle_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/debug_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/debug_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/fill_extrusion_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/heatmap_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/heatmap_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/hillshade_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/hillshade_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/line_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/line_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/raster_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/raster_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/symbol_bucket.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/buckets/symbol_bucket.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/cross_faded_property_evaluator.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/cross_faded_property_evaluator.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/data_driven_property_evaluator.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/group_by_layout.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/group_by_layout.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/image_atlas.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/image_atlas.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/image_manager.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/image_manager.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/image_manager_observer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_background_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_background_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_circle_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_circle_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_fill_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_heatmap_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_heatmap_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_hillshade_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_hillshade_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_line_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_line_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_raster_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_raster_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_symbol_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/layers/render_symbol_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/paint_parameters.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/paint_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/paint_property_binder.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/paint_property_statistics.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/pattern_atlas.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/pattern_atlas.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/possibly_evaluated_property_value.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/property_evaluation_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/property_evaluator.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_layer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_layer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_light.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_light.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_orchestrator.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_orchestrator.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_pass.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_source_observer.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_static_data.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_static_data.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_tile.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_tile.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/render_tree.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/renderer.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/renderer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/renderer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/renderer_state.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_custom_geometry_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_custom_geometry_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_geojson_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_geojson_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_image_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_image_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_dem_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_dem_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_raster_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_tile_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_tile_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_vector_source.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/sources/render_vector_source.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/source_state.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/source_state.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/style_diff.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/style_diff.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_mask.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_pyramid.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_pyramid.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_render_data.cpp
- ${MBGL_ROOT}/src/mbgl/renderer/tile_render_data.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/transition_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/update_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/renderer/upload_parameters.hpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader.cpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader.hpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_observer.hpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_worker.cpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_loader_worker.hpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.cpp
- ${MBGL_ROOT}/src/mbgl/sprite/sprite_parser.hpp
- ${MBGL_ROOT}/src/mbgl/storage/asset_file_source.hpp
- ${MBGL_ROOT}/src/mbgl/storage/file_source_manager.cpp
- ${MBGL_ROOT}/src/mbgl/storage/http_file_source.hpp
- ${MBGL_ROOT}/src/mbgl/storage/local_file_source.hpp
- ${MBGL_ROOT}/src/mbgl/storage/main_resource_loader.hpp
- ${MBGL_ROOT}/src/mbgl/storage/network_status.cpp
- ${MBGL_ROOT}/src/mbgl/storage/resource.cpp
- ${MBGL_ROOT}/src/mbgl/storage/resource_options.cpp
- ${MBGL_ROOT}/src/mbgl/storage/resource_transform.cpp
- ${MBGL_ROOT}/src/mbgl/storage/response.cpp
- ${MBGL_ROOT}/src/mbgl/style/collection.hpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/color_ramp_property_value.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/constant.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/coordinate.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/custom_geometry_source_options.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/filter.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/function.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/geojson.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/geojson_options.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/get_json_type.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/json.hpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/light.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/position.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/property_value.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/source.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/stringify.hpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/tileset.cpp
- ${MBGL_ROOT}/src/mbgl/style/conversion/transition_options.cpp
- ${MBGL_ROOT}/src/mbgl/style/custom_tile_loader.cpp
- ${MBGL_ROOT}/src/mbgl/style/custom_tile_loader.hpp
- ${MBGL_ROOT}/src/mbgl/style/expression/assertion.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/at.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/boolean_operator.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/case.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/check_subtype.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/coalesce.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/coercion.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/collator.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/collator_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/comparison.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/compound_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/dsl.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/dsl_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/expression/expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/find_zoom_curve.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/format_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/formatted.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/get_covering_stops.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/image.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/image_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/interpolate.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/is_constant.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/is_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/length.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/let.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/literal.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/match.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/number_format.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/parsing_context.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/step.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/util.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/util.hpp
- ${MBGL_ROOT}/src/mbgl/style/expression/value.cpp
- ${MBGL_ROOT}/src/mbgl/style/expression/within.cpp
- ${MBGL_ROOT}/src/mbgl/style/filter.cpp
- ${MBGL_ROOT}/src/mbgl/style/image.cpp
- ${MBGL_ROOT}/src/mbgl/style/image_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/image_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layer_observer.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/background_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/background_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/circle_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_extrusion_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/fill_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/heatmap_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/hillshade_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/line_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/line_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/raster_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_properties.cpp
- ${MBGL_ROOT}/src/mbgl/style/layers/symbol_layer_properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/layout_property.hpp
- ${MBGL_ROOT}/src/mbgl/style/light.cpp
- ${MBGL_ROOT}/src/mbgl/style/light_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/light_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/light_observer.hpp
- ${MBGL_ROOT}/src/mbgl/style/observer.hpp
- ${MBGL_ROOT}/src/mbgl/style/paint_property.hpp
- ${MBGL_ROOT}/src/mbgl/style/parser.cpp
- ${MBGL_ROOT}/src/mbgl/style/parser.hpp
- ${MBGL_ROOT}/src/mbgl/style/properties.hpp
- ${MBGL_ROOT}/src/mbgl/style/property_expression.cpp
- ${MBGL_ROOT}/src/mbgl/style/rapidjson_conversion.hpp
- ${MBGL_ROOT}/src/mbgl/style/source.cpp
- ${MBGL_ROOT}/src/mbgl/style/source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/source_observer.hpp
- ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/custom_geometry_source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/geojson_source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/sources/image_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/image_source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/image_source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/sources/raster_dem_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/raster_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/raster_source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/raster_source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/sources/vector_source.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/vector_source_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/sources/vector_source_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/style.cpp
- ${MBGL_ROOT}/src/mbgl/style/style_impl.cpp
- ${MBGL_ROOT}/src/mbgl/style/style_impl.hpp
- ${MBGL_ROOT}/src/mbgl/style/types.cpp
- ${MBGL_ROOT}/src/mbgl/text/bidi.hpp
- ${MBGL_ROOT}/src/mbgl/text/check_max_angle.cpp
- ${MBGL_ROOT}/src/mbgl/text/check_max_angle.hpp
- ${MBGL_ROOT}/src/mbgl/text/collision_feature.cpp
- ${MBGL_ROOT}/src/mbgl/text/collision_feature.hpp
- ${MBGL_ROOT}/src/mbgl/text/collision_index.cpp
- ${MBGL_ROOT}/src/mbgl/text/collision_index.hpp
- ${MBGL_ROOT}/src/mbgl/text/cross_tile_symbol_index.cpp
- ${MBGL_ROOT}/src/mbgl/text/cross_tile_symbol_index.hpp
- ${MBGL_ROOT}/src/mbgl/text/get_anchors.cpp
- ${MBGL_ROOT}/src/mbgl/text/get_anchors.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph.cpp
- ${MBGL_ROOT}/src/mbgl/text/glyph.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_atlas.cpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_atlas.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_manager.cpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_manager.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_manager_observer.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_pbf.cpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_pbf.hpp
- ${MBGL_ROOT}/src/mbgl/text/glyph_range.hpp
- ${MBGL_ROOT}/src/mbgl/text/language_tag.cpp
- ${MBGL_ROOT}/src/mbgl/text/language_tag.hpp
- ${MBGL_ROOT}/src/mbgl/text/local_glyph_rasterizer.hpp
- ${MBGL_ROOT}/src/mbgl/text/placement.cpp
- ${MBGL_ROOT}/src/mbgl/text/placement.hpp
- ${MBGL_ROOT}/src/mbgl/text/quads.cpp
- ${MBGL_ROOT}/src/mbgl/text/quads.hpp
- ${MBGL_ROOT}/src/mbgl/text/shaping.cpp
- ${MBGL_ROOT}/src/mbgl/text/shaping.hpp
- ${MBGL_ROOT}/src/mbgl/text/tagged_string.cpp
- ${MBGL_ROOT}/src/mbgl/text/tagged_string.hpp
- ${MBGL_ROOT}/src/mbgl/tile/custom_geometry_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/custom_geometry_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/geojson_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/geojson_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/geojson_tile_data.hpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_data.cpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_data.hpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_worker.cpp
- ${MBGL_ROOT}/src/mbgl/tile/geometry_tile_worker.hpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile_worker.cpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_dem_tile_worker.hpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_tile_worker.cpp
- ${MBGL_ROOT}/src/mbgl/tile/raster_tile_worker.hpp
- ${MBGL_ROOT}/src/mbgl/tile/tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_cache.cpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_cache.hpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_id_hash.cpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_id_io.cpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_loader.hpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_loader_impl.hpp
- ${MBGL_ROOT}/src/mbgl/tile/tile_observer.hpp
- ${MBGL_ROOT}/src/mbgl/tile/vector_tile.cpp
- ${MBGL_ROOT}/src/mbgl/tile/vector_tile.hpp
- ${MBGL_ROOT}/src/mbgl/tile/vector_tile_data.cpp
- ${MBGL_ROOT}/src/mbgl/tile/vector_tile_data.hpp
- ${MBGL_ROOT}/src/mbgl/util/chrono.cpp
- ${MBGL_ROOT}/src/mbgl/util/color.cpp
- ${MBGL_ROOT}/src/mbgl/util/constants.cpp
- ${MBGL_ROOT}/src/mbgl/util/convert.cpp
- ${MBGL_ROOT}/src/mbgl/util/dtoa.cpp
- ${MBGL_ROOT}/src/mbgl/util/dtoa.hpp
- ${MBGL_ROOT}/src/mbgl/util/event.cpp
- ${MBGL_ROOT}/src/mbgl/util/font_stack.cpp
- ${MBGL_ROOT}/src/mbgl/util/geo.cpp
- ${MBGL_ROOT}/src/mbgl/util/geojson_impl.cpp
- ${MBGL_ROOT}/src/mbgl/util/grid_index.cpp
- ${MBGL_ROOT}/src/mbgl/util/grid_index.hpp
- ${MBGL_ROOT}/src/mbgl/util/hash.hpp
- ${MBGL_ROOT}/src/mbgl/util/http_header.cpp
- ${MBGL_ROOT}/src/mbgl/util/http_header.hpp
- ${MBGL_ROOT}/src/mbgl/util/http_timeout.cpp
- ${MBGL_ROOT}/src/mbgl/util/http_timeout.hpp
- ${MBGL_ROOT}/src/mbgl/util/i18n.cpp
- ${MBGL_ROOT}/src/mbgl/util/i18n.hpp
- ${MBGL_ROOT}/src/mbgl/util/id.cpp
- ${MBGL_ROOT}/src/mbgl/util/id.hpp
- ${MBGL_ROOT}/src/mbgl/util/interpolate.cpp
- ${MBGL_ROOT}/src/mbgl/util/intersection_tests.cpp
- ${MBGL_ROOT}/src/mbgl/util/intersection_tests.hpp
- ${MBGL_ROOT}/src/mbgl/util/io.cpp
- ${MBGL_ROOT}/src/mbgl/util/io.hpp
- ${MBGL_ROOT}/src/mbgl/util/literal.hpp
- ${MBGL_ROOT}/src/mbgl/util/logging.cpp
- ${MBGL_ROOT}/src/mbgl/util/longest_common_subsequence.hpp
- ${MBGL_ROOT}/src/mbgl/util/mapbox.cpp
- ${MBGL_ROOT}/src/mbgl/util/mapbox.hpp
- ${MBGL_ROOT}/src/mbgl/util/mat2.cpp
- ${MBGL_ROOT}/src/mbgl/util/mat2.hpp
- ${MBGL_ROOT}/src/mbgl/util/mat3.cpp
- ${MBGL_ROOT}/src/mbgl/util/mat3.hpp
- ${MBGL_ROOT}/src/mbgl/util/mat4.cpp
- ${MBGL_ROOT}/src/mbgl/util/mat4.hpp
- ${MBGL_ROOT}/src/mbgl/util/math.hpp
- ${MBGL_ROOT}/src/mbgl/util/premultiply.cpp
- ${MBGL_ROOT}/src/mbgl/util/rapidjson.cpp
- ${MBGL_ROOT}/src/mbgl/util/rapidjson.hpp
- ${MBGL_ROOT}/src/mbgl/util/rect.hpp
- ${MBGL_ROOT}/src/mbgl/util/std.hpp
- ${MBGL_ROOT}/src/mbgl/util/stopwatch.cpp
- ${MBGL_ROOT}/src/mbgl/util/stopwatch.hpp
- ${MBGL_ROOT}/src/mbgl/util/string.cpp
- ${MBGL_ROOT}/src/mbgl/util/thread.cpp
- ${MBGL_ROOT}/src/mbgl/util/thread_local.hpp
- ${MBGL_ROOT}/src/mbgl/util/thread_pool.cpp
- ${MBGL_ROOT}/src/mbgl/util/thread_pool.hpp
- ${MBGL_ROOT}/src/mbgl/util/tile_coordinate.hpp
- ${MBGL_ROOT}/src/mbgl/util/tile_cover.cpp
- ${MBGL_ROOT}/src/mbgl/util/tile_cover.hpp
- ${MBGL_ROOT}/src/mbgl/util/tile_cover_impl.cpp
- ${MBGL_ROOT}/src/mbgl/util/tile_cover_impl.hpp
- ${MBGL_ROOT}/src/mbgl/util/tile_range.hpp
- ${MBGL_ROOT}/src/mbgl/util/tiny_sdf.cpp
- ${MBGL_ROOT}/src/mbgl/util/tiny_sdf.hpp
- ${MBGL_ROOT}/src/mbgl/util/token.hpp
- ${MBGL_ROOT}/src/mbgl/util/url.cpp
- ${MBGL_ROOT}/src/mbgl/util/url.hpp
- ${MBGL_ROOT}/src/mbgl/util/utf.hpp
- ${MBGL_ROOT}/src/mbgl/util/version.cpp
- ${MBGL_ROOT}/src/mbgl/util/version.hpp
- ${MBGL_ROOT}/src/mbgl/util/work_request.cpp
- ${MBGL_ROOT}/src/parsedate/parsedate.cpp
- ${MBGL_ROOT}/src/parsedate/parsedate.hpp
-)
-
-if(MBGL_WITH_OPENGL)
- message("-- Configuring GL-Native with OpenGL renderer backend")
- target_compile_definitions(
- mbgl-core
- PRIVATE MBGL_RENDER_BACKEND_OPENGL=1
- )
- target_sources(
- mbgl-core
- PRIVATE
- ${MBGL_ROOT}/include/mbgl/gfx/backend.hpp
- ${MBGL_ROOT}/include/mbgl/gl/custom_layer.hpp
- ${MBGL_ROOT}/include/mbgl/gl/custom_layer_factory.hpp
- ${MBGL_ROOT}/include/mbgl/gl/renderable_resource.hpp
- ${MBGL_ROOT}/include/mbgl/gl/renderer_backend.hpp
- ${MBGL_ROOT}/include/mbgl/platform/gl_functions.hpp
- ${MBGL_ROOT}/src/mbgl/gl/attribute.cpp
- ${MBGL_ROOT}/src/mbgl/gl/attribute.hpp
- ${MBGL_ROOT}/src/mbgl/gl/command_encoder.cpp
- ${MBGL_ROOT}/src/mbgl/gl/command_encoder.hpp
- ${MBGL_ROOT}/src/mbgl/gl/context.cpp
- ${MBGL_ROOT}/src/mbgl/gl/context.hpp
- ${MBGL_ROOT}/src/mbgl/gl/custom_layer.cpp
- ${MBGL_ROOT}/src/mbgl/gl/custom_layer_factory.cpp
- ${MBGL_ROOT}/src/mbgl/gl/custom_layer_impl.cpp
- ${MBGL_ROOT}/src/mbgl/gl/custom_layer_impl.hpp
- ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.cpp
- ${MBGL_ROOT}/src/mbgl/gl/debugging_extension.hpp
- ${MBGL_ROOT}/src/mbgl/gl/defines.hpp
- ${MBGL_ROOT}/src/mbgl/gl/draw_scope_resource.hpp
- ${MBGL_ROOT}/src/mbgl/gl/enum.cpp
- ${MBGL_ROOT}/src/mbgl/gl/enum.hpp
- ${MBGL_ROOT}/src/mbgl/gl/extension.hpp
- ${MBGL_ROOT}/src/mbgl/gl/framebuffer.hpp
- ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.cpp
- ${MBGL_ROOT}/src/mbgl/gl/index_buffer_resource.hpp
- ${MBGL_ROOT}/src/mbgl/gl/object.cpp
- ${MBGL_ROOT}/src/mbgl/gl/object.hpp
- ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.cpp
- ${MBGL_ROOT}/src/mbgl/gl/offscreen_texture.hpp
- ${MBGL_ROOT}/src/mbgl/gl/program.hpp
- ${MBGL_ROOT}/src/mbgl/gl/render_pass.cpp
- ${MBGL_ROOT}/src/mbgl/gl/render_pass.hpp
- ${MBGL_ROOT}/src/mbgl/gl/renderbuffer_resource.hpp
- ${MBGL_ROOT}/src/mbgl/gl/renderer_backend.cpp
- ${MBGL_ROOT}/src/mbgl/gl/render_custom_layer.cpp
- ${MBGL_ROOT}/src/mbgl/gl/render_custom_layer.hpp
- ${MBGL_ROOT}/src/mbgl/gl/state.hpp
- ${MBGL_ROOT}/src/mbgl/gl/texture.cpp
- ${MBGL_ROOT}/src/mbgl/gl/texture.hpp
- ${MBGL_ROOT}/src/mbgl/gl/texture_resource.cpp
- ${MBGL_ROOT}/src/mbgl/gl/texture_resource.hpp
- ${MBGL_ROOT}/src/mbgl/gl/types.hpp
- ${MBGL_ROOT}/src/mbgl/gl/uniform.cpp
- ${MBGL_ROOT}/src/mbgl/gl/uniform.hpp
- ${MBGL_ROOT}/src/mbgl/gl/upload_pass.cpp
- ${MBGL_ROOT}/src/mbgl/gl/upload_pass.hpp
- ${MBGL_ROOT}/src/mbgl/gl/value.cpp
- ${MBGL_ROOT}/src/mbgl/gl/value.hpp
- ${MBGL_ROOT}/src/mbgl/gl/vertex_array.cpp
- ${MBGL_ROOT}/src/mbgl/gl/vertex_array.hpp
- ${MBGL_ROOT}/src/mbgl/gl/vertex_array_extension.hpp
- ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.cpp
- ${MBGL_ROOT}/src/mbgl/gl/vertex_buffer_resource.hpp
- ${MBGL_ROOT}/src/mbgl/platform/gl_functions.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/background.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/background_pattern.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/circle.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/clipping_mask.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/collision_box.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/collision_circle.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/debug.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill_extrusion_pattern.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill_outline_pattern.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/fill_pattern.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/heatmap_texture.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/hillshade_prepare.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/line.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/line_gradient.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/line_pattern.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/line_sdf.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/preludes.hpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/raster.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/shader_source.hpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/shaders.hpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_icon.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_icon.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_sdf_text.cpp
- ${MBGL_ROOT}/src/mbgl/programs/gl/symbol_text_and_icon.cpp
- )
-endif()
-
-if(EXISTS ${MBGL_ROOT}/.git/HEAD)
- execute_process(
- COMMAND
- git
- rev-parse
- --short=8
- HEAD
- WORKING_DIRECTORY ${MBGL_ROOT}
- OUTPUT_VARIABLE MBGL_VERSION_REV
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-else()
- set(MBGL_VERSION_REV 00000000)
-endif()
-
-set_source_files_properties(
- ${MBGL_ROOT}/src/mbgl/util/version.cpp
- PROPERTIES
- COMPILE_DEFINITIONS
- MBGL_VERSION_REV="${MBGL_VERSION_REV}"
-)
-
-target_include_directories(
- mbgl-core
- PRIVATE ${MBGL_ROOT}/src
-)
-
-target_include_directories(
- mbgl-core
- PUBLIC ${MBGL_ROOT}/include
-)
-
-if(NOT TARGET mapbox-base)
- add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/mapbox)
- add_subdirectory(${PROJECT_SOURCE_DIR}/vendor/mapbox-base/extras)
-endif(NOT TARGET mapbox-base)
-
-include(${PROJECT_SOURCE_DIR}/vendor/boost.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/earcut.hpp.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/eternal.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/geojson-vt-cpp.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/polylabel.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/protozero.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/shelf-pack-cpp.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/unique_resource.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/vector-tile.cmake)
-include(${PROJECT_SOURCE_DIR}/vendor/wagyu.cmake)
-
-target_link_libraries(
- mbgl-core
- PRIVATE
- Mapbox::Base::Extras::kdbush.hpp
- Mapbox::Base::supercluster.hpp
- mbgl-compiler-options
- mbgl-vendor-boost
- mbgl-vendor-earcut.hpp
- mbgl-vendor-eternal
- mbgl-vendor-geojson-vt-cpp
- mbgl-vendor-polylabel
- mbgl-vendor-protozero
- mbgl-vendor-shelf-pack-cpp
- mbgl-vendor-unique_resource
- mbgl-vendor-vector-tile
- mbgl-vendor-wagyu
- PUBLIC
- Mapbox::Base::Extras::expected-lite
- Mapbox::Base::Extras::rapidjson
- Mapbox::Base::geojson.hpp
- Mapbox::Base::geometry.hpp
- Mapbox::Base::optional
- Mapbox::Base::typewrapper
- Mapbox::Base::value
- Mapbox::Base::variant
- Mapbox::Base::weak
-)
-
-set_property(TARGET mbgl-core PROPERTY FOLDER Core)
-
-add_library(
- Mapbox::Map ALIAS mbgl-core
-)
-
-if(MBGL_WITH_PLATFORM_EXTRAS)
- include(${MBGL_WITH_PLATFORM_EXTRAS})
-endif()
-
-if(MBGL_WITH_CORE_ONLY)
- return()
-elseif(MBGL_WITH_QT)
- include(${PROJECT_SOURCE_DIR}/platform/qt/qt.cmake)
-elseif(CMAKE_SYSTEM_NAME STREQUAL Android)
- include(${PROJECT_SOURCE_DIR}/platform/android/android.cmake)
-elseif(CMAKE_SYSTEM_NAME STREQUAL iOS)
- include(${PROJECT_SOURCE_DIR}/platform/ios/ios.cmake)
-elseif(CMAKE_SYSTEM_NAME STREQUAL Linux)
- include(${PROJECT_SOURCE_DIR}/platform/linux/linux.cmake)
-elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
- include(${PROJECT_SOURCE_DIR}/platform/macos/macos.cmake)
-else()
- message(FATAL_ERROR "Unsupported target platform: " ${CMAKE_SYSTEM_NAME})
-endif()
-
-add_subdirectory(${PROJECT_SOURCE_DIR}/test)
-add_subdirectory(${PROJECT_SOURCE_DIR}/benchmark)
-add_subdirectory(${PROJECT_SOURCE_DIR}/render-test)
diff --git a/src/core-files.json b/src/core-files.json
deleted file mode 100644
index 49fc69705c..0000000000
--- a/src/core-files.json
+++ /dev/null
@@ -1,817 +0,0 @@
-{
- "//": "This file is generated. Do not edit. Regenerate it with scripts/generate-file-lists.js",
- "sources": [
- "src/csscolorparser/csscolorparser.cpp",
- "src/mbgl/actor/mailbox.cpp",
- "src/mbgl/actor/scheduler.cpp",
- "src/mbgl/annotation/annotation_manager.cpp",
- "src/mbgl/annotation/annotation_source.cpp",
- "src/mbgl/annotation/annotation_tile.cpp",
- "src/mbgl/annotation/fill_annotation_impl.cpp",
- "src/mbgl/annotation/line_annotation_impl.cpp",
- "src/mbgl/annotation/render_annotation_source.cpp",
- "src/mbgl/annotation/shape_annotation_impl.cpp",
- "src/mbgl/annotation/symbol_annotation_impl.cpp",
- "src/mbgl/geometry/dem_data.cpp",
- "src/mbgl/geometry/feature_index.cpp",
- "src/mbgl/geometry/line_atlas.cpp",
- "src/mbgl/gfx/attribute.cpp",
- "src/mbgl/gfx/renderer_backend.cpp",
- "src/mbgl/gfx/rendering_stats.cpp",
- "src/mbgl/gl/attribute.cpp",
- "src/mbgl/gl/command_encoder.cpp",
- "src/mbgl/gl/context.cpp",
- "src/mbgl/gl/custom_layer.cpp",
- "src/mbgl/gl/custom_layer_factory.cpp",
- "src/mbgl/gl/custom_layer_impl.cpp",
- "src/mbgl/gl/debugging_extension.cpp",
- "src/mbgl/gl/enum.cpp",
- "src/mbgl/gl/index_buffer_resource.cpp",
- "src/mbgl/gl/object.cpp",
- "src/mbgl/gl/offscreen_texture.cpp",
- "src/mbgl/gl/render_custom_layer.cpp",
- "src/mbgl/gl/render_pass.cpp",
- "src/mbgl/gl/renderer_backend.cpp",
- "src/mbgl/gl/texture.cpp",
- "src/mbgl/gl/texture_resource.cpp",
- "src/mbgl/gl/uniform.cpp",
- "src/mbgl/gl/upload_pass.cpp",
- "src/mbgl/gl/value.cpp",
- "src/mbgl/gl/vertex_array.cpp",
- "src/mbgl/gl/vertex_buffer_resource.cpp",
- "src/mbgl/layermanager/background_layer_factory.cpp",
- "src/mbgl/layermanager/circle_layer_factory.cpp",
- "src/mbgl/layermanager/fill_extrusion_layer_factory.cpp",
- "src/mbgl/layermanager/fill_layer_factory.cpp",
- "src/mbgl/layermanager/heatmap_layer_factory.cpp",
- "src/mbgl/layermanager/hillshade_layer_factory.cpp",
- "src/mbgl/layermanager/layer_factory.cpp",
- "src/mbgl/layermanager/layer_manager.cpp",
- "src/mbgl/layermanager/line_layer_factory.cpp",
- "src/mbgl/layermanager/raster_layer_factory.cpp",
- "src/mbgl/layermanager/symbol_layer_factory.cpp",
- "src/mbgl/layout/clip_lines.cpp",
- "src/mbgl/layout/merge_lines.cpp",
- "src/mbgl/layout/symbol_instance.cpp",
- "src/mbgl/layout/symbol_layout.cpp",
- "src/mbgl/layout/symbol_projection.cpp",
- "src/mbgl/map/map.cpp",
- "src/mbgl/map/map_impl.cpp",
- "src/mbgl/map/map_options.cpp",
- "src/mbgl/map/transform.cpp",
- "src/mbgl/map/transform_state.cpp",
- "src/mbgl/math/log2.cpp",
- "src/mbgl/platform/gl_functions.cpp",
- "src/mbgl/platform/settings.cpp",
- "src/mbgl/programs/background_program.cpp",
- "src/mbgl/programs/circle_program.cpp",
- "src/mbgl/programs/clipping_mask_program.cpp",
- "src/mbgl/programs/collision_box_program.cpp",
- "src/mbgl/programs/debug_program.cpp",
- "src/mbgl/programs/fill_extrusion_program.cpp",
- "src/mbgl/programs/fill_program.cpp",
- "src/mbgl/programs/gl/background.cpp",
- "src/mbgl/programs/gl/background_pattern.cpp",
- "src/mbgl/programs/gl/circle.cpp",
- "src/mbgl/programs/gl/clipping_mask.cpp",
- "src/mbgl/programs/gl/collision_box.cpp",
- "src/mbgl/programs/gl/collision_circle.cpp",
- "src/mbgl/programs/gl/debug.cpp",
- "src/mbgl/programs/gl/fill.cpp",
- "src/mbgl/programs/gl/fill_extrusion.cpp",
- "src/mbgl/programs/gl/fill_extrusion_pattern.cpp",
- "src/mbgl/programs/gl/fill_outline.cpp",
- "src/mbgl/programs/gl/fill_outline_pattern.cpp",
- "src/mbgl/programs/gl/fill_pattern.cpp",
- "src/mbgl/programs/gl/heatmap.cpp",
- "src/mbgl/programs/gl/heatmap_texture.cpp",
- "src/mbgl/programs/gl/hillshade.cpp",
- "src/mbgl/programs/gl/hillshade_prepare.cpp",
- "src/mbgl/programs/gl/line.cpp",
- "src/mbgl/programs/gl/line_gradient.cpp",
- "src/mbgl/programs/gl/line_pattern.cpp",
- "src/mbgl/programs/gl/line_sdf.cpp",
- "src/mbgl/programs/gl/raster.cpp",
- "src/mbgl/programs/gl/shader_source.cpp",
- "src/mbgl/programs/gl/shaders.cpp",
- "src/mbgl/programs/gl/symbol_icon.cpp",
- "src/mbgl/programs/gl/symbol_sdf_icon.cpp",
- "src/mbgl/programs/gl/symbol_sdf_text.cpp",
- "src/mbgl/programs/gl/symbol_text_and_icon.cpp",
- "src/mbgl/programs/heatmap_program.cpp",
- "src/mbgl/programs/heatmap_texture_program.cpp",
- "src/mbgl/programs/hillshade_prepare_program.cpp",
- "src/mbgl/programs/hillshade_program.cpp",
- "src/mbgl/programs/line_program.cpp",
- "src/mbgl/programs/program_parameters.cpp",
- "src/mbgl/programs/programs.cpp",
- "src/mbgl/programs/raster_program.cpp",
- "src/mbgl/programs/symbol_program.cpp",
- "src/mbgl/renderer/backend_scope.cpp",
- "src/mbgl/renderer/bucket_parameters.cpp",
- "src/mbgl/renderer/buckets/circle_bucket.cpp",
- "src/mbgl/renderer/buckets/debug_bucket.cpp",
- "src/mbgl/renderer/buckets/fill_bucket.cpp",
- "src/mbgl/renderer/buckets/fill_extrusion_bucket.cpp",
- "src/mbgl/renderer/buckets/heatmap_bucket.cpp",
- "src/mbgl/renderer/buckets/hillshade_bucket.cpp",
- "src/mbgl/renderer/buckets/line_bucket.cpp",
- "src/mbgl/renderer/buckets/raster_bucket.cpp",
- "src/mbgl/renderer/buckets/symbol_bucket.cpp",
- "src/mbgl/renderer/cross_faded_property_evaluator.cpp",
- "src/mbgl/renderer/group_by_layout.cpp",
- "src/mbgl/renderer/image_atlas.cpp",
- "src/mbgl/renderer/image_manager.cpp",
- "src/mbgl/renderer/layers/render_background_layer.cpp",
- "src/mbgl/renderer/layers/render_circle_layer.cpp",
- "src/mbgl/renderer/layers/render_fill_extrusion_layer.cpp",
- "src/mbgl/renderer/layers/render_fill_layer.cpp",
- "src/mbgl/renderer/layers/render_heatmap_layer.cpp",
- "src/mbgl/renderer/layers/render_hillshade_layer.cpp",
- "src/mbgl/renderer/layers/render_line_layer.cpp",
- "src/mbgl/renderer/layers/render_raster_layer.cpp",
- "src/mbgl/renderer/layers/render_symbol_layer.cpp",
- "src/mbgl/renderer/paint_parameters.cpp",
- "src/mbgl/renderer/pattern_atlas.cpp",
- "src/mbgl/renderer/render_layer.cpp",
- "src/mbgl/renderer/render_light.cpp",
- "src/mbgl/renderer/render_orchestrator.cpp",
- "src/mbgl/renderer/render_source.cpp",
- "src/mbgl/renderer/render_static_data.cpp",
- "src/mbgl/renderer/render_tile.cpp",
- "src/mbgl/renderer/renderer.cpp",
- "src/mbgl/renderer/renderer_impl.cpp",
- "src/mbgl/renderer/renderer_state.cpp",
- "src/mbgl/renderer/source_state.cpp",
- "src/mbgl/renderer/sources/render_custom_geometry_source.cpp",
- "src/mbgl/renderer/sources/render_geojson_source.cpp",
- "src/mbgl/renderer/sources/render_image_source.cpp",
- "src/mbgl/renderer/sources/render_raster_dem_source.cpp",
- "src/mbgl/renderer/sources/render_raster_source.cpp",
- "src/mbgl/renderer/sources/render_tile_source.cpp",
- "src/mbgl/renderer/sources/render_vector_source.cpp",
- "src/mbgl/renderer/style_diff.cpp",
- "src/mbgl/renderer/tile_pyramid.cpp",
- "src/mbgl/renderer/tile_render_data.cpp",
- "src/mbgl/sprite/sprite_loader.cpp",
- "src/mbgl/sprite/sprite_loader_worker.cpp",
- "src/mbgl/sprite/sprite_parser.cpp",
- "src/mbgl/storage/file_source_manager.cpp",
- "src/mbgl/storage/network_status.cpp",
- "src/mbgl/storage/resource.cpp",
- "src/mbgl/storage/resource_options.cpp",
- "src/mbgl/storage/resource_transform.cpp",
- "src/mbgl/storage/response.cpp",
- "src/mbgl/style/conversion/color_ramp_property_value.cpp",
- "src/mbgl/style/conversion/constant.cpp",
- "src/mbgl/style/conversion/coordinate.cpp",
- "src/mbgl/style/conversion/custom_geometry_source_options.cpp",
- "src/mbgl/style/conversion/filter.cpp",
- "src/mbgl/style/conversion/function.cpp",
- "src/mbgl/style/conversion/geojson.cpp",
- "src/mbgl/style/conversion/geojson_options.cpp",
- "src/mbgl/style/conversion/get_json_type.cpp",
- "src/mbgl/style/conversion/layer.cpp",
- "src/mbgl/style/conversion/light.cpp",
- "src/mbgl/style/conversion/position.cpp",
- "src/mbgl/style/conversion/property_value.cpp",
- "src/mbgl/style/conversion/source.cpp",
- "src/mbgl/style/conversion/tileset.cpp",
- "src/mbgl/style/conversion/transition_options.cpp",
- "src/mbgl/style/custom_tile_loader.cpp",
- "src/mbgl/style/expression/assertion.cpp",
- "src/mbgl/style/expression/at.cpp",
- "src/mbgl/style/expression/boolean_operator.cpp",
- "src/mbgl/style/expression/case.cpp",
- "src/mbgl/style/expression/check_subtype.cpp",
- "src/mbgl/style/expression/coalesce.cpp",
- "src/mbgl/style/expression/coercion.cpp",
- "src/mbgl/style/expression/collator.cpp",
- "src/mbgl/style/expression/collator_expression.cpp",
- "src/mbgl/style/expression/comparison.cpp",
- "src/mbgl/style/expression/compound_expression.cpp",
- "src/mbgl/style/expression/dsl.cpp",
- "src/mbgl/style/expression/expression.cpp",
- "src/mbgl/style/expression/find_zoom_curve.cpp",
- "src/mbgl/style/expression/format_expression.cpp",
- "src/mbgl/style/expression/formatted.cpp",
- "src/mbgl/style/expression/get_covering_stops.cpp",
- "src/mbgl/style/expression/image.cpp",
- "src/mbgl/style/expression/image_expression.cpp",
- "src/mbgl/style/expression/interpolate.cpp",
- "src/mbgl/style/expression/is_constant.cpp",
- "src/mbgl/style/expression/is_expression.cpp",
- "src/mbgl/style/expression/length.cpp",
- "src/mbgl/style/expression/let.cpp",
- "src/mbgl/style/expression/literal.cpp",
- "src/mbgl/style/expression/match.cpp",
- "src/mbgl/style/expression/number_format.cpp",
- "src/mbgl/style/expression/parsing_context.cpp",
- "src/mbgl/style/expression/step.cpp",
- "src/mbgl/style/expression/util.cpp",
- "src/mbgl/style/expression/value.cpp",
- "src/mbgl/style/expression/within.cpp",
- "src/mbgl/style/filter.cpp",
- "src/mbgl/style/image.cpp",
- "src/mbgl/style/image_impl.cpp",
- "src/mbgl/style/layer.cpp",
- "src/mbgl/style/layer_impl.cpp",
- "src/mbgl/style/layers/background_layer.cpp",
- "src/mbgl/style/layers/background_layer_impl.cpp",
- "src/mbgl/style/layers/background_layer_properties.cpp",
- "src/mbgl/style/layers/circle_layer.cpp",
- "src/mbgl/style/layers/circle_layer_impl.cpp",
- "src/mbgl/style/layers/circle_layer_properties.cpp",
- "src/mbgl/style/layers/fill_extrusion_layer.cpp",
- "src/mbgl/style/layers/fill_extrusion_layer_impl.cpp",
- "src/mbgl/style/layers/fill_extrusion_layer_properties.cpp",
- "src/mbgl/style/layers/fill_layer.cpp",
- "src/mbgl/style/layers/fill_layer_impl.cpp",
- "src/mbgl/style/layers/fill_layer_properties.cpp",
- "src/mbgl/style/layers/heatmap_layer.cpp",
- "src/mbgl/style/layers/heatmap_layer_impl.cpp",
- "src/mbgl/style/layers/heatmap_layer_properties.cpp",
- "src/mbgl/style/layers/hillshade_layer.cpp",
- "src/mbgl/style/layers/hillshade_layer_impl.cpp",
- "src/mbgl/style/layers/hillshade_layer_properties.cpp",
- "src/mbgl/style/layers/line_layer.cpp",
- "src/mbgl/style/layers/line_layer_impl.cpp",
- "src/mbgl/style/layers/line_layer_properties.cpp",
- "src/mbgl/style/layers/raster_layer.cpp",
- "src/mbgl/style/layers/raster_layer_impl.cpp",
- "src/mbgl/style/layers/raster_layer_properties.cpp",
- "src/mbgl/style/layers/symbol_layer.cpp",
- "src/mbgl/style/layers/symbol_layer_impl.cpp",
- "src/mbgl/style/layers/symbol_layer_properties.cpp",
- "src/mbgl/style/light.cpp",
- "src/mbgl/style/light_impl.cpp",
- "src/mbgl/style/parser.cpp",
- "src/mbgl/style/property_expression.cpp",
- "src/mbgl/style/source.cpp",
- "src/mbgl/style/source_impl.cpp",
- "src/mbgl/style/sources/custom_geometry_source.cpp",
- "src/mbgl/style/sources/custom_geometry_source_impl.cpp",
- "src/mbgl/style/sources/geojson_source.cpp",
- "src/mbgl/style/sources/geojson_source_impl.cpp",
- "src/mbgl/style/sources/image_source.cpp",
- "src/mbgl/style/sources/image_source_impl.cpp",
- "src/mbgl/style/sources/raster_dem_source.cpp",
- "src/mbgl/style/sources/raster_source.cpp",
- "src/mbgl/style/sources/raster_source_impl.cpp",
- "src/mbgl/style/sources/vector_source.cpp",
- "src/mbgl/style/sources/vector_source_impl.cpp",
- "src/mbgl/style/style.cpp",
- "src/mbgl/style/style_impl.cpp",
- "src/mbgl/style/types.cpp",
- "src/mbgl/text/check_max_angle.cpp",
- "src/mbgl/text/collision_feature.cpp",
- "src/mbgl/text/collision_index.cpp",
- "src/mbgl/text/cross_tile_symbol_index.cpp",
- "src/mbgl/text/get_anchors.cpp",
- "src/mbgl/text/glyph.cpp",
- "src/mbgl/text/glyph_atlas.cpp",
- "src/mbgl/text/glyph_manager.cpp",
- "src/mbgl/text/glyph_pbf.cpp",
- "src/mbgl/text/language_tag.cpp",
- "src/mbgl/text/placement.cpp",
- "src/mbgl/text/quads.cpp",
- "src/mbgl/text/shaping.cpp",
- "src/mbgl/text/tagged_string.cpp",
- "src/mbgl/tile/custom_geometry_tile.cpp",
- "src/mbgl/tile/geojson_tile.cpp",
- "src/mbgl/tile/geometry_tile.cpp",
- "src/mbgl/tile/geometry_tile_data.cpp",
- "src/mbgl/tile/geometry_tile_worker.cpp",
- "src/mbgl/tile/raster_dem_tile.cpp",
- "src/mbgl/tile/raster_dem_tile_worker.cpp",
- "src/mbgl/tile/raster_tile.cpp",
- "src/mbgl/tile/raster_tile_worker.cpp",
- "src/mbgl/tile/tile.cpp",
- "src/mbgl/tile/tile_cache.cpp",
- "src/mbgl/tile/tile_id_hash.cpp",
- "src/mbgl/tile/tile_id_io.cpp",
- "src/mbgl/tile/vector_tile.cpp",
- "src/mbgl/tile/vector_tile_data.cpp",
- "src/mbgl/util/chrono.cpp",
- "src/mbgl/util/color.cpp",
- "src/mbgl/util/constants.cpp",
- "src/mbgl/util/convert.cpp",
- "src/mbgl/util/dtoa.cpp",
- "src/mbgl/util/event.cpp",
- "src/mbgl/util/font_stack.cpp",
- "src/mbgl/util/geo.cpp",
- "src/mbgl/util/geojson_impl.cpp",
- "src/mbgl/util/grid_index.cpp",
- "src/mbgl/util/http_header.cpp",
- "src/mbgl/util/http_timeout.cpp",
- "src/mbgl/util/i18n.cpp",
- "src/mbgl/util/id.cpp",
- "src/mbgl/util/interpolate.cpp",
- "src/mbgl/util/intersection_tests.cpp",
- "src/mbgl/util/io.cpp",
- "src/mbgl/util/logging.cpp",
- "src/mbgl/util/mapbox.cpp",
- "src/mbgl/util/mat2.cpp",
- "src/mbgl/util/mat3.cpp",
- "src/mbgl/util/mat4.cpp",
- "src/mbgl/util/premultiply.cpp",
- "src/mbgl/util/rapidjson.cpp",
- "src/mbgl/util/stopwatch.cpp",
- "src/mbgl/util/string.cpp",
- "src/mbgl/util/thread.cpp",
- "src/mbgl/util/thread_pool.cpp",
- "src/mbgl/util/tile_cover.cpp",
- "src/mbgl/util/tile_cover_impl.cpp",
- "src/mbgl/util/tiny_sdf.cpp",
- "src/mbgl/util/url.cpp",
- "src/mbgl/util/version.cpp",
- "src/mbgl/util/work_request.cpp",
- "src/parsedate/parsedate.cpp"
- ],
- "public_headers": {
- "mbgl/actor/actor.hpp": "include/mbgl/actor/actor.hpp",
- "mbgl/actor/actor_ref.hpp": "include/mbgl/actor/actor_ref.hpp",
- "mbgl/actor/aspiring_actor.hpp": "include/mbgl/actor/aspiring_actor.hpp",
- "mbgl/actor/established_actor.hpp": "include/mbgl/actor/established_actor.hpp",
- "mbgl/actor/mailbox.hpp": "include/mbgl/actor/mailbox.hpp",
- "mbgl/actor/message.hpp": "include/mbgl/actor/message.hpp",
- "mbgl/actor/scheduler.hpp": "include/mbgl/actor/scheduler.hpp",
- "mbgl/annotation/annotation.hpp": "include/mbgl/annotation/annotation.hpp",
- "mbgl/gfx/backend.hpp": "include/mbgl/gfx/backend.hpp",
- "mbgl/gfx/backend_scope.hpp": "include/mbgl/gfx/backend_scope.hpp",
- "mbgl/gfx/renderable.hpp": "include/mbgl/gfx/renderable.hpp",
- "mbgl/gfx/renderer_backend.hpp": "include/mbgl/gfx/renderer_backend.hpp",
- "mbgl/gfx/rendering_stats.hpp": "include/mbgl/gfx/rendering_stats.hpp",
- "mbgl/gl/custom_layer.hpp": "include/mbgl/gl/custom_layer.hpp",
- "mbgl/gl/custom_layer_factory.hpp": "include/mbgl/gl/custom_layer_factory.hpp",
- "mbgl/gl/renderable_resource.hpp": "include/mbgl/gl/renderable_resource.hpp",
- "mbgl/gl/renderer_backend.hpp": "include/mbgl/gl/renderer_backend.hpp",
- "mbgl/i18n/collator.hpp": "include/mbgl/i18n/collator.hpp",
- "mbgl/i18n/number_format.hpp": "include/mbgl/i18n/number_format.hpp",
- "mbgl/layermanager/background_layer_factory.hpp": "include/mbgl/layermanager/background_layer_factory.hpp",
- "mbgl/layermanager/circle_layer_factory.hpp": "include/mbgl/layermanager/circle_layer_factory.hpp",
- "mbgl/layermanager/fill_extrusion_layer_factory.hpp": "include/mbgl/layermanager/fill_extrusion_layer_factory.hpp",
- "mbgl/layermanager/fill_layer_factory.hpp": "include/mbgl/layermanager/fill_layer_factory.hpp",
- "mbgl/layermanager/heatmap_layer_factory.hpp": "include/mbgl/layermanager/heatmap_layer_factory.hpp",
- "mbgl/layermanager/hillshade_layer_factory.hpp": "include/mbgl/layermanager/hillshade_layer_factory.hpp",
- "mbgl/layermanager/layer_factory.hpp": "include/mbgl/layermanager/layer_factory.hpp",
- "mbgl/layermanager/layer_manager.hpp": "include/mbgl/layermanager/layer_manager.hpp",
- "mbgl/layermanager/line_layer_factory.hpp": "include/mbgl/layermanager/line_layer_factory.hpp",
- "mbgl/layermanager/raster_layer_factory.hpp": "include/mbgl/layermanager/raster_layer_factory.hpp",
- "mbgl/layermanager/symbol_layer_factory.hpp": "include/mbgl/layermanager/symbol_layer_factory.hpp",
- "mbgl/map/bound_options.hpp": "include/mbgl/map/bound_options.hpp",
- "mbgl/map/camera.hpp": "include/mbgl/map/camera.hpp",
- "mbgl/map/change.hpp": "include/mbgl/map/change.hpp",
- "mbgl/map/map.hpp": "include/mbgl/map/map.hpp",
- "mbgl/map/map_observer.hpp": "include/mbgl/map/map_observer.hpp",
- "mbgl/map/map_options.hpp": "include/mbgl/map/map_options.hpp",
- "mbgl/map/mode.hpp": "include/mbgl/map/mode.hpp",
- "mbgl/map/projection_mode.hpp": "include/mbgl/map/projection_mode.hpp",
- "mbgl/math/clamp.hpp": "include/mbgl/math/clamp.hpp",
- "mbgl/math/log2.hpp": "include/mbgl/math/log2.hpp",
- "mbgl/math/minmax.hpp": "include/mbgl/math/minmax.hpp",
- "mbgl/math/wrap.hpp": "include/mbgl/math/wrap.hpp",
- "mbgl/platform/gl_functions.hpp": "include/mbgl/platform/gl_functions.hpp",
- "mbgl/platform/settings.hpp": "include/mbgl/platform/settings.hpp",
- "mbgl/platform/thread.hpp": "include/mbgl/platform/thread.hpp",
- "mbgl/renderer/query.hpp": "include/mbgl/renderer/query.hpp",
- "mbgl/renderer/renderer.hpp": "include/mbgl/renderer/renderer.hpp",
- "mbgl/renderer/renderer_frontend.hpp": "include/mbgl/renderer/renderer_frontend.hpp",
- "mbgl/renderer/renderer_observer.hpp": "include/mbgl/renderer/renderer_observer.hpp",
- "mbgl/renderer/renderer_state.hpp": "include/mbgl/renderer/renderer_state.hpp",
- "mbgl/storage/database_file_source.hpp": "include/mbgl/storage/database_file_source.hpp",
- "mbgl/storage/file_source.hpp": "include/mbgl/storage/file_source.hpp",
- "mbgl/storage/file_source_manager.hpp": "include/mbgl/storage/file_source_manager.hpp",
- "mbgl/storage/network_status.hpp": "include/mbgl/storage/network_status.hpp",
- "mbgl/storage/offline.hpp": "include/mbgl/storage/offline.hpp",
- "mbgl/storage/online_file_source.hpp": "include/mbgl/storage/online_file_source.hpp",
- "mbgl/storage/resource.hpp": "include/mbgl/storage/resource.hpp",
- "mbgl/storage/resource_options.hpp": "include/mbgl/storage/resource_options.hpp",
- "mbgl/storage/resource_transform.hpp": "include/mbgl/storage/resource_transform.hpp",
- "mbgl/storage/response.hpp": "include/mbgl/storage/response.hpp",
- "mbgl/style/color_ramp_property_value.hpp": "include/mbgl/style/color_ramp_property_value.hpp",
- "mbgl/style/conversion.hpp": "include/mbgl/style/conversion.hpp",
- "mbgl/style/conversion/color_ramp_property_value.hpp": "include/mbgl/style/conversion/color_ramp_property_value.hpp",
- "mbgl/style/conversion/constant.hpp": "include/mbgl/style/conversion/constant.hpp",
- "mbgl/style/conversion/coordinate.hpp": "include/mbgl/style/conversion/coordinate.hpp",
- "mbgl/style/conversion/custom_geometry_source_options.hpp": "include/mbgl/style/conversion/custom_geometry_source_options.hpp",
- "mbgl/style/conversion/filter.hpp": "include/mbgl/style/conversion/filter.hpp",
- "mbgl/style/conversion/function.hpp": "include/mbgl/style/conversion/function.hpp",
- "mbgl/style/conversion/geojson.hpp": "include/mbgl/style/conversion/geojson.hpp",
- "mbgl/style/conversion/geojson_options.hpp": "include/mbgl/style/conversion/geojson_options.hpp",
- "mbgl/style/conversion/get_json_type.hpp": "include/mbgl/style/conversion/get_json_type.hpp",
- "mbgl/style/conversion/layer.hpp": "include/mbgl/style/conversion/layer.hpp",
- "mbgl/style/conversion/light.hpp": "include/mbgl/style/conversion/light.hpp",
- "mbgl/style/conversion/position.hpp": "include/mbgl/style/conversion/position.hpp",
- "mbgl/style/conversion/property_value.hpp": "include/mbgl/style/conversion/property_value.hpp",
- "mbgl/style/conversion/source.hpp": "include/mbgl/style/conversion/source.hpp",
- "mbgl/style/conversion/tileset.hpp": "include/mbgl/style/conversion/tileset.hpp",
- "mbgl/style/conversion/transition_options.hpp": "include/mbgl/style/conversion/transition_options.hpp",
- "mbgl/style/conversion_impl.hpp": "include/mbgl/style/conversion_impl.hpp",
- "mbgl/style/expression/assertion.hpp": "include/mbgl/style/expression/assertion.hpp",
- "mbgl/style/expression/at.hpp": "include/mbgl/style/expression/at.hpp",
- "mbgl/style/expression/boolean_operator.hpp": "include/mbgl/style/expression/boolean_operator.hpp",
- "mbgl/style/expression/case.hpp": "include/mbgl/style/expression/case.hpp",
- "mbgl/style/expression/check_subtype.hpp": "include/mbgl/style/expression/check_subtype.hpp",
- "mbgl/style/expression/coalesce.hpp": "include/mbgl/style/expression/coalesce.hpp",
- "mbgl/style/expression/coercion.hpp": "include/mbgl/style/expression/coercion.hpp",
- "mbgl/style/expression/collator.hpp": "include/mbgl/style/expression/collator.hpp",
- "mbgl/style/expression/collator_expression.hpp": "include/mbgl/style/expression/collator_expression.hpp",
- "mbgl/style/expression/comparison.hpp": "include/mbgl/style/expression/comparison.hpp",
- "mbgl/style/expression/compound_expression.hpp": "include/mbgl/style/expression/compound_expression.hpp",
- "mbgl/style/expression/dsl.hpp": "include/mbgl/style/expression/dsl.hpp",
- "mbgl/style/expression/error.hpp": "include/mbgl/style/expression/error.hpp",
- "mbgl/style/expression/expression.hpp": "include/mbgl/style/expression/expression.hpp",
- "mbgl/style/expression/find_zoom_curve.hpp": "include/mbgl/style/expression/find_zoom_curve.hpp",
- "mbgl/style/expression/format_expression.hpp": "include/mbgl/style/expression/format_expression.hpp",
- "mbgl/style/expression/format_section_override.hpp": "include/mbgl/style/expression/format_section_override.hpp",
- "mbgl/style/expression/formatted.hpp": "include/mbgl/style/expression/formatted.hpp",
- "mbgl/style/expression/get_covering_stops.hpp": "include/mbgl/style/expression/get_covering_stops.hpp",
- "mbgl/style/expression/image.hpp": "include/mbgl/style/expression/image.hpp",
- "mbgl/style/expression/image_expression.hpp": "include/mbgl/style/expression/image_expression.hpp",
- "mbgl/style/expression/interpolate.hpp": "include/mbgl/style/expression/interpolate.hpp",
- "mbgl/style/expression/interpolator.hpp": "include/mbgl/style/expression/interpolator.hpp",
- "mbgl/style/expression/is_constant.hpp": "include/mbgl/style/expression/is_constant.hpp",
- "mbgl/style/expression/is_expression.hpp": "include/mbgl/style/expression/is_expression.hpp",
- "mbgl/style/expression/length.hpp": "include/mbgl/style/expression/length.hpp",
- "mbgl/style/expression/let.hpp": "include/mbgl/style/expression/let.hpp",
- "mbgl/style/expression/literal.hpp": "include/mbgl/style/expression/literal.hpp",
- "mbgl/style/expression/match.hpp": "include/mbgl/style/expression/match.hpp",
- "mbgl/style/expression/number_format.hpp": "include/mbgl/style/expression/number_format.hpp",
- "mbgl/style/expression/parsing_context.hpp": "include/mbgl/style/expression/parsing_context.hpp",
- "mbgl/style/expression/step.hpp": "include/mbgl/style/expression/step.hpp",
- "mbgl/style/expression/type.hpp": "include/mbgl/style/expression/type.hpp",
- "mbgl/style/expression/value.hpp": "include/mbgl/style/expression/value.hpp",
- "mbgl/style/expression/within.hpp": "include/mbgl/style/expression/within.hpp",
- "mbgl/style/filter.hpp": "include/mbgl/style/filter.hpp",
- "mbgl/style/image.hpp": "include/mbgl/style/image.hpp",
- "mbgl/style/layer.hpp": "include/mbgl/style/layer.hpp",
- "mbgl/style/layer_properties.hpp": "include/mbgl/style/layer_properties.hpp",
- "mbgl/style/layers/background_layer.hpp": "include/mbgl/style/layers/background_layer.hpp",
- "mbgl/style/layers/circle_layer.hpp": "include/mbgl/style/layers/circle_layer.hpp",
- "mbgl/style/layers/fill_extrusion_layer.hpp": "include/mbgl/style/layers/fill_extrusion_layer.hpp",
- "mbgl/style/layers/fill_layer.hpp": "include/mbgl/style/layers/fill_layer.hpp",
- "mbgl/style/layers/heatmap_layer.hpp": "include/mbgl/style/layers/heatmap_layer.hpp",
- "mbgl/style/layers/hillshade_layer.hpp": "include/mbgl/style/layers/hillshade_layer.hpp",
- "mbgl/style/layers/line_layer.hpp": "include/mbgl/style/layers/line_layer.hpp",
- "mbgl/style/layers/raster_layer.hpp": "include/mbgl/style/layers/raster_layer.hpp",
- "mbgl/style/layers/symbol_layer.hpp": "include/mbgl/style/layers/symbol_layer.hpp",
- "mbgl/style/light.hpp": "include/mbgl/style/light.hpp",
- "mbgl/style/position.hpp": "include/mbgl/style/position.hpp",
- "mbgl/style/property_expression.hpp": "include/mbgl/style/property_expression.hpp",
- "mbgl/style/property_value.hpp": "include/mbgl/style/property_value.hpp",
- "mbgl/style/source.hpp": "include/mbgl/style/source.hpp",
- "mbgl/style/sources/custom_geometry_source.hpp": "include/mbgl/style/sources/custom_geometry_source.hpp",
- "mbgl/style/sources/geojson_source.hpp": "include/mbgl/style/sources/geojson_source.hpp",
- "mbgl/style/sources/image_source.hpp": "include/mbgl/style/sources/image_source.hpp",
- "mbgl/style/sources/raster_dem_source.hpp": "include/mbgl/style/sources/raster_dem_source.hpp",
- "mbgl/style/sources/raster_source.hpp": "include/mbgl/style/sources/raster_source.hpp",
- "mbgl/style/sources/vector_source.hpp": "include/mbgl/style/sources/vector_source.hpp",
- "mbgl/style/style.hpp": "include/mbgl/style/style.hpp",
- "mbgl/style/style_property.hpp": "include/mbgl/style/style_property.hpp",
- "mbgl/style/transition_options.hpp": "include/mbgl/style/transition_options.hpp",
- "mbgl/style/types.hpp": "include/mbgl/style/types.hpp",
- "mbgl/style/undefined.hpp": "include/mbgl/style/undefined.hpp",
- "mbgl/tile/tile_id.hpp": "include/mbgl/tile/tile_id.hpp",
- "mbgl/tile/tile_necessity.hpp": "include/mbgl/tile/tile_necessity.hpp",
- "mbgl/util/async_request.hpp": "include/mbgl/util/async_request.hpp",
- "mbgl/util/async_task.hpp": "include/mbgl/util/async_task.hpp",
- "mbgl/util/bitmask_operations.hpp": "include/mbgl/util/bitmask_operations.hpp",
- "mbgl/util/char_array_buffer.hpp": "include/mbgl/util/char_array_buffer.hpp",
- "mbgl/util/chrono.hpp": "include/mbgl/util/chrono.hpp",
- "mbgl/util/color.hpp": "include/mbgl/util/color.hpp",
- "mbgl/util/compression.hpp": "include/mbgl/util/compression.hpp",
- "mbgl/util/constants.hpp": "include/mbgl/util/constants.hpp",
- "mbgl/util/convert.hpp": "include/mbgl/util/convert.hpp",
- "mbgl/util/default_styles.hpp": "include/mbgl/util/default_styles.hpp",
- "mbgl/util/enum.hpp": "include/mbgl/util/enum.hpp",
- "mbgl/util/event.hpp": "include/mbgl/util/event.hpp",
- "mbgl/util/exception.hpp": "include/mbgl/util/exception.hpp",
- "mbgl/util/expected.hpp": "include/mbgl/util/expected.hpp",
- "mbgl/util/feature.hpp": "include/mbgl/util/feature.hpp",
- "mbgl/util/font_stack.hpp": "include/mbgl/util/font_stack.hpp",
- "mbgl/util/geo.hpp": "include/mbgl/util/geo.hpp",
- "mbgl/util/geojson.hpp": "include/mbgl/util/geojson.hpp",
- "mbgl/util/geometry.hpp": "include/mbgl/util/geometry.hpp",
- "mbgl/util/ignore.hpp": "include/mbgl/util/ignore.hpp",
- "mbgl/util/image.hpp": "include/mbgl/util/image.hpp",
- "mbgl/util/immutable.hpp": "include/mbgl/util/immutable.hpp",
- "mbgl/util/indexed_tuple.hpp": "include/mbgl/util/indexed_tuple.hpp",
- "mbgl/util/interpolate.hpp": "include/mbgl/util/interpolate.hpp",
- "mbgl/util/logging.hpp": "include/mbgl/util/logging.hpp",
- "mbgl/util/monotonic_timer.hpp": "include/mbgl/util/monotonic_timer.hpp",
- "mbgl/util/noncopyable.hpp": "include/mbgl/util/noncopyable.hpp",
- "mbgl/util/optional.hpp": "include/mbgl/util/optional.hpp",
- "mbgl/util/platform.hpp": "include/mbgl/util/platform.hpp",
- "mbgl/util/premultiply.hpp": "include/mbgl/util/premultiply.hpp",
- "mbgl/util/projection.hpp": "include/mbgl/util/projection.hpp",
- "mbgl/util/range.hpp": "include/mbgl/util/range.hpp",
- "mbgl/util/run_loop.hpp": "include/mbgl/util/run_loop.hpp",
- "mbgl/util/size.hpp": "include/mbgl/util/size.hpp",
- "mbgl/util/string.hpp": "include/mbgl/util/string.hpp",
- "mbgl/util/thread.hpp": "include/mbgl/util/thread.hpp",
- "mbgl/util/tileset.hpp": "include/mbgl/util/tileset.hpp",
- "mbgl/util/timer.hpp": "include/mbgl/util/timer.hpp",
- "mbgl/util/traits.hpp": "include/mbgl/util/traits.hpp",
- "mbgl/util/type_list.hpp": "include/mbgl/util/type_list.hpp",
- "mbgl/util/unitbezier.hpp": "include/mbgl/util/unitbezier.hpp",
- "mbgl/util/util.hpp": "include/mbgl/util/util.hpp",
- "mbgl/util/variant.hpp": "include/mbgl/util/variant.hpp",
- "mbgl/util/work_request.hpp": "include/mbgl/util/work_request.hpp",
- "mbgl/util/work_task.hpp": "include/mbgl/util/work_task.hpp",
- "mbgl/util/work_task_impl.hpp": "include/mbgl/util/work_task_impl.hpp"
- },
- "private_headers": {
- "csscolorparser/csscolorparser.hpp": "src/csscolorparser/csscolorparser.hpp",
- "mbgl/algorithm/update_renderables.hpp": "src/mbgl/algorithm/update_renderables.hpp",
- "mbgl/algorithm/update_tile_masks.hpp": "src/mbgl/algorithm/update_tile_masks.hpp",
- "mbgl/annotation/annotation_manager.hpp": "src/mbgl/annotation/annotation_manager.hpp",
- "mbgl/annotation/annotation_source.hpp": "src/mbgl/annotation/annotation_source.hpp",
- "mbgl/annotation/annotation_tile.hpp": "src/mbgl/annotation/annotation_tile.hpp",
- "mbgl/annotation/fill_annotation_impl.hpp": "src/mbgl/annotation/fill_annotation_impl.hpp",
- "mbgl/annotation/line_annotation_impl.hpp": "src/mbgl/annotation/line_annotation_impl.hpp",
- "mbgl/annotation/render_annotation_source.hpp": "src/mbgl/annotation/render_annotation_source.hpp",
- "mbgl/annotation/shape_annotation_impl.hpp": "src/mbgl/annotation/shape_annotation_impl.hpp",
- "mbgl/annotation/symbol_annotation_impl.hpp": "src/mbgl/annotation/symbol_annotation_impl.hpp",
- "mbgl/geometry/anchor.hpp": "src/mbgl/geometry/anchor.hpp",
- "mbgl/geometry/debug_font_data.hpp": "src/mbgl/geometry/debug_font_data.hpp",
- "mbgl/geometry/dem_data.hpp": "src/mbgl/geometry/dem_data.hpp",
- "mbgl/geometry/feature_index.hpp": "src/mbgl/geometry/feature_index.hpp",
- "mbgl/geometry/line_atlas.hpp": "src/mbgl/geometry/line_atlas.hpp",
- "mbgl/gfx/attribute.hpp": "src/mbgl/gfx/attribute.hpp",
- "mbgl/gfx/color_mode.hpp": "src/mbgl/gfx/color_mode.hpp",
- "mbgl/gfx/command_encoder.hpp": "src/mbgl/gfx/command_encoder.hpp",
- "mbgl/gfx/context.hpp": "src/mbgl/gfx/context.hpp",
- "mbgl/gfx/cull_face_mode.hpp": "src/mbgl/gfx/cull_face_mode.hpp",
- "mbgl/gfx/debug_group.hpp": "src/mbgl/gfx/debug_group.hpp",
- "mbgl/gfx/depth_mode.hpp": "src/mbgl/gfx/depth_mode.hpp",
- "mbgl/gfx/draw_mode.hpp": "src/mbgl/gfx/draw_mode.hpp",
- "mbgl/gfx/draw_scope.hpp": "src/mbgl/gfx/draw_scope.hpp",
- "mbgl/gfx/index_buffer.hpp": "src/mbgl/gfx/index_buffer.hpp",
- "mbgl/gfx/index_vector.hpp": "src/mbgl/gfx/index_vector.hpp",
- "mbgl/gfx/offscreen_texture.hpp": "src/mbgl/gfx/offscreen_texture.hpp",
- "mbgl/gfx/program.hpp": "src/mbgl/gfx/program.hpp",
- "mbgl/gfx/render_pass.hpp": "src/mbgl/gfx/render_pass.hpp",
- "mbgl/gfx/renderbuffer.hpp": "src/mbgl/gfx/renderbuffer.hpp",
- "mbgl/gfx/stencil_mode.hpp": "src/mbgl/gfx/stencil_mode.hpp",
- "mbgl/gfx/texture.hpp": "src/mbgl/gfx/texture.hpp",
- "mbgl/gfx/types.hpp": "src/mbgl/gfx/types.hpp",
- "mbgl/gfx/uniform.hpp": "src/mbgl/gfx/uniform.hpp",
- "mbgl/gfx/upload_pass.hpp": "src/mbgl/gfx/upload_pass.hpp",
- "mbgl/gfx/vertex_buffer.hpp": "src/mbgl/gfx/vertex_buffer.hpp",
- "mbgl/gfx/vertex_vector.hpp": "src/mbgl/gfx/vertex_vector.hpp",
- "mbgl/gl/attribute.hpp": "src/mbgl/gl/attribute.hpp",
- "mbgl/gl/command_encoder.hpp": "src/mbgl/gl/command_encoder.hpp",
- "mbgl/gl/context.hpp": "src/mbgl/gl/context.hpp",
- "mbgl/gl/custom_layer_impl.hpp": "src/mbgl/gl/custom_layer_impl.hpp",
- "mbgl/gl/debugging_extension.hpp": "src/mbgl/gl/debugging_extension.hpp",
- "mbgl/gl/defines.hpp": "src/mbgl/gl/defines.hpp",
- "mbgl/gl/draw_scope_resource.hpp": "src/mbgl/gl/draw_scope_resource.hpp",
- "mbgl/gl/enum.hpp": "src/mbgl/gl/enum.hpp",
- "mbgl/gl/extension.hpp": "src/mbgl/gl/extension.hpp",
- "mbgl/gl/framebuffer.hpp": "src/mbgl/gl/framebuffer.hpp",
- "mbgl/gl/index_buffer_resource.hpp": "src/mbgl/gl/index_buffer_resource.hpp",
- "mbgl/gl/object.hpp": "src/mbgl/gl/object.hpp",
- "mbgl/gl/offscreen_texture.hpp": "src/mbgl/gl/offscreen_texture.hpp",
- "mbgl/gl/program.hpp": "src/mbgl/gl/program.hpp",
- "mbgl/gl/render_custom_layer.hpp": "src/mbgl/gl/render_custom_layer.hpp",
- "mbgl/gl/render_pass.hpp": "src/mbgl/gl/render_pass.hpp",
- "mbgl/gl/renderbuffer_resource.hpp": "src/mbgl/gl/renderbuffer_resource.hpp",
- "mbgl/gl/state.hpp": "src/mbgl/gl/state.hpp",
- "mbgl/gl/texture.hpp": "src/mbgl/gl/texture.hpp",
- "mbgl/gl/texture_resource.hpp": "src/mbgl/gl/texture_resource.hpp",
- "mbgl/gl/types.hpp": "src/mbgl/gl/types.hpp",
- "mbgl/gl/uniform.hpp": "src/mbgl/gl/uniform.hpp",
- "mbgl/gl/upload_pass.hpp": "src/mbgl/gl/upload_pass.hpp",
- "mbgl/gl/value.hpp": "src/mbgl/gl/value.hpp",
- "mbgl/gl/vertex_array.hpp": "src/mbgl/gl/vertex_array.hpp",
- "mbgl/gl/vertex_array_extension.hpp": "src/mbgl/gl/vertex_array_extension.hpp",
- "mbgl/gl/vertex_buffer_resource.hpp": "src/mbgl/gl/vertex_buffer_resource.hpp",
- "mbgl/layout/clip_lines.hpp": "src/mbgl/layout/clip_lines.hpp",
- "mbgl/layout/layout.hpp": "src/mbgl/layout/layout.hpp",
- "mbgl/layout/merge_lines.hpp": "src/mbgl/layout/merge_lines.hpp",
- "mbgl/layout/pattern_layout.hpp": "src/mbgl/layout/pattern_layout.hpp",
- "mbgl/layout/symbol_feature.hpp": "src/mbgl/layout/symbol_feature.hpp",
- "mbgl/layout/symbol_instance.hpp": "src/mbgl/layout/symbol_instance.hpp",
- "mbgl/layout/symbol_layout.hpp": "src/mbgl/layout/symbol_layout.hpp",
- "mbgl/layout/symbol_projection.hpp": "src/mbgl/layout/symbol_projection.hpp",
- "mbgl/map/map_impl.hpp": "src/mbgl/map/map_impl.hpp",
- "mbgl/map/transform.hpp": "src/mbgl/map/transform.hpp",
- "mbgl/map/transform_state.hpp": "src/mbgl/map/transform_state.hpp",
- "mbgl/map/zoom_history.hpp": "src/mbgl/map/zoom_history.hpp",
- "mbgl/programs/attributes.hpp": "src/mbgl/programs/attributes.hpp",
- "mbgl/programs/background_pattern_program.hpp": "src/mbgl/programs/background_pattern_program.hpp",
- "mbgl/programs/background_program.hpp": "src/mbgl/programs/background_program.hpp",
- "mbgl/programs/circle_program.hpp": "src/mbgl/programs/circle_program.hpp",
- "mbgl/programs/clipping_mask_program.hpp": "src/mbgl/programs/clipping_mask_program.hpp",
- "mbgl/programs/collision_box_program.hpp": "src/mbgl/programs/collision_box_program.hpp",
- "mbgl/programs/collision_circle_program.hpp": "src/mbgl/programs/collision_circle_program.hpp",
- "mbgl/programs/debug_program.hpp": "src/mbgl/programs/debug_program.hpp",
- "mbgl/programs/fill_extrusion_pattern_program.hpp": "src/mbgl/programs/fill_extrusion_pattern_program.hpp",
- "mbgl/programs/fill_extrusion_program.hpp": "src/mbgl/programs/fill_extrusion_program.hpp",
- "mbgl/programs/fill_outline_pattern_program.hpp": "src/mbgl/programs/fill_outline_pattern_program.hpp",
- "mbgl/programs/fill_outline_program.hpp": "src/mbgl/programs/fill_outline_program.hpp",
- "mbgl/programs/fill_pattern_program.hpp": "src/mbgl/programs/fill_pattern_program.hpp",
- "mbgl/programs/fill_program.hpp": "src/mbgl/programs/fill_program.hpp",
- "mbgl/programs/gl/preludes.hpp": "src/mbgl/programs/gl/preludes.hpp",
- "mbgl/programs/gl/shader_source.hpp": "src/mbgl/programs/gl/shader_source.hpp",
- "mbgl/programs/gl/shaders.hpp": "src/mbgl/programs/gl/shaders.hpp",
- "mbgl/programs/heatmap_program.hpp": "src/mbgl/programs/heatmap_program.hpp",
- "mbgl/programs/heatmap_texture_program.hpp": "src/mbgl/programs/heatmap_texture_program.hpp",
- "mbgl/programs/hillshade_prepare_program.hpp": "src/mbgl/programs/hillshade_prepare_program.hpp",
- "mbgl/programs/hillshade_program.hpp": "src/mbgl/programs/hillshade_program.hpp",
- "mbgl/programs/line_gradient_program.hpp": "src/mbgl/programs/line_gradient_program.hpp",
- "mbgl/programs/line_pattern_program.hpp": "src/mbgl/programs/line_pattern_program.hpp",
- "mbgl/programs/line_program.hpp": "src/mbgl/programs/line_program.hpp",
- "mbgl/programs/line_sdf_program.hpp": "src/mbgl/programs/line_sdf_program.hpp",
- "mbgl/programs/program.hpp": "src/mbgl/programs/program.hpp",
- "mbgl/programs/program_parameters.hpp": "src/mbgl/programs/program_parameters.hpp",
- "mbgl/programs/programs.hpp": "src/mbgl/programs/programs.hpp",
- "mbgl/programs/raster_program.hpp": "src/mbgl/programs/raster_program.hpp",
- "mbgl/programs/segment.hpp": "src/mbgl/programs/segment.hpp",
- "mbgl/programs/symbol_icon_program.hpp": "src/mbgl/programs/symbol_icon_program.hpp",
- "mbgl/programs/symbol_program.hpp": "src/mbgl/programs/symbol_program.hpp",
- "mbgl/programs/symbol_sdf_icon_program.hpp": "src/mbgl/programs/symbol_sdf_icon_program.hpp",
- "mbgl/programs/symbol_sdf_text_program.hpp": "src/mbgl/programs/symbol_sdf_text_program.hpp",
- "mbgl/programs/symbol_text_and_icon_program.hpp": "src/mbgl/programs/symbol_text_and_icon_program.hpp",
- "mbgl/programs/textures.hpp": "src/mbgl/programs/textures.hpp",
- "mbgl/programs/uniforms.hpp": "src/mbgl/programs/uniforms.hpp",
- "mbgl/renderer/bucket.hpp": "src/mbgl/renderer/bucket.hpp",
- "mbgl/renderer/bucket_parameters.hpp": "src/mbgl/renderer/bucket_parameters.hpp",
- "mbgl/renderer/buckets/circle_bucket.hpp": "src/mbgl/renderer/buckets/circle_bucket.hpp",
- "mbgl/renderer/buckets/debug_bucket.hpp": "src/mbgl/renderer/buckets/debug_bucket.hpp",
- "mbgl/renderer/buckets/fill_bucket.hpp": "src/mbgl/renderer/buckets/fill_bucket.hpp",
- "mbgl/renderer/buckets/fill_extrusion_bucket.hpp": "src/mbgl/renderer/buckets/fill_extrusion_bucket.hpp",
- "mbgl/renderer/buckets/heatmap_bucket.hpp": "src/mbgl/renderer/buckets/heatmap_bucket.hpp",
- "mbgl/renderer/buckets/hillshade_bucket.hpp": "src/mbgl/renderer/buckets/hillshade_bucket.hpp",
- "mbgl/renderer/buckets/line_bucket.hpp": "src/mbgl/renderer/buckets/line_bucket.hpp",
- "mbgl/renderer/buckets/raster_bucket.hpp": "src/mbgl/renderer/buckets/raster_bucket.hpp",
- "mbgl/renderer/buckets/symbol_bucket.hpp": "src/mbgl/renderer/buckets/symbol_bucket.hpp",
- "mbgl/renderer/cross_faded_property_evaluator.hpp": "src/mbgl/renderer/cross_faded_property_evaluator.hpp",
- "mbgl/renderer/data_driven_property_evaluator.hpp": "src/mbgl/renderer/data_driven_property_evaluator.hpp",
- "mbgl/renderer/group_by_layout.hpp": "src/mbgl/renderer/group_by_layout.hpp",
- "mbgl/renderer/image_atlas.hpp": "src/mbgl/renderer/image_atlas.hpp",
- "mbgl/renderer/image_manager.hpp": "src/mbgl/renderer/image_manager.hpp",
- "mbgl/renderer/image_manager_observer.hpp": "src/mbgl/renderer/image_manager_observer.hpp",
- "mbgl/renderer/layers/render_background_layer.hpp": "src/mbgl/renderer/layers/render_background_layer.hpp",
- "mbgl/renderer/layers/render_circle_layer.hpp": "src/mbgl/renderer/layers/render_circle_layer.hpp",
- "mbgl/renderer/layers/render_fill_extrusion_layer.hpp": "src/mbgl/renderer/layers/render_fill_extrusion_layer.hpp",
- "mbgl/renderer/layers/render_fill_layer.hpp": "src/mbgl/renderer/layers/render_fill_layer.hpp",
- "mbgl/renderer/layers/render_heatmap_layer.hpp": "src/mbgl/renderer/layers/render_heatmap_layer.hpp",
- "mbgl/renderer/layers/render_hillshade_layer.hpp": "src/mbgl/renderer/layers/render_hillshade_layer.hpp",
- "mbgl/renderer/layers/render_line_layer.hpp": "src/mbgl/renderer/layers/render_line_layer.hpp",
- "mbgl/renderer/layers/render_raster_layer.hpp": "src/mbgl/renderer/layers/render_raster_layer.hpp",
- "mbgl/renderer/layers/render_symbol_layer.hpp": "src/mbgl/renderer/layers/render_symbol_layer.hpp",
- "mbgl/renderer/paint_parameters.hpp": "src/mbgl/renderer/paint_parameters.hpp",
- "mbgl/renderer/paint_property_binder.hpp": "src/mbgl/renderer/paint_property_binder.hpp",
- "mbgl/renderer/paint_property_statistics.hpp": "src/mbgl/renderer/paint_property_statistics.hpp",
- "mbgl/renderer/pattern_atlas.hpp": "src/mbgl/renderer/pattern_atlas.hpp",
- "mbgl/renderer/possibly_evaluated_property_value.hpp": "src/mbgl/renderer/possibly_evaluated_property_value.hpp",
- "mbgl/renderer/property_evaluation_parameters.hpp": "src/mbgl/renderer/property_evaluation_parameters.hpp",
- "mbgl/renderer/property_evaluator.hpp": "src/mbgl/renderer/property_evaluator.hpp",
- "mbgl/renderer/render_layer.hpp": "src/mbgl/renderer/render_layer.hpp",
- "mbgl/renderer/render_light.hpp": "src/mbgl/renderer/render_light.hpp",
- "mbgl/renderer/render_orchestrator.hpp": "src/mbgl/renderer/render_orchestrator.hpp",
- "mbgl/renderer/render_pass.hpp": "src/mbgl/renderer/render_pass.hpp",
- "mbgl/renderer/render_source.hpp": "src/mbgl/renderer/render_source.hpp",
- "mbgl/renderer/render_source_observer.hpp": "src/mbgl/renderer/render_source_observer.hpp",
- "mbgl/renderer/render_static_data.hpp": "src/mbgl/renderer/render_static_data.hpp",
- "mbgl/renderer/render_tile.hpp": "src/mbgl/renderer/render_tile.hpp",
- "mbgl/renderer/render_tree.hpp": "src/mbgl/renderer/render_tree.hpp",
- "mbgl/renderer/renderer_impl.hpp": "src/mbgl/renderer/renderer_impl.hpp",
- "mbgl/renderer/source_state.hpp": "src/mbgl/renderer/source_state.hpp",
- "mbgl/renderer/sources/render_custom_geometry_source.hpp": "src/mbgl/renderer/sources/render_custom_geometry_source.hpp",
- "mbgl/renderer/sources/render_geojson_source.hpp": "src/mbgl/renderer/sources/render_geojson_source.hpp",
- "mbgl/renderer/sources/render_image_source.hpp": "src/mbgl/renderer/sources/render_image_source.hpp",
- "mbgl/renderer/sources/render_raster_dem_source.hpp": "src/mbgl/renderer/sources/render_raster_dem_source.hpp",
- "mbgl/renderer/sources/render_raster_source.hpp": "src/mbgl/renderer/sources/render_raster_source.hpp",
- "mbgl/renderer/sources/render_tile_source.hpp": "src/mbgl/renderer/sources/render_tile_source.hpp",
- "mbgl/renderer/sources/render_vector_source.hpp": "src/mbgl/renderer/sources/render_vector_source.hpp",
- "mbgl/renderer/style_diff.hpp": "src/mbgl/renderer/style_diff.hpp",
- "mbgl/renderer/tile_mask.hpp": "src/mbgl/renderer/tile_mask.hpp",
- "mbgl/renderer/tile_parameters.hpp": "src/mbgl/renderer/tile_parameters.hpp",
- "mbgl/renderer/tile_pyramid.hpp": "src/mbgl/renderer/tile_pyramid.hpp",
- "mbgl/renderer/tile_render_data.hpp": "src/mbgl/renderer/tile_render_data.hpp",
- "mbgl/renderer/transition_parameters.hpp": "src/mbgl/renderer/transition_parameters.hpp",
- "mbgl/renderer/update_parameters.hpp": "src/mbgl/renderer/update_parameters.hpp",
- "mbgl/renderer/upload_parameters.hpp": "src/mbgl/renderer/upload_parameters.hpp",
- "mbgl/sprite/sprite_loader.hpp": "src/mbgl/sprite/sprite_loader.hpp",
- "mbgl/sprite/sprite_loader_observer.hpp": "src/mbgl/sprite/sprite_loader_observer.hpp",
- "mbgl/sprite/sprite_loader_worker.hpp": "src/mbgl/sprite/sprite_loader_worker.hpp",
- "mbgl/sprite/sprite_parser.hpp": "src/mbgl/sprite/sprite_parser.hpp",
- "mbgl/storage/asset_file_source.hpp": "src/mbgl/storage/asset_file_source.hpp",
- "mbgl/storage/http_file_source.hpp": "src/mbgl/storage/http_file_source.hpp",
- "mbgl/storage/local_file_source.hpp": "src/mbgl/storage/local_file_source.hpp",
- "mbgl/storage/main_resource_loader.hpp": "src/mbgl/storage/main_resource_loader.hpp",
- "mbgl/style/collection.hpp": "src/mbgl/style/collection.hpp",
- "mbgl/style/conversion/json.hpp": "src/mbgl/style/conversion/json.hpp",
- "mbgl/style/conversion/stringify.hpp": "src/mbgl/style/conversion/stringify.hpp",
- "mbgl/style/custom_tile_loader.hpp": "src/mbgl/style/custom_tile_loader.hpp",
- "mbgl/style/expression/dsl_impl.hpp": "src/mbgl/style/expression/dsl_impl.hpp",
- "mbgl/style/expression/util.hpp": "src/mbgl/style/expression/util.hpp",
- "mbgl/style/image_impl.hpp": "src/mbgl/style/image_impl.hpp",
- "mbgl/style/layer_impl.hpp": "src/mbgl/style/layer_impl.hpp",
- "mbgl/style/layer_observer.hpp": "src/mbgl/style/layer_observer.hpp",
- "mbgl/style/layers/background_layer_impl.hpp": "src/mbgl/style/layers/background_layer_impl.hpp",
- "mbgl/style/layers/background_layer_properties.hpp": "src/mbgl/style/layers/background_layer_properties.hpp",
- "mbgl/style/layers/circle_layer_impl.hpp": "src/mbgl/style/layers/circle_layer_impl.hpp",
- "mbgl/style/layers/circle_layer_properties.hpp": "src/mbgl/style/layers/circle_layer_properties.hpp",
- "mbgl/style/layers/fill_extrusion_layer_impl.hpp": "src/mbgl/style/layers/fill_extrusion_layer_impl.hpp",
- "mbgl/style/layers/fill_extrusion_layer_properties.hpp": "src/mbgl/style/layers/fill_extrusion_layer_properties.hpp",
- "mbgl/style/layers/fill_layer_impl.hpp": "src/mbgl/style/layers/fill_layer_impl.hpp",
- "mbgl/style/layers/fill_layer_properties.hpp": "src/mbgl/style/layers/fill_layer_properties.hpp",
- "mbgl/style/layers/heatmap_layer_impl.hpp": "src/mbgl/style/layers/heatmap_layer_impl.hpp",
- "mbgl/style/layers/heatmap_layer_properties.hpp": "src/mbgl/style/layers/heatmap_layer_properties.hpp",
- "mbgl/style/layers/hillshade_layer_impl.hpp": "src/mbgl/style/layers/hillshade_layer_impl.hpp",
- "mbgl/style/layers/hillshade_layer_properties.hpp": "src/mbgl/style/layers/hillshade_layer_properties.hpp",
- "mbgl/style/layers/line_layer_impl.hpp": "src/mbgl/style/layers/line_layer_impl.hpp",
- "mbgl/style/layers/line_layer_properties.hpp": "src/mbgl/style/layers/line_layer_properties.hpp",
- "mbgl/style/layers/raster_layer_impl.hpp": "src/mbgl/style/layers/raster_layer_impl.hpp",
- "mbgl/style/layers/raster_layer_properties.hpp": "src/mbgl/style/layers/raster_layer_properties.hpp",
- "mbgl/style/layers/symbol_layer_impl.hpp": "src/mbgl/style/layers/symbol_layer_impl.hpp",
- "mbgl/style/layers/symbol_layer_properties.hpp": "src/mbgl/style/layers/symbol_layer_properties.hpp",
- "mbgl/style/layout_property.hpp": "src/mbgl/style/layout_property.hpp",
- "mbgl/style/light_impl.hpp": "src/mbgl/style/light_impl.hpp",
- "mbgl/style/light_observer.hpp": "src/mbgl/style/light_observer.hpp",
- "mbgl/style/observer.hpp": "src/mbgl/style/observer.hpp",
- "mbgl/style/paint_property.hpp": "src/mbgl/style/paint_property.hpp",
- "mbgl/style/parser.hpp": "src/mbgl/style/parser.hpp",
- "mbgl/style/properties.hpp": "src/mbgl/style/properties.hpp",
- "mbgl/style/rapidjson_conversion.hpp": "src/mbgl/style/rapidjson_conversion.hpp",
- "mbgl/style/source_impl.hpp": "src/mbgl/style/source_impl.hpp",
- "mbgl/style/source_observer.hpp": "src/mbgl/style/source_observer.hpp",
- "mbgl/style/sources/custom_geometry_source_impl.hpp": "src/mbgl/style/sources/custom_geometry_source_impl.hpp",
- "mbgl/style/sources/geojson_source_impl.hpp": "src/mbgl/style/sources/geojson_source_impl.hpp",
- "mbgl/style/sources/image_source_impl.hpp": "src/mbgl/style/sources/image_source_impl.hpp",
- "mbgl/style/sources/raster_source_impl.hpp": "src/mbgl/style/sources/raster_source_impl.hpp",
- "mbgl/style/sources/vector_source_impl.hpp": "src/mbgl/style/sources/vector_source_impl.hpp",
- "mbgl/style/style_impl.hpp": "src/mbgl/style/style_impl.hpp",
- "mbgl/text/bidi.hpp": "src/mbgl/text/bidi.hpp",
- "mbgl/text/check_max_angle.hpp": "src/mbgl/text/check_max_angle.hpp",
- "mbgl/text/collision_feature.hpp": "src/mbgl/text/collision_feature.hpp",
- "mbgl/text/collision_index.hpp": "src/mbgl/text/collision_index.hpp",
- "mbgl/text/cross_tile_symbol_index.hpp": "src/mbgl/text/cross_tile_symbol_index.hpp",
- "mbgl/text/get_anchors.hpp": "src/mbgl/text/get_anchors.hpp",
- "mbgl/text/glyph.hpp": "src/mbgl/text/glyph.hpp",
- "mbgl/text/glyph_atlas.hpp": "src/mbgl/text/glyph_atlas.hpp",
- "mbgl/text/glyph_manager.hpp": "src/mbgl/text/glyph_manager.hpp",
- "mbgl/text/glyph_manager_observer.hpp": "src/mbgl/text/glyph_manager_observer.hpp",
- "mbgl/text/glyph_pbf.hpp": "src/mbgl/text/glyph_pbf.hpp",
- "mbgl/text/glyph_range.hpp": "src/mbgl/text/glyph_range.hpp",
- "mbgl/text/language_tag.hpp": "src/mbgl/text/language_tag.hpp",
- "mbgl/text/local_glyph_rasterizer.hpp": "src/mbgl/text/local_glyph_rasterizer.hpp",
- "mbgl/text/placement.hpp": "src/mbgl/text/placement.hpp",
- "mbgl/text/quads.hpp": "src/mbgl/text/quads.hpp",
- "mbgl/text/shaping.hpp": "src/mbgl/text/shaping.hpp",
- "mbgl/text/tagged_string.hpp": "src/mbgl/text/tagged_string.hpp",
- "mbgl/tile/custom_geometry_tile.hpp": "src/mbgl/tile/custom_geometry_tile.hpp",
- "mbgl/tile/geojson_tile.hpp": "src/mbgl/tile/geojson_tile.hpp",
- "mbgl/tile/geojson_tile_data.hpp": "src/mbgl/tile/geojson_tile_data.hpp",
- "mbgl/tile/geometry_tile.hpp": "src/mbgl/tile/geometry_tile.hpp",
- "mbgl/tile/geometry_tile_data.hpp": "src/mbgl/tile/geometry_tile_data.hpp",
- "mbgl/tile/geometry_tile_worker.hpp": "src/mbgl/tile/geometry_tile_worker.hpp",
- "mbgl/tile/raster_dem_tile.hpp": "src/mbgl/tile/raster_dem_tile.hpp",
- "mbgl/tile/raster_dem_tile_worker.hpp": "src/mbgl/tile/raster_dem_tile_worker.hpp",
- "mbgl/tile/raster_tile.hpp": "src/mbgl/tile/raster_tile.hpp",
- "mbgl/tile/raster_tile_worker.hpp": "src/mbgl/tile/raster_tile_worker.hpp",
- "mbgl/tile/tile.hpp": "src/mbgl/tile/tile.hpp",
- "mbgl/tile/tile_cache.hpp": "src/mbgl/tile/tile_cache.hpp",
- "mbgl/tile/tile_loader.hpp": "src/mbgl/tile/tile_loader.hpp",
- "mbgl/tile/tile_loader_impl.hpp": "src/mbgl/tile/tile_loader_impl.hpp",
- "mbgl/tile/tile_observer.hpp": "src/mbgl/tile/tile_observer.hpp",
- "mbgl/tile/vector_tile.hpp": "src/mbgl/tile/vector_tile.hpp",
- "mbgl/tile/vector_tile_data.hpp": "src/mbgl/tile/vector_tile_data.hpp",
- "mbgl/util/dtoa.hpp": "src/mbgl/util/dtoa.hpp",
- "mbgl/util/grid_index.hpp": "src/mbgl/util/grid_index.hpp",
- "mbgl/util/hash.hpp": "src/mbgl/util/hash.hpp",
- "mbgl/util/http_header.hpp": "src/mbgl/util/http_header.hpp",
- "mbgl/util/http_timeout.hpp": "src/mbgl/util/http_timeout.hpp",
- "mbgl/util/i18n.hpp": "src/mbgl/util/i18n.hpp",
- "mbgl/util/id.hpp": "src/mbgl/util/id.hpp",
- "mbgl/util/intersection_tests.hpp": "src/mbgl/util/intersection_tests.hpp",
- "mbgl/util/io.hpp": "src/mbgl/util/io.hpp",
- "mbgl/util/literal.hpp": "src/mbgl/util/literal.hpp",
- "mbgl/util/longest_common_subsequence.hpp": "src/mbgl/util/longest_common_subsequence.hpp",
- "mbgl/util/mapbox.hpp": "src/mbgl/util/mapbox.hpp",
- "mbgl/util/mat2.hpp": "src/mbgl/util/mat2.hpp",
- "mbgl/util/mat3.hpp": "src/mbgl/util/mat3.hpp",
- "mbgl/util/mat4.hpp": "src/mbgl/util/mat4.hpp",
- "mbgl/util/math.hpp": "src/mbgl/util/math.hpp",
- "mbgl/util/rapidjson.hpp": "src/mbgl/util/rapidjson.hpp",
- "mbgl/util/rect.hpp": "src/mbgl/util/rect.hpp",
- "mbgl/util/std.hpp": "src/mbgl/util/std.hpp",
- "mbgl/util/stopwatch.hpp": "src/mbgl/util/stopwatch.hpp",
- "mbgl/util/thread_local.hpp": "src/mbgl/util/thread_local.hpp",
- "mbgl/util/thread_pool.hpp": "src/mbgl/util/thread_pool.hpp",
- "mbgl/util/tile_coordinate.hpp": "src/mbgl/util/tile_coordinate.hpp",
- "mbgl/util/tile_cover.hpp": "src/mbgl/util/tile_cover.hpp",
- "mbgl/util/tile_cover_impl.hpp": "src/mbgl/util/tile_cover_impl.hpp",
- "mbgl/util/tile_range.hpp": "src/mbgl/util/tile_range.hpp",
- "mbgl/util/tiny_sdf.hpp": "src/mbgl/util/tiny_sdf.hpp",
- "mbgl/util/token.hpp": "src/mbgl/util/token.hpp",
- "mbgl/util/url.hpp": "src/mbgl/util/url.hpp",
- "mbgl/util/utf.hpp": "src/mbgl/util/utf.hpp",
- "mbgl/util/version.hpp": "src/mbgl/util/version.hpp",
- "parsedate/parsedate.hpp": "src/parsedate/parsedate.hpp"
- }
-}
diff --git a/src/mbgl/style/expression/expression.cpp b/src/mbgl/style/expression/expression.cpp
index 3252bb632f..66e2e30b14 100644
--- a/src/mbgl/style/expression/expression.cpp
+++ b/src/mbgl/style/expression/expression.cpp
@@ -9,8 +9,16 @@ namespace expression {
class GeoJSONFeature : public GeometryTileFeature {
public:
const Feature& feature;
+ mutable optional<GeometryCollection> geometry;
GeoJSONFeature(const Feature& feature_) : feature(feature_) {}
+ GeoJSONFeature(const Feature& feature_, const CanonicalTileID& canonical) : feature(feature_) {
+ geometry = convertGeometry(feature.geometry, canonical);
+ // https://github.com/mapbox/geojson-vt-cpp/issues/44
+ if (getType() == FeatureType::Polygon) {
+ geometry = fixupPolygons(*geometry);
+ }
+ }
FeatureType getType() const override {
return apply_visitor(ToFeatureType(), feature.geometry);
@@ -24,6 +32,11 @@ public:
}
return optional<mbgl::Value>();
}
+ const GeometryCollection& getGeometries() const override {
+ if (geometry) return *geometry;
+ geometry = GeometryCollection();
+ return *geometry;
+ }
};
EvaluationResult Expression::evaluate(optional<float> zoom,
@@ -41,6 +54,17 @@ EvaluationResult Expression::evaluate(optional<float> zoom,
return this->evaluate(EvaluationContext(zoom, &f, colorRampParameter).withAvailableImages(&availableImages));
}
+EvaluationResult Expression::evaluate(optional<float> zoom,
+ const Feature& feature,
+ optional<double> colorRampParameter,
+ const std::set<std::string>& availableImages,
+ const CanonicalTileID& canonical) const {
+ GeoJSONFeature f(feature, canonical);
+ return this->evaluate(EvaluationContext(zoom, &f, colorRampParameter)
+ .withAvailableImages(&availableImages)
+ .withCanonicalTileID(&canonical));
+}
+
EvaluationResult Expression::evaluate(optional<mbgl::Value> accumulated, const Feature& feature) const {
GeoJSONFeature f(feature);
return this->evaluate(EvaluationContext(accumulated, &f));
diff --git a/src/mbgl/style/expression/within.cpp b/src/mbgl/style/expression/within.cpp
index d02ea47cb2..a26f6fb7c8 100644
--- a/src/mbgl/style/expression/within.cpp
+++ b/src/mbgl/style/expression/within.cpp
@@ -7,41 +7,58 @@
#include <mbgl/util/logging.hpp>
#include <mbgl/util/string.hpp>
+#include <rapidjson/document.h>
+#include <mbgl/style/conversion/json.hpp>
+
namespace mbgl {
namespace {
-double isLeft(mbgl::Point<double> P0, mbgl::Point<double> P1, mbgl::Point<double> P2) {
- return ((P1.x - P0.x) * (P2.y - P0.y) - (P2.x - P0.x) * (P1.y - P0.y));
+class PolygonFeature : public GeometryTileFeature {
+public:
+ const Feature& feature;
+ mutable optional<GeometryCollection> geometry;
+
+ PolygonFeature(const Feature& feature_, const CanonicalTileID& canonical) : feature(feature_) {
+ geometry = convertGeometry(feature.geometry, canonical);
+ assert(geometry);
+ geometry = fixupPolygons(*geometry);
+ }
+
+ FeatureType getType() const override { return FeatureType::Polygon; }
+ const PropertyMap& getProperties() const override { return feature.properties; }
+ FeatureIdentifier getID() const override { return feature.id; }
+ optional<mbgl::Value> getValue(const std::string& /*key*/) const override { return optional<mbgl::Value>(); }
+ const GeometryCollection& getGeometries() const override {
+ assert(geometry);
+ return *geometry;
+ }
+};
+
+bool rayIntersect(const mbgl::Point<double>& p, const mbgl::Point<double>& p1, const mbgl::Point<double>& p2) {
+ return ((p1.y > p.y) != (p2.y > p.y)) && (p.x < (p2.x - p1.x) * (p.y - p1.y) / (p2.y - p1.y) + p1.x);
}
-// winding number algorithm for checking if point inside a ploygon or not.
-// http://geomalgorithms.com/a03-_inclusion.html#wn_PnPoly()
-bool pointWithinPolygons(mbgl::Point<double> point, const mapbox::geometry::polygon<double>& polys) {
- // wn = the winding number (=0 only when point is outside)
- int wn = 0;
- for (auto poly : polys) {
- auto size = poly.size();
- // loop through every edge of the polygon
+// ray casting algorithm for detecting if point is in polygon
+bool pointWithinPolygon(const mbgl::Point<double>& point, const mapbox::geometry::polygon<double>& polygon) {
+ bool within = false;
+ for (auto ring : polygon) {
+ auto size = ring.size();
+ // loop through every edge of the ring
for (decltype(size) i = 0; i < size - 1; ++i) {
- if (poly[i].y <= point.y) {
- if (poly[i + 1].y > point.y) { // upward horizontal crossing from point to edge E(poly[i], poly[i+1])
- if (isLeft(poly[i], poly[i + 1], point) > 0) {
- ++wn;
- }
- }
- } else {
- if (poly[i + 1].y <= point.y) { // downward crossing
- if (isLeft(poly[i], poly[i + 1], point) < 0) {
- --wn;
- }
- }
+ if (rayIntersect(point, ring[i], ring[i + 1])) {
+ within = !within;
}
}
- if (wn != 0) {
- return true;
- }
}
- return wn != 0;
+ return within;
+}
+
+bool pointWithinPolygons(const mbgl::Point<double>& point, const mapbox::geometry::multi_polygon<double>& polygons) {
+ for (auto polygon : polygons) {
+ auto within = pointWithinPolygon(point, polygon);
+ if (within) return true;
+ }
+ return false;
}
bool pointsWithinPolygons(const mbgl::GeometryTileFeature& feature,
@@ -49,8 +66,11 @@ bool pointsWithinPolygons(const mbgl::GeometryTileFeature& feature,
const mbgl::GeoJSON& geoJson) {
return geoJson.match(
[&feature, &canonical](const mapbox::geometry::geometry<double>& geometrySet) -> bool {
- return geometrySet.match(
- [&feature, &canonical](const mapbox::geometry::polygon<double>& polygons) -> bool {
+ mbgl::Feature f(geometrySet);
+ PolygonFeature polyFeature(f, canonical);
+ auto refinedGeoSet = convertGeometry(polyFeature, canonical);
+ return refinedGeoSet.match(
+ [&feature, &canonical](const mapbox::geometry::multi_polygon<double>& polygons) -> bool {
return convertGeometry(feature, canonical)
.match(
[&polygons](const mapbox::geometry::point<double>& point) -> bool {
@@ -68,6 +88,24 @@ bool pointsWithinPolygons(const mbgl::GeometryTileFeature& feature,
},
[](const auto&) -> bool { return false; });
},
+ [&feature, &canonical](const mapbox::geometry::polygon<double>& polygon) -> bool {
+ return convertGeometry(feature, canonical)
+ .match(
+ [&polygon](const mapbox::geometry::point<double>& point) -> bool {
+ return pointWithinPolygon(point, polygon);
+ },
+ [&polygon](const mapbox::geometry::multi_point<double>& points) -> bool {
+ auto result = false;
+ for (const auto& p : points) {
+ result = pointWithinPolygon(p, polygon);
+ if (!result) {
+ return result;
+ }
+ }
+ return result;
+ },
+ [](const auto&) -> bool { return false; });
+ },
[](const auto&) -> bool { return false; });
},
[](const auto&) -> bool { return false; });
@@ -109,11 +147,11 @@ EvaluationResult Within::evaluate(const EvaluationContext& params) const {
return false;
}
auto geometryType = params.feature->getType();
- // Currently only support Point/Points in polygon
+ // Currently only support Point/Points in Polygon/Polygons
if (geometryType == FeatureType::Point) {
return pointsWithinPolygons(*params.feature, *params.canonical, geoJSONSource);
} else {
- mbgl::Log::Warning(mbgl::Event::General, "Within expression currently only support 'Point' geometry type");
+ mbgl::Log::Warning(mbgl::Event::General, "within expression currently only support 'Point' geometry type");
}
return false;
}
@@ -122,7 +160,7 @@ ParseResult Within::parse(const Convertible& value, ParsingContext& ctx) {
if (isArray(value)) {
// object value, quoted with ["Within", value]
if (arrayLength(value) != 2) {
- ctx.error("'Within' expression requires exactly one argument, but found " +
+ ctx.error("'within' expression requires exactly one argument, but found " +
util::toString(arrayLength(value) - 1) + " instead.");
return ParseResult();
}
@@ -136,8 +174,37 @@ ParseResult Within::parse(const Convertible& value, ParsingContext& ctx) {
return ParseResult();
}
+Value valueConverter(const mapbox::geojson::rapidjson_value& v) {
+ if (v.IsDouble()) {
+ return v.GetDouble();
+ }
+ if (v.IsString()) {
+ return std::string(v.GetString());
+ }
+ if (v.IsArray()) {
+ std::vector<Value> result;
+ for (const auto& m : v.GetArray()) {
+ result.push_back(valueConverter(m));
+ }
+ return result;
+ }
+ // Ignore other types as valid geojson only contains above types.
+ return Null;
+}
+
mbgl::Value Within::serialize() const {
- return std::vector<mbgl::Value>{{getOperator()}, {mapbox::geojson::stringify(geoJSONSource)}};
+ std::unordered_map<std::string, Value> serialized;
+ rapidjson::CrtAllocator allocator;
+ const mapbox::geojson::rapidjson_value value = mapbox::geojson::convert(geoJSONSource, allocator);
+ if (value.IsObject()) {
+ for (const auto& m : value.GetObject()) {
+ serialized.emplace(m.name.GetString(), valueConverter(m.value));
+ }
+ } else {
+ mbgl::Log::Error(mbgl::Event::General,
+ "Failed to serialize 'within' expression, converted rapidJSON is not an object");
+ }
+ return std::vector<mbgl::Value>{{getOperator(), *fromExpressionValue<mbgl::Value>(serialized)}};
}
} // namespace expression
diff --git a/src/mbgl/tile/geometry_tile_data.cpp b/src/mbgl/tile/geometry_tile_data.cpp
index 838f37f0da..56bef66c62 100644
--- a/src/mbgl/tile/geometry_tile_data.cpp
+++ b/src/mbgl/tile/geometry_tile_data.cpp
@@ -2,6 +2,7 @@
#include <mbgl/tile/tile_id.hpp>
#include <mapbox/geometry/wagyu/wagyu.hpp>
+#include <mbgl/math/clamp.hpp>
namespace mbgl {
@@ -173,6 +174,82 @@ Feature::geometry_type convertGeometry(const GeometryTileFeature& geometryTileFe
return Point<double>();
}
+GeometryCollection convertGeometry(const Feature::geometry_type& geometryTileFeature, const CanonicalTileID& tileID) {
+ const double size = util::EXTENT * std::pow(2, tileID.z);
+ const double x0 = util::EXTENT * static_cast<double>(tileID.x);
+ const double y0 = util::EXTENT * static_cast<double>(tileID.y);
+
+ auto latLonToTileCoodinates = [&](const Point<double>& c) {
+ Point<int16_t> p;
+
+ auto x = (c.x + 180.0) * size / 360.0 - x0;
+ p.x =
+ int16_t(util::clamp<int64_t>(x, std::numeric_limits<int16_t>::min(), std::numeric_limits<int16_t>::max()));
+
+ auto y = (180 - (std::log(std::tan((c.y + 90) * M_PI / 360.0)) * 180 / M_PI)) * size / 360 - y0;
+ p.y =
+ int16_t(util::clamp<int64_t>(y, std::numeric_limits<int16_t>::min(), std::numeric_limits<int16_t>::max()));
+
+ return p;
+ };
+
+ return geometryTileFeature.match(
+ [&](const Point<double>& point) -> GeometryCollection { return {{latLonToTileCoodinates(point)}}; },
+ [&](const MultiPoint<double>& points) -> GeometryCollection {
+ GeometryCollection result;
+ std::vector<Point<int16_t>> temp;
+ for (const auto p : points) {
+ temp.emplace_back(latLonToTileCoodinates(p));
+ }
+ result = {temp};
+ return result;
+ },
+ [&](const LineString<double>& lineString) -> GeometryCollection {
+ GeometryCollection result;
+ std::vector<Point<int16_t>> temp;
+ for (const auto p : lineString) {
+ temp.emplace_back(latLonToTileCoodinates(p));
+ }
+ result = {temp};
+ return result;
+ },
+ [&](const MultiLineString<double>& lineStrings) -> GeometryCollection {
+ GeometryCollection result;
+ for (const auto line : lineStrings) {
+ std::vector<Point<int16_t>> temp;
+ for (const auto p : line) {
+ temp.emplace_back(latLonToTileCoodinates(p));
+ }
+ result.emplace_back(temp);
+ }
+ return result;
+ },
+ [&](const Polygon<double> polygon) -> GeometryCollection {
+ GeometryCollection result;
+ for (const auto line : polygon) {
+ std::vector<Point<int16_t>> temp;
+ for (const auto p : line) {
+ temp.emplace_back(latLonToTileCoodinates(p));
+ }
+ result.emplace_back(temp);
+ }
+ return result;
+ },
+ [&](const MultiPolygon<double> polygons) -> GeometryCollection {
+ GeometryCollection result;
+ for (const auto polygon : polygons)
+ for (const auto line : polygon) {
+ LineString<int16_t> temp;
+ for (const auto p : line) {
+ temp.emplace_back(latLonToTileCoodinates(p));
+ }
+ result.emplace_back(temp);
+ }
+ return result;
+ },
+ [](const auto&) -> GeometryCollection { return GeometryCollection(); });
+}
+
Feature convertFeature(const GeometryTileFeature& geometryTileFeature, const CanonicalTileID& tileID) {
Feature feature { convertGeometry(geometryTileFeature, tileID) };
feature.properties = geometryTileFeature.getProperties();
diff --git a/src/mbgl/tile/geometry_tile_data.hpp b/src/mbgl/tile/geometry_tile_data.hpp
index a0a069f3d1..fc0790db83 100644
--- a/src/mbgl/tile/geometry_tile_data.hpp
+++ b/src/mbgl/tile/geometry_tile_data.hpp
@@ -82,6 +82,8 @@ void limitHoles(GeometryCollection&, uint32_t maxHoles);
Feature::geometry_type convertGeometry(const GeometryTileFeature& geometryTileFeature, const CanonicalTileID& tileID);
+GeometryCollection convertGeometry(const Feature::geometry_type& geometryTileFeature, const CanonicalTileID& tileID);
+
// convert from GeometryTileFeature to Feature (eventually we should eliminate GeometryTileFeature)
Feature convertFeature(const GeometryTileFeature&, const CanonicalTileID&);
diff --git a/test/fixtures/expression_equality/within.a.json b/test/fixtures/expression_equality/within.a.json
new file mode 100644
index 0000000000..c982681537
--- /dev/null
+++ b/test/fixtures/expression_equality/within.a.json
@@ -0,0 +1,4 @@
+["within", {
+ "type": "Polygon",
+ "coordinates": [[[0, 0], [0, 5], [5, 5], [5, 0], [0, 0]]]
+ }] \ No newline at end of file
diff --git a/test/fixtures/expression_equality/within.b.json b/test/fixtures/expression_equality/within.b.json
new file mode 100644
index 0000000000..e5805c93a1
--- /dev/null
+++ b/test/fixtures/expression_equality/within.b.json
@@ -0,0 +1,4 @@
+["within", {
+ "type": "Polygon",
+ "coordinates": [[[0, 0], [0, 6], [5, 5], [5, 0], [0, 0]]]
+ }] \ No newline at end of file
diff --git a/test/src/mbgl/test/stub_geometry_tile_feature.hpp b/test/src/mbgl/test/stub_geometry_tile_feature.hpp
index e74988df2e..024e3c6c40 100644
--- a/test/src/mbgl/test/stub_geometry_tile_feature.hpp
+++ b/test/src/mbgl/test/stub_geometry_tile_feature.hpp
@@ -16,6 +16,9 @@ public:
geometry(std::move(geometry_)) {
}
+ StubGeometryTileFeature(FeatureType type_, GeometryCollection geometry_)
+ : type(type_), geometry(std::move(geometry_)) {}
+
PropertyMap properties;
FeatureIdentifier id;
FeatureType type = FeatureType::Point;
diff --git a/test/style/property_expression.test.cpp b/test/style/property_expression.test.cpp
index 6334fcbe39..0624cff385 100644
--- a/test/style/property_expression.test.cpp
+++ b/test/style/property_expression.test.cpp
@@ -7,6 +7,8 @@
#include <mbgl/style/expression/dsl.hpp>
#include <mbgl/style/expression/format_section_override.hpp>
+#include <sstream>
+
using namespace mbgl;
using namespace mbgl::style;
using namespace mbgl::style::expression;
@@ -218,3 +220,99 @@ TEST(PropertyExpression, ImageExpression) {
EXPECT_EQ(evaluatedImage.id(), "bicycle-15"s);
}
}
+
+TEST(PropertyExpression, WithinExpression) {
+ CanonicalTileID canonicalTileID(3, 3, 3);
+
+ // geoJSON source must be Polygon.(Currently only supports Polygon)
+ static const std::string invalidGeoSource = R"({
+ "type": "LineString",
+ "coordinates": [[0, 0], [0, 5], [5, 5], [5, 0]]
+ })";
+ static const std::string validGeoSource = R"data(
+ {
+ "type": "Polygon",
+ "coordinates": [
+ [
+ [-11.689453125, -9.79567758282973],
+ [2.021484375, -10.012129557908128],
+ [-15.99609375, -17.392579271057766],
+ [-5.9765625, -5.659718554577273],
+ [-16.259765625, -3.7327083213358336],
+ [-17.75390625, -12.897489183755892],
+ [-17.138671875, -21.002471054356715],
+ [4.482421875, -16.8886597873816],
+ [3.076171875, -7.01366792756663],
+ [ -5.9326171875, 0.6591651462894632],
+ [-16.1279296875, 1.4939713066293239],
+ [-11.689453125, -9.79567758282973]
+ ]
+ ]
+ })data";
+
+ // evaluation test with invalid geojson source
+ {
+ std::stringstream ss;
+ ss << std::string(R"(["within", )") << invalidGeoSource << std::string(R"( ])");
+ auto expression = createExpression(ss.str().c_str());
+ ASSERT_FALSE(expression);
+ }
+
+ // evaluation test with valid geojson source
+ std::stringstream ss;
+ ss << std::string(R"(["within", )") << validGeoSource << std::string(R"( ])");
+ auto expression = createExpression(ss.str().c_str());
+ ASSERT_TRUE(expression);
+ PropertyExpression<bool> propExpr(std::move(expression));
+
+ // evaluation test with valid geojson source but FeatureType is not Point (currently only support
+ // FeatureType::Point)
+ {
+ // testLine is inside polygon, but will return false
+ LineString<double> testLine{{-9.228515625, -17.560246503294888}, {-2.4609375, -16.04581345375217}};
+ auto geoLine = convertGeometry(testLine, canonicalTileID);
+ StubGeometryTileFeature lineFeature(FeatureType::LineString, geoLine);
+
+ auto evaluatedResult = propExpr.evaluate(EvaluationContext(&lineFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_FALSE(evaluatedResult);
+ }
+
+ // evaluation test with valid geojson source and valid point features
+ {
+ auto getPointFeature = [&canonicalTileID](const Point<double>& testPoint) -> StubGeometryTileFeature {
+ auto geoPoint = convertGeometry(testPoint, canonicalTileID);
+ StubGeometryTileFeature pointFeature(FeatureType::Point, geoPoint);
+ return pointFeature;
+ };
+
+ // check `within` algorithm
+ auto pointFeature = getPointFeature(Point<double>(-10.72265625, -7.27529233637217));
+ auto evaluatedResult =
+ propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_FALSE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-7.646484374999999, -12.382928338487396));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_FALSE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-15.2490234375, -2.986927393334863));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_FALSE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-10.590820312499998, 2.4601811810210052));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_FALSE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-3.9990234375, -4.915832801313164));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_TRUE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-1.1865234375, -16.63619187839765));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_TRUE(evaluatedResult);
+
+ pointFeature = getPointFeature(Point<double>(-15.5126953125, -11.73830237143684));
+ evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID));
+ EXPECT_TRUE(evaluatedResult);
+ }
+}