123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /*
- * 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 <Foundation/Foundation.h>
- @class RCTNativeAnimatedNodesManager;
- @interface RCTAnimatedNode : NSObject
- - (instancetype)initWithTag:(NSNumber *)tag
- config:(NSDictionary<NSString *, id> *)config NS_DESIGNATED_INITIALIZER;
- @property (nonatomic, readonly) NSNumber *nodeTag;
- @property (nonatomic, weak) RCTNativeAnimatedNodesManager *manager;
- @property (nonatomic, copy, readonly) NSDictionary<NSString *, id> *config;
- @property (nonatomic, copy, readonly) NSMapTable<NSNumber *, RCTAnimatedNode *> *childNodes;
- @property (nonatomic, copy, readonly) NSMapTable<NSNumber *, RCTAnimatedNode *> *parentNodes;
- @property (nonatomic, readonly) BOOL needsUpdate;
- -(BOOL)isManagedByFabric;
- /**
- * Marks a node and its children as needing update.
- */
- - (void)setNeedsUpdate NS_REQUIRES_SUPER;
- /**
- * The node will update its value if necessary and only after its parents have updated.
- */
- - (void)updateNodeIfNecessary NS_REQUIRES_SUPER;
- /**
- * Where the actual update code lives. Called internally from updateNodeIfNecessary
- */
- - (void)performUpdate NS_REQUIRES_SUPER;
- - (void)addChild:(RCTAnimatedNode *)child NS_REQUIRES_SUPER;
- - (void)removeChild:(RCTAnimatedNode *)child NS_REQUIRES_SUPER;
- - (void)onAttachedToNode:(RCTAnimatedNode *)parent NS_REQUIRES_SUPER;
- - (void)onDetachedFromNode:(RCTAnimatedNode *)parent NS_REQUIRES_SUPER;
- - (void)detachNode NS_REQUIRES_SUPER;
- @end
|