mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
56b10a8351
Summary: Color support for AnimatedInterpolation was incomplete with native drivers, as only rgba type strings were supported. There was also an issue where color props instead a StyleAnimatedNode would never get applied. We were also potentially duplicating color parsing support, which is already centralized in normalizeColor / processColor. Changelog: [iOS][Added] Enable AnimatedInterpolation to interpolate arbitrary color types. Reviewed By: philIip Differential Revision: D41649337 fbshipit-source-id: 505ba555b6a79113635fdfb35c6fe69c92d82234
46 lines
1.4 KiB
Objective-C
46 lines
1.4 KiB
Objective-C
/*
|
|
* Copyright (c) Meta Platforms, Inc. and 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>
|
|
|
|
RCT_EXTERN NSString *const EXTRAPOLATE_TYPE_IDENTITY;
|
|
RCT_EXTERN NSString *const EXTRAPOLATE_TYPE_CLAMP;
|
|
RCT_EXTERN NSString *const EXTRAPOLATE_TYPE_EXTEND;
|
|
|
|
RCT_EXTERN NSUInteger RCTFindIndexOfNearestValue(CGFloat value, NSArray<NSNumber *> *range);
|
|
|
|
RCT_EXTERN CGFloat RCTInterpolateValue(
|
|
CGFloat value,
|
|
CGFloat inputMin,
|
|
CGFloat inputMax,
|
|
CGFloat outputMin,
|
|
CGFloat outputMax,
|
|
NSString *extrapolateLeft,
|
|
NSString *extrapolateRight);
|
|
|
|
RCT_EXTERN CGFloat RCTInterpolateValueInRange(
|
|
CGFloat value,
|
|
NSArray<NSNumber *> *inputRange,
|
|
NSArray<NSNumber *> *outputRange,
|
|
NSString *extrapolateLeft,
|
|
NSString *extrapolateRight);
|
|
|
|
RCT_EXTERN int32_t
|
|
RCTInterpolateColorInRange(CGFloat value, NSArray<NSNumber *> *inputRange, NSArray<UIColor *> *outputRange);
|
|
|
|
// Represents a color as a int32_t. RGB components are assumed to be in [0-255] range and alpha in [0-1] range
|
|
RCT_EXTERN int32_t RCTColorFromComponents(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha);
|
|
|
|
/**
|
|
* Coefficient to slow down animations, respects the ios
|
|
* simulator `Slow Animations (⌘T)` option.
|
|
*/
|
|
RCT_EXTERN CGFloat RCTAnimationDragCoefficient(void);
|