File tree Expand file tree Collapse file tree 2 files changed +30
-28
lines changed
packages/react-native/ReactCommon/react/renderer/animationbackend Expand file tree Collapse file tree 2 files changed +30
-28
lines changed Original file line number Diff line number Diff line change @@ -37,4 +37,33 @@ struct AnimatedProps {
3737 std::vector<std::unique_ptr<AnimatedPropBase>> props;
3838 std::unique_ptr<RawProps> rawProps;
3939};
40+
41+ inline void cloneProp (BaseViewProps &viewProps, std::unique_ptr<AnimatedPropBase> &animatedProp)
42+ {
43+ switch (animatedProp->propName ) {
44+ case OPACITY:
45+ viewProps.opacity = get<Float>(animatedProp);
46+ break ;
47+
48+ case WIDTH:
49+ viewProps.yogaStyle .setDimension (yoga::Dimension::Width, get<yoga::Style::SizeLength>(animatedProp));
50+ break ;
51+
52+ case HEIGHT:
53+ viewProps.yogaStyle .setDimension (yoga::Dimension::Height, get<yoga::Style::SizeLength>(animatedProp));
54+ break ;
55+
56+ case BORDER_RADII:
57+ viewProps.borderRadii = get<CascadedBorderRadii>(animatedProp);
58+ break ;
59+
60+ case FLEX:
61+ viewProps.yogaStyle .setFlex (get<yoga::FloatOptional>(animatedProp));
62+ break ;
63+
64+ case TRANSFORM:
65+ viewProps.transform = get<Transform>(animatedProp);
66+ break ;
67+ }
68+ }
4069} // namespace facebook::react
Original file line number Diff line number Diff line change @@ -41,34 +41,7 @@ static inline Props::Shared cloneProps(
4141 auto viewProps = std::const_pointer_cast<BaseViewProps>(
4242 std::static_pointer_cast<const BaseViewProps>(newProps));
4343 for (auto & animatedProp : animatedProps.props ) {
44- switch (animatedProp->propName ) {
45- case OPACITY:
46- viewProps->opacity = get<Float>(animatedProp);
47- break ;
48-
49- case WIDTH:
50- viewProps->yogaStyle .setDimension (
51- yoga::Dimension::Width, get<yoga::Style::SizeLength>(animatedProp));
52- break ;
53-
54- case HEIGHT:
55- viewProps->yogaStyle .setDimension (
56- yoga::Dimension::Height,
57- get<yoga::Style::SizeLength>(animatedProp));
58- break ;
59-
60- case BORDER_RADII:
61- viewProps->borderRadii = get<CascadedBorderRadii>(animatedProp);
62- break ;
63-
64- case FLEX:
65- viewProps->yogaStyle .setFlex (get<yoga::FloatOptional>(animatedProp));
66- break ;
67-
68- case TRANSFORM:
69- viewProps->transform = get<Transform>(animatedProp);
70- break ;
71- }
44+ cloneProp (*viewProps, animatedProp);
7245 }
7346 return newProps;
7447}
You can’t perform that action at this time.
0 commit comments