mirror of
https://github.com/status-im/react-native.git
synced 2025-02-21 13:48:13 +00:00
Summary: RN animations currently ignore the `Slow Animations` option on the iOS simulator because we don't use UIKit animations directly. This uses a private api to get the slow coefficient and use it in the native animated driver. We only compile the private api code on simulator so this won't cause issues for app store approval. One possible issue is that the api changes in new iOS versions but I think it's reasonable to do this. Note that this won't work with JS driven animations, we could expose the slow coefficient as a constant and use that in JS but I decided not to implement it. Pull Request resolved: https://github.com/facebook/react-native/pull/21157 Differential Revision: D9980306 Pulled By: sahrens fbshipit-source-id: bdbce2e469261a75cb4b9a251e8e8f212bb9c4e7
39 lines
1.5 KiB
Objective-C
39 lines
1.5 KiB
Objective-C
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import <CoreGraphics/CoreGraphics.h>
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import <React/RCTDefines.h>
|
|
|
|
static NSString *const EXTRAPOLATE_TYPE_IDENTITY = @"identity";
|
|
static NSString *const EXTRAPOLATE_TYPE_CLAMP = @"clamp";
|
|
static NSString *const EXTRAPOLATE_TYPE_EXTEND = @"extend";
|
|
|
|
RCT_EXTERN CGFloat RCTInterpolateValueInRange(CGFloat value,
|
|
NSArray<NSNumber *> *inputRange,
|
|
NSArray<NSNumber *> *outputRange,
|
|
NSString *extrapolateLeft,
|
|
NSString *extrapolateRight);
|
|
|
|
RCT_EXTERN CGFloat RCTInterpolateValue(CGFloat value,
|
|
CGFloat inputMin,
|
|
CGFloat inputMax,
|
|
CGFloat outputMin,
|
|
CGFloat outputMax,
|
|
NSString *extrapolateLeft,
|
|
NSString *extrapolateRight);
|
|
|
|
RCT_EXTERN CGFloat RCTRadiansToDegrees(CGFloat radians);
|
|
RCT_EXTERN CGFloat RCTDegreesToRadians(CGFloat degrees);
|
|
|
|
/**
|
|
* Coefficient to slow down animations, respects the ios
|
|
* simulator `Slow Animations (⌘T)` option.
|
|
*/
|
|
RCT_EXTERN CGFloat RCTAnimationDragCoefficient(void);
|