1 21 package org.lobobrowser.html.domimpl; 22 23 import org.lobobrowser.html.style.BaseFontRenderState; 24 import org.lobobrowser.html.style.ColorRenderState; 25 import org.lobobrowser.html.style.FontNameRenderState; 26 import org.lobobrowser.html.style.FontSizeRenderState; 27 import org.lobobrowser.html.style.HtmlValues; 28 import org.lobobrowser.html.style.RenderState; 29 import org.lobobrowser.util.gui.ColorFactory; 30 import org.w3c.dom.html2.HTMLFontElement; 31 32 public class HTMLFontElementImpl extends HTMLAbstractUIElement implements 33 HTMLFontElement { 34 public HTMLFontElementImpl(String name) { 35 super(name); 36 } 37 38 public String getColor() { 39 return this.getAttribute("color"); 40 } 41 42 public String getFace() { 43 return this.getAttribute("face"); 44 } 45 46 public String getSize() { 47 return this.getAttribute("size"); 48 } 49 50 public void setColor(String color) { 51 this.setAttribute("color", color); 52 } 53 54 public void setFace(String face) { 55 this.setAttribute("face", face); 56 } 57 58 public void setSize(String size) { 59 this.setAttribute("size", size); 60 } 61 62 protected RenderState createRenderState(RenderState prevRenderState) { 63 String face = this.getAttribute("face"); 64 String size = this.getAttribute("size"); 65 String color = this.getAttribute("color"); 66 if(face != null) { 67 prevRenderState = new FontNameRenderState(prevRenderState, face); 68 } 69 if(size != null) { 70 int fontNumber = HtmlValues.getFontNumberOldStyle(size, prevRenderState); 71 float fontSize = HtmlValues.getFontSize(fontNumber); 72 prevRenderState = new FontSizeRenderState(prevRenderState, fontSize); 73 } 74 if(color != null) { 75 prevRenderState = new ColorRenderState(prevRenderState, ColorFactory.getInstance().getColor(color)); 76 } 77 return prevRenderState; 78 } 79 } 80 | Popular Tags |