// This file is generated. // Edit platform/darwin/scripts/generate-style-code.js, then run `make darwin-style-code`. #import "MGLSource.h" #import "NSPredicate+MGLAdditions.h" #import "NSDate+MGLAdditions.h" #import "MGLStyleLayer_Private.h" #import "MGLStyleValue_Private.h" #import "MGLLineStyleLayer.h" #include #include namespace mbgl { MBGL_DEFINE_ENUM(MGLLineCap, { { MGLLineCapButt, "butt" }, { MGLLineCapRound, "round" }, { MGLLineCapSquare, "square" }, }); MBGL_DEFINE_ENUM(MGLLineJoin, { { MGLLineJoinBevel, "bevel" }, { MGLLineJoinRound, "round" }, { MGLLineJoinMiter, "miter" }, }); MBGL_DEFINE_ENUM(MGLLineTranslationAnchor, { { MGLLineTranslationAnchorMap, "map" }, { MGLLineTranslationAnchorViewport, "viewport" }, }); } @interface MGLLineStyleLayer () @property (nonatomic, readonly) mbgl::style::LineLayer *rawLayer; @end @implementation MGLLineStyleLayer - (instancetype)initWithIdentifier:(NSString *)identifier source:(MGLSource *)source { auto layer = std::make_unique(identifier.UTF8String, source.identifier.UTF8String); return self = [super initWithPendingLayer:std::move(layer)]; } - (mbgl::style::LineLayer *)rawLayer { return (mbgl::style::LineLayer *)super.rawLayer; } - (NSString *)sourceIdentifier { MGLAssertStyleLayerIsValid(); return @(self.rawLayer->getSourceID().c_str()); } - (NSString *)sourceLayerIdentifier { MGLAssertStyleLayerIsValid(); auto layerID = self.rawLayer->getSourceLayer(); return layerID.empty() ? nil : @(layerID.c_str()); } - (void)setSourceLayerIdentifier:(NSString *)sourceLayerIdentifier { MGLAssertStyleLayerIsValid(); self.rawLayer->setSourceLayer(sourceLayerIdentifier.UTF8String ?: ""); } - (void)setPredicate:(NSPredicate *)predicate { MGLAssertStyleLayerIsValid(); self.rawLayer->setFilter(predicate ? predicate.mgl_filter : mbgl::style::NullFilter()); } - (NSPredicate *)predicate { MGLAssertStyleLayerIsValid(); return [NSPredicate mgl_predicateWithFilter:self.rawLayer->getFilter()]; } #pragma mark - Accessing the Layout Attributes - (void)setLineCap:(MGLStyleValue *)lineCap { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toEnumPropertyValue(lineCap); self.rawLayer->setLineCap(mbglValue); } - (MGLStyleValue *)lineCap { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineCap(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toEnumStyleValue(self.rawLayer->getDefaultLineCap()); } return MGLStyleValueTransformer().toEnumStyleValue(propertyValue); } - (void)setLineJoin:(MGLStyleValue *)lineJoin { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toEnumPropertyValue(lineJoin); self.rawLayer->setLineJoin(mbglValue); } - (MGLStyleValue *)lineJoin { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineJoin(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toEnumStyleValue(self.rawLayer->getDefaultLineJoin()); } return MGLStyleValueTransformer().toEnumStyleValue(propertyValue); } - (void)setLineMiterLimit:(MGLStyleValue *)lineMiterLimit { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toInterpolatablePropertyValue(lineMiterLimit); self.rawLayer->setLineMiterLimit(mbglValue); } - (MGLStyleValue *)lineMiterLimit { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineMiterLimit(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toStyleValue(self.rawLayer->getDefaultLineMiterLimit()); } return MGLStyleValueTransformer().toStyleValue(propertyValue); } - (void)setLineRoundLimit:(MGLStyleValue *)lineRoundLimit { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toInterpolatablePropertyValue(lineRoundLimit); self.rawLayer->setLineRoundLimit(mbglValue); } - (MGLStyleValue *)lineRoundLimit { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineRoundLimit(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toStyleValue(self.rawLayer->getDefaultLineRoundLimit()); } return MGLStyleValueTransformer().toStyleValue(propertyValue); } #pragma mark - Accessing the Paint Attributes - (void)setLineBlur:(MGLStyleValue *)lineBlur { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineBlur); self.rawLayer->setLineBlur(mbglValue); } - (MGLStyleValue *)lineBlur { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineBlur(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineBlur()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineBlurTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineBlurTransition(options); } - (MGLTransition)lineBlurTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineBlurTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineColor:(MGLStyleValue *)lineColor { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineColor); self.rawLayer->setLineColor(mbglValue); } - (MGLStyleValue *)lineColor { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineColor(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineColor()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineColorTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineColorTransition(options); } - (MGLTransition)lineColorTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineColorTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineDashPattern:(MGLStyleValue *> *)lineDashPattern { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer, NSArray *, float>().toPropertyValue(lineDashPattern); self.rawLayer->setLineDasharray(mbglValue); } - (MGLStyleValue *> *)lineDashPattern { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineDasharray(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer, NSArray *, float>().toStyleValue(self.rawLayer->getDefaultLineDasharray()); } return MGLStyleValueTransformer, NSArray *, float>().toStyleValue(propertyValue); } - (void)setLineDashPatternTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineDasharrayTransition(options); } - (MGLTransition)lineDashPatternTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineDasharrayTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineDasharray:(MGLStyleValue *> *)lineDasharray { } - (MGLStyleValue *> *)lineDasharray { return self.lineDashPattern; } - (void)setLineGapWidth:(MGLStyleValue *)lineGapWidth { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineGapWidth); self.rawLayer->setLineGapWidth(mbglValue); } - (MGLStyleValue *)lineGapWidth { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineGapWidth(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineGapWidth()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineGapWidthTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineGapWidthTransition(options); } - (MGLTransition)lineGapWidthTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineGapWidthTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineOffset:(MGLStyleValue *)lineOffset { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineOffset); self.rawLayer->setLineOffset(mbglValue); } - (MGLStyleValue *)lineOffset { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineOffset(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineOffset()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineOffsetTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineOffsetTransition(options); } - (MGLTransition)lineOffsetTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineOffsetTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineOpacity:(MGLStyleValue *)lineOpacity { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineOpacity); self.rawLayer->setLineOpacity(mbglValue); } - (MGLStyleValue *)lineOpacity { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineOpacity(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineOpacity()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineOpacityTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineOpacityTransition(options); } - (MGLTransition)lineOpacityTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineOpacityTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLinePattern:(MGLStyleValue *)linePattern { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toPropertyValue(linePattern); self.rawLayer->setLinePattern(mbglValue); } - (MGLStyleValue *)linePattern { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLinePattern(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toStyleValue(self.rawLayer->getDefaultLinePattern()); } return MGLStyleValueTransformer().toStyleValue(propertyValue); } - (void)setLinePatternTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLinePatternTransition(options); } - (MGLTransition)linePatternTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLinePatternTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineTranslation:(MGLStyleValue *)lineTranslation { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer, NSValue *>().toInterpolatablePropertyValue(lineTranslation); self.rawLayer->setLineTranslate(mbglValue); } - (MGLStyleValue *)lineTranslation { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineTranslate(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer, NSValue *>().toStyleValue(self.rawLayer->getDefaultLineTranslate()); } return MGLStyleValueTransformer, NSValue *>().toStyleValue(propertyValue); } - (void)setLineTranslationTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineTranslateTransition(options); } - (MGLTransition)lineTranslationTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineTranslateTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } - (void)setLineTranslate:(MGLStyleValue *)lineTranslate { } - (MGLStyleValue *)lineTranslate { return self.lineTranslation; } - (void)setLineTranslationAnchor:(MGLStyleValue *)lineTranslationAnchor { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toEnumPropertyValue(lineTranslationAnchor); self.rawLayer->setLineTranslateAnchor(mbglValue); } - (MGLStyleValue *)lineTranslationAnchor { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineTranslateAnchor(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toEnumStyleValue(self.rawLayer->getDefaultLineTranslateAnchor()); } return MGLStyleValueTransformer().toEnumStyleValue(propertyValue); } - (void)setLineTranslateAnchor:(MGLStyleValue *)lineTranslateAnchor { } - (MGLStyleValue *)lineTranslateAnchor { return self.lineTranslationAnchor; } - (void)setLineWidth:(MGLStyleValue *)lineWidth { MGLAssertStyleLayerIsValid(); auto mbglValue = MGLStyleValueTransformer().toDataDrivenPropertyValue(lineWidth); self.rawLayer->setLineWidth(mbglValue); } - (MGLStyleValue *)lineWidth { MGLAssertStyleLayerIsValid(); auto propertyValue = self.rawLayer->getLineWidth(); if (propertyValue.isUndefined()) { return MGLStyleValueTransformer().toDataDrivenStyleValue(self.rawLayer->getDefaultLineWidth()); } return MGLStyleValueTransformer().toDataDrivenStyleValue(propertyValue); } - (void)setLineWidthTransition:(MGLTransition )transition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; self.rawLayer->setLineWidthTransition(options); } - (MGLTransition)lineWidthTransition { MGLAssertStyleLayerIsValid(); mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getLineWidthTransition(); MGLTransition transition; transition.duration = MGLTimeIntervalFromDuration(transitionOptions.duration.value_or(mbgl::Duration::zero())); transition.delay = MGLTimeIntervalFromDuration(transitionOptions.delay.value_or(mbgl::Duration::zero())); return transition; } @end @implementation NSValue (MGLLineStyleLayerAdditions) + (NSValue *)valueWithMGLLineCap:(MGLLineCap)lineCap { return [NSValue value:&lineCap withObjCType:@encode(MGLLineCap)]; } - (MGLLineCap)MGLLineCapValue { MGLLineCap lineCap; [self getValue:&lineCap]; return lineCap; } + (NSValue *)valueWithMGLLineJoin:(MGLLineJoin)lineJoin { return [NSValue value:&lineJoin withObjCType:@encode(MGLLineJoin)]; } - (MGLLineJoin)MGLLineJoinValue { MGLLineJoin lineJoin; [self getValue:&lineJoin]; return lineJoin; } + (NSValue *)valueWithMGLLineTranslationAnchor:(MGLLineTranslationAnchor)lineTranslationAnchor { return [NSValue value:&lineTranslationAnchor withObjCType:@encode(MGLLineTranslationAnchor)]; } - (MGLLineTranslationAnchor)MGLLineTranslationAnchorValue { MGLLineTranslationAnchor lineTranslationAnchor; [self getValue:&lineTranslationAnchor]; return lineTranslationAnchor; } @end