summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-11-12 17:22:54 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-11-19 22:31:20 +0200
commit8077055b1ad5bb7324b81c9b199176124240237b (patch)
tree715e92591a4187469614f726566eaeefe2757e15
parent8ac87ec5cb2374d212a31942ca19ce395704eb69 (diff)
downloadqtlocation-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.
-rw-r--r--benchmark/fixtures/api/cache.dbbin1298432 -> 1298432 bytes
-rwxr-xr-xplatform/darwin/scripts/generate-style-code.js2
-rw-r--r--platform/darwin/src/MGLBackgroundStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLBackgroundStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLCircleStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLCircleStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLFillExtrusionStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLFillExtrusionStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLFillStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLFillStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLHeatmapStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLHeatmapStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLHillshadeStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLHillshadeStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLLineStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLLineStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLOpenGLStyleLayer.mm10
-rw-r--r--platform/darwin/src/MGLOpenGLStyleLayer_Private.h15
-rw-r--r--platform/darwin/src/MGLRasterStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLRasterStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLStyle.mm38
-rw-r--r--platform/darwin/src/MGLStyleLayer.mm.ejs11
-rw-r--r--platform/darwin/src/MGLStyleLayerManager.h30
-rw-r--r--platform/darwin/src/MGLStyleLayerManager.mm84
-rw-r--r--platform/darwin/src/MGLStyleLayer_Private.h17
-rw-r--r--platform/darwin/src/MGLStyleLayer_Private.h.ejs24
-rw-r--r--platform/darwin/src/MGLSymbolStyleLayer.mm11
-rw-r--r--platform/darwin/src/MGLSymbolStyleLayer_Private.h17
-rw-r--r--platform/ios/config.cmake1
-rw-r--r--platform/ios/core-files.txt12
-rw-r--r--platform/ios/ios.xcodeproj/project.pbxproj72
-rw-r--r--platform/macos/config.cmake6
-rw-r--r--platform/macos/core-files.txt12
-rw-r--r--platform/macos/macos.xcodeproj/project.pbxproj48
34 files changed, 587 insertions, 47 deletions
diff --git a/benchmark/fixtures/api/cache.db b/benchmark/fixtures/api/cache.db
index 14f083b081..e41174548d 100644
--- a/benchmark/fixtures/api/cache.db
+++ b/benchmark/fixtures/api/cache.db
Binary files differ
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 */,