diff options
author | Fabian Guerra <fabian.guerra@mapbox.com> | 2017-02-27 20:16:50 -0500 |
---|---|---|
committer | Justin R. Miller <incanus@codesorcery.net> | 2017-03-06 17:09:25 -0800 |
commit | de3f8fb9d31c383167ba55b7d999029c1433783e (patch) | |
tree | 41f597e2351b8b0e45781f2f192d2d58399af4fd /platform/darwin/src/MGLCircleStyleLayer.mm | |
parent | db282217d88c270aefd237d7c8633f51a36d954a (diff) | |
download | qtlocation-mapboxgl-de3f8fb9d31c383167ba55b7d999029c1433783e.tar.gz |
[ios] MGLTransition implemented for style layer properties
Diffstat (limited to 'platform/darwin/src/MGLCircleStyleLayer.mm')
-rw-r--r-- | platform/darwin/src/MGLCircleStyleLayer.mm | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLCircleStyleLayer.mm b/platform/darwin/src/MGLCircleStyleLayer.mm index 808e00bc38..362667121a 100644 --- a/platform/darwin/src/MGLCircleStyleLayer.mm +++ b/platform/darwin/src/MGLCircleStyleLayer.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 "MGLCircleStyleLayer.h" @@ -134,6 +135,26 @@ namespace mbgl { #pragma mark - Accessing the Paint Attributes +- (NSArray *)transitionKeys +{ + NSMutableArray *transitionKeys = [NSMutableArray array]; + [transitionKeys addObject:@"circleBlur"]; + [transitionKeys addObject:@"circleColor"]; + [transitionKeys addObject:@"circleOpacity"]; + [transitionKeys addObject:@"circleRadius"]; + [transitionKeys addObject:@"circleScaleAlignment"]; + [transitionKeys addObject:@"circlePitchScale"]; + [transitionKeys addObject:@"circleStrokeColor"]; + [transitionKeys addObject:@"circleStrokeOpacity"]; + [transitionKeys addObject:@"circleStrokeWidth"]; + [transitionKeys addObject:@"circleTranslation"]; + [transitionKeys addObject:@"circleTranslate"]; + [transitionKeys addObject:@"circleTranslationAnchor"]; + [transitionKeys addObject:@"circleTranslateAnchor"]; + + return transitionKeys; +} + - (void)setCircleBlur:(MGLStyleValue<NSNumber *> *)circleBlur { MGLAssertStyleLayerIsValid(); @@ -141,6 +162,16 @@ namespace mbgl { self.rawLayer->setCircleBlur(mbglValue); } +- (void)mbx_setCircleBlurTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleBlurTransition(options); +} + - (MGLStyleValue<NSNumber *> *)circleBlur { MGLAssertStyleLayerIsValid(); @@ -158,6 +189,16 @@ namespace mbgl { self.rawLayer->setCircleColor(mbglValue); } +- (void)mbx_setCircleColorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleColorTransition(options); +} + - (MGLStyleValue<MGLColor *> *)circleColor { MGLAssertStyleLayerIsValid(); @@ -175,6 +216,16 @@ namespace mbgl { self.rawLayer->setCircleOpacity(mbglValue); } +- (void)mbx_setCircleOpacityTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleOpacityTransition(options); +} + - (MGLStyleValue<NSNumber *> *)circleOpacity { MGLAssertStyleLayerIsValid(); @@ -192,6 +243,16 @@ namespace mbgl { self.rawLayer->setCircleRadius(mbglValue); } +- (void)mbx_setCircleRadiusTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleRadiusTransition(options); +} + - (MGLStyleValue<NSNumber *> *)circleRadius { MGLAssertStyleLayerIsValid(); @@ -209,6 +270,16 @@ namespace mbgl { self.rawLayer->setCirclePitchScale(mbglValue); } +- (void)mbx_setCircleScaleAlignmentTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCirclePitchScaleTransition(options); +} + - (MGLStyleValue<NSValue *> *)circleScaleAlignment { MGLAssertStyleLayerIsValid(); @@ -233,6 +304,16 @@ namespace mbgl { self.rawLayer->setCircleStrokeColor(mbglValue); } +- (void)mbx_setCircleStrokeColorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleStrokeColorTransition(options); +} + - (MGLStyleValue<MGLColor *> *)circleStrokeColor { MGLAssertStyleLayerIsValid(); @@ -250,6 +331,16 @@ namespace mbgl { self.rawLayer->setCircleStrokeOpacity(mbglValue); } +- (void)mbx_setCircleStrokeOpacityTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleStrokeOpacityTransition(options); +} + - (MGLStyleValue<NSNumber *> *)circleStrokeOpacity { MGLAssertStyleLayerIsValid(); @@ -267,6 +358,16 @@ namespace mbgl { self.rawLayer->setCircleStrokeWidth(mbglValue); } +- (void)mbx_setCircleStrokeWidthTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleStrokeWidthTransition(options); +} + - (MGLStyleValue<NSNumber *> *)circleStrokeWidth { MGLAssertStyleLayerIsValid(); @@ -284,6 +385,16 @@ namespace mbgl { self.rawLayer->setCircleTranslate(mbglValue); } +- (void)mbx_setCircleTranslationTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleTranslateTransition(options); +} + - (MGLStyleValue<NSValue *> *)circleTranslation { MGLAssertStyleLayerIsValid(); @@ -308,6 +419,16 @@ namespace mbgl { self.rawLayer->setCircleTranslateAnchor(mbglValue); } +- (void)mbx_setCircleTranslationAnchorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setCircleTranslateAnchorTransition(options); +} + - (MGLStyleValue<NSValue *> *)circleTranslationAnchor { MGLAssertStyleLayerIsValid(); |