summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Guerra <fabian.guerra@mapbox.com>2018-12-12 14:52:18 -0800
committerFabian Guerra <fabian.guerra@mapbox.com>2018-12-12 16:44:45 -0800
commit8f5e7d2126c47b106e89462d93677aa8a9182e21 (patch)
tree0c735561dabb41f66670ccbb004bfab76c2811e7
parente84748c17039c3c6911504d9f8e729e7a8e92c1a (diff)
downloadqtlocation-mapboxgl-8f5e7d2126c47b106e89462d93677aa8a9182e21.tar.gz
[ios, macos] Add enablePlacementTransitions to MGLStyle.
-rw-r--r--platform/darwin/src/MGLStyle.h7
-rw-r--r--platform/darwin/src/MGLStyle.mm13
-rw-r--r--platform/darwin/test/MGLStyleTests.mm20
3 files changed, 40 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLStyle.h b/platform/darwin/src/MGLStyle.h
index 7621db0ad5..2b2f0998d4 100644
--- a/platform/darwin/src/MGLStyle.h
+++ b/platform/darwin/src/MGLStyle.h
@@ -271,6 +271,13 @@ MGL_EXPORT
@property (nonatomic) MGLTransition transition;
/**
+ A boolean value indicating whether label placement transitions are enabled.
+
+ The default value of this property is `YES`.
+ */
+@property (nonatomic, assign) BOOL enablePlacementTransitions;
+
+/**
Returns a source with the given identifier in the current style.
@note Source identifiers are not guaranteed to exist across styles or different
diff --git a/platform/darwin/src/MGLStyle.mm b/platform/darwin/src/MGLStyle.mm
index df5f51102a..82fed5e922 100644
--- a/platform/darwin/src/MGLStyle.mm
+++ b/platform/darwin/src/MGLStyle.mm
@@ -534,6 +534,19 @@ static_assert(6 == mbgl::util::default_styles::numOrderedStyles,
return MGLTransitionFromOptions(transitionOptions);
}
+- (void)setEnablePlacementTransitions:(BOOL)enablePlacementTransitions
+{
+ mbgl::style::TransitionOptions transitionOptions = self.rawStyle->getTransitionOptions();
+ transitionOptions.enablePlacementTransitions = static_cast<bool>(enablePlacementTransitions);
+ self.rawStyle->setTransitionOptions(transitionOptions);
+}
+
+- (BOOL)enablePlacementTransitions
+{
+ mbgl::style::TransitionOptions transitionOptions = self.rawStyle->getTransitionOptions();
+ return transitionOptions.enablePlacementTransitions;
+}
+
#pragma mark Style light
- (void)setLight:(MGLLight *)light
diff --git a/platform/darwin/test/MGLStyleTests.mm b/platform/darwin/test/MGLStyleTests.mm
index 7330477126..ff075f63a6 100644
--- a/platform/darwin/test/MGLStyleTests.mm
+++ b/platform/darwin/test/MGLStyleTests.mm
@@ -470,4 +470,24 @@
}
}
+#pragma mark Transition tests
+
+- (void)testTransition
+{
+ MGLTransition transitionTest = MGLTransitionMake(5, 4);
+
+ self.style.transition = transitionTest;
+
+ XCTAssert(self.style.transition.delay == transitionTest.delay);
+ XCTAssert(self.style.transition.duration == transitionTest.duration);
+}
+
+- (void)testEnablePlacementTransition
+{
+ XCTAssertTrue(self.style.enablePlacementTransitions, @"The default value for enabling placement transitions should be YES.");
+
+ self.style.enablePlacementTransitions = NO;
+ XCTAssertFalse(self.style.enablePlacementTransitions, @"Enabling placement transitions should be NO.");
+}
+
@end