Skip to content
This repository was archived by the owner on Aug 30, 2023. It is now read-only.

Commit 18a0edd

Browse files
authored
Add shadow key paths to the animatable keypaths list. (#64)
1 parent efa04ff commit 18a0edd

5 files changed

+19
-0
lines changed

src/MDMAnimatableKeyPaths.h

+3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathOpacity NS_SWIFT_NAME(opacity);
3939
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathPosition NS_SWIFT_NAME(position);
4040
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathRotation NS_SWIFT_NAME(rotation);
4141
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathScale NS_SWIFT_NAME(scale);
42+
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathShadowOffset NS_SWIFT_NAME(shadowOffset);
43+
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathShadowOpacity NS_SWIFT_NAME(shadowOpacity);
44+
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathShadowRadius NS_SWIFT_NAME(shadowRadius);
4245
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathStrokeStart NS_SWIFT_NAME(strokeStart);
4346
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathStrokeEnd NS_SWIFT_NAME(strokeEnd);
4447
FOUNDATION_EXPORT MDMAnimatableKeyPath MDMKeyPathWidth NS_SWIFT_NAME(width);

src/MDMAnimatableKeyPaths.m

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
MDMAnimatableKeyPath MDMKeyPathPosition = @"position";
2424
MDMAnimatableKeyPath MDMKeyPathRotation = @"transform.rotation.z";
2525
MDMAnimatableKeyPath MDMKeyPathScale = @"transform.scale";
26+
MDMAnimatableKeyPath MDMKeyPathShadowOffset = @"shadowOffset";
27+
MDMAnimatableKeyPath MDMKeyPathShadowOpacity = @"shadowOpacity";
28+
MDMAnimatableKeyPath MDMKeyPathShadowRadius = @"shadowRadius";
2629
MDMAnimatableKeyPath MDMKeyPathStrokeStart = @"strokeStart";
2730
MDMAnimatableKeyPath MDMKeyPathStrokeEnd = @"strokeEnd";
2831
MDMAnimatableKeyPath MDMKeyPathWidth = @"bounds.size.width";

tests/unit/MotionAnimatorTests.swift

+4
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ class MotionAnimatorTests: XCTestCase {
4141
withValues: [CGPoint.zero, CGPoint(x: 1, y: 1)], keyPath: .position)
4242
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .rotation)
4343
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .scale)
44+
animator.animate(with: timing, to: layer,
45+
withValues: [CGSize.zero, CGSize(width: 1, height: 1)], keyPath: .shadowOffset)
46+
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .shadowOpacity)
47+
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .shadowRadius)
4448
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .strokeStart)
4549
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .strokeEnd)
4650
animator.animate(with: timing, to: layer, withValues: [0, 1], keyPath: .width)

tests/unit/QuartzCoreBehavioralTests.swift

+3
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ class QuartzCoreBehavioralTests: XCTestCase {
8080
.position: CGPoint(x: 50, y: 20),
8181
.rotation: 42,
8282
.scale: 2.5,
83+
.shadowOffset: CGSize(width: 1, height: 1),
84+
.shadowOpacity: 0.3,
85+
.shadowRadius: 5,
8386
.strokeStart: 0.2,
8487
.strokeEnd: 0.5,
8588
.width: 25,

tests/unit/UIKitBehavioralTests.swift

+6
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ class UIKitBehavioralTests: XCTestCase {
127127

128128
func testSomePropertiesDoNotImplicitlyAnimate() {
129129
let properties: [AnimatableKeyPath: Any] = [
130+
.shadowOffset: CGSize(width: 1, height: 1),
131+
.shadowOpacity: 0.3,
132+
.shadowRadius: 5,
130133
.strokeStart: 0.2,
131134
.strokeEnd: 0.5,
132135
]
@@ -153,6 +156,9 @@ class UIKitBehavioralTests: XCTestCase {
153156
.position: CGPoint(x: 50, y: 20),
154157
.rotation: 42,
155158
.scale: 2.5,
159+
.shadowOffset: CGSize(width: 1, height: 1),
160+
.shadowOpacity: 0.3,
161+
.shadowRadius: 5,
156162
.strokeStart: 0.2,
157163
.strokeEnd: 0.5,
158164
.width: 25,

0 commit comments

Comments
 (0)