react-native/ReactCommon/fabric/scrollview/ScrollViewLocalData.h
Valentin Shergin bd99d3a6f4 Fabric: ScrollView: xplat part (shadow node, props, localdata, descriptor)
Summary:
All the props of a scrollview, and local data.
LocalData part is probably the most interesting: with it we precompute content size which we use inside native scrollview. Previously we rely on some assumptions like "ScrollView must have only one subview" instead, and that was not so efficient and straight-forward.

Reviewed By: fkgozali

Differential Revision: D7961869

fbshipit-source-id: fa070b8423a3e7739aeb62220e51213683e1a223
2018-05-17 20:28:50 -07:00

47 lines
982 B
C++

/**
* Copyright (c) 2015-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <fabric/core/LocalData.h>
#include <fabric/graphics/Geometry.h>
namespace facebook {
namespace react {
class ScrollViewLocalData;
using SharedScrollViewLocalData = std::shared_ptr<const ScrollViewLocalData>;
/*
* LocalData for <ScrollView> component.
*/
class ScrollViewLocalData:
public LocalData {
public:
ScrollViewLocalData(Rect contentBoundingRect);
/*
* Compound size of all nested (first level only) components;
* is used for computing `contentSize`.
*/
const Rect contentBoundingRect;
#pragma mark - Getters
Size getContentSize() const;
#pragma mark - DebugStringConvertible
std::string getDebugName() const override;
SharedDebugStringConvertibleList getDebugProps() const override;
};
} // namespace react
} // namespace facebook