home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.border;
-
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Graphics;
- import java.awt.Insets;
- import javax.swing.Icon;
-
- public class MatteBorder extends EmptyBorder {
- protected Color color;
- protected Icon tileIcon;
-
- public MatteBorder(int var1, int var2, int var3, int var4, Color var5) {
- super(var1, var2, var3, var4);
- this.color = var5;
- }
-
- public MatteBorder(int var1, int var2, int var3, int var4, Icon var5) {
- super(var1, var2, var3, var4);
- this.tileIcon = var5;
- }
-
- public MatteBorder(Icon var1) {
- this(-1, -1, -1, -1, (Icon)var1);
- }
-
- public Insets getBorderInsets(Component var1) {
- Insets var2 = new Insets(0, 0, 0, 0);
- return this.getBorderInsets(var1, var2);
- }
-
- public Insets getBorderInsets(Component var1, Insets var2) {
- if (this.tileIcon != null && super.top == -1 && super.bottom == -1 && super.left == -1 && super.right == -1) {
- int var3 = this.tileIcon.getIconWidth();
- int var4 = this.tileIcon.getIconHeight();
- var2.top = var4;
- var2.right = var3;
- var2.bottom = var4;
- var2.left = var3;
- } else {
- var2.left = super.left;
- var2.top = super.top;
- var2.right = super.right;
- var2.bottom = super.bottom;
- }
-
- return var2;
- }
-
- public boolean isBorderOpaque() {
- return this.color != null;
- }
-
- public void paintBorder(Component var1, Graphics var2, int var3, int var4, int var5, int var6) {
- Insets var7 = this.getBorderInsets(var1);
- Color var8 = var2.getColor();
- var2.translate(var3, var4);
- if (this.tileIcon != null) {
- this.color = this.tileIcon.getIconWidth() == -1 ? Color.gray : null;
- }
-
- if (this.color != null) {
- var2.setColor(this.color);
- var2.fillRect(0, 0, var5 - var7.right, var7.top);
- var2.fillRect(0, var7.top, var7.left, var6 - var7.top);
- var2.fillRect(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
- var2.fillRect(var5 - var7.right, 0, var7.right, var6 - var7.bottom);
- } else if (this.tileIcon != null) {
- int var9 = this.tileIcon.getIconWidth();
- int var10 = this.tileIcon.getIconHeight();
- Graphics var15 = var2.create();
- var15.setClip(0, 0, var5, var7.top);
-
- for(int var12 = 0; var7.top - var12 > 0; var12 += var10) {
- for(int var11 = 0; var5 - var11 > 0; var11 += var9) {
- this.tileIcon.paintIcon(var1, var15, var11, var12);
- }
- }
-
- var15.dispose();
- var15 = var2.create();
- var15.setClip(0, var7.top, var7.left, var6 - var7.top);
- int var14 = var7.top - var7.top % var10;
- int var13 = 0;
-
- for(int var19 = var14; var6 - var19 > 0; var19 += var10) {
- for(int var16 = var13; var7.left - var16 > 0; var16 += var9) {
- this.tileIcon.paintIcon(var1, var15, var16, var19);
- }
- }
-
- var15.dispose();
- var15 = var2.create();
- var15.setClip(var7.left, var6 - var7.bottom, var5 - var7.left, var7.bottom);
- var14 = var6 - var7.bottom - (var6 - var7.bottom) % var10;
- var13 = var7.left - var7.left % var9;
-
- for(int var20 = var14; var6 - var20 > 0; var20 += var10) {
- for(int var17 = var13; var5 - var17 > 0; var17 += var9) {
- this.tileIcon.paintIcon(var1, var15, var17, var20);
- }
- }
-
- var15.dispose();
- var15 = var2.create();
- var15.setClip(var5 - var7.right, var7.top, var7.right, var6 - var7.top - var7.bottom);
- var14 = var7.top - var7.top % var10;
- var13 = var5 - var7.right - (var5 - var7.right) % var9;
-
- for(int var21 = var14; var6 - var21 > 0; var21 += var10) {
- for(int var18 = var13; var5 - var18 > 0; var18 += var9) {
- this.tileIcon.paintIcon(var1, var15, var18, var21);
- }
- }
-
- var15.dispose();
- }
-
- var2.translate(-var3, -var4);
- var2.setColor(var8);
- }
- }
-