private bool ParsePageSelector(Block token) { if (token.GrammarSegment == GrammarSegment.Colon || token.GrammarSegment == GrammarSegment.Whitespace) { return true; } if (token.GrammarSegment == GrammarSegment.Ident) { CastRuleSet<PageRule>().Selector = new SimpleSelector(token.ToString()); return true; } if (token.GrammarSegment == GrammarSegment.CurlyBraceOpen) { SetParsingContext(ParsingContext.InDeclaration); return true; } return false; }
private bool ParseHexValue(Block token) { switch (token.GrammarSegment) { case GrammarSegment.Number: case GrammarSegment.Dimension: case GrammarSegment.Ident: var rest = token.ToString(); if (_buffer.Length + rest.Length <= 6) { _buffer.Append(rest); return true; } break; } ParseSingleValueHexColor(_buffer.ToString()); SetParsingContext(ParsingContext.InSingleValue); return ParseSingleValue(token); }
private bool ParseKeyframeText(Block token) { if (token.GrammarSegment == GrammarSegment.CurlyBraceOpen) { _frame = null; SetParsingContext(ParsingContext.InDeclaration); return true; } if (token.GrammarSegment == GrammarSegment.CurlyBracketClose) { ParseKeyframesData(token); return false; } if (token.GrammarSegment == GrammarSegment.Comma) { return true; } if (_frame == null) { _frame = new KeyframeRule(); _frame.AddValue(token.ToString()); CastRuleSet<KeyframesRule>().Declarations.Add(_frame); _activeRuleSets.Push(_frame); } else { _frame.AddValue(token.ToString()); } return true; }
private bool ParseKeyframeText(Block token) { if (token.GrammarSegment == GrammarSegment.CurlyBraceOpen) { SetParsingContext(ParsingContext.InDeclaration); return true; } if (token.GrammarSegment == GrammarSegment.CurlyBracketClose) { ParseKeyframesData(token); return false; } var frame = new KeyframeRule { Value = token.ToString() }; CastRuleSet<KeyframesRule>().Declarations.Add(frame); _activeRuleSets.Push(frame); return true; }