summaryrefslogtreecommitdiff
path: root/src/mbgl/style/layers/layer.cpp.ejs
diff options
context:
space:
mode:
authordanswick <dan.swick@gmail.com>2019-09-18 11:39:43 -0700
committerdanswick <dan.swick@gmail.com>2019-09-18 11:39:43 -0700
commit46914ecff8b3f2a1945b33358a879c2aac074f17 (patch)
tree697cf276a43ae4c18c0ad7029c00e7d771448822 /src/mbgl/style/layers/layer.cpp.ejs
parent47ea84ad1a5fed3431d026c5765c17c507d4623e (diff)
parent8805defe57aa0d8886c7828d39b1b9b1f17f21b8 (diff)
downloadqtlocation-mapboxgl-upstream/android-docs-automation.tar.gz
Merge branch 'master' into android-docs-automationupstream/android-docs-automation
Diffstat (limited to 'src/mbgl/style/layers/layer.cpp.ejs')
-rw-r--r--src/mbgl/style/layers/layer.cpp.ejs36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/mbgl/style/layers/layer.cpp.ejs b/src/mbgl/style/layers/layer.cpp.ejs
index da34565461..eee2d0583e 100644
--- a/src/mbgl/style/layers/layer.cpp.ejs
+++ b/src/mbgl/style/layers/layer.cpp.ejs
@@ -27,13 +27,20 @@ let defaults = { caps: { 'Source': 'NotRequired',
'Pass3D': 'NotRequired',
'Layout': 'NotRequired',
'FadingTiles': 'NotRequired',
- 'CrossTileIndex': 'NotRequired'
+ 'CrossTileIndex': 'NotRequired',
+ 'TileKind' : 'NotRequired'
},
require: function(cap) {
- let copy = Object.assign({}, this);
- copy.caps = Object.assign({}, this.caps);
- copy.caps[cap] = 'Required';
- return copy;
+ let copy = Object.assign({}, this);
+ copy.caps = Object.assign({}, this.caps);
+ copy.caps[cap] = 'Required';
+ return copy;
+ },
+ set: function(cap, value) {
+ let copy = Object.assign({}, this);
+ copy.caps = Object.assign({}, this.caps);
+ copy.caps[cap] = value;
+ return copy;
},
finalize: function() {
return Object.keys(this.caps).reduce((acc, key) => {
@@ -46,30 +53,35 @@ let defaults = { caps: { 'Source': 'NotRequired',
layerCapabilities['background'] = defaults.finalize();
layerCapabilities['fill'] = defaults.require('Source')
.require('Layout')
+ .set('TileKind', 'Geometry')
.finalize();
layerCapabilities['fill-extrusion'] = defaults.require('Source')
.require('Pass3D')
.require('Layout')
+ .set('TileKind', 'Geometry')
.finalize();
layerCapabilities['hillshade'] = defaults.require('Source')
.require('Pass3D')
+ .set('TileKind', 'RasterDEM')
.finalize();
layerCapabilities['symbol'] = defaults.require('Source')
.require('Layout')
.require('FadingTiles')
.require('CrossTileIndex')
+ .set('TileKind', 'Geometry')
.finalize();
-layerCapabilities['circle'] = defaults.require('Source').finalize();
+layerCapabilities['circle'] = defaults.require('Source').set('TileKind', 'Geometry').finalize();
layerCapabilities['line'] = layerCapabilities['fill'];
-layerCapabilities['heatmap'] = layerCapabilities['hillshade'];
-layerCapabilities['raster'] = layerCapabilities['circle'];
+layerCapabilities['heatmap'] = defaults.require('Source')
+ .require('Pass3D')
+ .set('TileKind', 'Geometry')
+ .finalize();
+layerCapabilities['raster'] = defaults.require('Source').set('TileKind', 'Raster').finalize();
%>
// static
const LayerTypeInfo* <%- camelize(type) %>Layer::Impl::staticTypeInfo() noexcept {
- const static LayerTypeInfo typeInfo
- {"<%- type %>",
- <%-`${layerCapabilities[type].map(cap => `LayerTypeInfo::${cap}`).join(',\n ')}` %>
- };
+ const static LayerTypeInfo typeInfo{"<%- type %>",
+ <%-`${layerCapabilities[type].map(cap => `LayerTypeInfo::${cap}`).join(',\n ')}` %>};
return &typeInfo;
}