jazzy is inconsistently converting straight apostrophes that immediately follow backticks into either ‘ or ’ from one run to the next. Smarten the apostrophe to keep it stable.
When converting a constant NSExpression to an mbgl::Value, turn an NSColor or UIColor into an std::string containing a CSS color string. This allows developers to set an attribute of an MGLFeature to an NSColor or UIColor (rather than a CSS color string, which would be foreign), then use it in an MGLStyleFunction with identity interpolation.
Avoid canceling transitions (and triggering preexisting completion handlers) until we get a chance to ensure that a new transition really does have to begin. Consistently avoid mbgl transitions for redundant camera changes. Upon bailing, schedule the completion handler to run asynchronously on a delay equivalent to the requested animation duration.
Added a “functional” equality method to MGLMapCamera that avoids trivial differences.
Fixed invocations of XCTAssertEqualWithAccuracy() that incorrectly expressed the accuracy as a number of digits rather than a scalar tolerance.
This leverages the work already happening in `mbgl::style::conversion` to convert style functions from style-spec definitions into `mbgl::style::{Camera,Source,Composite}Function`s. In particular, this allows the conversions system to handle the differing typing requirements based on whether the output type of the style function is interpolatable or non-interpolatable.
Round double-tap and two-finger tap zoom gestures to the nearest integer zoom level. This has the benefits for raster tiles, as well as styles with zoom-based functions.
This results in a wider possible zoom range — ~0.5-1.5:
Old: z4.6 → z5.6 (+1.0), z4.4 → z5.4 (+1.0)
New: z4.6 → z6.0 (+1.4), z4.4 → z5.0 (+0.6)
* [ios, macos] Added delegate method to restrict movement
Added a way for the delegate to restrict where the user can move within the map using gestures.
Fixes#2457.
* [ios] Added support to restrict movement in pinch/rotate gestures
* [ios] Added support to restrict movement in double tap/quick zoom/two finger drag gestures
* [ios] fixed camera reset before two finger drag gesture is complete
* [ios] fixed camera comparison in double tap gestures
* [ios] Changelog update
* [macos] Changelog updated
* [ios, macos] Changelog cleanup
* [ios, macos] Added documentation to clarify performance impact
* [ios] clarified variable name
* [ios] blocking gestures implementation changed to a predictive approach
* [ios] gesture delegate methods refactoring
* [ios] Removed duplicated methods, improved code readability
* [ios] code refactoring to clarify the conditions to execute a gesture
This commit also gets rid of private `MGLOfflinePackDelegate` protocol.
`userInfo` dictionary in notification objects retain the `state` and
`progress` values for backwards compatibility. They can be removed in
later major release.