v1.5.0
This minor release introduces new Objective-C APIs for creating and storing animation traits.
New deprecations
All of the original C-style APIs for animation timing are now informally deprecated. We will remove these APIs in the future.
New features
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. |
Source changes
- Restrict subclassing on all types. (#32) (featherless)
- Re-introduce v1 APIs. (#33) (featherless)
- Extract the UIKit damping ratio APIs to their own class. (#31) (featherless)
- Add support for copying animation traits. (#30) (featherless)
- Allow writing of all properties. (#26) (featherless)
- Add support for damping ratio initializers on the spring timing curve. (#27) (featherless)
- Use UIViewAnimationCurve instead of NSString as the easing curve type. (#28) (featherless)
- Add APIs for initializing an animation trait with a named timing function. (#25) (featherless)
- Implement v2 APIs (#22) (featherless)
- Standardize the timing curve creation methods on CGFloat. (#21) (featherless)
API changes
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionInterchange.h
MDMRepetitionOverTime
new class: MDMRepetitionOverTime
new method: -initWithDuration:autoreverses:
in MDMRepetitionOverTime
new method: -init
in MDMRepetitionOverTime
new property: duration
in MDMRepetitionOverTime
new method: -initWithDuration:
in MDMRepetitionOverTime
MDMTimingCurve
new protocol: MDMTimingCurve
CAMediaTimingFunction()
new category: CAMediaTimingFunction()
MDMRepetitionTraits
new property: autoreverses
in MDMRepetitionTraits
new protocol: MDMRepetitionTraits
MDMMotionCurveMakeSpringWithInitialVelocity
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) |
MDMSpringTimingCurve
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
MDMAnimationTraits
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
CAMediaTimingFunction(MotionInterchangeExtension)
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)
MDMMotionCurveMakeSpring
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) |
MDMAnimationTraits(SystemTraits)
new category: MDMAnimationTraits(SystemTraits)
new property: systemModalMovement
in MDMAnimationTraits(SystemTraits)
MDMSpringTimingCurveGenerator
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
MDMMotionCurveMakeBezier
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) |
MDMRepetition
new method: -initWithNumberOfRepetitions:autoreverses:
in MDMRepetition
new method: -initWithNumberOfRepetitions:
in MDMRepetition
new class: MDMRepetition
new property: numberOfRepetitions
in MDMRepetition
new method: -init
in MDMRepetition
Non-source changes
- Update docs with new API. (Jeff Verkoeyen)
- Fixing travis builds. (Jeff Verkoeyen)
- Use http_archive instead of git_respository as per the bazel team's recommendations. (#29) (featherless)
- Remove unused header. (Jeff Verkoeyen)
- Iterating on the usage docs. (Jeff Verkoeyen)
- Revert "Add todo configuration" (Jeff Verkoeyen)
- Add todo configuration (featherless)
- Enable code coverage on travis (featherless)
- Run tests on Travis. (Jeff Verkoeyen)
- Update README.md (featherless)
- Fix minor typo. (Jeff Verkoeyen)
- Initial pass at fleshing out the readme (#24) (featherless)
- Fix travis. (Jeff Verkoeyen)
- Add missing Info.plist. (#20) (Sylvain Defresne)