From 2963afa010e75bb8bc3c20150c06c5779121077d Mon Sep 17 00:00:00 2001 From: zmiao Date: Fri, 7 Feb 2020 15:34:01 +0200 Subject: Add support for expression test Fix polygon within algorithm Add Unit tests Fix incorrect metrics folder for ios-render-test-runner job --- CMakeLists.txt | 2 + expression-test/expression_test_parser.cpp | 30 +- expression-test/expression_test_parser.hpp | 3 + expression-test/expression_test_runner.cpp | 10 +- include/mbgl/style/expression/expression.hpp | 5 + include/mbgl/style/expression/within.hpp | 4 +- next/CMakeLists.txt | 1010 --------------------- src/core-files.json | 817 ----------------- src/mbgl/style/expression/expression.cpp | 24 + src/mbgl/style/expression/within.cpp | 131 ++- src/mbgl/tile/geometry_tile_data.cpp | 77 ++ src/mbgl/tile/geometry_tile_data.hpp | 2 + test/fixtures/expression_equality/within.a.json | 4 + test/fixtures/expression_equality/within.b.json | 4 + test/src/mbgl/test/stub_geometry_tile_feature.hpp | 3 + test/style/property_expression.test.cpp | 98 ++ 16 files changed, 357 insertions(+), 1867 deletions(-) delete mode 100644 next/CMakeLists.txt delete mode 100644 src/core-files.json create mode 100644 test/fixtures/expression_equality/within.a.json create mode 100644 test/fixtures/expression_equality/within.b.json 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 +#include + 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 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 availableImages; if (evaluationContext.HasMember("availableImages")) { @@ -282,8 +297,11 @@ bool parseInputs(const JSValue& inputsValue, TestData& data) { feature.id = mapbox::geojson::convert(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, 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 seedValue(argumentParser, "seed", "Shuffle seed (default: random)", { "seed" }); args::PositionalList testNameValues(argumentParser, "URL", "Test name(s)"); + args::ValueFlag testFilterValue(argumentParser, "filter", "Test filter regex", {'f', "filter"}); try { argumentParser.ParseCLI(argc, argv); @@ -336,6 +354,7 @@ std::tuple, 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 testPaths; testPaths.reserve(paths.size()); @@ -346,6 +365,9 @@ std::tuple, 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 zoom_, optional heatmapDensity_, + optional canonical_, std::set availableImages_, Feature feature_) : zoom(std::move(zoom_)), heatmapDensity(std::move(heatmapDensity_)), + canonical(std::move(canonical_)), availableImages(std::move(availableImages_)), feature(std::move(feature_)) {} optional zoom; optional heatmapDensity; + optional canonical; std::set 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 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 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 colorRampParameter, const std::set& availableImages) const; + EvaluationResult evaluate(optional zoom, + const Feature& feature, + optional colorRampParameter, + const std::set& availableImages, + const CanonicalTileID& canonical) const; EvaluationResult evaluate(optional 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> possibleOutputs() const override { return {{false}}; } + std::vector> 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 - $<$:--coverage> - $<$:-DSANITIZE> - $<$:-fno-omit-frame-pointer> - $<$:-fno-optimize-sibling-calls> - $<$:-fsanitize=address> - $<$:-fsanitize=thread> - $<$:-fsanitize=implicit-conversion> - $<$:-fsanitize=undefined> - $<$:-fsanitize=unsigned-integer-overflow> - $<$,$>>:-fno-rtti> - $<$,$>>:-Wall> - $<$,$>>:-Wshadow> - $<$,$>>:-Wextra> - $<$,$>>:-Werror> - $<$,$>:-Wno-error=tautological-constant-compare> - $<$:-Wno-error=maybe-uninitialized> - $<$:-Wno-error=return-type> - $<$:-Wno-error=unknown-pragmas> - $<$:-Wno-error=deprecated-declarations> - $<$:-Wno-error=unused-parameter> - $<$:-Wno-error=unused-property-ivar> -) - -target_link_libraries( - mbgl-compiler-options - INTERFACE - $<$:--coverage> - $<$:-fsanitize=address> - $<$:-fsanitize=thread> - $<$:-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 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(); } + const GeometryCollection& getGeometries() const override { + if (geometry) return *geometry; + geometry = GeometryCollection(); + return *geometry; + } }; EvaluationResult Expression::evaluate(optional zoom, @@ -41,6 +54,17 @@ EvaluationResult Expression::evaluate(optional zoom, return this->evaluate(EvaluationContext(zoom, &f, colorRampParameter).withAvailableImages(&availableImages)); } +EvaluationResult Expression::evaluate(optional zoom, + const Feature& feature, + optional colorRampParameter, + const std::set& availableImages, + const CanonicalTileID& canonical) const { + GeoJSONFeature f(feature, canonical); + return this->evaluate(EvaluationContext(zoom, &f, colorRampParameter) + .withAvailableImages(&availableImages) + .withCanonicalTileID(&canonical)); +} + EvaluationResult Expression::evaluate(optional 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 #include +#include +#include + namespace mbgl { namespace { -double isLeft(mbgl::Point P0, mbgl::Point P1, mbgl::Point 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 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 getValue(const std::string& /*key*/) const override { return optional(); } + const GeometryCollection& getGeometries() const override { + assert(geometry); + return *geometry; + } +}; + +bool rayIntersect(const mbgl::Point& p, const mbgl::Point& p1, const mbgl::Point& 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 point, const mapbox::geometry::polygon& 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& point, const mapbox::geometry::polygon& 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& point, const mapbox::geometry::multi_polygon& 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& geometrySet) -> bool { - return geometrySet.match( - [&feature, &canonical](const mapbox::geometry::polygon& 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& polygons) -> bool { return convertGeometry(feature, canonical) .match( [&polygons](const mapbox::geometry::point& point) -> bool { @@ -68,6 +88,24 @@ bool pointsWithinPolygons(const mbgl::GeometryTileFeature& feature, }, [](const auto&) -> bool { return false; }); }, + [&feature, &canonical](const mapbox::geometry::polygon& polygon) -> bool { + return convertGeometry(feature, canonical) + .match( + [&polygon](const mapbox::geometry::point& point) -> bool { + return pointWithinPolygon(point, polygon); + }, + [&polygon](const mapbox::geometry::multi_point& 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 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{{getOperator()}, {mapbox::geojson::stringify(geoJSONSource)}}; + std::unordered_map 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{{getOperator(), *fromExpressionValue(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 #include +#include namespace mbgl { @@ -173,6 +174,82 @@ Feature::geometry_type convertGeometry(const GeometryTileFeature& geometryTileFe return Point(); } +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(tileID.x); + const double y0 = util::EXTENT * static_cast(tileID.y); + + auto latLonToTileCoodinates = [&](const Point& c) { + Point p; + + auto x = (c.x + 180.0) * size / 360.0 - x0; + p.x = + int16_t(util::clamp(x, std::numeric_limits::min(), std::numeric_limits::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(y, std::numeric_limits::min(), std::numeric_limits::max())); + + return p; + }; + + return geometryTileFeature.match( + [&](const Point& point) -> GeometryCollection { return {{latLonToTileCoodinates(point)}}; }, + [&](const MultiPoint& points) -> GeometryCollection { + GeometryCollection result; + std::vector> temp; + for (const auto p : points) { + temp.emplace_back(latLonToTileCoodinates(p)); + } + result = {temp}; + return result; + }, + [&](const LineString& lineString) -> GeometryCollection { + GeometryCollection result; + std::vector> temp; + for (const auto p : lineString) { + temp.emplace_back(latLonToTileCoodinates(p)); + } + result = {temp}; + return result; + }, + [&](const MultiLineString& lineStrings) -> GeometryCollection { + GeometryCollection result; + for (const auto line : lineStrings) { + std::vector> temp; + for (const auto p : line) { + temp.emplace_back(latLonToTileCoodinates(p)); + } + result.emplace_back(temp); + } + return result; + }, + [&](const Polygon polygon) -> GeometryCollection { + GeometryCollection result; + for (const auto line : polygon) { + std::vector> temp; + for (const auto p : line) { + temp.emplace_back(latLonToTileCoodinates(p)); + } + result.emplace_back(temp); + } + return result; + }, + [&](const MultiPolygon polygons) -> GeometryCollection { + GeometryCollection result; + for (const auto polygon : polygons) + for (const auto line : polygon) { + LineString 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 #include +#include + 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 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 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& testPoint) -> StubGeometryTileFeature { + auto geoPoint = convertGeometry(testPoint, canonicalTileID); + StubGeometryTileFeature pointFeature(FeatureType::Point, geoPoint); + return pointFeature; + }; + + // check `within` algorithm + auto pointFeature = getPointFeature(Point(-10.72265625, -7.27529233637217)); + auto evaluatedResult = + propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_FALSE(evaluatedResult); + + pointFeature = getPointFeature(Point(-7.646484374999999, -12.382928338487396)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_FALSE(evaluatedResult); + + pointFeature = getPointFeature(Point(-15.2490234375, -2.986927393334863)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_FALSE(evaluatedResult); + + pointFeature = getPointFeature(Point(-10.590820312499998, 2.4601811810210052)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_FALSE(evaluatedResult); + + pointFeature = getPointFeature(Point(-3.9990234375, -4.915832801313164)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_TRUE(evaluatedResult); + + pointFeature = getPointFeature(Point(-1.1865234375, -16.63619187839765)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_TRUE(evaluatedResult); + + pointFeature = getPointFeature(Point(-15.5126953125, -11.73830237143684)); + evaluatedResult = propExpr.evaluate(EvaluationContext(&pointFeature).withCanonicalTileID(&canonicalTileID)); + EXPECT_TRUE(evaluatedResult); + } +} -- cgit v1.2.1