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 / SizeSequence.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.5 KB  |  148 lines

  1. package javax.swing;
  2.  
  3. public class SizeSequence {
  4.    private static int[] emptyArray = new int[0];
  5.    // $FF: renamed from: a int[]
  6.    private int[] field_0;
  7.  
  8.    public SizeSequence() {
  9.       this.field_0 = emptyArray;
  10.    }
  11.  
  12.    public SizeSequence(int var1) {
  13.       this(var1, 0);
  14.    }
  15.  
  16.    public SizeSequence(int var1, int var2) {
  17.       this();
  18.       this.insertEntries(0, var1, var2);
  19.    }
  20.  
  21.    public SizeSequence(int[] var1) {
  22.       this();
  23.       this.setSizes(var1);
  24.    }
  25.  
  26.    public void setSizes(int[] var1) {
  27.       if (this.field_0.length != var1.length) {
  28.          this.field_0 = new int[var1.length];
  29.       }
  30.  
  31.       this.setSizes(0, this.field_0.length, var1);
  32.    }
  33.  
  34.    private int setSizes(int var1, int var2, int[] var3) {
  35.       if (var2 <= var1) {
  36.          return 0;
  37.       } else {
  38.          int var4 = (var1 + var2) / 2;
  39.          this.field_0[var4] = var3[var4] + this.setSizes(var1, var4, var3);
  40.          return this.field_0[var4] + this.setSizes(var4 + 1, var2, var3);
  41.       }
  42.    }
  43.  
  44.    public int[] getSizes() {
  45.       int var1 = this.field_0.length;
  46.       int[] var2 = new int[var1];
  47.       this.getSizes(0, var1, var2);
  48.       return var2;
  49.    }
  50.  
  51.    private int getSizes(int var1, int var2, int[] var3) {
  52.       if (var2 <= var1) {
  53.          return 0;
  54.       } else {
  55.          int var4 = (var1 + var2) / 2;
  56.          var3[var4] = this.field_0[var4] - this.getSizes(var1, var4, var3);
  57.          return this.field_0[var4] + this.getSizes(var4 + 1, var2, var3);
  58.       }
  59.    }
  60.  
  61.    public int getPosition(int var1) {
  62.       return this.getPosition(0, this.field_0.length, var1);
  63.    }
  64.  
  65.    private int getPosition(int var1, int var2, int var3) {
  66.       if (var2 <= var1) {
  67.          return 0;
  68.       } else {
  69.          int var4 = (var1 + var2) / 2;
  70.          return var3 <= var4 ? this.getPosition(var1, var4, var3) : this.field_0[var4] + this.getPosition(var4 + 1, var2, var3);
  71.       }
  72.    }
  73.  
  74.    public int getIndex(int var1) {
  75.       return this.getIndex(0, this.field_0.length, var1);
  76.    }
  77.  
  78.    private int getIndex(int var1, int var2, int var3) {
  79.       if (var2 <= var1) {
  80.          return var1;
  81.       } else {
  82.          int var4 = (var1 + var2) / 2;
  83.          int var5 = this.field_0[var4];
  84.          return var3 < var5 ? this.getIndex(var1, var4, var3) : this.getIndex(var4 + 1, var2, var3 - var5);
  85.       }
  86.    }
  87.  
  88.    public int getSize(int var1) {
  89.       return this.getPosition(var1 + 1) - this.getPosition(var1);
  90.    }
  91.  
  92.    public void setSize(int var1, int var2) {
  93.       this.changeSize(0, this.field_0.length, var1, var2 - this.getSize(var1));
  94.    }
  95.  
  96.    private void changeSize(int var1, int var2, int var3, int var4) {
  97.       if (var2 > var1) {
  98.          int var5 = (var1 + var2) / 2;
  99.          if (var3 <= var5) {
  100.             int[] var10000 = this.field_0;
  101.             var10000[var5] += var4;
  102.             this.changeSize(var1, var5, var3, var4);
  103.          } else {
  104.             this.changeSize(var5 + 1, var2, var3, var4);
  105.          }
  106.  
  107.       }
  108.    }
  109.  
  110.    public void insertEntries(int var1, int var2, int var3) {
  111.       int[] var4 = this.getSizes();
  112.       int var5 = var1 + var2;
  113.       int var6 = this.field_0.length + var2;
  114.       this.field_0 = new int[var6];
  115.  
  116.       for(int var7 = 0; var7 < var1; ++var7) {
  117.          this.field_0[var7] = var4[var7];
  118.       }
  119.  
  120.       for(int var8 = var1; var8 < var5; ++var8) {
  121.          this.field_0[var8] = var3;
  122.       }
  123.  
  124.       for(int var9 = var5; var9 < var6; ++var9) {
  125.          this.field_0[var9] = var4[var9 - var2];
  126.       }
  127.  
  128.       this.setSizes(this.field_0);
  129.    }
  130.  
  131.    public void removeEntries(int var1, int var2) {
  132.       int[] var3 = this.getSizes();
  133.       int var10000 = var1 + var2;
  134.       int var5 = this.field_0.length - var2;
  135.       this.field_0 = new int[var5];
  136.  
  137.       for(int var6 = 0; var6 < var1; ++var6) {
  138.          this.field_0[var6] = var3[var6];
  139.       }
  140.  
  141.       for(int var7 = var1; var7 < var5; ++var7) {
  142.          this.field_0[var7] = var3[var7 + var2];
  143.       }
  144.  
  145.       this.setSizes(this.field_0);
  146.    }
  147. }
  148.