RCTNativeAnimatedNodesManager.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 <Foundation/Foundation.h>
  8. #import <React/RCTBridgeModule.h>
  9. #import <React/RCTUIManager.h>
  10. @protocol RCTValueAnimatedNodeObserver;
  11. @interface RCTNativeAnimatedNodesManager : NSObject
  12. - (nonnull instancetype)initWithBridge:(nonnull RCTBridge *)bridge;
  13. - (void)updateAnimations;
  14. - (void)stepAnimations:(nonnull CADisplayLink *)displaylink;
  15. - (BOOL)isNodeManagedByFabric:(nonnull NSNumber *)tag;
  16. // graph
  17. - (void)createAnimatedNode:(nonnull NSNumber *)tag
  18. config:(NSDictionary<NSString *, id> *__nonnull)config;
  19. - (void)connectAnimatedNodes:(nonnull NSNumber *)parentTag
  20. childTag:(nonnull NSNumber *)childTag;
  21. - (void)disconnectAnimatedNodes:(nonnull NSNumber *)parentTag
  22. childTag:(nonnull NSNumber *)childTag;
  23. - (void)connectAnimatedNodeToView:(nonnull NSNumber *)nodeTag
  24. viewTag:(nonnull NSNumber *)viewTag
  25. viewName:(nonnull NSString *)viewName;
  26. - (void)restoreDefaultValues:(nonnull NSNumber *)nodeTag;
  27. - (void)disconnectAnimatedNodeFromView:(nonnull NSNumber *)nodeTag
  28. viewTag:(nonnull NSNumber *)viewTag;
  29. - (void)dropAnimatedNode:(nonnull NSNumber *)tag;
  30. // mutations
  31. - (void)setAnimatedNodeValue:(nonnull NSNumber *)nodeTag
  32. value:(nonnull NSNumber *)value;
  33. - (void)setAnimatedNodeOffset:(nonnull NSNumber *)nodeTag
  34. offset:(nonnull NSNumber *)offset;
  35. - (void)flattenAnimatedNodeOffset:(nonnull NSNumber *)nodeTag;
  36. - (void)extractAnimatedNodeOffset:(nonnull NSNumber *)nodeTag;
  37. // drivers
  38. - (void)startAnimatingNode:(nonnull NSNumber *)animationId
  39. nodeTag:(nonnull NSNumber *)nodeTag
  40. config:(NSDictionary<NSString *, id> *__nonnull)config
  41. endCallback:(nullable RCTResponseSenderBlock)callBack;
  42. - (void)stopAnimation:(nonnull NSNumber *)animationId;
  43. - (void)stopAnimationLoop;
  44. // events
  45. - (void)addAnimatedEventToView:(nonnull NSNumber *)viewTag
  46. eventName:(nonnull NSString *)eventName
  47. eventMapping:(NSDictionary<NSString *, id> *__nonnull)eventMapping;
  48. - (void)removeAnimatedEventFromView:(nonnull NSNumber *)viewTag
  49. eventName:(nonnull NSString *)eventName
  50. animatedNodeTag:(nonnull NSNumber *)animatedNodeTag;
  51. - (void)handleAnimatedEvent:(nonnull id<RCTEvent>)event;
  52. // listeners
  53. - (void)startListeningToAnimatedNodeValue:(nonnull NSNumber *)tag
  54. valueObserver:(nonnull id<RCTValueAnimatedNodeObserver>)valueObserver;
  55. - (void)stopListeningToAnimatedNodeValue:(nonnull NSNumber *)tag;
  56. @end