示例#1
0
 private static HtmlInsets updateLeftInset(
     HtmlInsets insets, String sizeText, final RenderState renderState) {
   if (sizeText == null) {
     return insets;
   }
   sizeText = sizeText.trim();
   if (sizeText.length() == 0) {
     return insets;
   }
   if (insets == null) {
     insets = new HtmlInsets();
   }
   if ("auto".equalsIgnoreCase(sizeText)) {
     insets.leftType = HtmlInsets.TYPE_AUTO;
   } else if (sizeText.endsWith("%")) {
     insets.leftType = HtmlInsets.TYPE_PERCENT;
     try {
       insets.left = Integer.parseInt(sizeText.substring(0, sizeText.length() - 1));
     } catch (final NumberFormatException nfe) {
       insets.left = 0;
     }
   } else {
     insets.leftType = HtmlInsets.TYPE_PIXELS;
     insets.left = HtmlValues.getPixelSize(sizeText, renderState, 0);
   }
   return insets;
 }
示例#2
0
 public HtmlInsets getMarginInsets() {
   HtmlInsets mi = this.marginInsets;
   if (mi != INVALID_INSETS) {
     return mi;
   }
   AbstractCSS2Properties props = this.getCssProperties();
   if (props == null) {
     mi = null;
   } else {
     mi = HtmlValues.getMarginInsets(props, this);
   }
   if (mi == null) {
     int hspace = 0;
     int vspace = 0;
     boolean createNew = false;
     String hspaceText = this.element.getAttribute("hspace");
     if (hspaceText != null && hspaceText.length() != 0) {
       createNew = true;
       try {
         hspace = Integer.parseInt(hspaceText);
       } catch (NumberFormatException nfe) {
         // TODO: Percentages?
       }
     }
     String vspaceText = this.element.getAttribute("vspace");
     if (vspaceText != null && vspaceText.length() != 0) {
       createNew = true;
       try {
         vspace = Integer.parseInt(vspaceText);
       } catch (NumberFormatException nfe) {
         // TODO: Percentages?
       }
     }
     if (createNew) {
       mi = new HtmlInsets();
       mi.top = vspace;
       mi.topType = HtmlInsets.TYPE_PIXELS;
       mi.bottom = vspace;
       mi.bottomType = HtmlInsets.TYPE_PIXELS;
       mi.left = hspace;
       mi.leftType = HtmlInsets.TYPE_PIXELS;
       mi.right = hspace;
       mi.rightType = HtmlInsets.TYPE_PIXELS;
     }
   }
   this.marginInsets = mi;
   return mi;
 }
示例#3
0
 public BorderInfo getBorderInfo() {
   BorderInfo binfo = this.borderInfo;
   if (binfo != INVALID_BORDER_INFO) {
     return binfo;
   }
   binfo = super.getBorderInfo();
   if (binfo == null
       || (binfo.topStyle == HtmlValues.BORDER_STYLE_NONE
           && binfo.bottomStyle == HtmlValues.BORDER_STYLE_NONE
           && binfo.leftStyle == HtmlValues.BORDER_STYLE_NONE
           && binfo.rightStyle == HtmlValues.BORDER_STYLE_NONE)) {
     if (binfo == null) {
       binfo = new BorderInfo();
     }
     HTMLElementImpl element = this.element;
     if (element != null) {
       String border = element.getAttribute("border");
       if (border != null) {
         border = border.trim();
         int value;
         int valueType;
         if (border.endsWith("%")) {
           valueType = HtmlInsets.TYPE_PERCENT;
           try {
             value = Integer.parseInt(border.substring(0, border.length() - 1));
           } catch (NumberFormatException nfe) {
             value = 0;
           }
         } else {
           valueType = HtmlInsets.TYPE_PIXELS;
           try {
             value = Integer.parseInt(border);
           } catch (NumberFormatException nfe) {
             value = 0;
           }
         }
         HtmlInsets borderInsets = new HtmlInsets();
         borderInsets.top = borderInsets.left = borderInsets.right = borderInsets.bottom = value;
         borderInsets.topType =
             borderInsets.leftType = borderInsets.rightType = borderInsets.bottomType = valueType;
         binfo.insets = borderInsets;
         if (binfo.topColor == null) {
           binfo.topColor = Color.BLACK;
         }
         if (binfo.leftColor == null) {
           binfo.leftColor = Color.BLACK;
         }
         if (binfo.rightColor == null) {
           binfo.rightColor = Color.BLACK;
         }
         if (binfo.bottomColor == null) {
           binfo.bottomColor = Color.BLACK;
         }
         if (value != 0) {
           binfo.topStyle =
               binfo.leftStyle =
                   binfo.rightStyle = binfo.bottomStyle = HtmlValues.BORDER_STYLE_SOLID;
         }
       }
     }
   }
   this.borderInfo = binfo;
   return binfo;
 }