Beispiel #1
0
        private TextPosition FillKeyframeRules(KeyframesRule parentRule)
        {
            var token = NextToken();

            ParseComments(ref token);

            while (token.IsNot(TokenType.EndOfFile, TokenType.CurlyBracketClose))
            {
                var rule = CreateKeyframeRule(token);
                token = NextToken();
                ParseComments(ref token);
                parentRule.Rules.Add(rule);
            }

            return(token.Position);
        }
Beispiel #2
0
        public Rule CreateKeyframes(Token current)
        {
            var rule  = new KeyframesRule(_parser);
            var start = current.Position;
            var token = NextToken();

            _nodes.Push(rule);
            ParseComments(ref token);
            rule.Name = GetRuleName(ref token);
            ParseComments(ref token);

            if (token.Type == TokenType.CurlyBracketOpen)
            {
                var end = FillKeyframeRules(rule);
                rule.StylesheetText = CreateView(start, end);
                _nodes.Pop();
                return(rule);
            }

            _nodes.Pop();
            return(SkipDeclarations(token));
        }