Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Commit 0be8a79

Browse files
committed
[ios, macos] #5626 - added support for more types
1 parent 5a41967 commit 0be8a79

21 files changed

+275
-166
lines changed

platform/darwin/scripts/generate-style-code.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,14 @@ global.propertyType = function (property, layerType = null) {
6565
global.setterImplementation = function(property, layerType = null) {
6666
switch (property.type) {
6767
case 'boolean':
68-
return `// ${layerType}Layer->set${camelize(property.name)}(${camelizeWithLeadingLowercase(property.name)});`;
68+
return `${layerType}Layer->set${camelize(property.name)}(${camelizeWithLeadingLowercase(property.name)}.numberValue.mbgl_booleanPropertyValue);`;
6969
case 'number':
7070
return `// ${layerType}Layer->set${camelize(property.name)}(${camelizeWithLeadingLowercase(property.name)}.number.floatValue);`;
7171
case 'string':
7272
return `// ${layerType}Layer->set${camelize(property.name)}(std::string(${camelizeWithLeadingLowercase(property.name)}.string.UTF8String));`;
7373
case 'enum':
7474
return `// TODO: setterEnum`;
7575
case 'color':
76-
//fillLayer->setFillColor([MGLStyleAttribute colorPropertyValueWith:fillColor]);//fillLayer->setFillColor(fillColor.colorValue.mbgl_color);
7776
return `${layerType}Layer->set${camelize(property.name)}(${camelizeWithLeadingLowercase(property.name)}.colorValue.mbgl_propertyValue);`;
7877
case 'array':
7978
return '// TODO: setterArray';
@@ -84,17 +83,20 @@ global.setterImplementation = function(property, layerType = null) {
8483
global.getterImplementation = function(property, layerType = null) {
8584
switch (property.type) {
8685
case 'boolean':
87-
return `return [[MGLStyleAttribute alloc] init]; //return ${layerType}Layer->get${camelize(property.name)}().asConstant();`;
86+
return `return [NSNumber mbgl_booleanWithPropertyValue:${layerType}Layer->get${camelize(property.name)}()];`;
8887
case 'number':
89-
return `return [[MGLStyleAttribute alloc] init]; //return ${layerType}Layer->get${camelize(property.name)}().asConstant();`;
88+
return `return [NSNumber mbgl_numberWithPropertyValue:${layerType}Layer->get${camelize(property.name)}()];`;
9089
case 'string':
91-
return `return [[MGLStyleAttribute alloc] init]; //return @(std::string(${layerType}Layer->get${camelize(property.name)}().asConstant()).c_str());`
90+
//return `return [NSNumber mbgl_numberWithPropertyValue:${layerType}Layer->get${camelize(property.name)}()];`;
91+
return `return @"";`;
9292
case 'enum':
93-
return `return [[MGLStyleAttribute alloc] init]; //return ${prefix}${camelize(layerType)}${suffix}${camelize(property.name)}${camelize(property.values[0])};`
93+
//return `return [[MGLStyleAttribute alloc] init]; //return ${prefix}${camelize(layerType)}${suffix}${camelize(property.name)}${camelize(property.values[0])};`
94+
return `return @0;`;
9495
case 'color':
9596
return `return [MGLColor mbgl_propertyValue:${camelizeWithLeadingLowercase(layerType)}Layer->get${camelize(property.name)}()];`
9697
case 'array':
97-
return 'return [[MGLStyleAttribute alloc] init]; //return @[]; // TODO: getterArray';
98+
//return `return [NSArray mbgl_arrayWithPropertyValue:${layerType}Layer->get${camelize(property.name)}()];`;
99+
return `return @[];`;
98100
default:
99101
throw new Error(`unknown type for ${property.name}`)
100102
}

platform/darwin/src/MGLBackgroundStyleLayer.mm

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#import "MGLStyleLayer_Private.hpp"
55
#import "MGLStyleAttributeValue.h"
6-
#import "MGLStyleAttribute.hpp"
6+
#import "NSNumber+MGLStyleAttributeAdditions_Private.hpp"
7+
#import "NSArray+MGLStyleAttributeAdditions_Private.hpp"
8+
#import "NSString+MGLStyleAttributeAdditions_Private.hpp"
79
#import "MGLBackgroundStyleLayer.h"
810
#import <mbgl/style/layers/background_layer.hpp>
911

@@ -35,15 +37,15 @@ - (void)setBackgroundPattern:(id <MGLStyleAttributeValue>)backgroundPattern
3537
}
3638
- (id <MGLStyleAttributeValue>)backgroundPattern
3739
{
38-
return [[MGLStyleAttribute alloc] init]; //return @(std::string(backgroundLayer->getBackgroundPattern().asConstant()).c_str());
40+
return @"";
3941
}
4042
- (void)setBackgroundOpacity:(id <MGLStyleAttributeValue>)backgroundOpacity
4143
{
4244
// backgroundLayer->setBackgroundOpacity(backgroundOpacity.number.floatValue);
4345
}
4446
- (id <MGLStyleAttributeValue>)backgroundOpacity
4547
{
46-
return [[MGLStyleAttribute alloc] init]; //return backgroundLayer->getBackgroundOpacity().asConstant();
48+
return [NSNumber mbgl_numberWithPropertyValue:backgroundLayer->getBackgroundOpacity()];
4749
}
4850

4951
@end

platform/darwin/src/MGLCircleStyleLayer.mm

+9-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#import "MGLStyleLayer_Private.hpp"
55
#import "MGLStyleAttributeValue.h"
6-
#import "MGLStyleAttribute.hpp"
6+
#import "NSNumber+MGLStyleAttributeAdditions_Private.hpp"
7+
#import "NSArray+MGLStyleAttributeAdditions_Private.hpp"
8+
#import "NSString+MGLStyleAttributeAdditions_Private.hpp"
79
#import "MGLCircleStyleLayer.h"
810
#import <mbgl/style/layers/circle_layer.hpp>
911

@@ -27,7 +29,7 @@ - (void)setCircleRadius:(id <MGLStyleAttributeValue>)circleRadius
2729
}
2830
- (id <MGLStyleAttributeValue>)circleRadius
2931
{
30-
return [[MGLStyleAttribute alloc] init]; //return circleLayer->getCircleRadius().asConstant();
32+
return [NSNumber mbgl_numberWithPropertyValue:circleLayer->getCircleRadius()];
3133
}
3234
- (void)setCircleColor:(id <MGLStyleAttributeValue>)circleColor
3335
{
@@ -43,39 +45,39 @@ - (void)setCircleBlur:(id <MGLStyleAttributeValue>)circleBlur
4345
}
4446
- (id <MGLStyleAttributeValue>)circleBlur
4547
{
46-
return [[MGLStyleAttribute alloc] init]; //return circleLayer->getCircleBlur().asConstant();
48+
return [NSNumber mbgl_numberWithPropertyValue:circleLayer->getCircleBlur()];
4749
}
4850
- (void)setCircleOpacity:(id <MGLStyleAttributeValue>)circleOpacity
4951
{
5052
// circleLayer->setCircleOpacity(circleOpacity.number.floatValue);
5153
}
5254
- (id <MGLStyleAttributeValue>)circleOpacity
5355
{
54-
return [[MGLStyleAttribute alloc] init]; //return circleLayer->getCircleOpacity().asConstant();
56+
return [NSNumber mbgl_numberWithPropertyValue:circleLayer->getCircleOpacity()];
5557
}
5658
- (void)setCircleTranslate:(id <MGLStyleAttributeValue>)circleTranslate
5759
{
5860
// TODO: setterArray
5961
}
6062
- (id <MGLStyleAttributeValue>)circleTranslate
6163
{
62-
return [[MGLStyleAttribute alloc] init]; //return @[]; // TODO: getterArray
64+
return @[];
6365
}
6466
- (void)setCircleTranslateAnchor:(id <MGLStyleAttributeValue>)circleTranslateAnchor
6567
{
6668
// TODO: setterEnum
6769
}
6870
- (id <MGLStyleAttributeValue>)circleTranslateAnchor
6971
{
70-
return [[MGLStyleAttribute alloc] init]; //return MGLCircleStyleLayerCircleTranslateAnchorMap;
72+
return @0;
7173
}
7274
- (void)setCirclePitchScale:(id <MGLStyleAttributeValue>)circlePitchScale
7375
{
7476
// TODO: setterEnum
7577
}
7678
- (id <MGLStyleAttributeValue>)circlePitchScale
7779
{
78-
return [[MGLStyleAttribute alloc] init]; //return MGLCircleStyleLayerCirclePitchScaleMap;
80+
return @0;
7981
}
8082

8183
@end

platform/darwin/src/MGLFillStyleLayer.mm

+9-7
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#import "MGLStyleLayer_Private.hpp"
55
#import "MGLStyleAttributeValue.h"
6-
#import "MGLStyleAttribute.hpp"
6+
#import "NSNumber+MGLStyleAttributeAdditions_Private.hpp"
7+
#import "NSArray+MGLStyleAttributeAdditions_Private.hpp"
8+
#import "NSString+MGLStyleAttributeAdditions_Private.hpp"
79
#import "MGLFillStyleLayer.h"
810
#import <mbgl/style/layers/fill_layer.hpp>
911

@@ -23,19 +25,19 @@ - (void)setLayer:(mbgl::style::Layer *)layer
2325

2426
- (void)setFillAntialias:(id <MGLStyleAttributeValue>)fillAntialias
2527
{
26-
// fillLayer->setFillAntialias(fillAntialias);
28+
fillLayer->setFillAntialias(fillAntialias.numberValue.mbgl_booleanPropertyValue);
2729
}
2830
- (id <MGLStyleAttributeValue>)fillAntialias
2931
{
30-
return [[MGLStyleAttribute alloc] init]; //return fillLayer->getFillAntialias().asConstant();
32+
return [NSNumber mbgl_booleanWithPropertyValue:fillLayer->getFillAntialias()];
3133
}
3234
- (void)setFillOpacity:(id <MGLStyleAttributeValue>)fillOpacity
3335
{
3436
// fillLayer->setFillOpacity(fillOpacity.number.floatValue);
3537
}
3638
- (id <MGLStyleAttributeValue>)fillOpacity
3739
{
38-
return [[MGLStyleAttribute alloc] init]; //return fillLayer->getFillOpacity().asConstant();
40+
return [NSNumber mbgl_numberWithPropertyValue:fillLayer->getFillOpacity()];
3941
}
4042
- (void)setFillColor:(id <MGLStyleAttributeValue>)fillColor
4143
{
@@ -59,23 +61,23 @@ - (void)setFillTranslate:(id <MGLStyleAttributeValue>)fillTranslate
5961
}
6062
- (id <MGLStyleAttributeValue>)fillTranslate
6163
{
62-
return [[MGLStyleAttribute alloc] init]; //return @[]; // TODO: getterArray
64+
return @[];
6365
}
6466
- (void)setFillTranslateAnchor:(id <MGLStyleAttributeValue>)fillTranslateAnchor
6567
{
6668
// TODO: setterEnum
6769
}
6870
- (id <MGLStyleAttributeValue>)fillTranslateAnchor
6971
{
70-
return [[MGLStyleAttribute alloc] init]; //return MGLFillStyleLayerFillTranslateAnchorMap;
72+
return @0;
7173
}
7274
- (void)setFillPattern:(id <MGLStyleAttributeValue>)fillPattern
7375
{
7476
// fillLayer->setFillPattern(std::string(fillPattern.string.UTF8String));
7577
}
7678
- (id <MGLStyleAttributeValue>)fillPattern
7779
{
78-
return [[MGLStyleAttribute alloc] init]; //return @(std::string(fillLayer->getFillPattern().asConstant()).c_str());
80+
return @"";
7981
}
8082

8183
@end

platform/darwin/src/MGLLineStyleLayer.mm

+16-14
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#import "MGLStyleLayer_Private.hpp"
55
#import "MGLStyleAttributeValue.h"
6-
#import "MGLStyleAttribute.hpp"
6+
#import "NSNumber+MGLStyleAttributeAdditions_Private.hpp"
7+
#import "NSArray+MGLStyleAttributeAdditions_Private.hpp"
8+
#import "NSString+MGLStyleAttributeAdditions_Private.hpp"
79
#import "MGLLineStyleLayer.h"
810
#import <mbgl/style/layers/line_layer.hpp>
911

@@ -29,7 +31,7 @@ - (void)setLineCap:(id <MGLStyleAttributeValue>)lineCap
2931

3032
- (id <MGLStyleAttributeValue>)lineCap
3133
{
32-
return [[MGLStyleAttribute alloc] init]; //return MGLLineStyleLayerLineCapButt;
34+
return @0;
3335
}
3436

3537
- (void)setLineJoin:(id <MGLStyleAttributeValue>)lineJoin
@@ -39,7 +41,7 @@ - (void)setLineJoin:(id <MGLStyleAttributeValue>)lineJoin
3941

4042
- (id <MGLStyleAttributeValue>)lineJoin
4143
{
42-
return [[MGLStyleAttribute alloc] init]; //return MGLLineStyleLayerLineJoinBevel;
44+
return @0;
4345
}
4446

4547
- (void)setLineMiterLimit:(id <MGLStyleAttributeValue>)lineMiterLimit
@@ -49,7 +51,7 @@ - (void)setLineMiterLimit:(id <MGLStyleAttributeValue>)lineMiterLimit
4951

5052
- (id <MGLStyleAttributeValue>)lineMiterLimit
5153
{
52-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineMiterLimit().asConstant();
54+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineMiterLimit()];
5355
}
5456

5557
- (void)setLineRoundLimit:(id <MGLStyleAttributeValue>)lineRoundLimit
@@ -59,7 +61,7 @@ - (void)setLineRoundLimit:(id <MGLStyleAttributeValue>)lineRoundLimit
5961

6062
- (id <MGLStyleAttributeValue>)lineRoundLimit
6163
{
62-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineRoundLimit().asConstant();
64+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineRoundLimit()];
6365
}
6466
#pragma mark - Accessing the Paint Attributes
6567

@@ -69,7 +71,7 @@ - (void)setLineOpacity:(id <MGLStyleAttributeValue>)lineOpacity
6971
}
7072
- (id <MGLStyleAttributeValue>)lineOpacity
7173
{
72-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineOpacity().asConstant();
74+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineOpacity()];
7375
}
7476
- (void)setLineColor:(id <MGLStyleAttributeValue>)lineColor
7577
{
@@ -85,63 +87,63 @@ - (void)setLineTranslate:(id <MGLStyleAttributeValue>)lineTranslate
8587
}
8688
- (id <MGLStyleAttributeValue>)lineTranslate
8789
{
88-
return [[MGLStyleAttribute alloc] init]; //return @[]; // TODO: getterArray
90+
return @[];
8991
}
9092
- (void)setLineTranslateAnchor:(id <MGLStyleAttributeValue>)lineTranslateAnchor
9193
{
9294
// TODO: setterEnum
9395
}
9496
- (id <MGLStyleAttributeValue>)lineTranslateAnchor
9597
{
96-
return [[MGLStyleAttribute alloc] init]; //return MGLLineStyleLayerLineTranslateAnchorMap;
98+
return @0;
9799
}
98100
- (void)setLineWidth:(id <MGLStyleAttributeValue>)lineWidth
99101
{
100102
// lineLayer->setLineWidth(lineWidth.number.floatValue);
101103
}
102104
- (id <MGLStyleAttributeValue>)lineWidth
103105
{
104-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineWidth().asConstant();
106+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineWidth()];
105107
}
106108
- (void)setLineGapWidth:(id <MGLStyleAttributeValue>)lineGapWidth
107109
{
108110
// lineLayer->setLineGapWidth(lineGapWidth.number.floatValue);
109111
}
110112
- (id <MGLStyleAttributeValue>)lineGapWidth
111113
{
112-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineGapWidth().asConstant();
114+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineGapWidth()];
113115
}
114116
- (void)setLineOffset:(id <MGLStyleAttributeValue>)lineOffset
115117
{
116118
// lineLayer->setLineOffset(lineOffset.number.floatValue);
117119
}
118120
- (id <MGLStyleAttributeValue>)lineOffset
119121
{
120-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineOffset().asConstant();
122+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineOffset()];
121123
}
122124
- (void)setLineBlur:(id <MGLStyleAttributeValue>)lineBlur
123125
{
124126
// lineLayer->setLineBlur(lineBlur.number.floatValue);
125127
}
126128
- (id <MGLStyleAttributeValue>)lineBlur
127129
{
128-
return [[MGLStyleAttribute alloc] init]; //return lineLayer->getLineBlur().asConstant();
130+
return [NSNumber mbgl_numberWithPropertyValue:lineLayer->getLineBlur()];
129131
}
130132
- (void)setLineDasharray:(id <MGLStyleAttributeValue>)lineDasharray
131133
{
132134
// TODO: setterArray
133135
}
134136
- (id <MGLStyleAttributeValue>)lineDasharray
135137
{
136-
return [[MGLStyleAttribute alloc] init]; //return @[]; // TODO: getterArray
138+
return @[];
137139
}
138140
- (void)setLinePattern:(id <MGLStyleAttributeValue>)linePattern
139141
{
140142
// lineLayer->setLinePattern(std::string(linePattern.string.UTF8String));
141143
}
142144
- (id <MGLStyleAttributeValue>)linePattern
143145
{
144-
return [[MGLStyleAttribute alloc] init]; //return @(std::string(lineLayer->getLinePattern().asConstant()).c_str());
146+
return @"";
145147
}
146148

