summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Wray <jason@mapbox.com>2018-08-08 18:29:03 -0400
committerJason Wray <friedbunny@users.noreply.github.com>2018-08-09 11:05:20 -0400
commita84d59f2a25bcdf0f40466a0c3f76592dcf8f591 (patch)
treec231cc72501cee6e64964ec850bb202e546a5fa5
parentc11482260aea0234e5a8dc9715e8a4d85e9ee680 (diff)
downloadqtlocation-mapboxgl-a84d59f2a25bcdf0f40466a0c3f76592dcf8f591.tar.gz
[ios] Add MGLMapViewDecelerationRate typed enum
Improves Swiftiness by allowing type-omission, à la `mapView.decelerationRate = .fast` and such.
-rw-r--r--platform/ios/CHANGELOG.md4
-rw-r--r--platform/ios/src/MGLMapView.h9
-rw-r--r--platform/ios/src/MGLMapView.mm6
3 files changed, 13 insertions, 6 deletions
diff --git a/platform/ios/CHANGELOG.md b/platform/ios/CHANGELOG.md
index 2edfca6262..a904d15835 100644
--- a/platform/ios/CHANGELOG.md
+++ b/platform/ios/CHANGELOG.md
@@ -2,6 +2,10 @@
Mapbox welcomes participation and contributions from everyone. Please read [CONTRIBUTING.md](../../CONTRIBUTING.md) to get started.
+## master
+
+* Improved the Swift interface for `MGLMapView.decelerationRate`. ([#12584](https://github.com/mapbox/mapbox-gl-native/issues/12584))
+
## 4.3.0
### Styles and rendering
diff --git a/platform/ios/src/MGLMapView.h b/platform/ios/src/MGLMapView.h
index ddc8be23f0..44d7ab9708 100644
--- a/platform/ios/src/MGLMapView.h
+++ b/platform/ios/src/MGLMapView.h
@@ -23,14 +23,17 @@ NS_ASSUME_NONNULL_BEGIN
@protocol MGLFeature;
@protocol MGLLocationManager;
+/** Options for `MGLMapView.decelerationRate`. */
+typedef CGFloat MGLMapViewDecelerationRate NS_TYPED_EXTENSIBLE_ENUM;
+
/** The default deceleration rate for a map view. */
-FOUNDATION_EXTERN MGL_EXPORT const CGFloat MGLMapViewDecelerationRateNormal;
+FOUNDATION_EXTERN MGL_EXPORT const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal;
/** A fast deceleration rate for a map view. */
-FOUNDATION_EXTERN MGL_EXPORT const CGFloat MGLMapViewDecelerationRateFast;
+FOUNDATION_EXTERN MGL_EXPORT const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast;
/** Disables deceleration in a map view. */
-FOUNDATION_EXTERN MGL_EXPORT const CGFloat MGLMapViewDecelerationRateImmediate;
+FOUNDATION_EXTERN MGL_EXPORT const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate;
/**
The vertical alignment of an annotation within a map view. Used with
diff --git a/platform/ios/src/MGLMapView.mm b/platform/ios/src/MGLMapView.mm
index f772432eb7..fa0beb008d 100644
--- a/platform/ios/src/MGLMapView.mm
+++ b/platform/ios/src/MGLMapView.mm
@@ -84,9 +84,9 @@
class MBGLView;
class MGLAnnotationContext;
-const CGFloat MGLMapViewDecelerationRateNormal = UIScrollViewDecelerationRateNormal;
-const CGFloat MGLMapViewDecelerationRateFast = UIScrollViewDecelerationRateFast;
-const CGFloat MGLMapViewDecelerationRateImmediate = 0.0;
+const MGLMapViewDecelerationRate MGLMapViewDecelerationRateNormal = UIScrollViewDecelerationRateNormal;
+const MGLMapViewDecelerationRate MGLMapViewDecelerationRateFast = UIScrollViewDecelerationRateFast;
+const MGLMapViewDecelerationRate MGLMapViewDecelerationRateImmediate = 0.0;
const MGLMapViewPreferredFramesPerSecond MGLMapViewPreferredFramesPerSecondDefault = -1;
const MGLMapViewPreferredFramesPerSecond MGLMapViewPreferredFramesPerSecondLowPower = 30;