static int AdjustDisplayIndexForTransitions(int index, StylePropertyManipulator manipulator) { var valueCount = manipulator.GetValuesCount(); if (index < valueCount || !StylePropertyUtil.s_NameToId.TryGetValue(manipulator.propertyName, out var id) || !id.IsTransitionId()) { return(index); } switch (id) { case StylePropertyId.TransitionProperty: index = -1; break; case StylePropertyId.TransitionDuration: index %= manipulator.GetValuesCount(); break; case StylePropertyId.TransitionTimingFunction: index %= manipulator.GetValuesCount(); break; case StylePropertyId.TransitionDelay: index %= manipulator.GetValuesCount(); break; } return(index); }
internal static StylePropertyManipulator GetStylePropertyManipulator( this StyleSheet styleSheet, VisualElement element, StyleRule rule, string propertyName, bool editorExtensionMode) { if (string.IsNullOrEmpty(propertyName)) { return(null); } var manipulator = StylePropertyManipulator.GetPooled(); manipulator.element = element; manipulator.styleSheet = styleSheet; manipulator.propertyName = propertyName; manipulator.styleRule = rule; manipulator.editorExtensionMode = editorExtensionMode; var property = manipulator.styleProperty; if (null == property) { return(manipulator); } for (var i = 0; i < property.values.Length; ++i) { var index = i; var valueInfo = StylePropertyManipulator.ResolveValueOrVariable(styleSheet, element, rule, property, ref i, editorExtensionMode); valueInfo.offset = index; manipulator.stylePropertyParts.Add(valueInfo); } return(manipulator); }
bool IsKeyword(StylePropertyManipulator manipulator) { return(manipulator.GetValuesCount() == 1 && manipulator.GetValueContextAtIndex(0).handle.valueType == StyleValueType.Keyword); }