RCTAnimationUtils.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. */
  7. #import <CoreGraphics/CoreGraphics.h>
  8. #import <Foundation/Foundation.h>
  9. #import <React/RCTDefines.h>
  10. static NSString *const EXTRAPOLATE_TYPE_IDENTITY = @"identity";
  11. static NSString *const EXTRAPOLATE_TYPE_CLAMP = @"clamp";
  12. static NSString *const EXTRAPOLATE_TYPE_EXTEND = @"extend";
  13. RCT_EXTERN CGFloat RCTInterpolateValueInRange(CGFloat value,
  14. NSArray<NSNumber *> *inputRange,
  15. NSArray<NSNumber *> *outputRange,
  16. NSString *extrapolateLeft,
  17. NSString *extrapolateRight);
  18. RCT_EXTERN CGFloat RCTInterpolateValue(CGFloat value,
  19. CGFloat inputMin,
  20. CGFloat inputMax,
  21. CGFloat outputMin,
  22. CGFloat outputMax,
  23. NSString *extrapolateLeft,
  24. NSString *extrapolateRight);
  25. RCT_EXTERN CGFloat RCTRadiansToDegrees(CGFloat radians);
  26. RCT_EXTERN CGFloat RCTDegreesToRadians(CGFloat degrees);
  27. /**
  28. * Coefficient to slow down animations, respects the ios
  29. * simulator `Slow Animations (⌘T)` option.
  30. */
  31. RCT_EXTERN CGFloat RCTAnimationDragCoefficient(void);