diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2018-11-12 17:22:54 +0200 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2018-11-19 22:31:20 +0200 |
commit | 8077055b1ad5bb7324b81c9b199176124240237b (patch) | |
tree | 715e92591a4187469614f726566eaeefe2757e15 | |
parent | 8ac87ec5cb2374d212a31942ca19ce395704eb69 (diff) | |
download | qtlocation-mapboxgl-8077055b1ad5bb7324b81c9b199176124240237b.tar.gz |
[ios, macos] Layer manager for Darwin platforms
The newly introduced `MGLStyleLayerManager` is now responsible
for creating both style layer objects and their obj C peers on Darwin.
34 files changed, 587 insertions, 47 deletions
diff --git a/benchmark/fixtures/api/cache.db b/benchmark/fixtures/api/cache.db Binary files differindex 14f083b081..e41174548d 100644 --- a/benchmark/fixtures/api/cache.db +++ b/benchmark/fixtures/api/cache.db diff --git a/platform/darwin/scripts/generate-style-code.js b/platform/darwin/scripts/generate-style-code.js index a372943060..704b0a29f4 100755 --- a/platform/darwin/scripts/generate-style-code.js +++ b/platform/darwin/scripts/generate-style-code.js @@ -669,6 +669,7 @@ const lightDoc = spec['light-cocoa-doc']; const lightType = 'light'; const layerH = ejs.compile(fs.readFileSync('platform/darwin/src/MGLStyleLayer.h.ejs', 'utf8'), { strict: true }); +const layerPrivateH = ejs.compile(fs.readFileSync('platform/darwin/src/MGLStyleLayer_Private.h.ejs', 'utf8'), { strict: true }); const layerM = ejs.compile(fs.readFileSync('platform/darwin/src/MGLStyleLayer.mm.ejs', 'utf8'), { strict: true}); const testLayers = ejs.compile(fs.readFileSync('platform/darwin/test/MGLStyleLayerTests.mm.ejs', 'utf8'), { strict: true}); const forStyleAuthorsMD = ejs.compile(fs.readFileSync('platform/darwin/docs/guides/For Style Authors.md.ejs', 'utf8'), { strict: true }); @@ -755,6 +756,7 @@ for (var layer of layers) { } writeIfModified(`platform/darwin/src/${prefix}${camelize(layer.type)}${suffix}.h`, duplicatePlatformDecls(layerH(layer))); + writeIfModified(`platform/darwin/src/${prefix}${camelize(layer.type)}${suffix}_Private.h`, duplicatePlatformDecls(layerPrivateH(layer))); writeIfModified(`platform/darwin/src/${prefix}${camelize(layer.type)}${suffix}.mm`, layerM(layer)); writeIfModified(`platform/darwin/test/${prefix}${camelize(layer.type)}${suffix}Tests.mm`, testLayers(layer)); } diff --git a/platform/darwin/src/MGLBackgroundStyleLayer.mm b/platform/darwin/src/MGLBackgroundStyleLayer.mm index ceaf2ce475..5ddfff5534 100644 --- a/platform/darwin/src/MGLBackgroundStyleLayer.mm +++ b/platform/darwin/src/MGLBackgroundStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLBackgroundStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLBackgroundStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/background_layer.hpp> + @interface MGLBackgroundStyleLayer () @@ -146,3 +147,11 @@ } @end + +namespace mbgl { + +MGLStyleLayer* BackgroundStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLBackgroundStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLBackgroundStyleLayer_Private.h b/platform/darwin/src/MGLBackgroundStyleLayer_Private.h new file mode 100644 index 0000000000..07021669dc --- /dev/null +++ b/platform/darwin/src/MGLBackgroundStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/background_layer.hpp> + +namespace mbgl { + +class BackgroundStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::BackgroundLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLCircleStyleLayer.mm b/platform/darwin/src/MGLCircleStyleLayer.mm index dd3729829c..0562414b05 100644 --- a/platform/darwin/src/MGLCircleStyleLayer.mm +++ b/platform/darwin/src/MGLCircleStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLCircleStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLCircleStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/circle_layer.hpp> + namespace mbgl { @@ -497,3 +498,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* CircleStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLCircleStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLCircleStyleLayer_Private.h b/platform/darwin/src/MGLCircleStyleLayer_Private.h new file mode 100644 index 0000000000..3813a9a068 --- /dev/null +++ b/platform/darwin/src/MGLCircleStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/circle_layer.hpp> + +namespace mbgl { + +class CircleStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::CircleLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLFillExtrusionStyleLayer.mm b/platform/darwin/src/MGLFillExtrusionStyleLayer.mm index 09a58e37bb..03676a4ed5 100644 --- a/platform/darwin/src/MGLFillExtrusionStyleLayer.mm +++ b/platform/darwin/src/MGLFillExtrusionStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLFillExtrusionStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLFillExtrusionStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/fill_extrusion_layer.hpp> + namespace mbgl { @@ -350,3 +351,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* FillExtrusionStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLFillExtrusionStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h b/platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h new file mode 100644 index 0000000000..2b9a53f59f --- /dev/null +++ b/platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/fill_extrusion_layer.hpp> + +namespace mbgl { + +class FillExtrusionStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::FillExtrusionLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLFillStyleLayer.mm b/platform/darwin/src/MGLFillStyleLayer.mm index 1d4882edd3..f5dc62cd5b 100644 --- a/platform/darwin/src/MGLFillStyleLayer.mm +++ b/platform/darwin/src/MGLFillStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLFillStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLFillStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/fill_layer.hpp> + namespace mbgl { @@ -338,3 +339,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* FillStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLFillStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLFillStyleLayer_Private.h b/platform/darwin/src/MGLFillStyleLayer_Private.h new file mode 100644 index 0000000000..f31d397434 --- /dev/null +++ b/platform/darwin/src/MGLFillStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/fill_layer.hpp> + +namespace mbgl { + +class FillStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::FillLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLHeatmapStyleLayer.mm b/platform/darwin/src/MGLHeatmapStyleLayer.mm index 76675585f3..a3816c0fdd 100644 --- a/platform/darwin/src/MGLHeatmapStyleLayer.mm +++ b/platform/darwin/src/MGLHeatmapStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLHeatmapStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLHeatmapStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/heatmap_layer.hpp> + @interface MGLHeatmapStyleLayer () @@ -220,3 +221,11 @@ } @end + +namespace mbgl { + +MGLStyleLayer* HeatmapStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLHeatmapStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLHeatmapStyleLayer_Private.h b/platform/darwin/src/MGLHeatmapStyleLayer_Private.h new file mode 100644 index 0000000000..16ad816be4 --- /dev/null +++ b/platform/darwin/src/MGLHeatmapStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/heatmap_layer.hpp> + +namespace mbgl { + +class HeatmapStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::HeatmapLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLHillshadeStyleLayer.mm b/platform/darwin/src/MGLHillshadeStyleLayer.mm index dcc18ba54d..c1f47b0b68 100644 --- a/platform/darwin/src/MGLHillshadeStyleLayer.mm +++ b/platform/darwin/src/MGLHillshadeStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLHillshadeStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLHillshadeStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/hillshade_layer.hpp> + namespace mbgl { @@ -249,3 +250,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* HillshadeStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLHillshadeStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLHillshadeStyleLayer_Private.h b/platform/darwin/src/MGLHillshadeStyleLayer_Private.h new file mode 100644 index 0000000000..28958512d7 --- /dev/null +++ b/platform/darwin/src/MGLHillshadeStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/hillshade_layer.hpp> + +namespace mbgl { + +class HillshadeStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::HillshadeLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLLineStyleLayer.mm b/platform/darwin/src/MGLLineStyleLayer.mm index 1409a4608d..8fdd9a0bcc 100644 --- a/platform/darwin/src/MGLLineStyleLayer.mm +++ b/platform/darwin/src/MGLLineStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLLineStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLLineStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/line_layer.hpp> + namespace mbgl { @@ -592,3 +593,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* LineStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLLineStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLLineStyleLayer_Private.h b/platform/darwin/src/MGLLineStyleLayer_Private.h new file mode 100644 index 0000000000..ba50ebbc0d --- /dev/null +++ b/platform/darwin/src/MGLLineStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/line_layer.hpp> + +namespace mbgl { + +class LineStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::LineLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLOpenGLStyleLayer.mm b/platform/darwin/src/MGLOpenGLStyleLayer.mm index d89fbc80c3..678bf15bfc 100644 --- a/platform/darwin/src/MGLOpenGLStyleLayer.mm +++ b/platform/darwin/src/MGLOpenGLStyleLayer.mm @@ -1,4 +1,5 @@ #import "MGLOpenGLStyleLayer.h" +#import "MGLOpenGLStyleLayer_Private.h" #import "MGLMapView_Private.h" #import "MGLStyle_Private.h" @@ -184,3 +185,12 @@ private: } @end + +namespace mbgl { + +MGLStyleLayer* OpenGLStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLOpenGLStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl + diff --git a/platform/darwin/src/MGLOpenGLStyleLayer_Private.h b/platform/darwin/src/MGLOpenGLStyleLayer_Private.h new file mode 100644 index 0000000000..1188c50cd5 --- /dev/null +++ b/platform/darwin/src/MGLOpenGLStyleLayer_Private.h @@ -0,0 +1,15 @@ +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/custom_layer.hpp> + +namespace mbgl { + +class OpenGLStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::CustomLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLRasterStyleLayer.mm b/platform/darwin/src/MGLRasterStyleLayer.mm index 7416400b2e..bcaffe1c4a 100644 --- a/platform/darwin/src/MGLRasterStyleLayer.mm +++ b/platform/darwin/src/MGLRasterStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLRasterStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLRasterStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/raster_layer.hpp> + namespace mbgl { @@ -351,3 +352,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* RasterStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLRasterStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLRasterStyleLayer_Private.h b/platform/darwin/src/MGLRasterStyleLayer_Private.h new file mode 100644 index 0000000000..1070751a61 --- /dev/null +++ b/platform/darwin/src/MGLRasterStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/raster_layer.hpp> + +namespace mbgl { + +class RasterStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::RasterLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLStyle.mm b/platform/darwin/src/MGLStyle.mm index c023ed80f4..4c98fd332b 100644 --- a/platform/darwin/src/MGLStyle.mm +++ b/platform/darwin/src/MGLStyle.mm @@ -13,6 +13,7 @@ #import "MGLRasterStyleLayer.h" #import "MGLBackgroundStyleLayer.h" #import "MGLOpenGLStyleLayer.h" +#import "MGLStyleLayerManager.h" #import "MGLSource.h" #import "MGLSource_Private.h" @@ -32,16 +33,6 @@ #include <mbgl/style/style.hpp> #include <mbgl/style/image.hpp> #include <mbgl/style/light.hpp> -#include <mbgl/style/layers/fill_layer.hpp> -#include <mbgl/style/layers/fill_extrusion_layer.hpp> -#include <mbgl/style/layers/line_layer.hpp> -#include <mbgl/style/layers/symbol_layer.hpp> -#include <mbgl/style/layers/raster_layer.hpp> -#include <mbgl/style/layers/heatmap_layer.hpp> -#include <mbgl/style/layers/hillshade_layer.hpp> -#include <mbgl/style/layers/circle_layer.hpp> -#include <mbgl/style/layers/background_layer.hpp> -#include <mbgl/style/layers/custom_layer.hpp> #include <mbgl/style/sources/geojson_source.hpp> #include <mbgl/style/sources/vector_source.hpp> #include <mbgl/style/sources/raster_source.hpp> @@ -358,31 +349,8 @@ static_assert(6 == mbgl::util::default_styles::numOrderedStyles, if (MGLStyleLayer *layer = rawLayer->peer.has_value() ? rawLayer->peer.get<LayerWrapper>().layer : nil) { return layer; } - switch (rawLayer->getType()) { - case mbgl::style::LayerType::Fill: - return [[MGLFillStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::FillLayer*>(rawLayer)]; - case mbgl::style::LayerType::FillExtrusion: - return [[MGLFillExtrusionStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::FillExtrusionLayer*>(rawLayer)]; - case mbgl::style::LayerType::Line: - return [[MGLLineStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::LineLayer*>(rawLayer)]; - case mbgl::style::LayerType::Symbol: - return [[MGLSymbolStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::SymbolLayer*>(rawLayer)]; - case mbgl::style::LayerType::Raster: - return [[MGLRasterStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::RasterLayer*>(rawLayer)]; - case mbgl::style::LayerType::Heatmap: - return [[MGLHeatmapStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::HeatmapLayer*>(rawLayer)]; - case mbgl::style::LayerType::Hillshade: - return [[MGLHillshadeStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::HillshadeLayer*>(rawLayer)]; - case mbgl::style::LayerType::Circle: - return [[MGLCircleStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::CircleLayer*>(rawLayer)]; - case mbgl::style::LayerType::Background: - return [[MGLBackgroundStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::BackgroundLayer*>(rawLayer)]; - case mbgl::style::LayerType::Custom: - return [[MGLOpenGLStyleLayer alloc] initWithRawLayer:static_cast<mbgl::style::CustomLayer*>(rawLayer)]; - default: - MGLAssert(NO, @"Unrecognized layer type"); - return nil;; - } + + return mbgl::LayerManagerDarwin::get()->createPeer(rawLayer); } - (MGLStyleLayer *)layerWithIdentifier:(NSString *)identifier diff --git a/platform/darwin/src/MGLStyleLayer.mm.ejs b/platform/darwin/src/MGLStyleLayer.mm.ejs index b7be5fb9be..0cccd16a40 100644 --- a/platform/darwin/src/MGLStyleLayer.mm.ejs +++ b/platform/darwin/src/MGLStyleLayer.mm.ejs @@ -14,9 +14,10 @@ #import "MGLStyleValue_Private.h" #import "MGL<%- camelize(type) %>StyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGL<%- camelize(type) %>StyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/<%- type.replace('-', '_') %>_layer.hpp> + <% if (enumProperties) { -%> namespace mbgl { @@ -254,3 +255,11 @@ namespace mbgl { <% } -%> @end <% } -%> + +namespace mbgl { + +MGLStyleLayer* <%- camelize(type) %>StyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGL<%- camelize(type) %>StyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLStyleLayerManager.h b/platform/darwin/src/MGLStyleLayerManager.h new file mode 100644 index 0000000000..0f7fab00ed --- /dev/null +++ b/platform/darwin/src/MGLStyleLayerManager.h @@ -0,0 +1,30 @@ +#pragma once + +#import "MGLStyleLayer_Private.h" + +#include <mbgl/style/layer.hpp> + +#include <map> +#include <string> +#include <vector> + +namespace mbgl { + +class LayerManagerDarwin : public style::LayerManager { +public: + static LayerManagerDarwin* get() noexcept; + ~LayerManagerDarwin(); + + MGLStyleLayer* createPeer(style::Layer*); + +private: + LayerManagerDarwin(); + void addLayerType(std::unique_ptr<LayerPeerFactory>); + // LayerManager overrides. + std::unique_ptr<style::Layer> createLayer(const std::string& type, const std::string& id, const style::conversion::Convertible& value, style::conversion::Error& error) noexcept final; + + std::vector<std::unique_ptr<LayerPeerFactory>> factories; + std::map<std::string, style::LayerFactory*> typeToFactory; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLStyleLayerManager.mm b/platform/darwin/src/MGLStyleLayerManager.mm new file mode 100644 index 0000000000..2cb919dd9d --- /dev/null +++ b/platform/darwin/src/MGLStyleLayerManager.mm @@ -0,0 +1,84 @@ +#import "MGLStyleLayerManager.h" + +#import "MGLBackgroundStyleLayer_Private.h" +#import "MGLCircleStyleLayer_Private.h" +#import "MGLFillExtrusionStyleLayer_Private.h" +#import "MGLFillStyleLayer_Private.h" +#import "MGLHeatmapStyleLayer_Private.h" +#import "MGLHillshadeStyleLayer_Private.h" +#import "MGLLineStyleLayer_Private.h" +#import "MGLRasterStyleLayer_Private.h" +#import "MGLSymbolStyleLayer_Private.h" +#import "MGLOpenGLStyleLayer_Private.h" + +#include <vector> + +namespace mbgl { + +LayerManagerDarwin::LayerManagerDarwin() { + addLayerType(std::make_unique<FillStyleLayerPeerFactory>()); + addLayerType(std::make_unique<LineStyleLayerPeerFactory>()); + addLayerType(std::make_unique<CircleStyleLayerPeerFactory>()); + addLayerType(std::make_unique<SymbolStyleLayerPeerFactory>()); + addLayerType(std::make_unique<RasterStyleLayerPeerFactory>()); + addLayerType(std::make_unique<BackgroundStyleLayerPeerFactory>()); + addLayerType(std::make_unique<HillshadeStyleLayerPeerFactory>()); + addLayerType(std::make_unique<FillExtrusionStyleLayerPeerFactory>()); + addLayerType(std::make_unique<HeatmapStyleLayerPeerFactory>()); + addLayerType(std::make_unique<OpenGLStyleLayerPeerFactory>()); +} + +LayerManagerDarwin::~LayerManagerDarwin() = default; + +MGLStyleLayer* LayerManagerDarwin::createPeer(style::Layer* layer) { + auto* typeInfo = layer->getTypeInfo(); + assert(typeInfo); + for (const auto& factory: factories) { + if (factory->getCoreLayerFactory()->getTypeInfo() == typeInfo) { + return factory->createPeer(layer); + } + } + assert(false); + return nullptr; +} + +void LayerManagerDarwin::addLayerType(std::unique_ptr<LayerPeerFactory> factory) { + auto* coreFactory = factory->getCoreLayerFactory(); + std::string type{coreFactory->getTypeInfo()->type}; + if (!type.empty()) { + typeToFactory.emplace(std::make_pair(std::move(type), coreFactory)); + } + factories.emplace_back(std::move(factory)); +} + +std::unique_ptr<style::Layer> LayerManagerDarwin::createLayer(const std::string& type, + const std::string& id, + const style::conversion::Convertible& value, + style::conversion::Error& error) noexcept { + auto search = typeToFactory.find(type); + if (search != typeToFactory.end()) { + auto layer = search->second->createLayer(id, value); + if (!layer) { + error.message = "Error parsing a layer of type: " + type; + } + return layer; + } + error.message = "Unsupported layer type: " + type; + return nullptr; +} + +// static +LayerManagerDarwin* LayerManagerDarwin::get() noexcept { + static LayerManagerDarwin impl; + return &impl; +} + +namespace style { + +// static +LayerManager* LayerManager::get() noexcept { + return LayerManagerDarwin::get(); +} + +} // namespace style +} // namespace mbgl diff --git a/platform/darwin/src/MGLStyleLayer_Private.h b/platform/darwin/src/MGLStyleLayer_Private.h index ea43c680e0..0d6e4094bd 100644 --- a/platform/darwin/src/MGLStyleLayer_Private.h +++ b/platform/darwin/src/MGLStyleLayer_Private.h @@ -82,4 +82,21 @@ struct LayerWrapper { @end +namespace mbgl { + +class LayerPeerFactory { +public: + virtual ~LayerPeerFactory() = default; + /** + Get the corresponding core layer factory. + */ + virtual style::LayerFactory* getCoreLayerFactory() = 0; + /** + Creates an MGLStyleLayer instance with a raw pointer to the backing store. + */ + virtual MGLStyleLayer* createPeer(style::Layer*) = 0; +}; + +} // namespace mbgl + NS_ASSUME_NONNULL_END diff --git a/platform/darwin/src/MGLStyleLayer_Private.h.ejs b/platform/darwin/src/MGLStyleLayer_Private.h.ejs new file mode 100644 index 0000000000..245eeec29e --- /dev/null +++ b/platform/darwin/src/MGLStyleLayer_Private.h.ejs @@ -0,0 +1,24 @@ +<% + const doc = locals.doc; + const type = locals.type; + const layoutProperties = locals.layoutProperties; + const paintProperties = locals.paintProperties; + const enumProperties = locals.enumProperties; +-%> +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/<%- type.replace('-', '_') %>_layer.hpp> + +namespace mbgl { + +class <%- camelize(type) %>StyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::<%- camelize(type) %>LayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/darwin/src/MGLSymbolStyleLayer.mm b/platform/darwin/src/MGLSymbolStyleLayer.mm index cd293481fe..481570fdeb 100644 --- a/platform/darwin/src/MGLSymbolStyleLayer.mm +++ b/platform/darwin/src/MGLSymbolStyleLayer.mm @@ -8,9 +8,10 @@ #import "MGLStyleValue_Private.h" #import "MGLSymbolStyleLayer.h" #import "MGLLoggingConfiguration_Private.h" +#import "MGLSymbolStyleLayer_Private.h" #include <mbgl/style/transition_options.hpp> -#include <mbgl/style/layers/symbol_layer.hpp> + namespace mbgl { @@ -1610,3 +1611,11 @@ namespace mbgl { } @end + +namespace mbgl { + +MGLStyleLayer* SymbolStyleLayerPeerFactory::createPeer(style::Layer* rawLayer) { + return [[MGLSymbolStyleLayer alloc] initWithRawLayer:rawLayer]; +} + +} // namespace mbgl diff --git a/platform/darwin/src/MGLSymbolStyleLayer_Private.h b/platform/darwin/src/MGLSymbolStyleLayer_Private.h new file mode 100644 index 0000000000..6ba7c7bfd0 --- /dev/null +++ b/platform/darwin/src/MGLSymbolStyleLayer_Private.h @@ -0,0 +1,17 @@ +// This file is generated. +// Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. +#pragma once + +#include "MGLStyleLayer_Private.h" + +#include <mbgl/style/layers/symbol_layer.hpp> + +namespace mbgl { + +class SymbolStyleLayerPeerFactory : public LayerPeerFactory, public mbgl::style::SymbolLayerFactory { + // LayerPeerFactory overrides. + style::LayerFactory* getCoreLayerFactory() final { return this; } + virtual MGLStyleLayer* createPeer(style::Layer*) final; +}; + +} // namespace mbgl diff --git a/platform/ios/config.cmake b/platform/ios/config.cmake index 0bda7b3f40..320ef7e73b 100644 --- a/platform/ios/config.cmake +++ b/platform/ios/config.cmake @@ -34,7 +34,6 @@ macro(mbgl_platform_core) PRIVATE platform/darwin/src/nsthread.mm PRIVATE platform/darwin/src/string_nsstring.mm PRIVATE platform/default/bidi.cpp - PRIVATE platform/default/layer_manager.cpp PRIVATE platform/default/thread_local.cpp PRIVATE platform/default/utf.cpp diff --git a/platform/ios/core-files.txt b/platform/ios/core-files.txt index 3846663025..b1e708e727 100644 --- a/platform/ios/core-files.txt +++ b/platform/ios/core-files.txt @@ -137,29 +137,41 @@ platform/darwin/src/NSValue+MGLStyleAttributeAdditions.mm # SDK/Foundation/Styling/Layers platform/darwin/src/MGLBackgroundStyleLayer.h platform/darwin/src/MGLBackgroundStyleLayer.mm +platform/darwin/src/MGLBackgroundStyleLayer_Private.h platform/darwin/src/MGLCircleStyleLayer.h platform/darwin/src/MGLCircleStyleLayer.mm +platform/darwin/src/MGLCircleStyleLayer_Private.h platform/darwin/src/MGLFillExtrusionStyleLayer.h platform/darwin/src/MGLFillExtrusionStyleLayer.mm +platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h platform/darwin/src/MGLFillStyleLayer.h platform/darwin/src/MGLFillStyleLayer.mm +platform/darwin/src/MGLFillStyleLayer_Private.h platform/darwin/src/MGLForegroundStyleLayer.h platform/darwin/src/MGLForegroundStyleLayer.mm platform/darwin/src/MGLHeatmapStyleLayer.h platform/darwin/src/MGLHeatmapStyleLayer.mm +platform/darwin/src/MGLHeatmapStyleLayer_Private.h platform/darwin/src/MGLHillshadeStyleLayer.h platform/darwin/src/MGLHillshadeStyleLayer.mm +platform/darwin/src/MGLHillshadeStyleLayer_Private.h platform/darwin/src/MGLLineStyleLayer.h platform/darwin/src/MGLLineStyleLayer.mm +platform/darwin/src/MGLLineStyleLayer_Private.h platform/darwin/src/MGLOpenGLStyleLayer.h platform/darwin/src/MGLOpenGLStyleLayer.mm +platform/darwin/src/MGLOpenGLStyleLayer_Private.h platform/darwin/src/MGLRasterStyleLayer.h platform/darwin/src/MGLRasterStyleLayer.mm +platform/darwin/src/MGLRasterStyleLayer_Private.h platform/darwin/src/MGLStyleLayer.h platform/darwin/src/MGLStyleLayer.mm +platform/darwin/src/MGLStyleLayerManager.h +platform/darwin/src/MGLStyleLayerManager.mm platform/darwin/src/MGLStyleLayer_Private.h platform/darwin/src/MGLSymbolStyleLayer.h platform/darwin/src/MGLSymbolStyleLayer.mm +platform/darwin/src/MGLSymbolStyleLayer_Private.h platform/darwin/src/MGLVectorStyleLayer.h platform/darwin/src/MGLVectorStyleLayer.m diff --git a/platform/ios/ios.xcodeproj/project.pbxproj b/platform/ios/ios.xcodeproj/project.pbxproj index dbb135f885..503307c4c4 100644 --- a/platform/ios/ios.xcodeproj/project.pbxproj +++ b/platform/ios/ios.xcodeproj/project.pbxproj @@ -300,6 +300,30 @@ 55E2AD131E5B125400E8C587 /* MGLOfflineStorageTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55E2AD121E5B125400E8C587 /* MGLOfflineStorageTests.mm */; }; 632281DF1E6F855900D75A5D /* MBXEmbeddedMapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 632281DE1E6F855900D75A5D /* MBXEmbeddedMapViewController.m */; }; 6407D6701E0085FD00F6A9C3 /* MGLDocumentationExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6407D66F1E0085FD00F6A9C3 /* MGLDocumentationExampleTests.swift */; }; + 74CB5EB1219B252C00102936 /* MGLStyleLayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EAF219B252C00102936 /* MGLStyleLayerManager.h */; }; + 74CB5EB2219B252C00102936 /* MGLStyleLayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EAF219B252C00102936 /* MGLStyleLayerManager.h */; }; + 74CB5EB3219B252C00102936 /* MGLStyleLayerManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 74CB5EB0219B252C00102936 /* MGLStyleLayerManager.mm */; }; + 74CB5EB4219B252C00102936 /* MGLStyleLayerManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 74CB5EB0219B252C00102936 /* MGLStyleLayerManager.mm */; }; + 74CB5EB9219B280400102936 /* MGLHillshadeStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB5219B280300102936 /* MGLHillshadeStyleLayer_Private.h */; }; + 74CB5EBA219B280400102936 /* MGLHillshadeStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB5219B280300102936 /* MGLHillshadeStyleLayer_Private.h */; }; + 74CB5EBB219B280400102936 /* MGLFillExtrusionStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB6219B280300102936 /* MGLFillExtrusionStyleLayer_Private.h */; }; + 74CB5EBC219B280400102936 /* MGLFillExtrusionStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB6219B280300102936 /* MGLFillExtrusionStyleLayer_Private.h */; }; + 74CB5EBD219B280400102936 /* MGLFillStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB7219B280300102936 /* MGLFillStyleLayer_Private.h */; }; + 74CB5EBE219B280400102936 /* MGLFillStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB7219B280300102936 /* MGLFillStyleLayer_Private.h */; }; + 74CB5EBF219B280400102936 /* MGLHeatmapStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB8219B280300102936 /* MGLHeatmapStyleLayer_Private.h */; }; + 74CB5EC0219B280400102936 /* MGLHeatmapStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EB8219B280300102936 /* MGLHeatmapStyleLayer_Private.h */; }; + 74CB5EC3219B282500102936 /* MGLCircleStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC1219B282500102936 /* MGLCircleStyleLayer_Private.h */; }; + 74CB5EC4219B282500102936 /* MGLCircleStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC1219B282500102936 /* MGLCircleStyleLayer_Private.h */; }; + 74CB5EC5219B282500102936 /* MGLBackgroundStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC2219B282500102936 /* MGLBackgroundStyleLayer_Private.h */; }; + 74CB5EC6219B282500102936 /* MGLBackgroundStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC2219B282500102936 /* MGLBackgroundStyleLayer_Private.h */; }; + 74CB5ECA219B285000102936 /* MGLLineStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC7219B285000102936 /* MGLLineStyleLayer_Private.h */; }; + 74CB5ECB219B285000102936 /* MGLLineStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC7219B285000102936 /* MGLLineStyleLayer_Private.h */; }; + 74CB5ECC219B285000102936 /* MGLOpenGLStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC8219B285000102936 /* MGLOpenGLStyleLayer_Private.h */; }; + 74CB5ECD219B285000102936 /* MGLOpenGLStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC8219B285000102936 /* MGLOpenGLStyleLayer_Private.h */; }; + 74CB5ECE219B285000102936 /* MGLRasterStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC9219B285000102936 /* MGLRasterStyleLayer_Private.h */; }; + 74CB5ECF219B285000102936 /* MGLRasterStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5EC9219B285000102936 /* MGLRasterStyleLayer_Private.h */; }; + 74CB5ED1219B286400102936 /* MGLSymbolStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5ED0219B286400102936 /* MGLSymbolStyleLayer_Private.h */; }; + 74CB5ED2219B286400102936 /* MGLSymbolStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CB5ED0219B286400102936 /* MGLSymbolStyleLayer_Private.h */; }; 8989B17C201A48EB0081CF59 /* MGLHeatmapStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8989B17A201A48EA0081CF59 /* MGLHeatmapStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8989B17D201A48EB0081CF59 /* MGLHeatmapStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8989B17A201A48EA0081CF59 /* MGLHeatmapStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8989B17E201A48EB0081CF59 /* MGLHeatmapStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8989B17B201A48EA0081CF59 /* MGLHeatmapStyleLayer.mm */; }; @@ -989,6 +1013,18 @@ 632281DD1E6F855900D75A5D /* MBXEmbeddedMapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MBXEmbeddedMapViewController.h; sourceTree = "<group>"; }; 632281DE1E6F855900D75A5D /* MBXEmbeddedMapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MBXEmbeddedMapViewController.m; sourceTree = "<group>"; }; 6407D66F1E0085FD00F6A9C3 /* MGLDocumentationExampleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MGLDocumentationExampleTests.swift; path = ../../darwin/test/MGLDocumentationExampleTests.swift; sourceTree = "<group>"; }; + 74CB5EAF219B252C00102936 /* MGLStyleLayerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLStyleLayerManager.h; sourceTree = "<group>"; }; + 74CB5EB0219B252C00102936 /* MGLStyleLayerManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLStyleLayerManager.mm; sourceTree = "<group>"; }; + 74CB5EB5219B280300102936 /* MGLHillshadeStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHillshadeStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EB6219B280300102936 /* MGLFillExtrusionStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFillExtrusionStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EB7219B280300102936 /* MGLFillStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFillStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EB8219B280300102936 /* MGLHeatmapStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHeatmapStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EC1219B282500102936 /* MGLCircleStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLCircleStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EC2219B282500102936 /* MGLBackgroundStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLBackgroundStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EC7219B285000102936 /* MGLLineStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLLineStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EC8219B285000102936 /* MGLOpenGLStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLOpenGLStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5EC9219B285000102936 /* MGLRasterStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLRasterStyleLayer_Private.h; sourceTree = "<group>"; }; + 74CB5ED0219B286400102936 /* MGLSymbolStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLSymbolStyleLayer_Private.h; sourceTree = "<group>"; }; 8989B17A201A48EA0081CF59 /* MGLHeatmapStyleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHeatmapStyleLayer.h; sourceTree = "<group>"; }; 8989B17B201A48EA0081CF59 /* MGLHeatmapStyleLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLHeatmapStyleLayer.mm; sourceTree = "<group>"; }; 920A3E5C1E6F995200C16EFC /* MGLSourceQueryTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MGLSourceQueryTests.m; path = ../../darwin/test/MGLSourceQueryTests.m; sourceTree = "<group>"; }; @@ -1447,6 +1483,18 @@ 353933F01D3FB6BA003F57D7 /* Layers */ = { isa = PBXGroup; children = ( + 74CB5ED0219B286400102936 /* MGLSymbolStyleLayer_Private.h */, + 74CB5EC7219B285000102936 /* MGLLineStyleLayer_Private.h */, + 74CB5EC8219B285000102936 /* MGLOpenGLStyleLayer_Private.h */, + 74CB5EC9219B285000102936 /* MGLRasterStyleLayer_Private.h */, + 74CB5EC2219B282500102936 /* MGLBackgroundStyleLayer_Private.h */, + 74CB5EC1219B282500102936 /* MGLCircleStyleLayer_Private.h */, + 74CB5EB6219B280300102936 /* MGLFillExtrusionStyleLayer_Private.h */, + 74CB5EB7219B280300102936 /* MGLFillStyleLayer_Private.h */, + 74CB5EB8219B280300102936 /* MGLHeatmapStyleLayer_Private.h */, + 74CB5EB5219B280300102936 /* MGLHillshadeStyleLayer_Private.h */, + 74CB5EAF219B252C00102936 /* MGLStyleLayerManager.h */, + 74CB5EB0219B252C00102936 /* MGLStyleLayerManager.mm */, 353933F41D3FB785003F57D7 /* MGLBackgroundStyleLayer.h */, 35136D381D42271A00C20EFD /* MGLBackgroundStyleLayer.mm */, 353933F11D3FB753003F57D7 /* MGLCircleStyleLayer.h */, @@ -2243,6 +2291,7 @@ 92FC0AEA207CEE16007B6B54 /* MGLShapeOfflineRegion.h in Headers */, 35D13AC31D3D19DD00AFB4E0 /* MGLFillStyleLayer.h in Headers */, DA88483A1CBAFB8500AB86E3 /* MGLAnnotationImage.h in Headers */, + 74CB5EBD219B280400102936 /* MGLFillStyleLayer_Private.h in Headers */, DAF2571B201901E200367EF5 /* MGLHillshadeStyleLayer.h in Headers */, DA35A2BB1CCA9A6900E826B2 /* MGLClockDirectionFormatter.h in Headers */, 353933FE1D3FB7DD003F57D7 /* MGLSymbolStyleLayer.h in Headers */, @@ -2253,21 +2302,27 @@ 4018B1C91CDC288A00F666AF /* MGLAnnotationView_Private.h in Headers */, 35E1A4D81D74336F007AA97F /* MGLValueEvaluator.h in Headers */, DA88482C1CBAFA6200AB86E3 /* NSBundle+MGLAdditions.h in Headers */, + 74CB5EC5219B282500102936 /* MGLBackgroundStyleLayer_Private.h in Headers */, + 74CB5EB9219B280400102936 /* MGLHillshadeStyleLayer_Private.h in Headers */, 357FE2DD1E02D2B20068B753 /* NSCoder+MGLAdditions.h in Headers */, 35D13AB71D3D15E300AFB4E0 /* MGLStyleLayer.h in Headers */, 07D947531F67488E00E37934 /* MGLComputedShapeSource_Private.h in Headers */, 9654C1261FFC1AB900DB6A19 /* MGLPolyline_Private.h in Headers */, 40F887701D7A1E58008ECB67 /* MGLShapeSource_Private.h in Headers */, 350098DC1D484E60004B2AF0 /* NSValue+MGLStyleAttributeAdditions.h in Headers */, + 74CB5ECA219B285000102936 /* MGLLineStyleLayer_Private.h in Headers */, + 74CB5ECE219B285000102936 /* MGLRasterStyleLayer_Private.h in Headers */, DA8848231CBAFA6200AB86E3 /* MGLOfflineStorage_Private.h in Headers */, 404326891D5B9B27007111BD /* MGLAnnotationContainerView_Private.h in Headers */, CA55CD41202C16AA00CE7095 /* MGLCameraChangeReason.h in Headers */, DA88483B1CBAFB8500AB86E3 /* MGLCalloutView.h in Headers */, 35E0CFE61D3E501500188327 /* MGLStyle_Private.h in Headers */, 3510FFF01D6D9D8C00F413B2 /* NSExpression+MGLAdditions.h in Headers */, + 74CB5EBF219B280400102936 /* MGLHeatmapStyleLayer_Private.h in Headers */, 1FC4817D2098CBC0000D09B4 /* NSPredicate+MGLPrivateAdditions.h in Headers */, 353AFA141D65AB17005A69F4 /* NSDate+MGLAdditions.h in Headers */, DA8848531CBAFB9800AB86E3 /* MGLCompactCalloutView.h in Headers */, + 74CB5EB1219B252C00102936 /* MGLStyleLayerManager.h in Headers */, DA8847FB1CBAFA5100AB86E3 /* MGLShape.h in Headers */, 353933F51D3FB785003F57D7 /* MGLBackgroundStyleLayer.h in Headers */, DA88485A1CBAFB9800AB86E3 /* MGLUserLocation_Private.h in Headers */, @@ -2277,6 +2332,7 @@ DD9BE4F71EB263C50079A3AF /* UIViewController+MGLAdditions.h in Headers */, DAF0D8131DFE0EC500B28378 /* MGLVectorTileSource_Private.h in Headers */, 354B83961D2E873E005D9406 /* MGLUserLocationAnnotationView.h in Headers */, + 74CB5EC3219B282500102936 /* MGLCircleStyleLayer_Private.h in Headers */, DA8847F01CBAFA5100AB86E3 /* MGLAnnotation.h in Headers */, 400533011DB0862B0069F638 /* NSArray+MGLAdditions.h in Headers */, 1F06668A1EC64F8E001C16D7 /* MGLLight.h in Headers */, @@ -2307,8 +2363,10 @@ 92F2C3ED1F0E3C3A00268EC0 /* MGLRendererFrontend.h in Headers */, DAAF722D1DA903C700312FA4 /* MGLStyleValue_Private.h in Headers */, 071BBB031EE76146001FB02A /* MGLImageSource.h in Headers */, + 74CB5EBB219B280400102936 /* MGLFillExtrusionStyleLayer_Private.h in Headers */, DA8847F41CBAFA5100AB86E3 /* MGLOfflinePack.h in Headers */, DA88482E1CBAFA6200AB86E3 /* NSException+MGLAdditions.h in Headers */, + 74CB5ED1219B286400102936 /* MGLSymbolStyleLayer_Private.h in Headers */, 9221BAAD2069843A0054BDF4 /* MGLTilePyramidOfflineRegion_Private.h in Headers */, 96F3F73C1F57124B003E2D2C /* MGLUserLocationHeadingIndicator.h in Headers */, 408AA8571DAEDA1700022900 /* NSDictionary+MGLAdditions.h in Headers */, @@ -2359,6 +2417,7 @@ 3510FFF91D6DCC4700F413B2 /* NSCompoundPredicate+MGLAdditions.h in Headers */, 3557F7B01E1D27D300CCA5E6 /* MGLDistanceFormatter.h in Headers */, DAC25FCC200FD83F009BE98E /* NSExpression+MGLPrivateAdditions.h in Headers */, + 74CB5ECC219B285000102936 /* MGLOpenGLStyleLayer_Private.h in Headers */, DA72620B1DEEE3480043BB89 /* MGLOpenGLStyleLayer.h in Headers */, 404C26E71D89C55D000AA13D /* MGLTileSource_Private.h in Headers */, DA88485C1CBAFB9800AB86E3 /* MGLFaux3DUserLocationAnnotationView.h in Headers */, @@ -2405,7 +2464,11 @@ 404C26E31D89B877000AA13D /* MGLTileSource.h in Headers */, 96E516F6200059EC00A02306 /* MGLRendererFrontend.h in Headers */, 071BBB041EE76147001FB02A /* MGLImageSource.h in Headers */, + 74CB5EC0219B280400102936 /* MGLHeatmapStyleLayer_Private.h in Headers */, + 74CB5ECB219B285000102936 /* MGLLineStyleLayer_Private.h in Headers */, DABFB8611CBE99E500D62B32 /* MGLMultiPoint.h in Headers */, + 74CB5ECD219B285000102936 /* MGLOpenGLStyleLayer_Private.h in Headers */, + 74CB5ECF219B285000102936 /* MGLRasterStyleLayer_Private.h in Headers */, 35D3A1E71E9BE7EC002B38EE /* MGLScaleBar.h in Headers */, 96E516EF2000594F00A02306 /* NSArray+MGLAdditions.h in Headers */, 96E516F12000596800A02306 /* NSString+MGLAdditions.h in Headers */, @@ -2425,6 +2488,7 @@ 96E516E52000560B00A02306 /* MGLOfflinePack_Private.h in Headers */, DD9BE4F91EB263D20079A3AF /* UIViewController+MGLAdditions.h in Headers */, DAF2571C201901E200367EF5 /* MGLHillshadeStyleLayer.h in Headers */, + 74CB5EC4219B282500102936 /* MGLCircleStyleLayer_Private.h in Headers */, DABFB8621CBE99E500D62B32 /* MGLOfflinePack.h in Headers */, 96E516FA20005A3D00A02306 /* MGLUserLocationHeadingArrowLayer.h in Headers */, 96E516E62000560B00A02306 /* MGLOfflineRegion_Private.h in Headers */, @@ -2455,11 +2519,13 @@ 1FC4817F2098CD80000D09B4 /* NSPredicate+MGLPrivateAdditions.h in Headers */, DABFB8671CBE99E500D62B32 /* MGLPolygon.h in Headers */, 404C26E81D89C55D000AA13D /* MGLTileSource_Private.h in Headers */, + 74CB5EBC219B280400102936 /* MGLFillExtrusionStyleLayer_Private.h in Headers */, 1F7454931ECBB43F00021D39 /* MGLLight.h in Headers */, DAAF722C1DA903C700312FA4 /* MGLStyleValue.h in Headers */, DABFB8651CBE99E500D62B32 /* MGLOverlay.h in Headers */, 35E79F211D41266300957B9E /* MGLStyleLayer_Private.h in Headers */, 350098DD1D484E60004B2AF0 /* NSValue+MGLStyleAttributeAdditions.h in Headers */, + 74CB5EBE219B280400102936 /* MGLFillStyleLayer_Private.h in Headers */, DABFB8681CBE99E500D62B32 /* MGLPolyline.h in Headers */, 96E516DF200054FB00A02306 /* MGLShape_Private.h in Headers */, DABFB86F1CBE9A0F00D62B32 /* MGLMapView.h in Headers */, @@ -2476,10 +2542,13 @@ DA35A2B21CCA141D00E826B2 /* MGLCompassDirectionFormatter.h in Headers */, DAF0D8141DFE0EC500B28378 /* MGLVectorTileSource_Private.h in Headers */, 8989B17D201A48EB0081CF59 /* MGLHeatmapStyleLayer.h in Headers */, + 74CB5EC6219B282500102936 /* MGLBackgroundStyleLayer_Private.h in Headers */, DABFB8731CBE9A9900D62B32 /* Mapbox.h in Headers */, + 74CB5EBA219B280400102936 /* MGLHillshadeStyleLayer_Private.h in Headers */, 357FE2DE1E02D2B20068B753 /* NSCoder+MGLAdditions.h in Headers */, 1753ED431E53CE6F00A9FD90 /* MGLConversion.h in Headers */, DAC25FCD200FD83F009BE98E /* NSExpression+MGLPrivateAdditions.h in Headers */, + 74CB5ED2219B286400102936 /* MGLSymbolStyleLayer_Private.h in Headers */, 354B83971D2E873E005D9406 /* MGLUserLocationAnnotationView.h in Headers */, DAF0D8111DFE0EA000B28378 /* MGLRasterTileSource_Private.h in Headers */, 96E516FF20005A4F00A02306 /* MGLMapboxEvents.h in Headers */, @@ -2492,6 +2561,7 @@ 96E516E02000550C00A02306 /* MGLFeature_Private.h in Headers */, 353933F61D3FB785003F57D7 /* MGLBackgroundStyleLayer.h in Headers */, DABFB85D1CBE99E500D62B32 /* MGLAccountManager.h in Headers */, + 74CB5EB2219B252C00102936 /* MGLStyleLayerManager.h in Headers */, 9221BAB020699F8A0054BDF4 /* MGLTilePyramidOfflineRegion_Private.h in Headers */, 96E516F5200059B100A02306 /* MGLNetworkConfiguration.h in Headers */, 96E516F42000597D00A02306 /* NSData+MGLAdditions.h in Headers */, @@ -3021,6 +3091,7 @@ DD0902A91DB1929D00C5BDCE /* MGLNetworkConfiguration.m in Sources */, 35D13AB91D3D15E300AFB4E0 /* MGLStyleLayer.mm in Sources */, 40834C4C1FE05F7500C1BD0D /* TSKTrustKitConfig.m in Sources */, + 74CB5EB3219B252C00102936 /* MGLStyleLayerManager.mm in Sources */, DA35A2CB1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */, 071BBB001EE7613F001FB02A /* MGLImageSource.mm in Sources */, DA8848321CBAFA6200AB86E3 /* NSString+MGLAdditions.m in Sources */, @@ -3155,6 +3226,7 @@ DA35A2CC1CCAAAD200E826B2 /* NSValue+MGLAdditions.m in Sources */, 40834C591FE05F7600C1BD0D /* TSKTrustKitConfig.m in Sources */, 408AA8591DAEDA1E00022900 /* NSDictionary+MGLAdditions.mm in Sources */, + 74CB5EB4219B252C00102936 /* MGLStyleLayerManager.mm in Sources */, DAA4E4281CBB730400178DFB /* MGLTypes.m in Sources */, DA35A2A21CC9E95F00E826B2 /* MGLCoordinateFormatter.m in Sources */, 40834C511FE05F7600C1BD0D /* reporting_utils.m in Sources */, diff --git a/platform/macos/config.cmake b/platform/macos/config.cmake index e327ac5bfb..62f1713107 100644 --- a/platform/macos/config.cmake +++ b/platform/macos/config.cmake @@ -14,7 +14,6 @@ macro(mbgl_platform_core) PRIVATE platform/darwin/src/nsthread.mm PRIVATE platform/darwin/src/string_nsstring.mm PRIVATE platform/default/bidi.cpp - PRIVATE platform/default/layer_manager.cpp PRIVATE platform/default/thread_local.cpp PRIVATE platform/default/utf.cpp @@ -116,6 +115,7 @@ endmacro() macro(mbgl_platform_test) target_sources(mbgl-test + PRIVATE platform/default/layer_manager.cpp PRIVATE platform/default/mbgl/test/main.cpp ) @@ -137,6 +137,7 @@ endmacro() macro(mbgl_platform_benchmark) target_sources(mbgl-benchmark + PRIVATE platform/default/layer_manager.cpp PRIVATE benchmark/src/main.cpp ) @@ -153,6 +154,9 @@ macro(mbgl_platform_benchmark) endmacro() macro(mbgl_platform_node) + target_sources(mbgl-core + PRIVATE platform/default/layer_manager.cpp + ) target_link_libraries(mbgl-node INTERFACE -exported_symbols_list ${CMAKE_SOURCE_DIR}/platform/node/symbol-list -dead_strip diff --git a/platform/macos/core-files.txt b/platform/macos/core-files.txt index 6cbac2c698..1c85deccef 100644 --- a/platform/macos/core-files.txt +++ b/platform/macos/core-files.txt @@ -134,29 +134,41 @@ platform/darwin/src/NSValue+MGLStyleAttributeAdditions.mm # SDK/Foundation/Styling/Layers platform/darwin/src/MGLBackgroundStyleLayer.h platform/darwin/src/MGLBackgroundStyleLayer.mm +platform/darwin/src/MGLBackgroundStyleLayer_Private.h platform/darwin/src/MGLCircleStyleLayer.h platform/darwin/src/MGLCircleStyleLayer.mm +platform/darwin/src/MGLCircleStyleLayer_Private.h platform/darwin/src/MGLFillExtrusionStyleLayer.h platform/darwin/src/MGLFillExtrusionStyleLayer.mm +platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h platform/darwin/src/MGLFillStyleLayer.h platform/darwin/src/MGLFillStyleLayer.mm +platform/darwin/src/MGLFillStyleLayer_Private.h platform/darwin/src/MGLForegroundStyleLayer.h platform/darwin/src/MGLForegroundStyleLayer.mm platform/darwin/src/MGLHeatmapStyleLayer.h platform/darwin/src/MGLHeatmapStyleLayer.mm +platform/darwin/src/MGLHeatmapStyleLayer_Private.h platform/darwin/src/MGLHillshadeStyleLayer.h platform/darwin/src/MGLHillshadeStyleLayer.mm +platform/darwin/src/MGLHillshadeStyleLayer_Private.h platform/darwin/src/MGLLineStyleLayer.h platform/darwin/src/MGLLineStyleLayer.mm +platform/darwin/src/MGLLineStyleLayer_Private.h platform/darwin/src/MGLOpenGLStyleLayer.h platform/darwin/src/MGLOpenGLStyleLayer.mm +platform/darwin/src/MGLOpenGLStyleLayer_Private.h platform/darwin/src/MGLRasterStyleLayer.h platform/darwin/src/MGLRasterStyleLayer.mm +platform/darwin/src/MGLRasterStyleLayer_Private.h platform/darwin/src/MGLStyleLayer.h platform/darwin/src/MGLStyleLayer.mm +platform/darwin/src/MGLStyleLayerManager.h +platform/darwin/src/MGLStyleLayerManager.mm platform/darwin/src/MGLStyleLayer_Private.h platform/darwin/src/MGLSymbolStyleLayer.h platform/darwin/src/MGLSymbolStyleLayer.mm +platform/darwin/src/MGLSymbolStyleLayer_Private.h platform/darwin/src/MGLVectorStyleLayer.h platform/darwin/src/MGLVectorStyleLayer.m diff --git a/platform/macos/macos.xcodeproj/project.pbxproj b/platform/macos/macos.xcodeproj/project.pbxproj index bdfeb00009..f84c3fbd06 100644 --- a/platform/macos/macos.xcodeproj/project.pbxproj +++ b/platform/macos/macos.xcodeproj/project.pbxproj @@ -93,6 +93,18 @@ 55D120A31F7906E6004B6D81 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */; }; 55D120A51F790A0C004B6D81 /* libmbgl-filesource.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 55D120A41F7906E6004B6D81 /* libmbgl-filesource.a */; }; 55E2AD111E5B0A6900E8C587 /* MGLOfflineStorageTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 55E2AD101E5B0A6900E8C587 /* MGLOfflineStorageTests.mm */; }; + 747ABE59219B2BDB00523B67 /* MGLFillExtrusionStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE54219B2BDA00523B67 /* MGLFillExtrusionStyleLayer_Private.h */; }; + 747ABE5A219B2BDB00523B67 /* MGLCircleStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE55219B2BDA00523B67 /* MGLCircleStyleLayer_Private.h */; }; + 747ABE5B219B2BDB00523B67 /* MGLBackgroundStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE56219B2BDB00523B67 /* MGLBackgroundStyleLayer_Private.h */; }; + 747ABE5C219B2BDB00523B67 /* MGLFillStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE57219B2BDB00523B67 /* MGLFillStyleLayer_Private.h */; }; + 747ABE5D219B2BDB00523B67 /* MGLHeatmapStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE58219B2BDB00523B67 /* MGLHeatmapStyleLayer_Private.h */; }; + 747ABE5F219B2BED00523B67 /* MGLHillshadeStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE5E219B2BED00523B67 /* MGLHillshadeStyleLayer_Private.h */; }; + 747ABE61219B2C0000523B67 /* MGLLineStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE60219B2C0000523B67 /* MGLLineStyleLayer_Private.h */; }; + 747ABE64219B2C1800523B67 /* MGLOpenGLStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE62219B2C1700523B67 /* MGLOpenGLStyleLayer_Private.h */; }; + 747ABE65219B2C1800523B67 /* MGLRasterStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE63219B2C1700523B67 /* MGLRasterStyleLayer_Private.h */; }; + 747ABE67219B2C3200523B67 /* MGLSymbolStyleLayer_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 747ABE66219B2C3200523B67 /* MGLSymbolStyleLayer_Private.h */; }; + 749EC8912199CCB9005608D7 /* MGLStyleLayerManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 749EC88F2199CCB8005608D7 /* MGLStyleLayerManager.h */; }; + 749EC8932199CCB9005608D7 /* MGLStyleLayerManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 749EC8902199CCB9005608D7 /* MGLStyleLayerManager.mm */; }; 89462399200D199100DA8EF2 /* heatmap.json in Resources */ = {isa = PBXBuildFile; fileRef = 89462398200D199100DA8EF2 /* heatmap.json */; }; 8946239D200E744800DA8EF2 /* MGLHeatmapStyleLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8946239A200E73CA00DA8EF2 /* MGLHeatmapStyleLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; 894623A0200E748000DA8EF2 /* MGLHeatmapStyleLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8946239B200E73CA00DA8EF2 /* MGLHeatmapStyleLayer.mm */; }; @@ -393,6 +405,18 @@ 55D9B4B01D005D3900C1CCE2 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; 55E2AD101E5B0A6900E8C587 /* MGLOfflineStorageTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = MGLOfflineStorageTests.mm; path = ../../darwin/test/MGLOfflineStorageTests.mm; sourceTree = "<group>"; }; 55FE0E8D1D100A0900FD240B /* config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = config.xcconfig; path = ../../build/macos/config.xcconfig; sourceTree = "<group>"; }; + 747ABE54219B2BDA00523B67 /* MGLFillExtrusionStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFillExtrusionStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE55219B2BDA00523B67 /* MGLCircleStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLCircleStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE56219B2BDB00523B67 /* MGLBackgroundStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLBackgroundStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE57219B2BDB00523B67 /* MGLFillStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLFillStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE58219B2BDB00523B67 /* MGLHeatmapStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHeatmapStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE5E219B2BED00523B67 /* MGLHillshadeStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHillshadeStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE60219B2C0000523B67 /* MGLLineStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLLineStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE62219B2C1700523B67 /* MGLOpenGLStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLOpenGLStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE63219B2C1700523B67 /* MGLRasterStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLRasterStyleLayer_Private.h; sourceTree = "<group>"; }; + 747ABE66219B2C3200523B67 /* MGLSymbolStyleLayer_Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLSymbolStyleLayer_Private.h; sourceTree = "<group>"; }; + 749EC88F2199CCB8005608D7 /* MGLStyleLayerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLStyleLayerManager.h; sourceTree = "<group>"; }; + 749EC8902199CCB9005608D7 /* MGLStyleLayerManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLStyleLayerManager.mm; sourceTree = "<group>"; }; 89462398200D199100DA8EF2 /* heatmap.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = heatmap.json; sourceTree = "<group>"; }; 8946239A200E73CA00DA8EF2 /* MGLHeatmapStyleLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGLHeatmapStyleLayer.h; sourceTree = "<group>"; }; 8946239B200E73CA00DA8EF2 /* MGLHeatmapStyleLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MGLHeatmapStyleLayer.mm; sourceTree = "<group>"; }; @@ -705,6 +729,18 @@ 35136D471D42295400C20EFD /* Layers */ = { isa = PBXGroup; children = ( + 747ABE66219B2C3200523B67 /* MGLSymbolStyleLayer_Private.h */, + 747ABE62219B2C1700523B67 /* MGLOpenGLStyleLayer_Private.h */, + 747ABE63219B2C1700523B67 /* MGLRasterStyleLayer_Private.h */, + 747ABE60219B2C0000523B67 /* MGLLineStyleLayer_Private.h */, + 747ABE5E219B2BED00523B67 /* MGLHillshadeStyleLayer_Private.h */, + 747ABE56219B2BDB00523B67 /* MGLBackgroundStyleLayer_Private.h */, + 747ABE55219B2BDA00523B67 /* MGLCircleStyleLayer_Private.h */, + 747ABE54219B2BDA00523B67 /* MGLFillExtrusionStyleLayer_Private.h */, + 747ABE57219B2BDB00523B67 /* MGLFillStyleLayer_Private.h */, + 747ABE58219B2BDB00523B67 /* MGLHeatmapStyleLayer_Private.h */, + 749EC88F2199CCB8005608D7 /* MGLStyleLayerManager.h */, + 749EC8902199CCB9005608D7 /* MGLStyleLayerManager.mm */, DA8F25851D51C9E10010E6B5 /* MGLBackgroundStyleLayer.h */, DA8F25861D51C9E10010E6B5 /* MGLBackgroundStyleLayer.mm */, 3527428B1D4C24AB00A1ECE6 /* MGLCircleStyleLayer.h */, @@ -1227,10 +1263,14 @@ 3508EC641D749D39009B0EE4 /* NSExpression+MGLAdditions.h in Headers */, DAE6C38D1CC31E2A00DB3429 /* MGLOfflineRegion_Private.h in Headers */, DA7DC9831DED647F0027472F /* MGLRasterTileSource_Private.h in Headers */, + 747ABE5B219B2BDB00523B67 /* MGLBackgroundStyleLayer_Private.h in Headers */, 1753ED401E53CE6100A9FD90 /* MGLConversion.h in Headers */, + 747ABE59219B2BDB00523B67 /* MGLFillExtrusionStyleLayer_Private.h in Headers */, DA8F259C1D51CB000010E6B5 /* MGLStyleValue_Private.h in Headers */, DAE6C35B1CC31E0400DB3429 /* MGLAnnotation.h in Headers */, DAE6C3B61CC31EF300DB3429 /* MGLMapView_Private.h in Headers */, + 747ABE65219B2C1800523B67 /* MGLRasterStyleLayer_Private.h in Headers */, + 747ABE5D219B2BDB00523B67 /* MGLHeatmapStyleLayer_Private.h in Headers */, DAF25716201901C200367EF5 /* MGLHillshadeStyleLayer.h in Headers */, 92092EF01F5EB10E00AF5130 /* MGLMapSnapshotter.h in Headers */, 3527428D1D4C24AB00A1ECE6 /* MGLCircleStyleLayer.h in Headers */, @@ -1242,6 +1282,7 @@ DAE6C3A31CC31E9400DB3429 /* MGLAnnotationImage.h in Headers */, DAE6C3A41CC31E9400DB3429 /* MGLMapView.h in Headers */, DAE6C3611CC31E0400DB3429 /* MGLOfflineStorage.h in Headers */, + 749EC8912199CCB9005608D7 /* MGLStyleLayerManager.h in Headers */, 352742781D4C220900A1ECE6 /* MGLStyleValue.h in Headers */, DAE6C35E1CC31E0400DB3429 /* MGLMultiPoint.h in Headers */, 35602BFF1D3EA9B40050646F /* MGLStyleLayer_Private.h in Headers */, @@ -1258,6 +1299,7 @@ DAE6C39C1CC31E2A00DB3429 /* NSString+MGLAdditions.h in Headers */, 1F8A5A06216D4696004DFE75 /* MGLLoggingConfiguration.h in Headers */, 3529039B1D6C63B80002C7DF /* NSPredicate+MGLAdditions.h in Headers */, + 747ABE5A219B2BDB00523B67 /* MGLCircleStyleLayer_Private.h in Headers */, DA8F25971D51CAC70010E6B5 /* MGLVectorTileSource.h in Headers */, DA7DC9811DED5F5C0027472F /* MGLVectorTileSource_Private.h in Headers */, DAE6C3861CC31E2A00DB3429 /* MGLGeometry_Private.h in Headers */, @@ -1280,6 +1322,7 @@ DA35A2A41CC9EB1A00E826B2 /* MGLCoordinateFormatter.h in Headers */, 35C5D8491D6DD66D00E95907 /* NSCompoundPredicate+MGLAdditions.h in Headers */, 9250B8C32073C69100EF338C /* MGLShapeOfflineRegion.h in Headers */, + 747ABE67219B2C3200523B67 /* MGLSymbolStyleLayer_Private.h in Headers */, DD0902B31DB1AC6400C5BDCE /* MGLNetworkConfiguration.h in Headers */, DAE6C3621CC31E0400DB3429 /* MGLOverlay.h in Headers */, DAE6C3651CC31E0400DB3429 /* MGLPolyline.h in Headers */, @@ -1292,6 +1335,8 @@ 1F7454A31ECFB00300021D39 /* MGLLight_Private.h in Headers */, 359819591E02F611008FC139 /* NSCoder+MGLAdditions.h in Headers */, DAE6C38E1CC31E2A00DB3429 /* MGLOfflineStorage_Private.h in Headers */, + 747ABE61219B2C0000523B67 /* MGLLineStyleLayer_Private.h in Headers */, + 747ABE5F219B2BED00523B67 /* MGLHillshadeStyleLayer_Private.h in Headers */, DA87A9A01DC9DC6200810D09 /* MGLValueEvaluator.h in Headers */, 8946239D200E744800DA8EF2 /* MGLHeatmapStyleLayer.h in Headers */, DAE6C3601CC31E0400DB3429 /* MGLOfflineRegion.h in Headers */, @@ -1318,6 +1363,7 @@ 35D65C5A1D65AD5500722C23 /* NSDate+MGLAdditions.h in Headers */, 355BA4ED1D41633E00CCC6D5 /* NSColor+MGLAdditions.h in Headers */, DAE6C3891CC31E2A00DB3429 /* MGLMultiPoint_Private.h in Headers */, + 747ABE64219B2C1800523B67 /* MGLOpenGLStyleLayer_Private.h in Headers */, DAE6C3A51CC31E9400DB3429 /* MGLMapView+IBAdditions.h in Headers */, DA35A2AD1CCA091800E826B2 /* MGLCompassDirectionFormatter.h in Headers */, 352742851D4C244700A1ECE6 /* MGLRasterTileSource.h in Headers */, @@ -1329,6 +1375,7 @@ DA6408D71DA4E5DA00908C90 /* MGLVectorStyleLayer.h in Headers */, 352742891D4C245800A1ECE6 /* MGLShapeSource.h in Headers */, 1F7454A41ECFB00300021D39 /* MGLLight.h in Headers */, + 747ABE5C219B2BDB00523B67 /* MGLFillStyleLayer_Private.h in Headers */, 408AA8671DAEEE3900022900 /* NSDictionary+MGLAdditions.h in Headers */, DAE6C3671CC31E0400DB3429 /* MGLStyle.h in Headers */, 3EA9317388DC9A0BF46B7674 /* MGLRendererConfiguration.h in Headers */, @@ -1569,6 +1616,7 @@ 558DE7A71E56161C00C7916D /* MGLFoundation.mm in Sources */, DAE6C39D1CC31E2A00DB3429 /* NSString+MGLAdditions.m in Sources */, 3598195A1E02F611008FC139 /* NSCoder+MGLAdditions.mm in Sources */, + 749EC8932199CCB9005608D7 /* MGLStyleLayerManager.mm in Sources */, DAE6C3941CC31E2A00DB3429 /* MGLStyle.mm in Sources */, DAE6C3871CC31E2A00DB3429 /* MGLGeometry.mm in Sources */, 894623A0200E748000DA8EF2 /* MGLHeatmapStyleLayer.mm in Sources */, |