Valentin Shergin 94d49e544d Fabric: Codemod: All <fabric/... includes were renamed to <react/...
Summary: We are moving to more stable APIs removing all mentiones of the effort name from the codebase.

Reviewed By: mdvacca

Differential Revision: D12912894

fbshipit-source-id: 4a0c6b9e7454b8b14e62d419e9e9311dc0c56e7a
2018-11-10 14:22:15 -08:00

41 lines
985 B
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 "ScrollViewShadowNode.h"
#include <react/core/LayoutMetrics.h>
#include "ScrollViewLocalData.h"
namespace facebook {
namespace react {
const char ScrollViewComponentName[] = "ScrollView";
void ScrollViewShadowNode::updateLocalData() {
ensureUnsealed();
auto contentBoundingRect = Rect{};
for (const auto &childNode : getLayoutableChildNodes()) {
contentBoundingRect.unionInPlace(childNode->getLayoutMetrics().frame);
}
const auto &localData =
std::make_shared<const ScrollViewLocalData>(contentBoundingRect);
setLocalData(localData);
}
#pragma mark - LayoutableShadowNode
void ScrollViewShadowNode::layout(LayoutContext layoutContext) {
ConcreteViewShadowNode::layout(layoutContext);
updateLocalData();
}
} // namespace react
} // namespace facebook