home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / SizeRequirements.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.2 KB  |  143 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class SizeRequirements implements Serializable {
  6.    public int minimum;
  7.    public int preferred;
  8.    public int maximum;
  9.    public float alignment;
  10.  
  11.    public SizeRequirements() {
  12.       this.minimum = 0;
  13.       this.preferred = 0;
  14.       this.maximum = 0;
  15.       this.alignment = 0.5F;
  16.    }
  17.  
  18.    public SizeRequirements(int var1, int var2, int var3, float var4) {
  19.       this.minimum = var1;
  20.       this.preferred = var2;
  21.       this.maximum = var3;
  22.       this.alignment = var4 > 1.0F ? 1.0F : (var4 < 0.0F ? 0.0F : var4);
  23.    }
  24.  
  25.    public String toString() {
  26.       return "[" + this.minimum + "," + this.preferred + "," + this.maximum + "]@" + this.alignment;
  27.    }
  28.  
  29.    public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] var0) {
  30.       SizeRequirements var1 = new SizeRequirements();
  31.  
  32.       for(int var2 = 0; var2 < var0.length; ++var2) {
  33.          SizeRequirements var3 = var0[var2];
  34.          var1.minimum = (int)Math.min((long)var1.minimum + (long)var3.minimum, 2147483647L);
  35.          var1.preferred = (int)Math.min((long)var1.preferred + (long)var3.preferred, 2147483647L);
  36.          var1.maximum = (int)Math.min((long)var1.maximum + (long)var3.maximum, 2147483647L);
  37.       }
  38.  
  39.       return var1;
  40.    }
  41.  
  42.    public static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] var0) {
  43.       SizeRequirements var1 = new SizeRequirements();
  44.       SizeRequirements var2 = new SizeRequirements();
  45.  
  46.       for(int var3 = 0; var3 < var0.length; ++var3) {
  47.          SizeRequirements var4 = var0[var3];
  48.          int var5 = (int)(var4.alignment * (float)var4.minimum);
  49.          int var6 = var4.minimum - var5;
  50.          var1.minimum = Math.max(var5, var1.minimum);
  51.          var2.minimum = Math.max(var6, var2.minimum);
  52.          var5 = (int)(var4.alignment * (float)var4.preferred);
  53.          var6 = var4.preferred - var5;
  54.          var1.preferred = Math.max(var5, var1.preferred);
  55.          var2.preferred = Math.max(var6, var2.preferred);
  56.          var5 = (int)(var4.alignment * (float)var4.maximum);
  57.          var6 = var4.maximum - var5;
  58.          var1.maximum = Math.max(var5, var1.maximum);
  59.          var2.maximum = Math.max(var6, var2.maximum);
  60.       }
  61.  
  62.       int var8 = (int)Math.min((long)var1.minimum + (long)var2.minimum, 2147483647L);
  63.       int var11 = (int)Math.min((long)var1.preferred + (long)var2.preferred, 2147483647L);
  64.       int var14 = (int)Math.min((long)var1.maximum + (long)var2.maximum, 2147483647L);
  65.       float var7 = 0.0F;
  66.       if (var8 > 0) {
  67.          var7 = (float)var1.minimum / (float)var8;
  68.          var7 = var7 > 1.0F ? 1.0F : (var7 < 0.0F ? 0.0F : var7);
  69.       }
  70.  
  71.       return new SizeRequirements(var8, var11, var14, var7);
  72.    }
  73.  
  74.    public static void calculateTiledPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
  75.       long var5 = 0L;
  76.       long var7 = 0L;
  77.       long var9 = 0L;
  78.  
  79.       for(int var11 = 0; var11 < var2.length; ++var11) {
  80.          var5 += (long)var2[var11].minimum;
  81.          var7 += (long)var2[var11].preferred;
  82.          var9 += (long)var2[var11].maximum;
  83.       }
  84.  
  85.       if ((long)var0 >= var7) {
  86.          expandedTile(var0, var5, var7, var9, var2, var3, var4);
  87.       } else {
  88.          compressedTile(var0, var5, var7, var9, var2, var3, var4);
  89.       }
  90.  
  91.    }
  92.  
  93.    private static void compressedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
  94.       float var10 = (float)Math.min(var3 - (long)var0, var3 - var1);
  95.       float var11 = var3 - var1 == 0L ? 0.0F : var10 / (float)(var3 - var1);
  96.       int var12 = 0;
  97.  
  98.       for(int var13 = 0; var13 < var9.length; ++var13) {
  99.          var8[var13] = var12;
  100.          SizeRequirements var14 = var7[var13];
  101.          int var15 = (int)(var11 * (float)(var14.preferred - var14.minimum));
  102.          var9[var13] = var14.preferred - var15;
  103.          var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
  104.       }
  105.  
  106.    }
  107.  
  108.    private static void expandedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
  109.       float var10 = (float)Math.min((long)var0 - var3, var5 - var3);
  110.       float var11 = var5 - var3 == 0L ? 0.0F : var10 / (float)(var5 - var3);
  111.       int var12 = 0;
  112.  
  113.       for(int var13 = 0; var13 < var9.length; ++var13) {
  114.          var8[var13] = var12;
  115.          SizeRequirements var14 = var7[var13];
  116.          int var15 = (int)(var11 * (float)(var14.maximum - var14.preferred));
  117.          var9[var13] = (int)Math.min((long)var14.preferred + (long)var15, 2147483647L);
  118.          var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
  119.       }
  120.  
  121.    }
  122.  
  123.    public static void calculateAlignedPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
  124.       int var5 = (int)((float)var0 * var1.alignment);
  125.       int var6 = var0 - var5;
  126.  
  127.       for(int var7 = 0; var7 < var2.length; ++var7) {
  128.          SizeRequirements var8 = var2[var7];
  129.          int var9 = (int)((float)var8.maximum * var8.alignment);
  130.          int var10 = var8.maximum - var9;
  131.          int var11 = Math.min(var5, var9);
  132.          int var12 = Math.min(var6, var10);
  133.          var3[var7] = var5 - var11;
  134.          var4[var7] = (int)Math.min((long)var11 + (long)var12, 2147483647L);
  135.       }
  136.  
  137.    }
  138.  
  139.    public static int[] adjustSizes(int var0, SizeRequirements[] var1) {
  140.       return new int[0];
  141.    }
  142. }
  143.