Boxing ObjC structs (#9343)
* [ios, macos] Make structs boxable * [ios, macos] Update changelogs.
This commit is contained in:
committed by
GitHub
parent
b7ec96d352
commit
a1c5b32da6
@@ -7,7 +7,7 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/** Defines the area spanned by an `MGLCoordinateBounds`. */
|
||||
typedef struct MGLCoordinateSpan {
|
||||
typedef struct __attribute__((objc_boxable)) MGLCoordinateSpan {
|
||||
/** Latitudes spanned by an `MGLCoordinateBounds`. */
|
||||
CLLocationDegrees latitudeDelta;
|
||||
/** Longitudes spanned by an `MGLCoordinateBounds`. */
|
||||
@@ -38,7 +38,7 @@ NS_INLINE BOOL MGLCoordinateSpanEqualToCoordinateSpan(MGLCoordinateSpan span1, M
|
||||
extern MGL_EXPORT const MGLCoordinateSpan MGLCoordinateSpanZero;
|
||||
|
||||
/** A rectangular area as measured on a two-dimensional map projection. */
|
||||
typedef struct MGLCoordinateBounds {
|
||||
typedef struct __attribute__((objc_boxable)) MGLCoordinateBounds {
|
||||
/** Coordinate at the southwest corner. */
|
||||
CLLocationCoordinate2D sw;
|
||||
/** Coordinate at the northeast corner. */
|
||||
|
||||
@@ -27,7 +27,7 @@ typedef NS_ENUM(NSUInteger, MGLLightAnchor) {
|
||||
A structure containing information about the position of the light source
|
||||
relative to lit geometries.
|
||||
*/
|
||||
typedef struct MGLSphericalPosition {
|
||||
typedef struct __attribute__((objc_boxable)) MGLSphericalPosition {
|
||||
/** Distance from the center of the base of an object to its light. */
|
||||
CGFloat radial;
|
||||
/** Position of the light relative to 0° (0° when `MGLLight.anchor` is set to viewport corresponds
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef NS_ENUM (NSInteger, MGLOfflinePackState) {
|
||||
A structure containing information about an offline pack’s current download
|
||||
progress.
|
||||
*/
|
||||
typedef struct MGLOfflinePackProgress {
|
||||
typedef struct __attribute__((objc_boxable)) MGLOfflinePackProgress {
|
||||
/**
|
||||
The number of resources, including tiles, that have been completely
|
||||
downloaded and are ready to use offline.
|
||||
|
||||
@@ -78,7 +78,7 @@ typedef NS_OPTIONS(NSUInteger, MGLMapDebugMaskOptions) {
|
||||
/**
|
||||
A structure containing information about a transition.
|
||||
*/
|
||||
typedef struct MGLTransition {
|
||||
typedef struct __attribute__((objc_boxable)) MGLTransition {
|
||||
/**
|
||||
The amount of time the animation should take, not including the delay.
|
||||
*/
|
||||
|
||||
@@ -132,9 +132,9 @@
|
||||
- (void)testValueAdditions {
|
||||
MGLSphericalPosition position = MGLSphericalPositionMake(1.15, 210, 30);
|
||||
|
||||
XCTAssertEqual([NSValue valueWithMGLSphericalPosition:position].MGLSphericalPositionValue.radial, position.radial);
|
||||
XCTAssertEqual([NSValue valueWithMGLSphericalPosition:position].MGLSphericalPositionValue.azimuthal, position.azimuthal);
|
||||
XCTAssertEqual([NSValue valueWithMGLSphericalPosition:position].MGLSphericalPositionValue.polar, position.polar);
|
||||
XCTAssertEqual(@(position).MGLSphericalPositionValue.radial, position.radial);
|
||||
XCTAssertEqual(@(position).MGLSphericalPositionValue.azimuthal, position.azimuthal);
|
||||
XCTAssertEqual(@(position).MGLSphericalPositionValue.polar, position.polar);
|
||||
XCTAssertEqual([NSValue valueWithMGLLightAnchor:MGLLightAnchorMap].MGLLightAnchorValue, MGLLightAnchorMap);
|
||||
XCTAssertEqual([NSValue valueWithMGLLightAnchor:MGLLightAnchorViewport].MGLLightAnchorValue, MGLLightAnchorViewport);
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ Mapbox welcomes participation and contributions from everyone. Please read [CONT
|
||||
* The error passed into `-[MGLMapViewDelegate mapViewDidFailLoadingMap:withError:]` now includes a more specific description and failure reason. ([#8418](https://github.com/mapbox/mapbox-gl-native/pull/8418))
|
||||
* Improved CPU and battery performance while animating a tilted map’s camera in an area with many labels. ([#9031](https://github.com/mapbox/mapbox-gl-native/pull/9031))
|
||||
* Fixed an issue rendering polylines that contain duplicate vertices. ([#8808](https://github.com/mapbox/mapbox-gl-native/pull/8808))
|
||||
* Added struct boxing to `MGLCoordinateSpan`, `MGLCoordinateBounds`, `MGLOfflinePackProgress`, and `MGLTransition`. ([#9343](https://github.com/mapbox/mapbox-gl-native/pull/9343)
|
||||
|
||||
## 3.5.4 - May 9, 2017
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
* The `MGLPolyline.coordinate` and `MGLPolygon.coordinate` properties now return the midpoint and centroid, respectively, instead of the first coordinate. ([#8713](https://github.com/mapbox/mapbox-gl-native/pull/8713))
|
||||
* Improved CPU and battery performance while animating a tilted map’s camera in an area with many labels. ([#9031](https://github.com/mapbox/mapbox-gl-native/pull/9031))
|
||||
* Fixed an issue rendering polylines that contain duplicate vertices. ([#8808](https://github.com/mapbox/mapbox-gl-native/pull/8808))
|
||||
* Added struct boxing to `MGLCoordinateSpan`, `MGLCoordinateBounds`, `MGLOfflinePackProgress`, and `MGLTransition`. ([#9343](https://github.com/mapbox/mapbox-gl-native/pull/9343)
|
||||
|
||||
## 0.4.1 - April 8, 2017
|
||||
|
||||
|
||||
Reference in New Issue
Block a user