diff options
Diffstat (limited to 'platform/darwin/src/MGLStyle.mm')
-rw-r--r-- | platform/darwin/src/MGLStyle.mm | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/platform/darwin/src/MGLStyle.mm b/platform/darwin/src/MGLStyle.mm index 7e96c08ccc..78c719050c 100644 --- a/platform/darwin/src/MGLStyle.mm +++ b/platform/darwin/src/MGLStyle.mm @@ -502,7 +502,7 @@ static NSURL *MGLStyleURL_emerald; newAppliedClasses.push_back([appliedClass UTF8String]); } - mbgl::style::TransitionOptions transition { { MGLDurationInSeconds(transitionDuration) } }; + mbgl::style::TransitionOptions transition { { MGLDurationInSecondsFromTimeInterval(transitionDuration) } }; self.mapView.mbglMap->setTransitionOptions(transition); self.mapView.mbglMap->setClasses(newAppliedClasses); } @@ -570,6 +570,34 @@ static NSURL *MGLStyleURL_emerald; return spriteImage ? [[MGLImage alloc] initWithMGLSpriteImage:spriteImage] : nil; } +#pragma mark Style transitions + +- (void)setTransitionDuration:(NSTimeInterval)duration +{ + auto transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + transitionOptions.duration = MGLDurationInSecondsFromTimeInterval(duration); + self.mapView.mbglMap->setTransitionOptions(transitionOptions); +} + +- (NSTimeInterval)transitionDuration +{ + const mbgl::style::TransitionOptions transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + return MGLTimeIntervalFromDurationInSeconds(transitionOptions.duration.value_or(mbgl::Duration::zero())); +} + +- (void)setTransitionDelay:(NSTimeInterval)delay +{ + auto transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + transitionOptions.delay = MGLDurationInSecondsFromTimeInterval(delay); + self.mapView.mbglMap->setTransitionOptions(transitionOptions); +} + +- (NSTimeInterval)transitionDelay +{ + const mbgl::style::TransitionOptions transitionOptions = self.mapView.mbglMap->getTransitionOptions(); + return MGLTimeIntervalFromDurationInSeconds(transitionOptions.delay.value_or(mbgl::Duration::zero())); +} + - (NSString *)description { return [NSString stringWithFormat:@"<%@: %p; name = %@, URL = %@>", |