internal void AddMediaQuery(MediaQuery mediaQuery) { mediaQueries.Add(mediaQuery); }
internal void ParseCSS(string style, List<CSSElement> elements, List<MediaQuery> mediaQuries) { MediaQuery mediaQuery = new MediaQuery(); int eof = style.Length; int position = 0; while (position < eof) { string selectorText; int bracePosition = ParseSelector(position, style, out selectorText); int commentPosition; if (HasComment(position, bracePosition, eof, style, out commentPosition)) { position = commentPosition; continue; } if (bracePosition > position && selectorText != string.Empty) { List<HtmlStyle> htmlStyles; if (!mediaQuery.Process(selectorText, style, mediaQuries, ref bracePosition)) { //Returning close brace index bracePosition = ParseHtmlStyles(bracePosition, style, out htmlStyles); foreach (string selector in selectorText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { elements.Add(new CSSElement(selector.Trim(), htmlStyles)); } } } if (bracePosition == -1) { break; } position = bracePosition; } }