// Unity C# reference source
// Copyright (c) Unity Technologies. For terms of use, see
// https://unity3d.com/legal/licenses/Unity_Reference_Only_License

/******************************************************************************/
//
//                             DO NOT MODIFY
//          This file has been generated by the UIElementsGenerator tool
//              See StyleDebugGenerator class for details
//
/******************************************************************************/
using System;
using UnityEngine.UIElements.StyleSheets;

namespace UnityEngine.UIElements
{
    internal static partial class StyleDebug
    {
        public static object GetComputedStyleValue(ComputedStyle computedStyle, StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.AlignContent:
                    return computedStyle.alignContent;
                case StylePropertyId.AlignItems:
                    return computedStyle.alignItems;
                case StylePropertyId.AlignSelf:
                    return computedStyle.alignSelf;
                case StylePropertyId.BackgroundColor:
                    return computedStyle.backgroundColor;
                case StylePropertyId.BackgroundImage:
                    return computedStyle.backgroundImage;
                case StylePropertyId.BorderBottomColor:
                    return computedStyle.borderBottomColor;
                case StylePropertyId.BorderBottomLeftRadius:
                    return computedStyle.borderBottomLeftRadius;
                case StylePropertyId.BorderBottomRightRadius:
                    return computedStyle.borderBottomRightRadius;
                case StylePropertyId.BorderBottomWidth:
                    return computedStyle.borderBottomWidth;
                case StylePropertyId.BorderLeftColor:
                    return computedStyle.borderLeftColor;
                case StylePropertyId.BorderLeftWidth:
                    return computedStyle.borderLeftWidth;
                case StylePropertyId.BorderRightColor:
                    return computedStyle.borderRightColor;
                case StylePropertyId.BorderRightWidth:
                    return computedStyle.borderRightWidth;
                case StylePropertyId.BorderTopColor:
                    return computedStyle.borderTopColor;
                case StylePropertyId.BorderTopLeftRadius:
                    return computedStyle.borderTopLeftRadius;
                case StylePropertyId.BorderTopRightRadius:
                    return computedStyle.borderTopRightRadius;
                case StylePropertyId.BorderTopWidth:
                    return computedStyle.borderTopWidth;
                case StylePropertyId.Bottom:
                    return computedStyle.bottom;
                case StylePropertyId.Color:
                    return computedStyle.color;
                case StylePropertyId.Cursor:
                    return computedStyle.cursor;
                case StylePropertyId.Display:
                    return computedStyle.display;
                case StylePropertyId.FlexBasis:
                    return computedStyle.flexBasis;
                case StylePropertyId.FlexDirection:
                    return computedStyle.flexDirection;
                case StylePropertyId.FlexGrow:
                    return computedStyle.flexGrow;
                case StylePropertyId.FlexShrink:
                    return computedStyle.flexShrink;
                case StylePropertyId.FlexWrap:
                    return computedStyle.flexWrap;
                case StylePropertyId.FontSize:
                    return computedStyle.fontSize;
                case StylePropertyId.Height:
                    return computedStyle.height;
                case StylePropertyId.JustifyContent:
                    return computedStyle.justifyContent;
                case StylePropertyId.Left:
                    return computedStyle.left;
                case StylePropertyId.MarginBottom:
                    return computedStyle.marginBottom;
                case StylePropertyId.MarginLeft:
                    return computedStyle.marginLeft;
                case StylePropertyId.MarginRight:
                    return computedStyle.marginRight;
                case StylePropertyId.MarginTop:
                    return computedStyle.marginTop;
                case StylePropertyId.MaxHeight:
                    return computedStyle.maxHeight;
                case StylePropertyId.MaxWidth:
                    return computedStyle.maxWidth;
                case StylePropertyId.MinHeight:
                    return computedStyle.minHeight;
                case StylePropertyId.MinWidth:
                    return computedStyle.minWidth;
                case StylePropertyId.Opacity:
                    return computedStyle.opacity;
                case StylePropertyId.Overflow:
                    return computedStyle.overflow;
                case StylePropertyId.PaddingBottom:
                    return computedStyle.paddingBottom;
                case StylePropertyId.PaddingLeft:
                    return computedStyle.paddingLeft;
                case StylePropertyId.PaddingRight:
                    return computedStyle.paddingRight;
                case StylePropertyId.PaddingTop:
                    return computedStyle.paddingTop;
                case StylePropertyId.Position:
                    return computedStyle.position;
                case StylePropertyId.Right:
                    return computedStyle.right;
                case StylePropertyId.TextOverflow:
                    return computedStyle.textOverflow;
                case StylePropertyId.Top:
                    return computedStyle.top;
                case StylePropertyId.UnityBackgroundImageTintColor:
                    return computedStyle.unityBackgroundImageTintColor;
                case StylePropertyId.UnityBackgroundScaleMode:
                    return computedStyle.unityBackgroundScaleMode;
                case StylePropertyId.UnityFont:
                    return computedStyle.unityFont;
                case StylePropertyId.UnityFontStyleAndWeight:
                    return computedStyle.unityFontStyleAndWeight;
                case StylePropertyId.UnityOverflowClipBox:
                    return computedStyle.unityOverflowClipBox;
                case StylePropertyId.UnitySliceBottom:
                    return computedStyle.unitySliceBottom;
                case StylePropertyId.UnitySliceLeft:
                    return computedStyle.unitySliceLeft;
                case StylePropertyId.UnitySliceRight:
                    return computedStyle.unitySliceRight;
                case StylePropertyId.UnitySliceTop:
                    return computedStyle.unitySliceTop;
                case StylePropertyId.UnityTextAlign:
                    return computedStyle.unityTextAlign;
                case StylePropertyId.UnityTextOverflowPosition:
                    return computedStyle.unityTextOverflowPosition;
                case StylePropertyId.Visibility:
                    return computedStyle.visibility;
                case StylePropertyId.WhiteSpace:
                    return computedStyle.whiteSpace;
                case StylePropertyId.Width:
                    return computedStyle.width;
                default:
                {
                    Debug.LogAssertion($"Cannot get computed style value for property id {id}");
                    return null;
                }
            }
        }

