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/MGLFillStyleLayer.mm | |
parent | db282217d88c270aefd237d7c8633f51a36d954a (diff) | |
download | qtlocation-mapboxgl-de3f8fb9d31c383167ba55b7d999029c1433783e.tar.gz |
[ios] MGLTransition implemented for style layer properties
Diffstat (limited to 'platform/darwin/src/MGLFillStyleLayer.mm')
-rw-r--r-- | platform/darwin/src/MGLFillStyleLayer.mm | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLFillStyleLayer.mm b/platform/darwin/src/MGLFillStyleLayer.mm index 6716e0efb1..81df8f4e0e 100644 --- a/platform/darwin/src/MGLFillStyleLayer.mm +++ b/platform/darwin/src/MGLFillStyleLayer.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 "MGLFillStyleLayer.h" @@ -129,6 +130,23 @@ namespace mbgl { #pragma mark - Accessing the Paint Attributes +- (NSArray *)transitionKeys +{ + NSMutableArray *transitionKeys = [NSMutableArray array]; + [transitionKeys addObject:@"fillAntialiased"]; + [transitionKeys addObject:@"fillAntialias"]; + [transitionKeys addObject:@"fillColor"]; + [transitionKeys addObject:@"fillOpacity"]; + [transitionKeys addObject:@"fillOutlineColor"]; + [transitionKeys addObject:@"fillPattern"]; + [transitionKeys addObject:@"fillTranslation"]; + [transitionKeys addObject:@"fillTranslate"]; + [transitionKeys addObject:@"fillTranslationAnchor"]; + [transitionKeys addObject:@"fillTranslateAnchor"]; + + return transitionKeys; +} + - (void)setFillAntialiased:(MGLStyleValue<NSNumber *> *)fillAntialiased { MGLAssertStyleLayerIsValid(); @@ -136,6 +154,16 @@ namespace mbgl { self.rawLayer->setFillAntialias(mbglValue); } +- (void)mbx_setFillAntialiasedTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillAntialiasTransition(options); +} + - (MGLStyleValue<NSNumber *> *)isFillAntialiased { MGLAssertStyleLayerIsValid(); @@ -160,6 +188,16 @@ namespace mbgl { self.rawLayer->setFillColor(mbglValue); } +- (void)mbx_setFillColorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillColorTransition(options); +} + - (MGLStyleValue<MGLColor *> *)fillColor { MGLAssertStyleLayerIsValid(); @@ -177,6 +215,16 @@ namespace mbgl { self.rawLayer->setFillOpacity(mbglValue); } +- (void)mbx_setFillOpacityTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillOpacityTransition(options); +} + - (MGLStyleValue<NSNumber *> *)fillOpacity { MGLAssertStyleLayerIsValid(); @@ -194,6 +242,16 @@ namespace mbgl { self.rawLayer->setFillOutlineColor(mbglValue); } +- (void)mbx_setFillOutlineColorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillOutlineColorTransition(options); +} + - (MGLStyleValue<MGLColor *> *)fillOutlineColor { MGLAssertStyleLayerIsValid(); @@ -211,6 +269,16 @@ namespace mbgl { self.rawLayer->setFillPattern(mbglValue); } +- (void)mbx_setFillPatternTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillPatternTransition(options); +} + - (MGLStyleValue<NSString *> *)fillPattern { MGLAssertStyleLayerIsValid(); @@ -228,6 +296,16 @@ namespace mbgl { self.rawLayer->setFillTranslate(mbglValue); } +- (void)mbx_setFillTranslationTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillTranslateTransition(options); +} + - (MGLStyleValue<NSValue *> *)fillTranslation { MGLAssertStyleLayerIsValid(); @@ -252,6 +330,16 @@ namespace mbgl { self.rawLayer->setFillTranslateAnchor(mbglValue); } +- (void)mbx_setFillTranslationAnchorTransition:(NSValue *)transitionValue { + MGLAssertStyleLayerIsValid(); + + MGLTransition transition; + [transitionValue getValue:&transition]; + + mbgl::style::TransitionOptions options { { MGLDurationInSecondsFromTimeInterval(transition.duration) }, { MGLDurationInSecondsFromTimeInterval(transition.delay) } }; + self.rawLayer->setFillTranslateAnchorTransition(options); +} + - (MGLStyleValue<NSValue *> *)fillTranslationAnchor { MGLAssertStyleLayerIsValid(); |