1 21 package org.lobobrowser.html.domimpl; 22 23 import org.lobobrowser.html.style.*; 24 import org.lobobrowser.util.gui.ColorFactory; 25 import org.w3c.dom.html2.HTMLBaseFontElement; 26 27 public class HTMLBaseFontElementImpl extends HTMLAbstractUIElement implements 28 HTMLBaseFontElement { 29 public HTMLBaseFontElementImpl(String name) { 30 super(name); 31 } 32 33 public String getColor() { 34 return this.getAttribute("color"); 35 } 36 37 public String getFace() { 38 return this.getAttribute("face"); 39 } 40 41 public void setColor(String color) { 42 this.setAttribute("color", color); 43 } 44 45 public void setFace(String face) { 46 this.setAttribute("face", face); 47 } 48 49 public int getSize() { 50 try { 51 return Integer.parseInt(this.getAttribute("size")); 52 } catch(Exception thrown) { 53 this.warn("getSize(): Unable to parse size attribute in " + this + ".", thrown); 54 return 0; 55 } 56 } 57 58 public void setSize(int size) { 59 this.setAttribute("size", String.valueOf(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 prevRenderState = new BaseFontRenderState(prevRenderState, fontNumber); 74 } 75 if(color != null) { 76 prevRenderState = new ColorRenderState(prevRenderState, ColorFactory.getInstance().getColor(color)); 77 } 78 return prevRenderState; 79 } 80 81 } 82 | Popular Tags |