ssap_app/node_modules/react-native-screens/ios/gamma/split-view/RNSSplitViewHostComponentEv...

69 lines
2.2 KiB
Objective-C

#import <Foundation/Foundation.h>
// Hide C++ symbols from C compiler used when building Swift module
#if defined(__cplusplus)
#import <react/renderer/components/rnscreens/EventEmitters.h>
namespace react = facebook::react;
#endif // __cplusplus
NS_ASSUME_NONNULL_BEGIN
/**
* @class RNSSplitViewHostComponentEventEmitter
* @brief Responsible for emitting events from the native SplitView to the React Element Tree.
*/
@interface RNSSplitViewHostComponentEventEmitter : NSObject
/**
* @brief Emits the onCollapse event to notify associated component instance that the SplitView has collapsed.
*
* Call this method when the SplitView collapses to a single column e.g. due to
* size constraints or user interaction to notify React realm of this event.
*
* @return true if the event was successfully emitted, false otherwise.
*/
- (BOOL)emitOnCollapse;
- (BOOL)emitOnDisplayModeWillChangeFrom:(UISplitViewControllerDisplayMode)currentDisplayMode
to:(UISplitViewControllerDisplayMode)nextDisplayMode;
/**
* @brief Emits the onExpand event to notify associated component instance that the SplitView has expanded.
*
* Call this method when a SplitView is transitioning from the collapsed state to the multi-column display
* to notify React realm of this event.
*
* @return true if the event was successfully emitted, false otherwise.
*/
- (BOOL)emitOnExpand;
/**
* @brief Emits the onHideInspector event to notify that the inspector column is being hidden.
*
* Call this method when a user dismisses an inspector modal or hides it programmatically
* to notify React for synchronize the state based on this event.
*
* @return true if the event was emitted successfully, false otherwise.
*/
- (BOOL)emitOnHideInspector;
@end
#pragma mark - Hidden from Swift
#if defined(__cplusplus)
@interface RNSSplitViewHostComponentEventEmitter ()
/**
* @brief Sets the underlying C++ event emitter used for dispatching events to React.
*
* @param emitter A shared pointer to a RNSSplitViewHostEventEmitter instance.
*/
- (void)updateEventEmitter:(const std::shared_ptr<const react::RNSSplitViewHostEventEmitter> &)emitter;
@end
#endif // __cplusplus
NS_ASSUME_NONNULL_END