/*
 Copyright 2017-present The Material Motion Authors. All Rights Reserved.

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 */

#import "MDMAnimatableKeyPaths.h"

MDMAnimatableKeyPath MDMKeyPathAnchorPoint = @"anchorPoint";
MDMAnimatableKeyPath MDMKeyPathBackgroundColor = @"backgroundColor";
MDMAnimatableKeyPath MDMKeyPathBounds = @"bounds";
MDMAnimatableKeyPath MDMKeyPathBorderWidth = @"borderWidth";
MDMAnimatableKeyPath MDMKeyPathBorderColor = @"borderColor";
MDMAnimatableKeyPath MDMKeyPathCornerRadius = @"cornerRadius";
MDMAnimatableKeyPath MDMKeyPathHeight = @"bounds.size.height";
MDMAnimatableKeyPath MDMKeyPathOpacity = @"opacity";
MDMAnimatableKeyPath MDMKeyPathPosition = @"position";
MDMAnimatableKeyPath MDMKeyPathRotation = @"transform.rotation.z";
MDMAnimatableKeyPath MDMKeyPathScale = @"transform.scale";
MDMAnimatableKeyPath MDMKeyPathShadowColor = @"shadowColor";
MDMAnimatableKeyPath MDMKeyPathShadowOffset = @"shadowOffset";
MDMAnimatableKeyPath MDMKeyPathShadowOpacity = @"shadowOpacity";
MDMAnimatableKeyPath MDMKeyPathShadowRadius = @"shadowRadius";
MDMAnimatableKeyPath MDMKeyPathStrokeStart = @"strokeStart";
MDMAnimatableKeyPath MDMKeyPathStrokeEnd = @"strokeEnd";
MDMAnimatableKeyPath MDMKeyPathTransform = @"transform";
MDMAnimatableKeyPath MDMKeyPathWidth = @"bounds.size.width";
MDMAnimatableKeyPath MDMKeyPathX = @"position.x";
MDMAnimatableKeyPath MDMKeyPathY = @"position.y";
MDMAnimatableKeyPath MDMKeyPathZ = @"zPosition";
