mirror of
https://github.com/status-im/react-native.git
synced 2025-01-09 09:12:02 +00:00
bd99d3a6f4
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
60 lines
1.8 KiB
C++
60 lines
1.8 KiB
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/scrollview/primitives.h>
|
|
#include <fabric/view/ViewProps.h>
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
// TODO (T28334063): Consider for codegen.
|
|
class ScrollViewProps final:
|
|
public ViewProps {
|
|
|
|
public:
|
|
ScrollViewProps() = default;
|
|
ScrollViewProps(const ScrollViewProps &sourceProps, const RawProps &rawProps);
|
|
|
|
#pragma mark - Props
|
|
|
|
const bool alwaysBounceHorizontal {true};
|
|
const bool alwaysBounceVertical {true};
|
|
const bool bounces {true};
|
|
const bool bouncesZoom {true};
|
|
const bool canCancelContentTouches {true};
|
|
const bool centerContent {false};
|
|
const bool automaticallyAdjustContentInsets {false};
|
|
const Float decelerationRate {0.998};
|
|
const bool directionalLockEnabled {false};
|
|
const ScrollViewIndicatorStyle indicatorStyle {ScrollViewIndicatorStyle::Default};
|
|
const ScrollViewKeyboardDismissMode keyboardDismissMode {ScrollViewKeyboardDismissMode::None};
|
|
const Float maximumZoomScale {1.0};
|
|
const Float minimumZoomScale {1.0};
|
|
const bool scrollEnabled {true};
|
|
const bool pagingEnabled {false};
|
|
const bool pinchGestureEnabled {true};
|
|
const bool scrollsToTop {true};
|
|
const bool showsHorizontalScrollIndicator {true};
|
|
const bool showsVerticalScrollIndicator {true};
|
|
const Float scrollEventThrottle {0};
|
|
const Float zoomScale {1.0};
|
|
const EdgeInsets contentInset {};
|
|
const EdgeInsets scrollIndicatorInsets {};
|
|
const int snapToInterval {0};
|
|
const ScrollViewSnapToAlignment snapToAlignment {ScrollViewSnapToAlignment::Start};
|
|
|
|
#pragma mark - DebugStringConvertible
|
|
|
|
SharedDebugStringConvertibleList getDebugProps() const override;
|
|
};
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|
|
|