diff options
author | Michael Muesch <muesch@fb.com> | 2019-01-10 15:25:19 -0500 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-01-17 18:56:58 +0200 |
commit | 24468956fc49ba1495e4dba7363a15b6f07f25e7 (patch) | |
tree | 7fe783926cc5c46e490727995c28b1ad5e64112c /platform/android | |
parent | dd3027c9b851e92b872caaccfaf3e4e602f14516 (diff) | |
download | qtlocation-mapboxgl-24468956fc49ba1495e4dba7363a15b6f07f25e7.tar.gz |
Ability to disable any layer using pre-processing flags.
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/src/style/layers/layer_manager.cpp | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/platform/android/src/style/layers/layer_manager.cpp b/platform/android/src/style/layers/layer_manager.cpp index 2f023bd3ae..7822502cfa 100644 --- a/platform/android/src/style/layers/layer_manager.cpp +++ b/platform/android/src/style/layers/layer_manager.cpp @@ -23,16 +23,56 @@ namespace mbgl { namespace android { LayerManagerAndroid::LayerManagerAndroid() { +#if defined(MBGL_LAYER_FILL_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<FillJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_FILL_DISABLE_ALL) addLayerType(std::make_unique<FillJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_LINE_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<LineJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_LINE_DISABLE_ALL) addLayerType(std::make_unique<LineJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_CIRCLE_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<CircleJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_CIRCLE_DISABLE_ALL) addLayerType(std::make_unique<CircleJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_SYMBOL_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<SymbolJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_SYMBOL_DISABLE_ALL) addLayerType(std::make_unique<SymbolJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_RASTER_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<RasterJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_RASTER_DISABLE_ALL) addLayerType(std::make_unique<RasterJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_BACKGROUND_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<BackgroundJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_BACKGROUND_DISABLE_ALL) addLayerType(std::make_unique<BackgroundJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_HILLSHADE_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<HillshadeJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_HILLSHADE_DISABLE_ALL) addLayerType(std::make_unique<HillshadeJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_FILL_EXTRUSION_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<FillExtrusionJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_FILL_EXTRUSION_DISABLE_ALL) addLayerType(std::make_unique<FillExtrusionJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_HEATMAP_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<HeatmapJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_HEATMAP_DISABLE_ALL) addLayerType(std::make_unique<HeatmapJavaLayerPeerFactory>()); +#endif +#if defined(MBGL_LAYER_CUSTOM_DISABLE_RUNTIME) + addLayerTypeCoreOnly(std::make_unique<CustomJavaLayerPeerFactory>()); +#elif !defined(MBGL_LAYER_CUSTOM_DISABLE_ALL) addLayerType(std::make_unique<CustomJavaLayerPeerFactory>()); +#endif } LayerManagerAndroid::~LayerManagerAndroid() = default; @@ -111,7 +151,7 @@ LayerFactory* LayerManagerAndroid::getFactory(const mbgl::style::LayerTypeInfo* return nullptr; } -// static +// static LayerManagerAndroid* LayerManagerAndroid::get() noexcept { static LayerManagerAndroid impl; return &impl; @@ -123,6 +163,10 @@ LayerManager* LayerManager::get() noexcept { return android::LayerManagerAndroid::get(); } +#if defined(MBGL_LAYER_LINE_DISABLE_ALL) || defined(MBGL_LAYER_SYMBOL_DISABLE_ALL) || defined(MBGL_LAYER_FILL_DISABLE_ALL) +const bool LayerManager::annotationsEnabled = false; +#else const bool LayerManager::annotationsEnabled = true; +#endif } // namespace mbgl |