#pragma once #ifdef RCT_NEW_ARCH_ENABLED #include #include #include #include #include "NewestShadowNodesRegistry.h" using namespace facebook; using namespace react; namespace reanimated { class ShadowTreeCloner { public: ShadowTreeCloner( std::shared_ptr newestShadowNodesRegistry, std::shared_ptr uiManager, SurfaceId surfaceId); ~ShadowTreeCloner(); ShadowNode::Unshared cloneWithNewProps( const ShadowNode::Shared &oldRootNode, const ShadowNodeFamily &family, RawProps &&rawProps); void updateYogaChildren(); private: std::shared_ptr newestShadowNodesRegistry_; PropsParserContext propsParserContext_; std::set yogaChildrenUpdates_; }; } // namespace reanimated #endif // RCT_NEW_ARCH_ENABLED