/* * 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 #include #include #include #include #include #include #include namespace facebook { namespace react { class ViewProps; using SharedViewProps = std::shared_ptr; class ViewProps : public YogaStylableProps, public AccessibilityProps { public: ViewProps() = default; ViewProps(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{}; Float shadowOpacity{}; Float shadowRadius{}; // Transform Transform transform{}; BackfaceVisibility backfaceVisibility{}; bool shouldRasterize{}; int zIndex{}; // Events PointerEventsMode pointerEvents{}; EdgeInsets hitSlop{}; bool onLayout{}; bool collapsable{true}; #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