123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- /*
- * 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 "ScrollViewProps.h"
- #include <react/components/scrollview/conversions.h>
- #include <react/debug/debugStringConvertibleUtils.h>
- #include <react/graphics/conversions.h>
- #include <react/core/propsConversions.h>
- namespace facebook {
- namespace react {
- ScrollViewProps::ScrollViewProps(
- const ScrollViewProps &sourceProps,
- const RawProps &rawProps)
- : ViewProps(sourceProps, rawProps),
- alwaysBounceHorizontal(convertRawProp(
- rawProps,
- "alwaysBounceHorizontal",
- sourceProps.alwaysBounceHorizontal,
- {})),
- alwaysBounceVertical(convertRawProp(
- rawProps,
- "alwaysBounceVertical",
- sourceProps.alwaysBounceVertical,
- {})),
- bounces(convertRawProp(rawProps, "bounces", sourceProps.bounces, true)),
- bouncesZoom(convertRawProp(
- rawProps,
- "bouncesZoom",
- sourceProps.bouncesZoom,
- true)),
- canCancelContentTouches(convertRawProp(
- rawProps,
- "canCancelContentTouches",
- sourceProps.canCancelContentTouches,
- true)),
- centerContent(convertRawProp(
- rawProps,
- "centerContent",
- sourceProps.centerContent,
- {})),
- automaticallyAdjustContentInsets(convertRawProp(
- rawProps,
- "automaticallyAdjustContentInsets",
- sourceProps.automaticallyAdjustContentInsets,
- {})),
- decelerationRate(convertRawProp(
- rawProps,
- "decelerationRate",
- sourceProps.decelerationRate,
- (Float)0.998)),
- directionalLockEnabled(convertRawProp(
- rawProps,
- "directionalLockEnabled",
- sourceProps.directionalLockEnabled,
- {})),
- indicatorStyle(convertRawProp(
- rawProps,
- "indicatorStyle",
- sourceProps.indicatorStyle,
- {})),
- keyboardDismissMode(convertRawProp(
- rawProps,
- "keyboardDismissMode",
- sourceProps.keyboardDismissMode,
- {})),
- maximumZoomScale(convertRawProp(
- rawProps,
- "maximumZoomScale",
- sourceProps.maximumZoomScale,
- (Float)1.0)),
- minimumZoomScale(convertRawProp(
- rawProps,
- "minimumZoomScale",
- sourceProps.minimumZoomScale,
- (Float)1.0)),
- scrollEnabled(convertRawProp(
- rawProps,
- "scrollEnabled",
- sourceProps.scrollEnabled,
- true)),
- pagingEnabled(convertRawProp(
- rawProps,
- "pagingEnabled",
- sourceProps.pagingEnabled,
- {})),
- pinchGestureEnabled(convertRawProp(
- rawProps,
- "pinchGestureEnabled",
- sourceProps.pinchGestureEnabled,
- true)),
- scrollsToTop(convertRawProp(
- rawProps,
- "scrollsToTop",
- sourceProps.scrollsToTop,
- true)),
- showsHorizontalScrollIndicator(convertRawProp(
- rawProps,
- "showsHorizontalScrollIndicator",
- sourceProps.showsHorizontalScrollIndicator,
- true)),
- showsVerticalScrollIndicator(convertRawProp(
- rawProps,
- "showsVerticalScrollIndicator",
- sourceProps.showsVerticalScrollIndicator,
- true)),
- scrollEventThrottle(convertRawProp(
- rawProps,
- "scrollEventThrottle",
- sourceProps.scrollEventThrottle,
- {})),
- zoomScale(convertRawProp(
- rawProps,
- "zoomScale",
- sourceProps.zoomScale,
- (Float)1.0)),
- contentInset(convertRawProp(
- rawProps,
- "contentInset",
- sourceProps.contentInset,
- {})),
- scrollIndicatorInsets(convertRawProp(
- rawProps,
- "scrollIndicatorInsets",
- sourceProps.scrollIndicatorInsets,
- {})),
- snapToInterval(convertRawProp(
- rawProps,
- "snapToInterval",
- sourceProps.snapToInterval,
- {})),
- snapToAlignment(convertRawProp(
- rawProps,
- "snapToAlignment",
- sourceProps.snapToAlignment,
- {})) {}
- #pragma mark - DebugStringConvertible
- #if RN_DEBUG_STRING_CONVERTIBLE
- SharedDebugStringConvertibleList ScrollViewProps::getDebugProps() const {
- auto defaultScrollViewProps = ScrollViewProps{};
- return ViewProps::getDebugProps() +
- SharedDebugStringConvertibleList{
- debugStringConvertibleItem(
- "alwaysBounceHorizontal",
- alwaysBounceHorizontal,
- defaultScrollViewProps.alwaysBounceHorizontal),
- debugStringConvertibleItem(
- "alwaysBounceVertical",
- alwaysBounceVertical,
- defaultScrollViewProps.alwaysBounceVertical),
- debugStringConvertibleItem(
- "bounces", bounces, defaultScrollViewProps.bounces),
- debugStringConvertibleItem(
- "bouncesZoom", bouncesZoom, defaultScrollViewProps.bouncesZoom),
- debugStringConvertibleItem(
- "canCancelContentTouches",
- canCancelContentTouches,
- defaultScrollViewProps.canCancelContentTouches),
- debugStringConvertibleItem(
- "centerContent",
- centerContent,
- defaultScrollViewProps.centerContent),
- debugStringConvertibleItem(
- "automaticallyAdjustContentInsets",
- automaticallyAdjustContentInsets,
- defaultScrollViewProps.automaticallyAdjustContentInsets),
- debugStringConvertibleItem(
- "decelerationRate",
- decelerationRate,
- defaultScrollViewProps.decelerationRate),
- debugStringConvertibleItem(
- "directionalLockEnabled",
- directionalLockEnabled,
- defaultScrollViewProps.directionalLockEnabled),
- debugStringConvertibleItem(
- "indicatorStyle",
- indicatorStyle,
- defaultScrollViewProps.indicatorStyle),
- debugStringConvertibleItem(
- "keyboardDismissMode",
- keyboardDismissMode,
- defaultScrollViewProps.keyboardDismissMode),
- debugStringConvertibleItem(
- "maximumZoomScale",
- maximumZoomScale,
- defaultScrollViewProps.maximumZoomScale),
- debugStringConvertibleItem(
- "minimumZoomScale",
- minimumZoomScale,
- defaultScrollViewProps.minimumZoomScale),
- debugStringConvertibleItem(
- "scrollEnabled",
- scrollEnabled,
- defaultScrollViewProps.scrollEnabled),
- debugStringConvertibleItem(
- "pagingEnabled",
- pagingEnabled,
- defaultScrollViewProps.pagingEnabled),
- debugStringConvertibleItem(
- "pinchGestureEnabled",
- pinchGestureEnabled,
- defaultScrollViewProps.pinchGestureEnabled),
- debugStringConvertibleItem(
- "scrollsToTop",
- scrollsToTop,
- defaultScrollViewProps.scrollsToTop),
- debugStringConvertibleItem(
- "showsHorizontalScrollIndicator",
- showsHorizontalScrollIndicator,
- defaultScrollViewProps.showsHorizontalScrollIndicator),
- debugStringConvertibleItem(
- "showsVerticalScrollIndicator",
- showsVerticalScrollIndicator,
- defaultScrollViewProps.showsVerticalScrollIndicator),
- debugStringConvertibleItem(
- "scrollEventThrottle",
- scrollEventThrottle,
- defaultScrollViewProps.scrollEventThrottle),
- debugStringConvertibleItem(
- "zoomScale", zoomScale, defaultScrollViewProps.zoomScale),
- debugStringConvertibleItem(
- "contentInset",
- contentInset,
- defaultScrollViewProps.contentInset),
- debugStringConvertibleItem(
- "scrollIndicatorInsets",
- scrollIndicatorInsets,
- defaultScrollViewProps.scrollIndicatorInsets),
- debugStringConvertibleItem(
- "snapToInterval",
- snapToInterval,
- defaultScrollViewProps.snapToInterval),
- debugStringConvertibleItem(
- "snapToAlignment",
- snapToAlignment,
- defaultScrollViewProps.snapToAlignment),
- };
- }
- #endif
- } // namespace react
- } // namespace facebook
|