mirror of
https://github.com/status-im/react-native.git
synced 2025-02-23 22:58:19 +00:00
Summary: ShadowView, ShadowViewMutation, and Differentiator were decoupled to separate module. That enables us to use ShadowView more widely without facing a circular dependency problem. Reviewed By: mdvacca Differential Revision: D13205229 fbshipit-source-id: 7373864bf153a7813c2f97edb263a41454ce0b88
56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#include "ShadowViewMutation.h"
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
ShadowViewMutation ShadowViewMutation::CreateMutation(ShadowView shadowView) {
|
|
return ShadowViewMutation{
|
|
.type = Create, .newChildShadowView = shadowView, .index = -1};
|
|
}
|
|
|
|
ShadowViewMutation ShadowViewMutation::DeleteMutation(ShadowView shadowView) {
|
|
return {.type = Delete, .oldChildShadowView = shadowView, .index = -1};
|
|
}
|
|
|
|
ShadowViewMutation ShadowViewMutation::InsertMutation(
|
|
ShadowView parentShadowView,
|
|
ShadowView childShadowView,
|
|
int index) {
|
|
return {.type = Insert,
|
|
.parentShadowView = parentShadowView,
|
|
.newChildShadowView = childShadowView,
|
|
.index = index};
|
|
}
|
|
|
|
ShadowViewMutation ShadowViewMutation::RemoveMutation(
|
|
ShadowView parentShadowView,
|
|
ShadowView childShadowView,
|
|
int index) {
|
|
return {.type = Remove,
|
|
.parentShadowView = parentShadowView,
|
|
.oldChildShadowView = childShadowView,
|
|
.index = index};
|
|
}
|
|
|
|
ShadowViewMutation ShadowViewMutation::UpdateMutation(
|
|
ShadowView parentShadowView,
|
|
ShadowView oldChildShadowView,
|
|
ShadowView newChildShadowView,
|
|
int index) {
|
|
return {.type = Update,
|
|
.parentShadowView = parentShadowView,
|
|
.oldChildShadowView = oldChildShadowView,
|
|
.newChildShadowView = newChildShadowView,
|
|
.index = index};
|
|
}
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|