summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLStyleLayer.h.ejs
blob: 3b576e766ba93b1f11841fe90f5200f0421cb83c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<%
  const type = locals.type;
  const layoutProperties = locals.layoutProperties;
  const paintProperties = locals.paintProperties;
  const layoutPropertiesByName = locals.layoutPropertiesByName;
  const paintPropertiesByName = locals.paintPropertiesByName;
-%>
// This file is generated. 
// Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`.

#import "MGLStyleValue.h"
#import "MGL<%-
(type === 'background' ? '' :
 (type === 'raster' ? 'Foreground' :
  'Vector'))
%>StyleLayer.h"

NS_ASSUME_NONNULL_BEGIN

<% for (const property of layoutProperties) { -%>
<% if (property.type == "enum") { -%>
/**
 <%- propertyDoc(property.name, property, type) %>
 
 Values of this type are used in the `<%- camelizeWithLeadingLowercase(property.name) %>` property of `MGL<%- camelize(type) %>StyleLayer`.
 */
typedef NS_ENUM(NSUInteger, MGL<%- camelize(property.name) %>) {
<% for (const value in property.values) { -%>
    /**
     <%- propertyDoc(property.name, property.values[value], type) %>
     */
    MGL<%- camelize(property.name) %><%- camelize(value) %>,
<% } -%>
};

<% } -%>
<% } -%>
<% for (const property of paintProperties) { -%>
<% if (property.type == "enum") { -%>
/**
 <%- propertyDoc(property.name, property, type) %>
 
 Values of this type are used in the `<%- camelizeWithLeadingLowercase(property.name) %>` property of `MGL<%- camelize(type) %>StyleLayer`.
 */
typedef NS_ENUM(NSUInteger, MGL<%- camelize(property.name) %>) {
<% for (const value in property.values) { -%>
    /**
     <%- propertyDoc(property.name, property.values[value], type) %>
     */
    MGL<%- camelize(property.name) %><%- camelize(value) %>,
<% } -%>
};

<% } -%>
<% } -%>
<% if (type == 'background') { -%>
/**
 A map style's background layer is the bottommost layer and is used to style a color 
 or pattern to show below all other map features. You can query an `MGLMapView` for its 
 `style` and obtain the background layer using the `-[MGLStyle layerWithIdentifier:]` 
 method and passing `background` for the identifier. 
 */
<% } else { -%>
/**
 A <%- type %> layer which allows customization of styling properties at runtime. You may 
 instantiate a new <%- type %> layer to add to a map style or you may query an 
 `MGLMapView` for its `style` and obtain existing layers using the 
 `-[MGLStyle layerWithIdentifier:]` method. 
 */
<% } -%>
@interface MGL<%- camelize(type) %>StyleLayer : MGL<%-
(type === 'background' ? '' :
 (type === 'raster' ? 'Foreground' :
  'Vector'))
%>StyleLayer
<% if (type === 'background') { -%>

- (instancetype)initWithIdentifier:(NSString *)identifier NS_DESIGNATED_INITIALIZER;
<% } -%>

<% if (layoutProperties.length) { -%>
#pragma mark - Accessing the Layout Attributes

<% for (const property of layoutProperties) { -%>
/**
 <%- propertyDoc(property.name, property, type) %>
<% if ('default' in property) { -%>
 
 The default value of this property is <%- propertyDefault(property, type) %>.<% if (!property.required) { %> Set this property to `nil` to reset it to the default value.<% } %>
<% } if (property.requires) { -%>
 
 <%- propertyReqs(property, layoutPropertiesByName, type) %>
<% } -%>
<% if (property.original) { -%>
 
 This attribute corresponds to the <a href="https://www.mapbox.com/mapbox-gl-style-spec/#layout-<%- type -%>-<%- property.original -%>"><code><%- property.original -%></code></a> layout property in the Mapbox Style Specification.
<% } -%>
 */
@property (nonatomic<% if (!property.required) { %>, null_resettable<% } if (property.getter) { %>, getter=<%- objCGetter(property) -%><% } %>) MGLStyleValue<<%- propertyType(property, true) %>> *<%- camelizeWithLeadingLowercase(property.name) %>;

<% if (property.original) { %>
@property (nonatomic<% if (!property.required) { %>, null_resettable<% } %>) MGLStyleValue<<%- propertyType(property, true) %>> *<%- camelizeWithLeadingLowercase(originalPropertyName(property)) %> __attribute__((unavailable("Use <%- camelizeWithLeadingLowercase(property.name) %> instead.")));

<% } -%>
<% } -%>
<% } -%>
<% if (paintProperties.length) { -%>
#pragma mark - Accessing the Paint Attributes

<% for (const property of paintProperties) { -%>
/**
 <%- propertyDoc(property.name, property, type) %>
<% if ('default' in property) { -%>
 
 The default value of this property is <%- propertyDefault(property, type) %>.<% if (!property.required) { %> Set this property to `nil` to reset it to the default value.<% } %>
<% } if (property.requires) { -%>

 <%- propertyReqs(property, paintPropertiesByName, type) %>
<% } -%>
<% if (property.original) { -%>
 
 This attribute corresponds to the <a href="https://www.mapbox.com/mapbox-gl-style-spec/#paint-<%- property.original -%>"><code><%- property.original -%></code></a> paint property in the Mapbox Style Specification.
<% } -%>
 */
@property (nonatomic<% if (!property.required) { %>, null_resettable<% } if (property.getter) { %>, getter=<%- objCGetter(property) -%><% } %>) MGLStyleValue<<%- propertyType(property, true) %>> *<%- camelizeWithLeadingLowercase(property.name) %>;

<% if (property.original) { %>
@property (nonatomic<% if (!property.required) { %>, null_resettable<% } %>) MGLStyleValue<<%- propertyType(property, true) %>> *<%- camelizeWithLeadingLowercase(originalPropertyName(property)) %> __attribute__((unavailable("Use <%- camelizeWithLeadingLowercase(property.name) %> instead.")));

<% } -%>
<% } -%>
<% } -%>
@end

NS_ASSUME_NONNULL_END