home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.text.html;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.io.Serializable;
- import javax.swing.border.BevelBorder;
- import javax.swing.border.Border;
- import javax.swing.border.LineBorder;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.View;
- import javax.swing.text.html.CSS.Attribute;
-
- public class StyleSheet$BoxPainter implements Serializable {
- float topMargin;
- float bottomMargin;
- float leftMargin;
- float rightMargin;
- short marginFlags;
- Border border;
- Insets binsets;
- CSS css;
- // $FF: renamed from: ss javax.swing.text.html.StyleSheet
- StyleSheet field_0;
- // $FF: renamed from: bg java.awt.Color
- Color field_1;
- StyleSheet.BackgroundImagePainter bgPainter;
-
- StyleSheet$BoxPainter(AttributeSet var1, CSS var2, StyleSheet var3) {
- this.field_0 = var3;
- this.css = var2;
- this.border = this.getBorder(var1);
- this.binsets = this.border.getBorderInsets((Component)null);
- this.topMargin = this.getLength(Attribute.MARGIN_TOP, var1);
- this.bottomMargin = this.getLength(Attribute.MARGIN_BOTTOM, var1);
- this.leftMargin = this.getLength(Attribute.MARGIN_LEFT, var1);
- this.rightMargin = this.getLength(Attribute.MARGIN_RIGHT, var1);
- this.field_1 = var3.getBackground(var1);
- if (var3.getBackgroundImage(var1) != null) {
- this.bgPainter = new StyleSheet.BackgroundImagePainter(var1, var2, var3);
- }
-
- }
-
- Border getBorder(AttributeSet var1) {
- Object var2 = StyleSheet.noBorder;
- Object var3 = var1.getAttribute(Attribute.BORDER_STYLE);
- if (var3 != null) {
- String var4 = var3.toString();
- int var5 = (int)this.getLength(Attribute.BORDER_TOP_WIDTH, var1);
- if (var5 > 0) {
- if (var4.equals("inset")) {
- Color var6 = this.getBorderColor(var1);
- var2 = new BevelBorder(1, var6.brighter(), var6.darker());
- } else if (var4.equals("outset")) {
- Color var7 = this.getBorderColor(var1);
- var2 = new BevelBorder(0, var7.brighter(), var7.darker());
- } else if (var4.equals("solid")) {
- Color var8 = this.getBorderColor(var1);
- var2 = new LineBorder(var8);
- }
- }
- }
-
- return (Border)var2;
- }
-
- Color getBorderColor(AttributeSet var1) {
- Color var2 = this.css.getColor(var1, Attribute.BORDER_COLOR);
- if (var2 == null) {
- var2 = this.css.getColor(var1, Attribute.COLOR);
- if (var2 == null) {
- return Color.black;
- }
- }
-
- return var2;
- }
-
- public float getInset(int var1, View var2) {
- AttributeSet var3 = var2.getAttributes();
- float var4 = 0.0F;
- switch (var1) {
- case 1:
- var4 += this.topMargin;
- var4 += (float)this.binsets.top;
- var4 += this.getLength(Attribute.PADDING_TOP, var3);
- break;
- case 2:
- var4 += this.leftMargin;
- var4 += (float)this.binsets.left;
- var4 += this.getLength(Attribute.PADDING_LEFT, var3);
- break;
- case 3:
- var4 += this.bottomMargin;
- var4 += (float)this.binsets.bottom;
- var4 += this.getLength(Attribute.PADDING_BOTTOM, var3);
- break;
- case 4:
- var4 += this.rightMargin;
- var4 += (float)this.binsets.right;
- var4 += this.getLength(Attribute.PADDING_RIGHT, var3);
- break;
- default:
- throw new IllegalArgumentException("Invalid side: " + var1);
- }
-
- return var4;
- }
-
- public void paint(Graphics var1, float var2, float var3, float var4, float var5, View var6) {
- var2 += this.leftMargin;
- var3 += this.topMargin;
- var4 -= this.leftMargin + this.rightMargin;
- var5 -= this.topMargin + this.bottomMargin;
- if (this.field_1 != null) {
- var1.setColor(this.field_1);
- var1.fillRect((int)var2, (int)var3, (int)var4, (int)var5);
- }
-
- if (this.bgPainter != null) {
- this.bgPainter.paint(var1, var2, var3, var4, var5, var6);
- }
-
- this.border.paintBorder((Component)null, var1, (int)var2, (int)var3, (int)var4, (int)var5);
- }
-
- float getLength(CSS.Attribute var1, AttributeSet var2) {
- return this.css.getLength(var2, var1);
- }
- }
-