internal StyleValueImporter() { m_Context = null; m_Parser = new Parser(); m_Builder = new StyleSheetBuilder(); m_Errors = new StyleSheetImportErrors(); }
public void BeginRule(int ruleLine) { StyleSheetBuilder.Log("Beginning rule"); this.m_BuilderState = StyleSheetBuilder.BuilderState.Rule; this.m_CurrentRule = new StyleRule { line = ruleLine }; }
public StyleSheetBuilder.ComplexSelectorScope BeginComplexSelector(int specificity) { StyleSheetBuilder.Log("Begin complex selector with specificity " + specificity); this.m_BuilderState = StyleSheetBuilder.BuilderState.ComplexSelector; this.m_CurrentComplexSelector = new StyleComplexSelector(); this.m_CurrentComplexSelector.specificity = specificity; this.m_CurrentComplexSelector.ruleIndex = this.m_Rules.Count; return(new StyleSheetBuilder.ComplexSelectorScope(this)); }
public void AddSimpleSelector(StyleSelectorPart[] parts, StyleSelectorRelationship previousRelationsip) { StyleSelector styleSelector = new StyleSelector(); styleSelector.parts = parts; styleSelector.previousRelationship = previousRelationsip; StyleSheetBuilder.Log("Add simple selector " + styleSelector); this.m_CurrentSelectors.Add(styleSelector); }
public void EndRule() { StyleSheetBuilder.Log("Ending rule"); this.m_BuilderState = StyleSheetBuilder.BuilderState.Init; this.m_CurrentRule.properties = this.m_CurrentProperties.ToArray(); this.m_Rules.Add(this.m_CurrentRule); this.m_CurrentRule = null; this.m_CurrentProperties.Clear(); }
public void EndProperty() { StyleSheetBuilder.Log("Ending property"); this.m_BuilderState = StyleSheetBuilder.BuilderState.Rule; StyleProperty styleProperty = new StyleProperty(); styleProperty.name = this.m_CurrentPropertyName; styleProperty.values = this.m_CurrentValues.ToArray(); this.m_CurrentProperties.Add(styleProperty); this.m_CurrentValues.Clear(); }
internal StyleValueImporter() { m_Context = null; m_AssetPath = null; m_Parser = new Parser(); m_Builder = new StyleSheetBuilder(); m_Errors = new StyleSheetImportErrors(); m_Validator = new StyleValidator(); LoadPropertiesDefinition(); }
private void RegisterValue <T>(List <T> list, StyleValueType type, T value) { StyleSheetBuilder.Log(string.Concat(new object[] { "Add value of type ", type, " : ", value })); list.Add(value); this.m_CurrentValues.Add(new StyleValueHandle(list.Count - 1, type)); }
public void EndComplexSelector() { StyleSheetBuilder.Log("Ending complex selector"); this.m_BuilderState = StyleSheetBuilder.BuilderState.Rule; if (this.m_CurrentSelectors.Count > 0) { this.m_CurrentComplexSelector.selectors = this.m_CurrentSelectors.ToArray(); this.m_ComplexSelectors.Add(this.m_CurrentComplexSelector); this.m_CurrentSelectors.Clear(); } this.m_CurrentComplexSelector = null; }
public StyleValueImporter(AssetImportContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } m_Context = context; m_Parser = new Parser(); m_Builder = new StyleSheetBuilder(); m_Errors = new StyleSheetImportErrors(); }
public StyleValueImporter(AssetImportContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } m_Context = context; m_AssetPath = context.assetPath; m_Parser = new Parser(); m_Builder = new StyleSheetBuilder(); m_Errors = new StyleSheetImportErrors(); m_Validator = new StyleValidator(); LoadPropertiesDefinition(); }
public StyleSheetBuilderHelper(UssExportOptions opts = null) { builder = new StyleSheetBuilder(); options = opts ?? new UssExportOptions(); }
public void BeginProperty(string name) { StyleSheetBuilder.Log("Begin property named " + name); this.m_BuilderState = StyleSheetBuilder.BuilderState.Property; this.m_CurrentPropertyName = name; }
public StyleSheetImporterImpl() { this.m_Parser = new Parser(); this.m_Builder = new StyleSheetBuilder(); this.m_Errors = new StyleSheetImportErrors(); }
internal static void VisitValue(StyleSheetImportErrors errors, StyleSheetBuilder ssb, Term term) { PrimitiveTerm primitiveTerm = term as PrimitiveTerm; HtmlColor htmlColor = term as HtmlColor; GenericFunction genericFunction = term as GenericFunction; TermList termList = term as TermList; if (term == Term.Inherit) { ssb.AddValue(StyleValueKeyword.Inherit); } else if (primitiveTerm != null) { string text = term.ToString(); UnitType primitiveType = primitiveTerm.PrimitiveType; switch (primitiveType) { case UnitType.String: { string value = text.Trim(new char[] { '\'', '"' }); ssb.AddValue(value, StyleValueType.String); goto IL_F9; } case UnitType.Uri: IL_63: if (primitiveType != UnitType.Number && primitiveType != UnitType.Pixel) { errors.AddSemanticError(StyleSheetImportErrorCode.UnsupportedUnit, primitiveTerm.ToString()); return; } ssb.AddValue(primitiveTerm.GetFloatValue(UnitType.Pixel).Value); goto IL_F9; case UnitType.Ident: { StyleValueKeyword keyword; if (StyleSheetImporterImpl.TryParseKeyword(text, out keyword)) { ssb.AddValue(keyword); } else { ssb.AddValue(text, StyleValueType.Enum); } goto IL_F9; } } goto IL_63; IL_F9 :; } else if (htmlColor != null) { Color value2 = new Color((float)htmlColor.R / 255f, (float)htmlColor.G / 255f, (float)htmlColor.B / 255f, (float)htmlColor.A / 255f); ssb.AddValue(value2); } else if (genericFunction != null) { primitiveTerm = (genericFunction.Arguments.FirstOrDefault <Term>() as PrimitiveTerm); if (genericFunction.Name == "resource" && primitiveTerm != null) { string value3 = primitiveTerm.Value as string; ssb.AddValue(value3, StyleValueType.ResourcePath); } else { errors.AddSemanticError(StyleSheetImportErrorCode.UnsupportedFunction, genericFunction.Name); } } else if (termList != null) { foreach (Term current in termList) { StyleSheetImporterImpl.VisitValue(errors, ssb, current); } } else { errors.AddInternalError(term.GetType().Name); } }
internal static void VisitValue(StyleSheetImportErrors errors, StyleSheetBuilder ssb, Term term) { var primitiveTerm = term as PrimitiveTerm; var colorTerm = term as HtmlColor; var funcTerm = term as GenericFunction; var termList = term as TermList; if (term == PrimitiveTerm.Inherit) { ssb.AddValue(StyleValueKeyword.Inherit); } else if (primitiveTerm != null) { string rawStr = term.ToString(); switch (primitiveTerm.PrimitiveType) { case UnitType.Pixel: case UnitType.Number: float?floatValue = primitiveTerm.GetFloatValue(UnitType.Pixel); ssb.AddValue(floatValue.Value); break; case UnitType.Ident: StyleValueKeyword keyword; if (TryParseKeyword(rawStr, out keyword)) { ssb.AddValue(keyword); } else { ssb.AddValue(rawStr, StyleValueType.Enum); } break; case UnitType.String: string unquotedStr = rawStr.Trim('\'', '\"'); ssb.AddValue(unquotedStr, StyleValueType.String); break; default: errors.AddSemanticError(StyleSheetImportErrorCode.UnsupportedUnit, primitiveTerm.ToString()); return; } } else if (colorTerm != null) { var color = new Color((float)colorTerm.R / 255.0f, (float)colorTerm.G / 255.0f, (float)colorTerm.B / 255.0f, (float)colorTerm.A / 255.0f); ssb.AddValue(color); } else if (funcTerm != null) { primitiveTerm = funcTerm.Arguments.FirstOrDefault() as PrimitiveTerm; if (funcTerm.Name == k_ResourcePathFunctionName && primitiveTerm != null) { string path = primitiveTerm.Value as string; ssb.AddValue(path, StyleValueType.ResourcePath); } else { errors.AddSemanticError(StyleSheetImportErrorCode.UnsupportedFunction, funcTerm.Name); } } else if (termList != null) { foreach (Term childTerm in termList) { VisitValue(errors, ssb, childTerm); } return; } else { errors.AddInternalError(term.GetType().Name); } }
public ComplexSelectorScope(StyleSheetBuilder builder) { this.m_Builder = builder; }