Skip to content

Commit

Permalink
Added shadow properties
Browse files Browse the repository at this point in the history
  • Loading branch information
Rui Peres committed May 6, 2014
1 parent 8678237 commit a4f6c5d
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pop-tests/POPAnimatablePropertyTests.mm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ - (void)testProvidedExistence
kPOPLayerRotation,
kPOPLayerRotationY,
kPOPLayerRotationX,
kPOPLayerShadowColor,
kPOPLayerShadowOffset,
kPOPLayerShadowOpacity,
kPOPLayerShadowRadius,
kPOPShapeLayerStrokeStart,
kPOPShapeLayerStrokeEnd,
kPOPShapeLayerStrokeColor,
Expand Down
4 changes: 4 additions & 0 deletions pop/POPAnimatableProperty.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,10 @@ extern NSString * const kPOPLayerTranslationXY;
extern NSString * const kPOPLayerTranslationY;
extern NSString * const kPOPLayerTranslationZ;
extern NSString * const kPOPLayerZPosition;
extern NSString * const kPOPLayerShadowColor;
extern NSString * const kPOPLayerShadowOffset;
extern NSString * const kPOPLayerShadowOpacity;
extern NSString * const kPOPLayerShadowRadius;

/**
Common CAShapeLayer property names.
Expand Down
47 changes: 47 additions & 0 deletions pop/POPAnimatableProperty.mm
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@
NSString * const kPOPLayerTranslationY = @"translationY";
NSString * const kPOPLayerTranslationZ = @"translationZ";
NSString * const kPOPLayerZPosition = @"zPosition";
NSString * const kPOPLayerShadowColor = @"shadowColor";
NSString * const kPOPLayerShadowOffset = @"shadowOffset";
NSString * const kPOPLayerShadowOpacity = @"shadowOpacity";
NSString * const kPOPLayerShadowRadius = @"shadowRadius";

// CAShapeLayer
NSString * const kPOPShapeLayerStrokeStart = @"shapeLayer.strokeStart";
Expand Down Expand Up @@ -348,6 +352,49 @@
},
kPOPThresholdRotation
},

{kPOPLayerShadowColor,
^(CALayer *obj, CGFloat values[]) {
POPCGColorGetRGBAComponents(obj.shadowColor, values);
},
^(CALayer *obj, const CGFloat values[]) {
CGColorRef color = POPCGColorRGBACreate(values);
[obj setShadowColor:color];
CGColorRelease(color);
},
0.01
},

{kPOPLayerShadowOffset,
^(CALayer *obj, CGFloat values[]) {
values_from_size(values, [obj shadowOffset]);
},
^(CALayer *obj, const CGFloat values[]) {
CGSize size = values_to_size(values);
[obj setShadowOffset:size];
},
0.01
},

{kPOPLayerShadowOpacity,
^(CALayer *obj, CGFloat values[]) {
values[0] = [obj shadowOpacity];
},
^(CALayer *obj, const CGFloat values[]) {
[obj setShadowOpacity:values[0]];
},
0.01
},

{kPOPLayerShadowRadius,
^(CALayer *obj, CGFloat values[]) {
values[0] = [obj shadowRadius];
},
^(CALayer *obj, const CGFloat values[]) {
[obj setShadowRadius:values[0]];
},
0.01
},

/* CAShapeLayer */

Expand Down

0 comments on commit a4f6c5d

Please sign in to comment.