diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm index e791c17cad9..c0d326b508e 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualView/RCTVirtualViewComponentView.mm @@ -21,23 +21,13 @@ #import #import +#import "../VirtualViewExperimental/RCTVirtualViewMode.h" +#import "../VirtualViewExperimental/RCTVirtualViewRenderState.h" #import "RCTFabricComponentsPlugins.h" using namespace facebook; using namespace facebook::react; -typedef NS_ENUM(NSInteger, RCTVirtualViewMode) { - RCTVirtualViewModeVisible = 0, - RCTVirtualViewModePrerender = 1, - RCTVirtualViewModeHidden = 2, -}; - -typedef NS_ENUM(NSInteger, RCTVirtualViewRenderState) { - RCTVirtualViewRenderStateUnknown = 0, - RCTVirtualViewRenderStateRendered = 1, - RCTVirtualViewRenderStateNone = 2, -}; - /** * Checks whether one CGRect overlaps with another CGRect. * @@ -72,8 +62,8 @@ static BOOL CGRectOverlaps(CGRect rect1, CGRect rect2) @implementation RCTVirtualViewComponentView { RCTScrollViewComponentView *_lastParentScrollViewComponentView; - std::optional _mode; - enum RCTVirtualViewRenderState _renderState; + std::optional _mode; + RCTVirtualViewRenderState _renderState; std::optional _targetRect; } @@ -234,7 +224,7 @@ static BOOL sIsAccessibilityUsed = NO; _targetRect = targetRect; } - enum RCTVirtualViewMode newMode; + RCTVirtualViewMode newMode; CGRect thresholdRect = CGRectMake( scrollView.contentOffset.x, scrollView.contentOffset.y, @@ -278,7 +268,7 @@ static BOOL sIsAccessibilityUsed = NO; .height = thresholdRect.size.height}, }; - const std::optional oldMode = _mode; + const std::optional oldMode = _mode; _mode = newMode; switch (newMode) { diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm index 6ca73111562..68e8ef70163 100644 --- a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewExperimentalComponentView.mm @@ -22,22 +22,12 @@ #import #import "RCTFabricComponentsPlugins.h" +#import "RCTVirtualViewMode.h" +#import "RCTVirtualViewRenderState.h" using namespace facebook; using namespace facebook::react; -typedef NS_ENUM(NSInteger, RCTVirtualViewMode) { - RCTVirtualViewModeVisible = 0, - RCTVirtualViewModePrerender = 1, - RCTVirtualViewModeHidden = 2, -}; - -typedef NS_ENUM(NSInteger, RCTVirtualViewRenderState) { - RCTVirtualViewRenderStateUnknown = 0, - RCTVirtualViewRenderStateRendered = 1, - RCTVirtualViewRenderStateNone = 2, -}; - /** * Checks whether one CGRect overlaps with another CGRect. * @@ -72,8 +62,8 @@ static BOOL CGRectOverlaps(CGRect rect1, CGRect rect2) @implementation RCTVirtualViewExperimentalComponentView { RCTScrollViewComponentView *_lastParentScrollViewComponentView; - std::optional _mode; - enum RCTVirtualViewRenderState _renderState; + std::optional _mode; + RCTVirtualViewRenderState _renderState; std::optional _targetRect; } @@ -234,7 +224,7 @@ static BOOL sIsAccessibilityUsed = NO; _targetRect = targetRect; } - enum RCTVirtualViewMode newMode; + RCTVirtualViewMode newMode; CGRect thresholdRect = CGRectMake( scrollView.contentOffset.x, scrollView.contentOffset.y, @@ -278,7 +268,7 @@ static BOOL sIsAccessibilityUsed = NO; .height = thresholdRect.size.height}, }; - const std::optional oldMode = _mode; + const std::optional oldMode = _mode; _mode = newMode; switch (newMode) { diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h new file mode 100644 index 00000000000..2000cd797ed --- /dev/null +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewMode.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#import +#ifndef RCTVirtualViewMode_h +#define RCTVirtualViewMode_h + +// Enum for virtual view modes +using RCTVirtualViewMode = NS_ENUM(NSInteger){ + RCTVirtualViewModeVisible = 0, + RCTVirtualViewModePrerender = 1, + RCTVirtualViewModeHidden = 2, +}; +#endif /* RCTVirtualViewMode_h */ diff --git a/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h new file mode 100644 index 00000000000..4da4cd66a34 --- /dev/null +++ b/packages/react-native/React/Fabric/Mounting/ComponentViews/VirtualViewExperimental/RCTVirtualViewRenderState.h @@ -0,0 +1,17 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#import +#ifndef RCTVirtualViewRenderState_h +#define RCTVirtualViewRenderState_h + +using RCTVirtualViewRenderState = NS_ENUM(NSInteger){ + RCTVirtualViewRenderStateUnknown = 0, + RCTVirtualViewRenderStateRendered = 1, + RCTVirtualViewRenderStateNone = 2, +}; +#endif /* RCTVirtualViewRenderState_h */