        public static object GetInlineStyleValue(IStyle style, StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.AlignContent:
                    return style.alignContent;
                case StylePropertyId.AlignItems:
                    return style.alignItems;
                case StylePropertyId.AlignSelf:
                    return style.alignSelf;
                case StylePropertyId.BackgroundColor:
                    return style.backgroundColor;
                case StylePropertyId.BackgroundImage:
                    return style.backgroundImage;
                case StylePropertyId.BorderBottomColor:
                    return style.borderBottomColor;
                case StylePropertyId.BorderBottomLeftRadius:
                    return style.borderBottomLeftRadius;
                case StylePropertyId.BorderBottomRightRadius:
                    return style.borderBottomRightRadius;
                case StylePropertyId.BorderBottomWidth:
                    return style.borderBottomWidth;
                case StylePropertyId.BorderLeftColor:
                    return style.borderLeftColor;
                case StylePropertyId.BorderLeftWidth:
                    return style.borderLeftWidth;
                case StylePropertyId.BorderRightColor:
                    return style.borderRightColor;
                case StylePropertyId.BorderRightWidth:
                    return style.borderRightWidth;
                case StylePropertyId.BorderTopColor:
                    return style.borderTopColor;
                case StylePropertyId.BorderTopLeftRadius:
                    return style.borderTopLeftRadius;
                case StylePropertyId.BorderTopRightRadius:
                    return style.borderTopRightRadius;
                case StylePropertyId.BorderTopWidth:
                    return style.borderTopWidth;
                case StylePropertyId.Bottom:
                    return style.bottom;
                case StylePropertyId.Color:
                    return style.color;
                case StylePropertyId.Cursor:
                    return style.cursor;
                case StylePropertyId.Display:
                    return style.display;
                case StylePropertyId.FlexBasis:
                    return style.flexBasis;
                case StylePropertyId.FlexDirection:
                    return style.flexDirection;
                case StylePropertyId.FlexGrow:
                    return style.flexGrow;
                case StylePropertyId.FlexShrink:
                    return style.flexShrink;
                case StylePropertyId.FlexWrap:
                    return style.flexWrap;
                case StylePropertyId.FontSize:
                    return style.fontSize;
                case StylePropertyId.Height:
                    return style.height;
                case StylePropertyId.JustifyContent:
                    return style.justifyContent;
                case StylePropertyId.Left:
                    return style.left;
                case StylePropertyId.MarginBottom:
                    return style.marginBottom;
                case StylePropertyId.MarginLeft:
                    return style.marginLeft;
                case StylePropertyId.MarginRight:
                    return style.marginRight;
                case StylePropertyId.MarginTop:
                    return style.marginTop;
                case StylePropertyId.MaxHeight:
                    return style.maxHeight;
                case StylePropertyId.MaxWidth:
                    return style.maxWidth;
                case StylePropertyId.MinHeight:
                    return style.minHeight;
                case StylePropertyId.MinWidth:
                    return style.minWidth;
                case StylePropertyId.Opacity:
                    return style.opacity;
                case StylePropertyId.Overflow:
                    return style.overflow;
                case StylePropertyId.PaddingBottom:
                    return style.paddingBottom;
                case StylePropertyId.PaddingLeft:
                    return style.paddingLeft;
                case StylePropertyId.PaddingRight:
                    return style.paddingRight;
                case StylePropertyId.PaddingTop:
                    return style.paddingTop;
                case StylePropertyId.Position:
                    return style.position;
                case StylePropertyId.Right:
                    return style.right;
                case StylePropertyId.TextOverflow:
                    return style.textOverflow;
                case StylePropertyId.Top:
                    return style.top;
                case StylePropertyId.UnityBackgroundImageTintColor:
                    return style.unityBackgroundImageTintColor;
                case StylePropertyId.UnityBackgroundScaleMode:
                    return style.unityBackgroundScaleMode;
                case StylePropertyId.UnityFont:
                    return style.unityFont;
                case StylePropertyId.UnityFontStyleAndWeight:
                    return style.unityFontStyleAndWeight;
                case StylePropertyId.UnityOverflowClipBox:
                    return style.unityOverflowClipBox;
                case StylePropertyId.UnitySliceBottom:
                    return style.unitySliceBottom;
                case StylePropertyId.UnitySliceLeft:
                    return style.unitySliceLeft;
                case StylePropertyId.UnitySliceRight:
                    return style.unitySliceRight;
                case StylePropertyId.UnitySliceTop:
                    return style.unitySliceTop;
                case StylePropertyId.UnityTextAlign:
                    return style.unityTextAlign;
                case StylePropertyId.UnityTextOverflowPosition:
                    return style.unityTextOverflowPosition;
                case StylePropertyId.Visibility:
                    return style.visibility;
                case StylePropertyId.WhiteSpace:
                    return style.whiteSpace;
                case StylePropertyId.Width:
                    return style.width;
                default:
                {
                    Debug.LogAssertion($"Cannot get inline style value for property id {id}");
                    return null;
                }
            }
        }

        public static void SetInlineStyleValue(IStyle style, StylePropertyId id, object value)
        {
            switch (id)
            {
                case StylePropertyId.AlignContent:
                    style.alignContent = (StyleEnum<Align>)value;
                    break;
                case StylePropertyId.AlignItems:
                    style.alignItems = (StyleEnum<Align>)value;
                    break;
                case StylePropertyId.AlignSelf:
                    style.alignSelf = (StyleEnum<Align>)value;
                    break;
                case StylePropertyId.BackgroundColor:
                    style.backgroundColor = (StyleColor)value;
                    break;
                case StylePropertyId.BackgroundImage:
                    style.backgroundImage = (StyleBackground)value;
                    break;
                case StylePropertyId.BorderBottomColor:
                    style.borderBottomColor = (StyleColor)value;
                    break;
                case StylePropertyId.BorderBottomLeftRadius:
                    style.borderBottomLeftRadius = (StyleLength)value;
                    break;
                case StylePropertyId.BorderBottomRightRadius:
                    style.borderBottomRightRadius = (StyleLength)value;
                    break;
                case StylePropertyId.BorderBottomWidth:
                    style.borderBottomWidth = (StyleFloat)value;
                    break;
                case StylePropertyId.BorderLeftColor:
                    style.borderLeftColor = (StyleColor)value;
                    break;
                case StylePropertyId.BorderLeftWidth:
                    style.borderLeftWidth = (StyleFloat)value;
                    break;
                case StylePropertyId.BorderRightColor:
                    style.borderRightColor = (StyleColor)value;
                    break;
                case StylePropertyId.BorderRightWidth:
                    style.borderRightWidth = (StyleFloat)value;
                    break;
                case StylePropertyId.BorderTopColor:
                    style.borderTopColor = (StyleColor)value;
                    break;
                case StylePropertyId.BorderTopLeftRadius:
                    style.borderTopLeftRadius = (StyleLength)value;
                    break;
                case StylePropertyId.BorderTopRightRadius:
                    style.borderTopRightRadius = (StyleLength)value;
                    break;
                case StylePropertyId.BorderTopWidth:
                    style.borderTopWidth = (StyleFloat)value;
                    break;
                case StylePropertyId.Bottom:
                    style.bottom = (StyleLength)value;
                    break;
                case StylePropertyId.Color:
                    style.color = (StyleColor)value;
                    break;
                case StylePropertyId.Cursor:
                    style.cursor = (StyleCursor)value;
                    break;
                case StylePropertyId.Display:
                    style.display = (StyleEnum<DisplayStyle>)value;
                    break;
                case StylePropertyId.FlexBasis:
                    style.flexBasis = (StyleLength)value;
                    break;
                case StylePropertyId.FlexDirection:
                    style.flexDirection = (StyleEnum<FlexDirection>)value;
                    break;
                case StylePropertyId.FlexGrow:
                    style.flexGrow = (StyleFloat)value;
                    break;
                case StylePropertyId.FlexShrink:
                    style.flexShrink = (StyleFloat)value;
                    break;
                case StylePropertyId.FlexWrap:
                    style.flexWrap = (StyleEnum<Wrap>)value;
                    break;
                case StylePropertyId.FontSize:
                    style.fontSize = (StyleLength)value;
                    break;
                case StylePropertyId.Height:
                    style.height = (StyleLength)value;
                    break;
                case StylePropertyId.JustifyContent:
                    style.justifyContent = (StyleEnum<Justify>)value;
                    break;
                case StylePropertyId.Left:
                    style.left = (StyleLength)value;
                    break;
                case StylePropertyId.MarginBottom:
                    style.marginBottom = (StyleLength)value;
                    break;
                case StylePropertyId.MarginLeft:
                    style.marginLeft = (StyleLength)value;
                    break;
                case StylePropertyId.MarginRight:
                    style.marginRight = (StyleLength)value;
                    break;
                case StylePropertyId.MarginTop:
                    style.marginTop = (StyleLength)value;
                    break;
                case StylePropertyId.MaxHeight:
                    style.maxHeight = (StyleLength)value;
                    break;
                case StylePropertyId.MaxWidth:
                    style.maxWidth = (StyleLength)value;
                    break;
                case StylePropertyId.MinHeight:
                    style.minHeight = (StyleLength)value;
                    break;
                case StylePropertyId.MinWidth:
                    style.minWidth = (StyleLength)value;
                    break;
                case StylePropertyId.Opacity:
                    style.opacity = (StyleFloat)value;
                    break;
                case StylePropertyId.Overflow:
                    style.overflow = (StyleEnum<Overflow>)value;
                    break;
                case StylePropertyId.PaddingBottom:
                    style.paddingBottom = (StyleLength)value;
                    break;
                case StylePropertyId.PaddingLeft:
                    style.paddingLeft = (StyleLength)value;
                    break;
                case StylePropertyId.PaddingRight:
                    style.paddingRight = (StyleLength)value;
                    break;
                case StylePropertyId.PaddingTop:
                    style.paddingTop = (StyleLength)value;
                    break;
                case StylePropertyId.Position:
                    style.position = (StyleEnum<Position>)value;
                    break;
                case StylePropertyId.Right:
                    style.right = (StyleLength)value;
                    break;
                case StylePropertyId.TextOverflow:
                    style.textOverflow = (StyleEnum<TextOverflow>)value;
                    break;
                case StylePropertyId.Top:
                    style.top = (StyleLength)value;
                    break;
                case StylePropertyId.UnityBackgroundImageTintColor:
                    style.unityBackgroundImageTintColor = (StyleColor)value;
                    break;
                case StylePropertyId.UnityBackgroundScaleMode:
                    style.unityBackgroundScaleMode = (StyleEnum<ScaleMode>)value;
                    break;
                case StylePropertyId.UnityFont:
                    style.unityFont = (StyleFont)value;
                    break;
                case StylePropertyId.UnityFontStyleAndWeight:
                    style.unityFontStyleAndWeight = (StyleEnum<FontStyle>)value;
                    break;
                case StylePropertyId.UnityOverflowClipBox:
                    style.unityOverflowClipBox = (StyleEnum<OverflowClipBox>)value;
                    break;
                case StylePropertyId.UnitySliceBottom:
                    style.unitySliceBottom = (StyleInt)value;
                    break;
                case StylePropertyId.UnitySliceLeft:
                    style.unitySliceLeft = (StyleInt)value;
                    break;
                case StylePropertyId.UnitySliceRight:
                    style.unitySliceRight = (StyleInt)value;
                    break;
                case StylePropertyId.UnitySliceTop:
                    style.unitySliceTop = (StyleInt)value;
                    break;
                case StylePropertyId.UnityTextAlign:
                    style.unityTextAlign = (StyleEnum<TextAnchor>)value;
                    break;
                case StylePropertyId.UnityTextOverflowPosition:
                    style.unityTextOverflowPosition = (StyleEnum<TextOverflowPosition>)value;
                    break;
                case StylePropertyId.Visibility:
                    style.visibility = (StyleEnum<Visibility>)value;
                    break;
                case StylePropertyId.WhiteSpace:
                    style.whiteSpace = (StyleEnum<WhiteSpace>)value;
                    break;
                case StylePropertyId.Width:
                    style.width = (StyleLength)value;
                    break;
                default:
                    Debug.LogAssertion($"Cannot set inline style value for property id {id}");
                    break;
            }
        }

        public static Type GetComputedStyleType(StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.AlignContent:
                    return typeof(StyleEnum<Align>);
                case StylePropertyId.AlignItems:
                    return typeof(StyleEnum<Align>);
                case StylePropertyId.AlignSelf:
                    return typeof(StyleEnum<Align>);
                case StylePropertyId.BackgroundColor:
                    return typeof(StyleColor);
                case StylePropertyId.BackgroundImage:
                    return typeof(StyleBackground);
                case StylePropertyId.BorderBottomColor:
                    return typeof(StyleColor);
                case StylePropertyId.BorderBottomLeftRadius:
                    return typeof(StyleLength);
                case StylePropertyId.BorderBottomRightRadius:
                    return typeof(StyleLength);
                case StylePropertyId.BorderBottomWidth:
                    return typeof(StyleFloat);
                case StylePropertyId.BorderLeftColor:
                    return typeof(StyleColor);
                case StylePropertyId.BorderLeftWidth:
                    return typeof(StyleFloat);
                case StylePropertyId.BorderRightColor:
                    return typeof(StyleColor);
                case StylePropertyId.BorderRightWidth:
                    return typeof(StyleFloat);
                case StylePropertyId.BorderTopColor:
                    return typeof(StyleColor);
                case StylePropertyId.BorderTopLeftRadius:
                    return typeof(StyleLength);
                case StylePropertyId.BorderTopRightRadius:
                    return typeof(StyleLength);
                case StylePropertyId.BorderTopWidth:
                    return typeof(StyleFloat);
                case StylePropertyId.Bottom:
                    return typeof(StyleLength);
                case StylePropertyId.Color:
                    return typeof(StyleColor);
                case StylePropertyId.Cursor:
                    return typeof(StyleCursor);
                case StylePropertyId.Display:
                    return typeof(StyleEnum<DisplayStyle>);
                case StylePropertyId.FlexBasis:
                    return typeof(StyleLength);
                case StylePropertyId.FlexDirection:
                    return typeof(StyleEnum<FlexDirection>);
                case StylePropertyId.FlexGrow:
                    return typeof(StyleFloat);
                case StylePropertyId.FlexShrink:
                    return typeof(StyleFloat);
                case StylePropertyId.FlexWrap:
                    return typeof(StyleEnum<Wrap>);
                case StylePropertyId.FontSize:
                    return typeof(StyleLength);
                case StylePropertyId.Height:
                    return typeof(StyleLength);
                case StylePropertyId.JustifyContent:
                    return typeof(StyleEnum<Justify>);
                case StylePropertyId.Left:
                    return typeof(StyleLength);
                case StylePropertyId.MarginBottom:
                    return typeof(StyleLength);
                case StylePropertyId.MarginLeft:
                    return typeof(StyleLength);
                case StylePropertyId.MarginRight:
                    return typeof(StyleLength);
                case StylePropertyId.MarginTop:
                    return typeof(StyleLength);
                case StylePropertyId.MaxHeight:
                    return typeof(StyleLength);
                case StylePropertyId.MaxWidth:
                    return typeof(StyleLength);
                case StylePropertyId.MinHeight:
                    return typeof(StyleLength);
                case StylePropertyId.MinWidth:
                    return typeof(StyleLength);
                case StylePropertyId.Opacity:
                    return typeof(StyleFloat);
                case StylePropertyId.Overflow:
                    return typeof(StyleEnum<Overflow>);
                case StylePropertyId.PaddingBottom:
                    return typeof(StyleLength);
                case StylePropertyId.PaddingLeft:
                    return typeof(StyleLength);
                case StylePropertyId.PaddingRight:
                    return typeof(StyleLength);
                case StylePropertyId.PaddingTop:
                    return typeof(StyleLength);
                case StylePropertyId.Position:
                    return typeof(StyleEnum<Position>);
                case StylePropertyId.Right:
                    return typeof(StyleLength);
                case StylePropertyId.TextOverflow:
                    return typeof(StyleEnum<TextOverflow>);
                case StylePropertyId.Top:
                    return typeof(StyleLength);
                case StylePropertyId.UnityBackgroundImageTintColor:
                    return typeof(StyleColor);
                case StylePropertyId.UnityBackgroundScaleMode:
                    return typeof(StyleEnum<ScaleMode>);
                case StylePropertyId.UnityFont:
                    return typeof(StyleFont);
                case StylePropertyId.UnityFontStyleAndWeight:
                    return typeof(StyleEnum<FontStyle>);
                case StylePropertyId.UnityOverflowClipBox:
                    return typeof(StyleEnum<OverflowClipBox>);
                case StylePropertyId.UnitySliceBottom:
                    return typeof(StyleInt);
                case StylePropertyId.UnitySliceLeft:
                    return typeof(StyleInt);
                case StylePropertyId.UnitySliceRight:
                    return typeof(StyleInt);
                case StylePropertyId.UnitySliceTop:
                    return typeof(StyleInt);
                case StylePropertyId.UnityTextAlign:
                    return typeof(StyleEnum<TextAnchor>);
                case StylePropertyId.UnityTextOverflowPosition:
                    return typeof(StyleEnum<TextOverflowPosition>);
                case StylePropertyId.Visibility:
                    return typeof(StyleEnum<Visibility>);
                case StylePropertyId.WhiteSpace:
                    return typeof(StyleEnum<WhiteSpace>);
                case StylePropertyId.Width:
                    return typeof(StyleLength);
                default:
                {
                    Debug.LogAssertion($"Cannot get computed style type for property id {id}");
                    return null;
                }
            }
        }

        public static string[] GetLonghandPropertyNames(StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.BorderColor:
                    return new string[] {"border-top-color", "border-right-color", "border-bottom-color", "border-left-color"};
                case StylePropertyId.BorderRadius:
                    return new string[] {"border-top-left-radius", "border-top-right-radius", "border-bottom-right-radius", "border-bottom-left-radius"};
                case StylePropertyId.BorderWidth:
                    return new string[] {"border-top-width", "border-right-width", "border-bottom-width", "border-left-width"};
                case StylePropertyId.Flex:
                    return new string[] {"flex-grow", "flex-shrink", "flex-basis"};
                case StylePropertyId.Margin:
                    return new string[] {"margin-top", "margin-right", "margin-bottom", "margin-left"};
                case StylePropertyId.Padding:
                    return new string[] {"padding-top", "padding-right", "padding-bottom", "padding-left"};
                default:
                {
                    Debug.LogAssertion($"Cannot get longhand property names for property id {id}");
                    return null;
                }
            }
        }

        public static bool IsShorthandProperty(StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.BorderColor:
                    return true;
                case StylePropertyId.BorderRadius:
                    return true;
                case StylePropertyId.BorderWidth:
                    return true;
                case StylePropertyId.Flex:
                    return true;
                case StylePropertyId.Margin:
                    return true;
                case StylePropertyId.Padding:
                    return true;
                default:
                    return false;
            }
        }

        public static bool IsInheritedProperty(StylePropertyId id)
        {
            switch (id)
            {
                case StylePropertyId.Color:
                    return true;
                case StylePropertyId.FontSize:
                    return true;
                case StylePropertyId.UnityFont:
                    return true;
                case StylePropertyId.UnityFontStyleAndWeight:
                    return true;
                case StylePropertyId.UnityTextAlign:
                    return true;
                case StylePropertyId.Visibility:
                    return true;
                case StylePropertyId.WhiteSpace:
                    return true;
                default:
                    return false;
            }
        }

        public static StylePropertyId[] GetInheritedProperties()
        {
            return new[] {StylePropertyId.Color, StylePropertyId.FontSize, StylePropertyId.UnityFont, StylePropertyId.UnityFontStyleAndWeight, StylePropertyId.UnityTextAlign, StylePropertyId.Visibility, StylePropertyId.WhiteSpace};
        }
    }
}
