Files
react-native/ReactCommon/react/renderer/components/view/ViewProps.h
T
Joshua Gross 5d33e65694 Pass context through to all prop parser (props structs changes)
Summary:
See previous diffs for context. This updates all of the relevant props structs.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D29855426

fbshipit-source-id: 30177c3380ef82ecf8f2a4321f128cfbe8a576e0
2021-07-28 20:18:20 -07:00

88 lines
2.1 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.
*/
#pragma once
#include <react/renderer/components/view/AccessibilityProps.h>
#include <react/renderer/components/view/YogaStylableProps.h>
#include <react/renderer/components/view/primitives.h>
#include <react/renderer/core/LayoutMetrics.h>
#include <react/renderer/core/Props.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/graphics/Color.h>
#include <react/renderer/graphics/Geometry.h>
#include <react/renderer/graphics/Transform.h>
namespace facebook {
namespace react {
class ViewProps;
using SharedViewProps = std::shared_ptr<ViewProps const>;
class ViewProps : public YogaStylableProps, public AccessibilityProps {
public:
ViewProps() = default;
ViewProps(
const PropsParserContext &context,
ViewProps const &sourceProps,
RawProps const &rawProps);
#pragma mark - Props
// Color
Float opacity{1.0};
SharedColor foregroundColor{};
SharedColor backgroundColor{};
// Borders
CascadedBorderRadii borderRadii{};
CascadedBorderColors borderColors{};
CascadedBorderStyles borderStyles{};
// Shadow
SharedColor shadowColor{};
Size shadowOffset{0, -3};
Float shadowOpacity{};
Float shadowRadius{3};
// Transform
Transform transform{};
BackfaceVisibility backfaceVisibility{};
bool shouldRasterize{};
better::optional<int> zIndex{};
// Events
PointerEventsMode pointerEvents{};
EdgeInsets hitSlop{};
bool onLayout{};
bool collapsable{true};
bool removeClippedSubviews{false};
Float elevation{}; /* Android-only */
#pragma mark - Convenience Methods
BorderMetrics resolveBorderMetrics(LayoutMetrics const &layoutMetrics) const;
bool getClipsContentToBounds() const;
#ifdef ANDROID
bool getProbablyMoreHorizontalThanVertical_DEPRECATED() const;
#endif
#pragma mark - DebugStringConvertible
#if RN_DEBUG_STRING_CONVERTIBLE
SharedDebugStringConvertibleList getDebugProps() const override;
#endif
};
} // namespace react
} // namespace facebook