mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 17:45:59 +00:00
0a8721c340
Summary: Because it is not simply flushing, it (in the future) is more complex process. And the names should represent logical meaning of the process, not particular implementation details. It also nice to have unified terminology across our reactive UI frameworks. See the next diffs. Reviewed By: rsnara Differential Revision: D6436770 fbshipit-source-id: 0a0b686e8ace89e30f6787a37c0a7965c5af757b
69 lines
2.2 KiB
Objective-C
69 lines
2.2 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#import <React/RCTViewManager.h>
|
|
|
|
/**
|
|
* Allows hooking into UIManager internals. This can be used to execute code at
|
|
* specific points during the view updating process.
|
|
* New observers must not be added inside observer handlers.
|
|
* The particular order of handler invocation is not guaranteed.
|
|
* All observer handlers are called on UIManager queue.
|
|
*/
|
|
@protocol RCTUIManagerObserver <NSObject>
|
|
|
|
@optional
|
|
|
|
/**
|
|
* Called just before the UIManager layout views.
|
|
* It allows performing some operation for components which contain custom
|
|
* layout logic right before regular Yoga based layout. So, for instance,
|
|
* some components which have own React-independent state can compute and cache
|
|
* own intrinsic content size (which will be used by Yoga) at this point.
|
|
*/
|
|
- (void)uiManagerWillPerformLayout:(RCTUIManager *)manager;
|
|
|
|
/**
|
|
* Called just after the UIManager layout views.
|
|
* It allows performing custom layout logic right after regular Yoga based layout.
|
|
* So, for instance, this can be used for computing final layout for a component,
|
|
* since it has its final frame set by Yoga at this point.
|
|
*/
|
|
- (void)uiManagerDidPerformLayout:(RCTUIManager *)manager;
|
|
|
|
/**
|
|
* Called before flushing UI blocks at the end of a batch.
|
|
* This is called from the UIManager queue. Can be used to add UI operations in that batch.
|
|
*/
|
|
- (void)uiManagerWillPerformMounting:(RCTUIManager *)manager;
|
|
|
|
@end
|
|
|
|
/**
|
|
* Simple helper which take care of RCTUIManager's observers.
|
|
*/
|
|
@interface RCTUIManagerObserverCoordinator : NSObject <RCTUIManagerObserver>
|
|
|
|
/**
|
|
* Add a UIManagerObserver. See the `RCTUIManagerObserver` protocol for more info.
|
|
* References to observers are held weakly.
|
|
* This method can be called safely from any queue.
|
|
*/
|
|
- (void)addObserver:(id<RCTUIManagerObserver>)observer;
|
|
|
|
/**
|
|
* Remove a `UIManagerObserver`.
|
|
* This method can be called safely from any queue.
|
|
*/
|
|
- (void)removeObserver:(id<RCTUIManagerObserver>)observer;
|
|
|
|
@end
|