From 01b94de107de875a6889258e72e5e060c0de0881 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Mon, 15 Aug 2016 13:47:25 -0700 Subject: fixes #5957: automatically call update() for iOS runtime style API --- platform/darwin/scripts/generate-style-code.js | 21 +++++++--- platform/darwin/src/MGLBackgroundStyleLayer.mm | 4 ++ platform/darwin/src/MGLBaseStyleLayer.h | 5 --- platform/darwin/src/MGLBaseStyleLayer.mm | 6 ++- platform/darwin/src/MGLBaseStyleLayer_Private.hpp | 7 ++++ platform/darwin/src/MGLCircleStyleLayer.mm | 8 ++++ platform/darwin/src/MGLFillStyleLayer.mm | 8 ++++ platform/darwin/src/MGLLineStyleLayer.mm | 15 +++++++ platform/darwin/src/MGLRasterStyleLayer.mm | 8 ++++ platform/darwin/src/MGLStyleLayer.mm.ejs | 1 + platform/darwin/src/MGLSymbolStyleLayer.mm | 49 +++++++++++++++++++++++ platform/ios/app/MBXViewController.m | 2 - 12 files changed, 120 insertions(+), 14 deletions(-) create mode 100644 platform/darwin/src/MGLBaseStyleLayer_Private.hpp (limited to 'platform') diff --git a/platform/darwin/scripts/generate-style-code.js b/platform/darwin/scripts/generate-style-code.js index fd1cf2f66d..e28b4c0d11 100644 --- a/platform/darwin/scripts/generate-style-code.js +++ b/platform/darwin/scripts/generate-style-code.js @@ -100,22 +100,31 @@ global.initLayer = function (layerType) { } global.setterImplementation = function(property, layerType) { + var implementation = ''; switch (property.type) { case 'boolean': - return `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_boolPropertyValue);`; + implementation = `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_boolPropertyValue);`; + break; case 'number': - return `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_floatPropertyValue);`; + implementation = `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_floatPropertyValue);`; + break; case 'string': - return `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_stringPropertyValue);`; + implementation = `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_stringPropertyValue);`; + break; case 'enum': var objCType = `${prefix}${camelize(layerType)}${suffix}${camelize(property.name)}`; - return `MGLSetEnumProperty(${objCName(property)}, ${camelize(property.name)}, ${mbglType(property)}, ${objCType});`; + implementation = `MGLSetEnumProperty(${objCName(property)}, ${camelize(property.name)}, ${mbglType(property)}, ${objCType});`; + break; case 'color': - return `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_colorPropertyValue);`; + implementation = `self.layer->set${camelize(property.name)}(${objCName(property)}.mbgl_colorPropertyValue);`; + break; case 'array': - return arraySetterImplementation(property); + implementation = arraySetterImplementation(property); + break; default: throw new Error(`unknown type for ${property.name}`) } + implementation += "\n [self update];" + return implementation; } global.mbglType = function(property) { diff --git a/platform/darwin/src/MGLBackgroundStyleLayer.mm b/platform/darwin/src/MGLBackgroundStyleLayer.mm index 66e308bb1f..80f803815c 100644 --- a/platform/darwin/src/MGLBackgroundStyleLayer.mm +++ b/platform/darwin/src/MGLBackgroundStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLBackgroundStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setBackgroundColor:(id )backgroundColor { self.layer->setBackgroundColor(backgroundColor.mbgl_colorPropertyValue); + [self update]; } - (id )backgroundColor { @@ -40,6 +42,7 @@ - (void)setBackgroundPattern:(id )backgroundPattern { self.layer->setBackgroundPattern(backgroundPattern.mbgl_stringPropertyValue); + [self update]; } - (id )backgroundPattern { @@ -48,6 +51,7 @@ - (void)setBackgroundOpacity:(id )backgroundOpacity { self.layer->setBackgroundOpacity(backgroundOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )backgroundOpacity { diff --git a/platform/darwin/src/MGLBaseStyleLayer.h b/platform/darwin/src/MGLBaseStyleLayer.h index 597b67cdc2..d7d4e70a51 100644 --- a/platform/darwin/src/MGLBaseStyleLayer.h +++ b/platform/darwin/src/MGLBaseStyleLayer.h @@ -14,9 +14,4 @@ */ @property (nonatomic, assign) float minimumZoomLevel; -/** - Updates the layer’s layout and paint properties. - */ -- (void)update; - @end diff --git a/platform/darwin/src/MGLBaseStyleLayer.mm b/platform/darwin/src/MGLBaseStyleLayer.mm index c567ce33d8..6e13bd29fd 100644 --- a/platform/darwin/src/MGLBaseStyleLayer.mm +++ b/platform/darwin/src/MGLBaseStyleLayer.mm @@ -1,5 +1,6 @@ #import "MGLBaseStyleLayer.h" +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLMapView_Private.hpp" @@ -16,7 +17,10 @@ - (void)update { - self.mapView.mbglMap->update(mbgl::Update::RecalculateStyle | mbgl::Update::Classes); + // A style layer's map view can be nil when first created at runtime + // before being added to a map style. In these cases, just no-op since + // the addition of the layer will trigger a visual refresh. + if (self.mapView) self.mapView.mbglMap->update(mbgl::Update::RecalculateStyle | mbgl::Update::Classes); } - (void)setVisible:(BOOL)visible diff --git a/platform/darwin/src/MGLBaseStyleLayer_Private.hpp b/platform/darwin/src/MGLBaseStyleLayer_Private.hpp new file mode 100644 index 0000000000..e3d43906a4 --- /dev/null +++ b/platform/darwin/src/MGLBaseStyleLayer_Private.hpp @@ -0,0 +1,7 @@ +#import "MGLBaseStyleLayer.h" + +@interface MGLBaseStyleLayer (MGLBaseStyleLayer_Private) + +- (void)update; + +@end diff --git a/platform/darwin/src/MGLCircleStyleLayer.mm b/platform/darwin/src/MGLCircleStyleLayer.mm index 44d6e39e79..783b80e77f 100644 --- a/platform/darwin/src/MGLCircleStyleLayer.mm +++ b/platform/darwin/src/MGLCircleStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLCircleStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setCircleRadius:(id )circleRadius { self.layer->setCircleRadius(circleRadius.mbgl_floatPropertyValue); + [self update]; } - (id )circleRadius { @@ -40,6 +42,7 @@ - (void)setCircleColor:(id )circleColor { self.layer->setCircleColor(circleColor.mbgl_colorPropertyValue); + [self update]; } - (id )circleColor { @@ -48,6 +51,7 @@ - (void)setCircleBlur:(id )circleBlur { self.layer->setCircleBlur(circleBlur.mbgl_floatPropertyValue); + [self update]; } - (id )circleBlur { @@ -56,6 +60,7 @@ - (void)setCircleOpacity:(id )circleOpacity { self.layer->setCircleOpacity(circleOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )circleOpacity { @@ -64,6 +69,7 @@ - (void)setCircleTranslate:(id )circleTranslate { self.layer->setCircleTranslate(circleTranslate.mbgl_offsetPropertyValue); + [self update]; } - (id )circleTranslate { @@ -72,6 +78,7 @@ - (void)setCircleTranslateAnchor:(id )circleTranslateAnchor { MGLSetEnumProperty(circleTranslateAnchor, CircleTranslateAnchor, TranslateAnchorType, MGLCircleStyleLayerCircleTranslateAnchor); + [self update]; } - (id )circleTranslateAnchor { @@ -80,6 +87,7 @@ - (void)setCirclePitchScale:(id )circlePitchScale { MGLSetEnumProperty(circlePitchScale, CirclePitchScale, CirclePitchScaleType, MGLCircleStyleLayerCirclePitchScale); + [self update]; } - (id )circlePitchScale { diff --git a/platform/darwin/src/MGLFillStyleLayer.mm b/platform/darwin/src/MGLFillStyleLayer.mm index 95e82a2e52..7127c3a5de 100644 --- a/platform/darwin/src/MGLFillStyleLayer.mm +++ b/platform/darwin/src/MGLFillStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLFillStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setFillAntialias:(id )fillAntialias { self.layer->setFillAntialias(fillAntialias.mbgl_boolPropertyValue); + [self update]; } - (id )fillAntialias { @@ -40,6 +42,7 @@ - (void)setFillOpacity:(id )fillOpacity { self.layer->setFillOpacity(fillOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )fillOpacity { @@ -48,6 +51,7 @@ - (void)setFillColor:(id )fillColor { self.layer->setFillColor(fillColor.mbgl_colorPropertyValue); + [self update]; } - (id )fillColor { @@ -56,6 +60,7 @@ - (void)setFillOutlineColor:(id )fillOutlineColor { self.layer->setFillOutlineColor(fillOutlineColor.mbgl_colorPropertyValue); + [self update]; } - (id )fillOutlineColor { @@ -64,6 +69,7 @@ - (void)setFillTranslate:(id )fillTranslate { self.layer->setFillTranslate(fillTranslate.mbgl_offsetPropertyValue); + [self update]; } - (id )fillTranslate { @@ -72,6 +78,7 @@ - (void)setFillTranslateAnchor:(id )fillTranslateAnchor { MGLSetEnumProperty(fillTranslateAnchor, FillTranslateAnchor, TranslateAnchorType, MGLFillStyleLayerFillTranslateAnchor); + [self update]; } - (id )fillTranslateAnchor { @@ -80,6 +87,7 @@ - (void)setFillPattern:(id )fillPattern { self.layer->setFillPattern(fillPattern.mbgl_stringPropertyValue); + [self update]; } - (id )fillPattern { diff --git a/platform/darwin/src/MGLLineStyleLayer.mm b/platform/darwin/src/MGLLineStyleLayer.mm index 8c6ee1e6d2..de802a490b 100644 --- a/platform/darwin/src/MGLLineStyleLayer.mm +++ b/platform/darwin/src/MGLLineStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLLineStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setLineCap:(id )lineCap { MGLSetEnumProperty(lineCap, LineCap, LineCapType, MGLLineStyleLayerLineCap); + [self update]; } - (id )lineCap { @@ -40,6 +42,7 @@ - (void)setLineJoin:(id )lineJoin { MGLSetEnumProperty(lineJoin, LineJoin, LineJoinType, MGLLineStyleLayerLineJoin); + [self update]; } - (id )lineJoin { @@ -48,6 +51,7 @@ - (void)setLineMiterLimit:(id )lineMiterLimit { self.layer->setLineMiterLimit(lineMiterLimit.mbgl_floatPropertyValue); + [self update]; } - (id )lineMiterLimit { @@ -56,6 +60,7 @@ - (void)setLineRoundLimit:(id )lineRoundLimit { self.layer->setLineRoundLimit(lineRoundLimit.mbgl_floatPropertyValue); + [self update]; } - (id )lineRoundLimit { @@ -66,6 +71,7 @@ - (void)setLineOpacity:(id )lineOpacity { self.layer->setLineOpacity(lineOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )lineOpacity { @@ -74,6 +80,7 @@ - (void)setLineColor:(id )lineColor { self.layer->setLineColor(lineColor.mbgl_colorPropertyValue); + [self update]; } - (id )lineColor { @@ -82,6 +89,7 @@ - (void)setLineTranslate:(id )lineTranslate { self.layer->setLineTranslate(lineTranslate.mbgl_offsetPropertyValue); + [self update]; } - (id )lineTranslate { @@ -90,6 +98,7 @@ - (void)setLineTranslateAnchor:(id )lineTranslateAnchor { MGLSetEnumProperty(lineTranslateAnchor, LineTranslateAnchor, TranslateAnchorType, MGLLineStyleLayerLineTranslateAnchor); + [self update]; } - (id )lineTranslateAnchor { @@ -98,6 +107,7 @@ - (void)setLineWidth:(id )lineWidth { self.layer->setLineWidth(lineWidth.mbgl_floatPropertyValue); + [self update]; } - (id )lineWidth { @@ -106,6 +116,7 @@ - (void)setLineGapWidth:(id )lineGapWidth { self.layer->setLineGapWidth(lineGapWidth.mbgl_floatPropertyValue); + [self update]; } - (id )lineGapWidth { @@ -114,6 +125,7 @@ - (void)setLineOffset:(id )lineOffset { self.layer->setLineOffset(lineOffset.mbgl_floatPropertyValue); + [self update]; } - (id )lineOffset { @@ -122,6 +134,7 @@ - (void)setLineBlur:(id )lineBlur { self.layer->setLineBlur(lineBlur.mbgl_floatPropertyValue); + [self update]; } - (id )lineBlur { @@ -130,6 +143,7 @@ - (void)setLineDasharray:(id )lineDasharray { self.layer->setLineDasharray(lineDasharray.mbgl_numberArrayPropertyValue); + [self update]; } - (id )lineDasharray { @@ -138,6 +152,7 @@ - (void)setLinePattern:(id )linePattern { self.layer->setLinePattern(linePattern.mbgl_stringPropertyValue); + [self update]; } - (id )linePattern { diff --git a/platform/darwin/src/MGLRasterStyleLayer.mm b/platform/darwin/src/MGLRasterStyleLayer.mm index f976f3ddaf..fc2a407054 100644 --- a/platform/darwin/src/MGLRasterStyleLayer.mm +++ b/platform/darwin/src/MGLRasterStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLRasterStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setRasterOpacity:(id )rasterOpacity { self.layer->setRasterOpacity(rasterOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )rasterOpacity { @@ -40,6 +42,7 @@ - (void)setRasterHueRotate:(id )rasterHueRotate { self.layer->setRasterHueRotate(rasterHueRotate.mbgl_floatPropertyValue); + [self update]; } - (id )rasterHueRotate { @@ -48,6 +51,7 @@ - (void)setRasterBrightnessMin:(id )rasterBrightnessMin { self.layer->setRasterBrightnessMin(rasterBrightnessMin.mbgl_floatPropertyValue); + [self update]; } - (id )rasterBrightnessMin { @@ -56,6 +60,7 @@ - (void)setRasterBrightnessMax:(id )rasterBrightnessMax { self.layer->setRasterBrightnessMax(rasterBrightnessMax.mbgl_floatPropertyValue); + [self update]; } - (id )rasterBrightnessMax { @@ -64,6 +69,7 @@ - (void)setRasterSaturation:(id )rasterSaturation { self.layer->setRasterSaturation(rasterSaturation.mbgl_floatPropertyValue); + [self update]; } - (id )rasterSaturation { @@ -72,6 +78,7 @@ - (void)setRasterContrast:(id )rasterContrast { self.layer->setRasterContrast(rasterContrast.mbgl_floatPropertyValue); + [self update]; } - (id )rasterContrast { @@ -80,6 +87,7 @@ - (void)setRasterFadeDuration:(id )rasterFadeDuration { self.layer->setRasterFadeDuration(rasterFadeDuration.mbgl_floatPropertyValue); + [self update]; } - (id )rasterFadeDuration { diff --git a/platform/darwin/src/MGLStyleLayer.mm.ejs b/platform/darwin/src/MGLStyleLayer.mm.ejs index c360898098..cf0cbc6e1a 100644 --- a/platform/darwin/src/MGLStyleLayer.mm.ejs +++ b/platform/darwin/src/MGLStyleLayer.mm.ejs @@ -6,6 +6,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGL<%- camelize(type) %>StyleLayer.h" diff --git a/platform/darwin/src/MGLSymbolStyleLayer.mm b/platform/darwin/src/MGLSymbolStyleLayer.mm index 335d0bfc6c..030ed81e44 100644 --- a/platform/darwin/src/MGLSymbolStyleLayer.mm +++ b/platform/darwin/src/MGLSymbolStyleLayer.mm @@ -1,6 +1,7 @@ // This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make style-code-darwin`. +#import "MGLBaseStyleLayer_Private.hpp" #import "MGLStyleLayer_Private.hpp" #import "MGLStyleAttributeValue.h" #import "MGLSymbolStyleLayer.h" @@ -32,6 +33,7 @@ - (void)setSymbolPlacement:(id )symbolPlacement { MGLSetEnumProperty(symbolPlacement, SymbolPlacement, SymbolPlacementType, MGLSymbolStyleLayerSymbolPlacement); + [self update]; } - (id )symbolPlacement { @@ -40,6 +42,7 @@ - (void)setSymbolSpacing:(id )symbolSpacing { self.layer->setSymbolSpacing(symbolSpacing.mbgl_floatPropertyValue); + [self update]; } - (id )symbolSpacing { @@ -48,6 +51,7 @@ - (void)setSymbolAvoidEdges:(id )symbolAvoidEdges { self.layer->setSymbolAvoidEdges(symbolAvoidEdges.mbgl_boolPropertyValue); + [self update]; } - (id )symbolAvoidEdges { @@ -56,6 +60,7 @@ - (void)setIconAllowOverlap:(id )iconAllowOverlap { self.layer->setIconAllowOverlap(iconAllowOverlap.mbgl_boolPropertyValue); + [self update]; } - (id )iconAllowOverlap { @@ -64,6 +69,7 @@ - (void)setIconIgnorePlacement:(id )iconIgnorePlacement { self.layer->setIconIgnorePlacement(iconIgnorePlacement.mbgl_boolPropertyValue); + [self update]; } - (id )iconIgnorePlacement { @@ -72,6 +78,7 @@ - (void)setIconOptional:(id )iconOptional { self.layer->setIconOptional(iconOptional.mbgl_boolPropertyValue); + [self update]; } - (id )iconOptional { @@ -80,6 +87,7 @@ - (void)setIconRotationAlignment:(id )iconRotationAlignment { MGLSetEnumProperty(iconRotationAlignment, IconRotationAlignment, AlignmentType, MGLSymbolStyleLayerIconRotationAlignment); + [self update]; } - (id )iconRotationAlignment { @@ -88,6 +96,7 @@ - (void)setIconSize:(id )iconSize { self.layer->setIconSize(iconSize.mbgl_floatPropertyValue); + [self update]; } - (id )iconSize { @@ -96,6 +105,7 @@ - (void)setIconTextFit:(id )iconTextFit { MGLSetEnumProperty(iconTextFit, IconTextFit, IconTextFitType, MGLSymbolStyleLayerIconTextFit); + [self update]; } - (id )iconTextFit { @@ -104,6 +114,7 @@ - (void)setIconTextFitPadding:(id )iconTextFitPadding { self.layer->setIconTextFitPadding(iconTextFitPadding.mbgl_paddingPropertyValue); + [self update]; } - (id )iconTextFitPadding { @@ -112,6 +123,7 @@ - (void)setIconImage:(id )iconImage { self.layer->setIconImage(iconImage.mbgl_stringPropertyValue); + [self update]; } - (id )iconImage { @@ -120,6 +132,7 @@ - (void)setIconRotate:(id )iconRotate { self.layer->setIconRotate(iconRotate.mbgl_floatPropertyValue); + [self update]; } - (id )iconRotate { @@ -128,6 +141,7 @@ - (void)setIconPadding:(id )iconPadding { self.layer->setIconPadding(iconPadding.mbgl_floatPropertyValue); + [self update]; } - (id )iconPadding { @@ -136,6 +150,7 @@ - (void)setIconKeepUpright:(id )iconKeepUpright { self.layer->setIconKeepUpright(iconKeepUpright.mbgl_boolPropertyValue); + [self update]; } - (id )iconKeepUpright { @@ -144,6 +159,7 @@ - (void)setIconOffset:(id )iconOffset { self.layer->setIconOffset(iconOffset.mbgl_offsetPropertyValue); + [self update]; } - (id )iconOffset { @@ -152,6 +168,7 @@ - (void)setTextPitchAlignment:(id )textPitchAlignment { MGLSetEnumProperty(textPitchAlignment, TextPitchAlignment, AlignmentType, MGLSymbolStyleLayerTextPitchAlignment); + [self update]; } - (id )textPitchAlignment { @@ -160,6 +177,7 @@ - (void)setTextRotationAlignment:(id )textRotationAlignment { MGLSetEnumProperty(textRotationAlignment, TextRotationAlignment, AlignmentType, MGLSymbolStyleLayerTextRotationAlignment); + [self update]; } - (id )textRotationAlignment { @@ -168,6 +186,7 @@ - (void)setTextField:(id )textField { self.layer->setTextField(textField.mbgl_stringPropertyValue); + [self update]; } - (id )textField { @@ -176,6 +195,7 @@ - (void)setTextFont:(id )textFont { self.layer->setTextFont(textFont.mbgl_stringArrayPropertyValue); + [self update]; } - (id )textFont { @@ -184,6 +204,7 @@ - (void)setTextSize:(id )textSize { self.layer->setTextSize(textSize.mbgl_floatPropertyValue); + [self update]; } - (id )textSize { @@ -192,6 +213,7 @@ - (void)setTextMaxWidth:(id )textMaxWidth { self.layer->setTextMaxWidth(textMaxWidth.mbgl_floatPropertyValue); + [self update]; } - (id )textMaxWidth { @@ -200,6 +222,7 @@ - (void)setTextLineHeight:(id )textLineHeight { self.layer->setTextLineHeight(textLineHeight.mbgl_floatPropertyValue); + [self update]; } - (id )textLineHeight { @@ -208,6 +231,7 @@ - (void)setTextLetterSpacing:(id )textLetterSpacing { self.layer->setTextLetterSpacing(textLetterSpacing.mbgl_floatPropertyValue); + [self update]; } - (id )textLetterSpacing { @@ -216,6 +240,7 @@ - (void)setTextJustify:(id )textJustify { MGLSetEnumProperty(textJustify, TextJustify, TextJustifyType, MGLSymbolStyleLayerTextJustify); + [self update]; } - (id )textJustify { @@ -224,6 +249,7 @@ - (void)setTextAnchor:(id )textAnchor { MGLSetEnumProperty(textAnchor, TextAnchor, TextAnchorType, MGLSymbolStyleLayerTextAnchor); + [self update]; } - (id )textAnchor { @@ -232,6 +258,7 @@ - (void)setTextMaxAngle:(id )textMaxAngle { self.layer->setTextMaxAngle(textMaxAngle.mbgl_floatPropertyValue); + [self update]; } - (id )textMaxAngle { @@ -240,6 +267,7 @@ - (void)setTextRotate:(id )textRotate { self.layer->setTextRotate(textRotate.mbgl_floatPropertyValue); + [self update]; } - (id )textRotate { @@ -248,6 +276,7 @@ - (void)setTextPadding:(id )textPadding { self.layer->setTextPadding(textPadding.mbgl_floatPropertyValue); + [self update]; } - (id )textPadding { @@ -256,6 +285,7 @@ - (void)setTextKeepUpright:(id )textKeepUpright { self.layer->setTextKeepUpright(textKeepUpright.mbgl_boolPropertyValue); + [self update]; } - (id )textKeepUpright { @@ -264,6 +294,7 @@ - (void)setTextTransform:(id )textTransform { MGLSetEnumProperty(textTransform, TextTransform, TextTransformType, MGLSymbolStyleLayerTextTransform); + [self update]; } - (id )textTransform { @@ -272,6 +303,7 @@ - (void)setTextOffset:(id )textOffset { self.layer->setTextOffset(textOffset.mbgl_offsetPropertyValue); + [self update]; } - (id )textOffset { @@ -280,6 +312,7 @@ - (void)setTextAllowOverlap:(id )textAllowOverlap { self.layer->setTextAllowOverlap(textAllowOverlap.mbgl_boolPropertyValue); + [self update]; } - (id )textAllowOverlap { @@ -288,6 +321,7 @@ - (void)setTextIgnorePlacement:(id )textIgnorePlacement { self.layer->setTextIgnorePlacement(textIgnorePlacement.mbgl_boolPropertyValue); + [self update]; } - (id )textIgnorePlacement { @@ -296,6 +330,7 @@ - (void)setTextOptional:(id )textOptional { self.layer->setTextOptional(textOptional.mbgl_boolPropertyValue); + [self update]; } - (id )textOptional { @@ -306,6 +341,7 @@ - (void)setIconOpacity:(id )iconOpacity { self.layer->setIconOpacity(iconOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )iconOpacity { @@ -314,6 +350,7 @@ - (void)setIconColor:(id )iconColor { self.layer->setIconColor(iconColor.mbgl_colorPropertyValue); + [self update]; } - (id )iconColor { @@ -322,6 +359,7 @@ - (void)setIconHaloColor:(id )iconHaloColor { self.layer->setIconHaloColor(iconHaloColor.mbgl_colorPropertyValue); + [self update]; } - (id )iconHaloColor { @@ -330,6 +368,7 @@ - (void)setIconHaloWidth:(id )iconHaloWidth { self.layer->setIconHaloWidth(iconHaloWidth.mbgl_floatPropertyValue); + [self update]; } - (id )iconHaloWidth { @@ -338,6 +377,7 @@ - (void)setIconHaloBlur:(id )iconHaloBlur { self.layer->setIconHaloBlur(iconHaloBlur.mbgl_floatPropertyValue); + [self update]; } - (id )iconHaloBlur { @@ -346,6 +386,7 @@ - (void)setIconTranslate:(id )iconTranslate { self.layer->setIconTranslate(iconTranslate.mbgl_offsetPropertyValue); + [self update]; } - (id )iconTranslate { @@ -354,6 +395,7 @@ - (void)setIconTranslateAnchor:(id )iconTranslateAnchor { MGLSetEnumProperty(iconTranslateAnchor, IconTranslateAnchor, TranslateAnchorType, MGLSymbolStyleLayerIconTranslateAnchor); + [self update]; } - (id )iconTranslateAnchor { @@ -362,6 +404,7 @@ - (void)setTextOpacity:(id )textOpacity { self.layer->setTextOpacity(textOpacity.mbgl_floatPropertyValue); + [self update]; } - (id )textOpacity { @@ -370,6 +413,7 @@ - (void)setTextColor:(id )textColor { self.layer->setTextColor(textColor.mbgl_colorPropertyValue); + [self update]; } - (id )textColor { @@ -378,6 +422,7 @@ - (void)setTextHaloColor:(id )textHaloColor { self.layer->setTextHaloColor(textHaloColor.mbgl_colorPropertyValue); + [self update]; } - (id )textHaloColor { @@ -386,6 +431,7 @@ - (void)setTextHaloWidth:(id )textHaloWidth { self.layer->setTextHaloWidth(textHaloWidth.mbgl_floatPropertyValue); + [self update]; } - (id )textHaloWidth { @@ -394,6 +440,7 @@ - (void)setTextHaloBlur:(id )textHaloBlur { self.layer->setTextHaloBlur(textHaloBlur.mbgl_floatPropertyValue); + [self update]; } - (id )textHaloBlur { @@ -402,6 +449,7 @@ - (void)setTextTranslate:(id )textTranslate { self.layer->setTextTranslate(textTranslate.mbgl_offsetPropertyValue); + [self update]; } - (id )textTranslate { @@ -410,6 +458,7 @@ - (void)setTextTranslateAnchor:(id )textTranslateAnchor { MGLSetEnumProperty(textTranslateAnchor, TextTranslateAnchor, TranslateAnchorType, MGLSymbolStyleLayerTextTranslateAnchor); + [self update]; } - (id )textTranslateAnchor { diff --git a/platform/ios/app/MBXViewController.m b/platform/ios/app/MBXViewController.m index df1c446c21..f1eed9625b 100644 --- a/platform/ios/app/MBXViewController.m +++ b/platform/ios/app/MBXViewController.m @@ -509,8 +509,6 @@ static NSString * const MBXViewControllerAnnotationViewReuseIdentifer = @"MBXVie @14: @NO, @15: @YES}; waterLayer.fillAntialias = fillAntialias; - - [waterLayer update]; } - (void)styleRoadLayer -- cgit v1.2.1