// Loads up the given css into the document public void loadCss(string css) { // Variables int index= 0; CssSelector selector; CssCode block; css= destroyComments(css); //Console.WriteLine("Loading Css..."); for(int i= 0; i< css.Length; i++) { try{ index= css.IndexOf("{", i); if(index== -1) break; selector= new CssSelector(css.Substring(i, index-i)); i= index; index= css.IndexOf("}", i); if(index== -1) break; block= new CssCode(css.Substring(i+1, index-i-1)); code.add(new CssStatement(selector, block)); i= index; }catch(Exception e) { Console.WriteLine(e); } } //Console.WriteLine("Css Loaded!"); }
public CssStatement(CssSelector sel, CssCode pmCode) { selections= sel; code= pmCode; }
// Loads in the css style given the css code public void applyCssCode(CssCode code) { for(int i= 0; i< code.size; i++) { switch(code.names.items[i].ToLower()) { case "color": color= new Color(code.values.items[i]); break; case "background-color": backgroundColor= new Color(code.values.items[i]); break; case "width": width= new FlexibleFloat(code.values.items[i]); break; case "height": height= new FlexibleFloat(code.values.items[i]); break; case "margin": margin= new Margin(code.values.items[i]); break; case "margin-top": marginTop= new FlexibleFloat(code.values.items[i]); break; case "margin-right": marginRight= new FlexibleFloat(code.values.items[i]); break; case "margin-bottom": marginBottom= new FlexibleFloat(code.values.items[i]); break; case "margin-left": marginLeft= new FlexibleFloat(code.values.items[i]); break; case "padding": padding= new Padding(code.values.items[i]); break; case "padding-top": paddingTop= new FlexibleFloat(code.values.items[i]); break; case "padding-right": paddingRight= new FlexibleFloat(code.values.items[i]); break; case "padding-bottom": paddingBottom= new FlexibleFloat(code.values.items[i]); break; case "padding-left": paddingLeft= new FlexibleFloat(code.values.items[i]); break; case "display": switch(code.values.items[i].ToLower()) { case "none": display= Display.none; break; case "block": display= Display.block; break; case "inline": display= Display.inline; break; case "inline-block": display= Display.inlineBlock; break; } break; } } }