2016-11-28 19:09:46 +00:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
|
|
*
|
2018-02-17 02:24:55 +00:00
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
2016-11-28 19:09:46 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
|
2017-03-28 16:08:51 +00:00
|
|
|
#import <RCTAnimation/RCTValueAnimatedNode.h>
|
2016-11-28 19:09:46 +00:00
|
|
|
#import <React/RCTBridgeModule.h>
|
2017-03-09 23:16:01 +00:00
|
|
|
#import <React/RCTUIManager.h>
|
2016-11-28 19:09:46 +00:00
|
|
|
|
|
|
|
@interface RCTNativeAnimatedNodesManager : NSObject
|
|
|
|
|
|
|
|
- (nonnull instancetype)initWithUIManager:(nonnull RCTUIManager *)uiManager;
|
|
|
|
|
|
|
|
- (void)updateAnimations;
|
|
|
|
|
2017-03-28 16:08:51 +00:00
|
|
|
- (void)stepAnimations:(nonnull CADisplayLink *)displaylink;
|
|
|
|
|
2016-11-28 19:09:46 +00:00
|
|
|
// graph
|
|
|
|
|
|
|
|
- (void)createAnimatedNode:(nonnull NSNumber *)tag
|
|
|
|
config:(NSDictionary<NSString *, id> *__nonnull)config;
|
|
|
|
|
|
|
|
- (void)connectAnimatedNodes:(nonnull NSNumber *)parentTag
|
|
|
|
childTag:(nonnull NSNumber *)childTag;
|
|
|
|
|
|
|
|
- (void)disconnectAnimatedNodes:(nonnull NSNumber *)parentTag
|
|
|
|
childTag:(nonnull NSNumber *)childTag;
|
|
|
|
|
|
|
|
- (void)connectAnimatedNodeToView:(nonnull NSNumber *)nodeTag
|
2017-01-27 02:14:40 +00:00
|
|
|
viewTag:(nonnull NSNumber *)viewTag
|
|
|
|
viewName:(nonnull NSString *)viewName;
|
2016-11-28 19:09:46 +00:00
|
|
|
|
2017-05-25 13:02:35 +00:00
|
|
|
- (void)restoreDefaultValues:(nonnull NSNumber *)nodeTag;
|
|
|
|
|
2016-11-28 19:09:46 +00:00
|
|
|
- (void)disconnectAnimatedNodeFromView:(nonnull NSNumber *)nodeTag
|
|
|
|
viewTag:(nonnull NSNumber *)viewTag;
|
|
|
|
|
|
|
|
- (void)dropAnimatedNode:(nonnull NSNumber *)tag;
|
|
|
|
|
|
|
|
// mutations
|
|
|
|
|
|
|
|
- (void)setAnimatedNodeValue:(nonnull NSNumber *)nodeTag
|
|
|
|
value:(nonnull NSNumber *)value;
|
|
|
|
|
|
|
|
- (void)setAnimatedNodeOffset:(nonnull NSNumber *)nodeTag
|
|
|
|
offset:(nonnull NSNumber *)offset;
|
|
|
|
|
|
|
|
- (void)flattenAnimatedNodeOffset:(nonnull NSNumber *)nodeTag;
|
|
|
|
|
|
|
|
- (void)extractAnimatedNodeOffset:(nonnull NSNumber *)nodeTag;
|
|
|
|
|
|
|
|
// drivers
|
|
|
|
|
|
|
|
- (void)startAnimatingNode:(nonnull NSNumber *)animationId
|
|
|
|
nodeTag:(nonnull NSNumber *)nodeTag
|
|
|
|
config:(NSDictionary<NSString *, id> *__nonnull)config
|
|
|
|
endCallback:(nullable RCTResponseSenderBlock)callBack;
|
|
|
|
|
|
|
|
- (void)stopAnimation:(nonnull NSNumber *)animationId;
|
|
|
|
|
2017-01-06 05:48:10 +00:00
|
|
|
- (void)stopAnimationLoop;
|
|
|
|
|
2016-11-28 19:09:46 +00:00
|
|
|
// events
|
|
|
|
|
|
|
|
- (void)addAnimatedEventToView:(nonnull NSNumber *)viewTag
|
|
|
|
eventName:(nonnull NSString *)eventName
|
|
|
|
eventMapping:(NSDictionary<NSString *, id> *__nonnull)eventMapping;
|
|
|
|
|
|
|
|
- (void)removeAnimatedEventFromView:(nonnull NSNumber *)viewTag
|
2017-03-09 23:16:01 +00:00
|
|
|
eventName:(nonnull NSString *)eventName
|
|
|
|
animatedNodeTag:(nonnull NSNumber *)animatedNodeTag;
|
2016-11-28 19:09:46 +00:00
|
|
|
|
|
|
|
- (void)handleAnimatedEvent:(nonnull id<RCTEvent>)event;
|
|
|
|
|
|
|
|
// listeners
|
|
|
|
|
|
|
|
- (void)startListeningToAnimatedNodeValue:(nonnull NSNumber *)tag
|
|
|
|
valueObserver:(nonnull id<RCTValueAnimatedNodeObserver>)valueObserver;
|
|
|
|
|
2017-03-28 16:08:51 +00:00
|
|
|
- (void)stopListeningToAnimatedNodeValue:(nonnull NSNumber *)tag;
|
2016-11-28 19:09:46 +00:00
|
|
|
|
|
|
|
@end
|