147149
@end

platform/darwin/src/MGLRasterStyleLayer.mm

+10-8
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33

44
#import "MGLStyleLayer_Private.hpp"
55
#import "MGLStyleAttributeValue.h"
6-
#import "MGLStyleAttribute.hpp"
6+
#import "NSNumber+MGLStyleAttributeAdditions_Private.hpp"
7+
#import "NSArray+MGLStyleAttributeAdditions_Private.hpp"
8+
#import "NSString+MGLStyleAttributeAdditions_Private.hpp"
79
#import "MGLRasterStyleLayer.h"
810
#import <mbgl/style/layers/raster_layer.hpp>
911

@@ -27,55 +29,55 @@ - (void)setRasterOpacity:(id <MGLStyleAttributeValue>)rasterOpacity
2729
}
2830
- (id <MGLStyleAttributeValue>)rasterOpacity
2931
{
30-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterOpacity().asConstant();
32+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterOpacity()];
3133
}
3234
- (void)setRasterHueRotate:(id <MGLStyleAttributeValue>)rasterHueRotate
3335
{
3436
// rasterLayer->setRasterHueRotate(rasterHueRotate.number.floatValue);
3537
}
3638
- (id <MGLStyleAttributeValue>)rasterHueRotate
3739
{
38-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterHueRotate().asConstant();
40+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterHueRotate()];
3941
}
4042
- (void)setRasterBrightnessMin:(id <MGLStyleAttributeValue>)rasterBrightnessMin
4143
{
4244
// rasterLayer->setRasterBrightnessMin(rasterBrightnessMin.number.floatValue);
4345
}
4446
- (id <MGLStyleAttributeValue>)rasterBrightnessMin
4547
{
46-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterBrightnessMin().asConstant();
48+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterBrightnessMin()];
4749
}
4850
- (void)setRasterBrightnessMax:(id <MGLStyleAttributeValue>)rasterBrightnessMax
4951
{
5052
// rasterLayer->setRasterBrightnessMax(rasterBrightnessMax.number.floatValue);
5153
}
5254
- (id <MGLStyleAttributeValue>)rasterBrightnessMax
5355
{
54-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterBrightnessMax().asConstant();
56+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterBrightnessMax()];
5557
}
5658
- (void)setRasterSaturation:(id <MGLStyleAttributeValue>)rasterSaturation
5759
{
5860
// rasterLayer->setRasterSaturation(rasterSaturation.number.floatValue);
5961
}
6062
- (id <MGLStyleAttributeValue>)rasterSaturation
6163
{
62-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterSaturation().asConstant();
64+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterSaturation()];
6365
}
6466
- (void)setRasterContrast:(id <MGLStyleAttributeValue>)rasterContrast
6567
{
6668
// rasterLayer->setRasterContrast(rasterContrast.number.floatValue);
6769
}
6870
- (id <MGLStyleAttributeValue>)rasterContrast
6971
{
70-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterContrast().asConstant();
72+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterContrast()];
7173
}
7274
- (void)setRasterFadeDuration:(id <MGLStyleAttributeValue>)rasterFadeDuration
7375
{
7476
// rasterLayer->setRasterFadeDuration(rasterFadeDuration.number.floatValue);
7577
}
7678
- (id <MGLStyleAttributeValue>)rasterFadeDuration
7779
{
78-
return [[MGLStyleAttribute alloc] init]; //return rasterLayer->getRasterFadeDuration().asConstant();
80+
return [NSNumber mbgl_numberWithPropertyValue:rasterLayer->getRasterFadeDuration()];
7981
}
8082

8183
@end

0 commit comments

Comments
 (0)