home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161a.iso / handson / files / copyjava.exe / com / sun / java / swing / text / html / HRuleView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-26  |  3.3 KB  |  132 lines

  1. package com.sun.java.swing.text.html;
  2.  
  3. import com.sun.java.swing.BorderFactory;
  4. import com.sun.java.swing.border.Border;
  5. import com.sun.java.swing.text.AttributeSet;
  6. import com.sun.java.swing.text.BadLocationException;
  7. import com.sun.java.swing.text.Element;
  8. import com.sun.java.swing.text.StyleConstants;
  9. import com.sun.java.swing.text.View;
  10. import java.awt.Graphics;
  11. import java.awt.Insets;
  12. import java.awt.Rectangle;
  13. import java.awt.Shape;
  14.  
  15. class HRuleView extends View {
  16.    private Border bevel;
  17.    private float margin_left;
  18.    private float margin_right;
  19.    private int alignment = 0;
  20.    private String noshade;
  21.    private int size;
  22.    private int hrwidth;
  23.  
  24.    public HRuleView(Element var1) {
  25.       super(var1);
  26.       AttributeSet var2 = var1.getAttributes();
  27.       if (var2 != null) {
  28.          this.margin_left = StyleConstants.getLeftIndent(var2);
  29.          this.margin_right = StyleConstants.getRightIndent(var2);
  30.          if (this.margin_left <= 0.0F) {
  31.             this.margin_left = 15.0F;
  32.          }
  33.  
  34.          if (this.margin_right <= 0.0F) {
  35.             this.margin_right = 15.0F;
  36.          }
  37.  
  38.          this.alignment = StyleConstants.getAlignment(var2);
  39.          this.noshade = (String)var2.getAttribute("noshade");
  40.          String var3 = (String)var2.getAttribute("size");
  41.          if (var3 != null) {
  42.             this.size = Integer.valueOf(var3);
  43.          }
  44.  
  45.          String var4 = (String)var2.getAttribute("width");
  46.          if (var4 != null) {
  47.             this.hrwidth = Integer.valueOf(var4);
  48.          }
  49.       }
  50.  
  51.       this.bevel = BorderFactory.createLoweredBevelBorder();
  52.    }
  53.  
  54.    public void paint(Graphics var1, Shape var2) {
  55.       Rectangle var3 = var2.getBounds();
  56.       int var4 = 0;
  57.       int var5 = var3.y;
  58.       int var6 = var3.width - (int)(this.margin_left + this.margin_right);
  59.       if (this.hrwidth > 0) {
  60.          var6 = this.hrwidth;
  61.       }
  62.  
  63.       int var7 = var3.height;
  64.       if (this.size > 0) {
  65.          var7 = this.size;
  66.       }
  67.  
  68.       switch (this.alignment) {
  69.          case 0:
  70.          default:
  71.             var4 = var3.x + (int)this.margin_left;
  72.             break;
  73.          case 1:
  74.             var4 = var3.x + var3.width / 2 - var6 / 2;
  75.             break;
  76.          case 2:
  77.             var4 = var3.x + var3.width - this.hrwidth - (int)this.margin_right;
  78.       }
  79.  
  80.       if (this.noshade == "#DEFAULT") {
  81.          var1.fillRect(var4, var5, var6, var7);
  82.       } else {
  83.          this.bevel.paintBorder(((View)this).getContainer(), var1, var4, var5, var6, var7);
  84.       }
  85.    }
  86.  
  87.    public float getPreferredSpan(int var1) {
  88.       Insets var2 = this.bevel.getBorderInsets(((View)this).getContainer());
  89.       switch (var1) {
  90.          case 0:
  91.             return (float)(var2.left + var2.right);
  92.          case 1:
  93.             if (this.size > 0) {
  94.                return (float)this.size;
  95.             } else {
  96.                if (this.noshade == "#DEFAULT") {
  97.                   return 1.0F;
  98.                }
  99.  
  100.                return (float)(var2.top + var2.bottom);
  101.             }
  102.          default:
  103.             throw new IllegalArgumentException("Invalid axis: " + var1);
  104.       }
  105.    }
  106.  
  107.    public int getResizeWeight(int var1) {
  108.       if (var1 == 0) {
  109.          return 1;
  110.       } else {
  111.          return var1 == 1 ? 0 : 0;
  112.       }
  113.    }
  114.  
  115.    public Shape modelToView(int var1, Shape var2) throws BadLocationException {
  116.       int var3 = ((View)this).getStartOffset();
  117.       int var4 = ((View)this).getEndOffset();
  118.       if (var1 >= var3 && var1 < var4) {
  119.          Rectangle var5 = new Rectangle(var2.getBounds());
  120.          var5.width = 0;
  121.          return var5;
  122.       } else {
  123.          return null;
  124.       }
  125.    }
  126.  
  127.    public int viewToModel(float var1, float var2, Shape var3) {
  128.       var3.getBounds();
  129.       return ((View)this).getStartOffset();
  130.    }
  131. }
  132.