diff options
author | Justin R. Miller <incanus@codesorcery.net> | 2017-01-18 12:43:08 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-18 12:43:08 -0800 |
commit | f6715694f918a884eda77151aa4fec05521b9536 (patch) | |
tree | bd930307db9fb13ad5751324ae57bf858f30aa2a /platform/darwin/src/MGLStyle.mm | |
parent | d076ba05673a6ced9d3e641e2c7a2b5f3c70a80f (diff) | |
download | qtlocation-mapboxgl-f6715694f918a884eda77151aa4fec05521b9536.tar.gz |
refs #6779: mobile & Mac SDK style transition options (#7711)
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 = %@>", |