This major release drops official support for iOS 8.
This major release upgrades the bazel dependencies and workspace. This change is breaking for anyone using bazel to build this library. In order to use this library with bazel, you will also need to upgrade your workspace versions to match the ones now used in this library's WORKSPACE
file.
This patch release introduces a compatibility initializer for creating Objective-C animation traits from C-style motion timings.
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionInterchange.h
new method: -initWithMotionTiming:
in MDMAnimationTraits(Legacy)
new category: MDMAnimationTraits(Legacy)
This minor release introduces new Objective-C APIs for creating and storing animation traits.
All of the original C-style APIs for animation timing are now informally deprecated. We will remove these APIs in the future.
New Objective-C APIs for storing animation traits.
Old API | New API | Rationale |
---|---|---|
MotionTiming | AnimationTraits | This structure is intended to describe animations only, not motion in general. |
MotionCurve | TimingCurve | This brings the API name closer to the similarly-purposed CAMediaTimingFunction . MotionCurve could also be easily confused with motion through x/y space rather than through time (e.g. ArcMove), which will be problematic as we start defining paths of motion through space. |
MotionRepetition | RepetitionTraits | This aligns the naming with AnimationTraits. |
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionInterchange.h
new class: MDMRepetitionOverTime
new method: -initWithDuration:autoreverses:
in MDMRepetitionOverTime
new method: -init
in MDMRepetitionOverTime
new property: duration
in MDMRepetitionOverTime
new method: -initWithDuration:
in MDMRepetitionOverTime
new protocol: MDMTimingCurve
new category: CAMediaTimingFunction()
new property: autoreverses
in MDMRepetitionTraits
new protocol: MDMRepetitionTraits
modified function: MDMMotionCurveMakeSpringWithInitialVelocity
Type of change: | Swift declaration |
---|---|
From: | func MotionCurveMakeSpring(mass: Float, tension: Float, friction: Float, initialVelocity: Float) -> MotionCurve |
To: | func MotionCurveMakeSpring(mass: CGFloat, tension: CGFloat, friction: CGFloat, initialVelocity: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeSpringWithInitialVelocity
Type of change: | Declaration |
---|---|
From: | extern MDMMotionCurve MDMMotionCurveMakeSpringWithInitialVelocity( float mass, float tension, float friction, float initialVelocity) |
To: | extern MDMMotionCurve MDMMotionCurveMakeSpringWithInitialVelocity( CGFloat mass, CGFloat tension, CGFloat friction, CGFloat initialVelocity) |
new property: tension
in MDMSpringTimingCurve
new method: -init
in MDMSpringTimingCurve
new property: friction
in MDMSpringTimingCurve
new property: initialVelocity
in MDMSpringTimingCurve
new property: mass
in MDMSpringTimingCurve
new class: MDMSpringTimingCurve
new method: -initWithMass:tension:friction:
in MDMSpringTimingCurve
new method: -initWithMass:tension:friction:initialVelocity:
in MDMSpringTimingCurve
new class: MDMAnimationTraits
new property: repetition
in MDMAnimationTraits
new property: delay
in MDMAnimationTraits
new property: duration
in MDMAnimationTraits
new method: -initWithDelay:duration:animationCurve:
in MDMAnimationTraits
new method: -initWithDelay:duration:timingCurve:repetition:
in MDMAnimationTraits
new method: -initWithDuration:animationCurve:
in MDMAnimationTraits
new method: -initWithDelay:duration:
in MDMAnimationTraits
new method: -init
in MDMAnimationTraits
new method: -initWithDelay:duration:timingCurve:
in MDMAnimationTraits
new method: -initWithDuration:
in MDMAnimationTraits
new property: timingCurve
in MDMAnimationTraits
new method: -mdm_reversed
in CAMediaTimingFunction(MotionInterchangeExtension)
new property: mdm_point1
in CAMediaTimingFunction(MotionInterchangeExtension)
new category: CAMediaTimingFunction(MotionInterchangeExtension)
new property: mdm_point2
in CAMediaTimingFunction(MotionInterchangeExtension)
modified function: MDMMotionCurveMakeSpring
Type of change: | Swift declaration |
---|---|
From: | func MotionCurveMakeSpring(mass: Float, tension: Float, friction: Float) -> MotionCurve |
To: | func MotionCurveMakeSpring(mass: CGFloat, tension: CGFloat, friction: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeSpring
Type of change: | Declaration |
---|---|
From: | extern MDMMotionCurve MDMMotionCurveMakeSpring(float mass, float tension, float friction) |
To: | extern MDMMotionCurve MDMMotionCurveMakeSpring(CGFloat mass, CGFloat tension, CGFloat friction) |
new category: MDMAnimationTraits(SystemTraits)
new property: systemModalMovement
in MDMAnimationTraits(SystemTraits)
new property: initialVelocity
in MDMSpringTimingCurveGenerator
new class: MDMSpringTimingCurveGenerator
new method: -init
in MDMSpringTimingCurveGenerator
new method: -initWithDuration:dampingRatio:initialVelocity:
in MDMSpringTimingCurveGenerator
new property: dampingRatio
in MDMSpringTimingCurveGenerator
new method: -springTimingCurve
in MDMSpringTimingCurveGenerator
new method: -initWithDuration:dampingRatio:
in MDMSpringTimingCurveGenerator
new property: duration
in MDMSpringTimingCurveGenerator
modified function: MDMMotionCurveMakeBezier
Type of change: | Swift declaration |
---|---|
From: | func MotionCurveMakeBezier(p1x: Float, p1y: Float, p2x: Float, p2y: Float) -> MotionCurve |
To: | func MotionCurveMakeBezier(p1x: CGFloat, p1y: CGFloat, p2x: CGFloat, p2y: CGFloat) -> MotionCurve |
modified function: MDMMotionCurveMakeBezier
Type of change: | Declaration |
---|---|
From: | extern MDMMotionCurve MDMMotionCurveMakeBezier(float p1x, float p1y, float p2x, float p2y) |
To: | extern MDMMotionCurve MDMMotionCurveMakeBezier(CGFloat p1x, CGFloat p1y, CGFloat p2x, CGFloat p2y) |
new method: -initWithNumberOfRepetitions:autoreverses:
in MDMRepetition
new method: -initWithNumberOfRepetitions:
in MDMRepetition
new class: MDMRepetition
new property: numberOfRepetitions
in MDMRepetition
new method: -init
in MDMRepetition
This minor release introduces new APIs for creating springs that have an initial velocity.
Added new APIs for creating springs with initial velocity: MDMMotionCurveMakeSpringWithInitialVelocity
and _MDMSpringWithInitialVelocity
.
new function: MDMMotionCurveMakeSpringWithInitialVelocity
new macro: _MDMSpringWithInitialVelocity
This minor releases introduces new APIs for defining motion curves.
MDMMotionCurveTypeDefault
is now deprecated. Use MDMMotionCurveTypeBezier
instead.
The new MDMLinearMotionCurve
macro allows you to define linear easing curves in specs.
Spring curve specs can now define initial velocity. This value can be read using the new MDMSpringMotionCurveDataIndexInitialVelocity
enum value for MDMSpringMotionCurveDataIndex
.
new enum: MDMSpringMotionCurveDataIndexInitialVelocity
.
new constant/macro: MDMLinearMotionCurve
.
This minor release introduces a new API for reversing cubic beziers and a unit test for MDMModalMovementTiming
.
MDMMotionCurveReversedBezier
reverses cubic bezier curves. Intended for use when building mirrored bi-directional transitions.
new function: MDMMotionCurveReversedBezier
.
This patch release migrates the project's continuous integration pipeline from arc to bazel and kokoro.
Continuous integration can now be run locally by executing ./.kokoro
from the root of the git repo. Requires bazel.
This minor release introduces two new APIs for working with timing curves.
MDMMotionCurveFromTimingFunction
can create a timing curve from a CAMediaTimingFunction
.MDMModalMovementTiming
is the iOS timing curve for modal presentation movement.new function: MDMMotionCurveFromTimingFunction
.
new macro: MDMModalMovementTiming
.
Added a missing framework header for Objective-C support.
Initial release.
Includes MotionTiming structure for representing cubic bezier and spring animations.