home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / html / StyleSheet$BoxPainter.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  4.0 KB  |  133 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Graphics;
  6. import java.awt.Insets;
  7. import java.io.Serializable;
  8. import javax.swing.border.BevelBorder;
  9. import javax.swing.border.Border;
  10. import javax.swing.border.LineBorder;
  11. import javax.swing.text.AttributeSet;
  12. import javax.swing.text.View;
  13. import javax.swing.text.html.CSS.Attribute;
  14.  
  15. public class StyleSheet$BoxPainter implements Serializable {
  16.    float topMargin;
  17.    float bottomMargin;
  18.    float leftMargin;
  19.    float rightMargin;
  20.    short marginFlags;
  21.    Border border;
  22.    Insets binsets;
  23.    CSS css;
  24.    // $FF: renamed from: ss javax.swing.text.html.StyleSheet
  25.    StyleSheet field_0;
  26.    // $FF: renamed from: bg java.awt.Color
  27.    Color field_1;
  28.    StyleSheet.BackgroundImagePainter bgPainter;
  29.  
  30.    StyleSheet$BoxPainter(AttributeSet var1, CSS var2, StyleSheet var3) {
  31.       this.field_0 = var3;
  32.       this.css = var2;
  33.       this.border = this.getBorder(var1);
  34.       this.binsets = this.border.getBorderInsets((Component)null);
  35.       this.topMargin = this.getLength(Attribute.MARGIN_TOP, var1);
  36.       this.bottomMargin = this.getLength(Attribute.MARGIN_BOTTOM, var1);
  37.       this.leftMargin = this.getLength(Attribute.MARGIN_LEFT, var1);
  38.       this.rightMargin = this.getLength(Attribute.MARGIN_RIGHT, var1);
  39.       this.field_1 = var3.getBackground(var1);
  40.       if (var3.getBackgroundImage(var1) != null) {
  41.          this.bgPainter = new StyleSheet.BackgroundImagePainter(var1, var2, var3);
  42.       }
  43.  
  44.    }
  45.  
  46.    Border getBorder(AttributeSet var1) {
  47.       Object var2 = StyleSheet.noBorder;
  48.       Object var3 = var1.getAttribute(Attribute.BORDER_STYLE);
  49.       if (var3 != null) {
  50.          String var4 = var3.toString();
  51.          int var5 = (int)this.getLength(Attribute.BORDER_TOP_WIDTH, var1);
  52.          if (var5 > 0) {
  53.             if (var4.equals("inset")) {
  54.                Color var6 = this.getBorderColor(var1);
  55.                var2 = new BevelBorder(1, var6.brighter(), var6.darker());
  56.             } else if (var4.equals("outset")) {
  57.                Color var7 = this.getBorderColor(var1);
  58.                var2 = new BevelBorder(0, var7.brighter(), var7.darker());
  59.             } else if (var4.equals("solid")) {
  60.                Color var8 = this.getBorderColor(var1);
  61.                var2 = new LineBorder(var8);
  62.             }
  63.          }
  64.       }
  65.  
  66.       return (Border)var2;
  67.    }
  68.  
  69.    Color getBorderColor(AttributeSet var1) {
  70.       Color var2 = this.css.getColor(var1, Attribute.BORDER_COLOR);
  71.       if (var2 == null) {
  72.          var2 = this.css.getColor(var1, Attribute.COLOR);
  73.          if (var2 == null) {
  74.             return Color.black;
  75.          }
  76.       }
  77.  
  78.       return var2;
  79.    }
  80.  
  81.    public float getInset(int var1, View var2) {
  82.       AttributeSet var3 = var2.getAttributes();
  83.       float var4 = 0.0F;
  84.       switch (var1) {
  85.          case 1:
  86.             var4 += this.topMargin;
  87.             var4 += (float)this.binsets.top;
  88.             var4 += this.getLength(Attribute.PADDING_TOP, var3);
  89.             break;
  90.          case 2:
  91.             var4 += this.leftMargin;
  92.             var4 += (float)this.binsets.left;
  93.             var4 += this.getLength(Attribute.PADDING_LEFT, var3);
  94.             break;
  95.          case 3:
  96.             var4 += this.bottomMargin;
  97.             var4 += (float)this.binsets.bottom;
  98.             var4 += this.getLength(Attribute.PADDING_BOTTOM, var3);
  99.             break;
  100.          case 4:
  101.             var4 += this.rightMargin;
  102.             var4 += (float)this.binsets.right;
  103.             var4 += this.getLength(Attribute.PADDING_RIGHT, var3);
  104.             break;
  105.          default:
  106.             throw new IllegalArgumentException("Invalid side: " + var1);
  107.       }
  108.  
  109.       return var4;
  110.    }
  111.  
  112.    public void paint(Graphics var1, float var2, float var3, float var4, float var5, View var6) {
  113.       var2 += this.leftMargin;
  114.       var3 += this.topMargin;
  115.       var4 -= this.leftMargin + this.rightMargin;
  116.       var5 -= this.topMargin + this.bottomMargin;
  117.       if (this.field_1 != null) {
  118.          var1.setColor(this.field_1);
  119.          var1.fillRect((int)var2, (int)var3, (int)var4, (int)var5);
  120.       }
  121.  
  122.       if (this.bgPainter != null) {
  123.          this.bgPainter.paint(var1, var2, var3, var4, var5, var6);
  124.       }
  125.  
  126.       this.border.paintBorder((Component)null, var1, (int)var2, (int)var3, (int)var4, (int)var5);
  127.    }
  128.  
  129.    float getLength(CSS.Attribute var1, AttributeSet var2) {
  130.       return this.css.getLength(var2, var1);
  131.    }
  132. }
  133.