diff options
Diffstat (limited to 'platform/darwin/src/MGLLineStyleLayer.mm')
-rw-r--r-- | platform/darwin/src/MGLLineStyleLayer.mm | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLLineStyleLayer.mm b/platform/darwin/src/MGLLineStyleLayer.mm index 80b1e907e6..1b44f620f1 100644 --- a/platform/darwin/src/MGLLineStyleLayer.mm +++ b/platform/darwin/src/MGLLineStyleLayer.mm @@ -4,6 +4,7 @@ #import "MGLSource.h" #import "MGLMapView_Private.h" #import "NSPredicate+MGLAdditions.h" +#import "NSDate+MGLAdditions.h" #import "MGLStyleLayer_Private.h" #import "MGLStyleValue_Private.h" #import "MGLLineStyleLayer.h" @@ -211,6 +212,26 @@ namespace mbgl { #pragma mark - Accessing the Paint Attributes +- (NSArray *)transitionKeys +{ + NSMutableArray *transitionKeys = [NSMutableArray array]; + [transitionKeys addObject:@"lineBlur"]; + [transitionKeys addObject:@"lineColor"]; + [transitionKeys addObject:@"lineDashPattern"]; + [transitionKeys addObject:@"lineDasharray"]; + [transitionKeys addObject:@"lineGapWidth"]; + [transitionKeys addObject:@"lineOffset"]; + [transitionKeys addObject:@"lineOpacity"]; + [transitionKeys addObject:@"linePattern"]; + [transitionKeys addObject:@"lineTranslation"]; + [transitionKeys addObject:@"lineTranslate"]; + [transitionKeys addObject:@"lineTranslationAnchor"]; + [transitionKeys addObject:@"lineTranslateAnchor"]; + [transitionKeys addObject:@"lineWidth"]; + + return transitionKeys; +} + - (void)setLineBlur:(MGLStyleValue<NSNumber *> *)lineBlur { MGLAssertStyleLayerIsValid(); @@ -218,6 +239,16 @@ namespace mbgl { self.rawLayer->setLineBlur(mbglValue); } +- (void)mbx_setLineBlurTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineBlurTransition(options); +} + - (MGLStyleValue<NSNumber *> *)lineBlur { MGLAssertStyleLayerIsValid(); @@ -235,6 +266,16 @@ namespace mbgl { self.rawLayer->setLineColor(mbglValue); } +- (void)mbx_setLineColorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineColorTransition(options); +} + - (MGLStyleValue<MGLColor *> *)lineColor { MGLAssertStyleLayerIsValid(); @@ -252,6 +293,16 @@ namespace mbgl { self.rawLayer->setLineDasharray(mbglValue); } +- (void)mbx_setLineDashPatternTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineDasharrayTransition(options); +} + - (MGLStyleValue<NSArray<NSNumber *> *> *)lineDashPattern { MGLAssertStyleLayerIsValid(); @@ -276,6 +327,16 @@ namespace mbgl { self.rawLayer->setLineGapWidth(mbglValue); } +- (void)mbx_setLineGapWidthTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineGapWidthTransition(options); +} + - (MGLStyleValue<NSNumber *> *)lineGapWidth { MGLAssertStyleLayerIsValid(); @@ -293,6 +354,16 @@ namespace mbgl { self.rawLayer->setLineOffset(mbglValue); } +- (void)mbx_setLineOffsetTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineOffsetTransition(options); +} + - (MGLStyleValue<NSNumber *> *)lineOffset { MGLAssertStyleLayerIsValid(); @@ -310,6 +381,16 @@ namespace mbgl { self.rawLayer->setLineOpacity(mbglValue); } +- (void)mbx_setLineOpacityTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineOpacityTransition(options); +} + - (MGLStyleValue<NSNumber *> *)lineOpacity { MGLAssertStyleLayerIsValid(); @@ -327,6 +408,16 @@ namespace mbgl { self.rawLayer->setLinePattern(mbglValue); } +- (void)mbx_setLinePatternTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLinePatternTransition(options); +} + - (MGLStyleValue<NSString *> *)linePattern { MGLAssertStyleLayerIsValid(); @@ -344,6 +435,16 @@ namespace mbgl { self.rawLayer->setLineTranslate(mbglValue); } +- (void)mbx_setLineTranslationTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineTranslateTransition(options); +} + - (MGLStyleValue<NSValue *> *)lineTranslation { MGLAssertStyleLayerIsValid(); @@ -368,6 +469,16 @@ namespace mbgl { self.rawLayer->setLineTranslateAnchor(mbglValue); } +- (void)mbx_setLineTranslationAnchorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineTranslateAnchorTransition(options); +} + - (MGLStyleValue<NSValue *> *)lineTranslationAnchor { MGLAssertStyleLayerIsValid(); @@ -392,6 +503,16 @@ namespace mbgl { self.rawLayer->setLineWidth(mbglValue); } +- (void)mbx_setLineWidthTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setLineWidthTransition(options); +} + - (MGLStyleValue<NSNumber *> *)lineWidth { MGLAssertStyleLayerIsValid(); |