diff options
author | Fabian Guerra Soto <fabian.guerra@mapbox.com> | 2017-03-10 11:33:31 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-10 11:33:31 -0800 |
commit | 20712b7c84bd91bcf658d74bf25f3460354b5fd6 (patch) | |
tree | c12fd8cf71d293ddfc123f9e1d0af1dafa887750 /platform/darwin/src/MGLRasterStyleLayer.mm | |
parent | 4a0ce1365f469c5da30aa7136ec5d31dfd621ff1 (diff) | |
download | qtlocation-mapboxgl-20712b7c84bd91bcf658d74bf25f3460354b5fd6.tar.gz |
Per-attribute transition properties on MGLStyleLayer (#8225)
* [ios, macos] new struct MGLTransition
* [ios] MGLTransition struct moved to MGLTypes.h
* [ios] MGLTransition implemented for style layer properties
* [ios, macos] added support for getting property transitions
* [ios, macos] updated to MGLDurationFromTimeInterval and MGLTimeIntervalFromDuration
* [ios, macos] added transition properties test
* [ios, macos] modified key strings imp
* [ios, macos] The impl for transition properties were changed to public methods
* [ios, macos] Changelog update
* [ios] Fixed layer space formatting
* [core] The name space was fixed for getters that returned TransitionOptions
* [ios, macos] Added rawLayer transition property tests
* [ios] Added a factory method for MGLTransition and transition-related methods to NSValue(MGLAdditions)
* [ios, macos] Copyedited changelog blurbs about transition properties
Diffstat (limited to 'platform/darwin/src/MGLRasterStyleLayer.mm')
-rw-r--r-- | platform/darwin/src/MGLRasterStyleLayer.mm | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLRasterStyleLayer.mm b/platform/darwin/src/MGLRasterStyleLayer.mm index 2108a5a0c8..80508e4e70 100644 --- a/platform/darwin/src/MGLRasterStyleLayer.mm +++ b/platform/darwin/src/MGLRasterStyleLayer.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 "MGLRasterStyleLayer.h" @@ -108,6 +109,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setMaximumRasterBrightnessTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterBrightnessMaxTransition(options); +} + +- (MGLTransition)maximumRasterBrightnessTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterBrightnessMaxTransition(); + 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)setRasterBrightnessMax:(MGLStyleValue<NSNumber *> *)rasterBrightnessMax { } @@ -132,6 +151,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setMinimumRasterBrightnessTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterBrightnessMinTransition(options); +} + +- (MGLTransition)minimumRasterBrightnessTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterBrightnessMinTransition(); + 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)setRasterBrightnessMin:(MGLStyleValue<NSNumber *> *)rasterBrightnessMin { } @@ -156,6 +193,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setRasterContrastTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterContrastTransition(options); +} + +- (MGLTransition)rasterContrastTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterContrastTransition(); + 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)setRasterFadeDuration:(MGLStyleValue<NSNumber *> *)rasterFadeDuration { MGLAssertStyleLayerIsValid(); @@ -173,6 +228,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setRasterFadeDurationTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterFadeDurationTransition(options); +} + +- (MGLTransition)rasterFadeDurationTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterFadeDurationTransition(); + 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)setRasterHueRotation:(MGLStyleValue<NSNumber *> *)rasterHueRotation { MGLAssertStyleLayerIsValid(); @@ -190,6 +263,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setRasterHueRotationTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterHueRotateTransition(options); +} + +- (MGLTransition)rasterHueRotationTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterHueRotateTransition(); + 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)setRasterHueRotate:(MGLStyleValue<NSNumber *> *)rasterHueRotate { } @@ -214,6 +305,24 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setRasterOpacityTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterOpacityTransition(options); +} + +- (MGLTransition)rasterOpacityTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterOpacityTransition(); + 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)setRasterSaturation:(MGLStyleValue<NSNumber *> *)rasterSaturation { MGLAssertStyleLayerIsValid(); @@ -231,5 +340,22 @@ return MGLStyleValueTransformer<float, NSNumber *>().toStyleValue(propertyValue); } +- (void)setRasterSaturationTransition:(MGLTransition )transition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions options { { MGLDurationFromTimeInterval(transition.duration) }, { MGLDurationFromTimeInterval(transition.delay) } }; + self.rawLayer->setRasterSaturationTransition(options); +} + +- (MGLTransition)rasterSaturationTransition { + MGLAssertStyleLayerIsValid(); + + mbgl::style::TransitionOptions transitionOptions = self.rawLayer->getRasterSaturationTransition(); + 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 |