home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / Rectangle.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  6.0 KB  |  620 lines

  1. package java.awt;
  2.  
  3. import java.awt.geom.Rectangle2D;
  4. import java.io.Serializable;
  5.  
  6. public class Rectangle extends Rectangle2D implements Shape, Serializable {
  7.    // $FF: renamed from: x int
  8.    public int field_0;
  9.    // $FF: renamed from: y int
  10.    public int field_1;
  11.    public int width;
  12.    public int height;
  13.    private static final long serialVersionUID = -4345857070255674764L;
  14.  
  15.    private static native void initIDs();
  16.  
  17.    public Rectangle() {
  18.       this(0, 0, 0, 0);
  19.    }
  20.  
  21.    public Rectangle(Rectangle var1) {
  22.       this(var1.field_0, var1.field_1, var1.width, var1.height);
  23.    }
  24.  
  25.    public Rectangle(int var1, int var2, int var3, int var4) {
  26.       this.field_0 = var1;
  27.       this.field_1 = var2;
  28.       this.width = var3;
  29.       this.height = var4;
  30.    }
  31.  
  32.    public Rectangle(int var1, int var2) {
  33.       this(0, 0, var1, var2);
  34.    }
  35.  
  36.    public Rectangle(Point var1, Dimension var2) {
  37.       this(var1.x, var1.y, var2.width, var2.height);
  38.    }
  39.  
  40.    public Rectangle(Point var1) {
  41.       this(var1.x, var1.y, 0, 0);
  42.    }
  43.  
  44.    public Rectangle(Dimension var1) {
  45.       this(0, 0, var1.width, var1.height);
  46.    }
  47.  
  48.    public double getX() {
  49.       return (double)this.field_0;
  50.    }
  51.  
  52.    public double getY() {
  53.       return (double)this.field_1;
  54.    }
  55.  
  56.    public double getWidth() {
  57.       return (double)this.width;
  58.    }
  59.  
  60.    public double getHeight() {
  61.       return (double)this.height;
  62.    }
  63.  
  64.    public Rectangle getBounds() {
  65.       return new Rectangle(this.field_0, this.field_1, this.width, this.height);
  66.    }
  67.  
  68.    public Rectangle2D getBounds2D() {
  69.       return new Rectangle(this.field_0, this.field_1, this.width, this.height);
  70.    }
  71.  
  72.    public void setBounds(Rectangle var1) {
  73.       this.setBounds(var1.field_0, var1.field_1, var1.width, var1.height);
  74.    }
  75.  
  76.    public void setBounds(int var1, int var2, int var3, int var4) {
  77.       this.reshape(var1, var2, var3, var4);
  78.    }
  79.  
  80.    public void setRect(double var1, double var3, double var5, double var7) {
  81.       int var9;
  82.       int var11;
  83.       if (var1 > 4.294967294E9) {
  84.          var9 = Integer.MAX_VALUE;
  85.          var11 = -1;
  86.       } else {
  87.          var9 = clip(var1, false);
  88.          if (var5 >= (double)0.0F) {
  89.             var5 += var1 - (double)var9;
  90.          }
  91.  
  92.          var11 = clip(var5, var5 >= (double)0.0F);
  93.       }
  94.  
  95.       int var10;
  96.       int var12;
  97.       if (var3 > 4.294967294E9) {
  98.          var10 = Integer.MAX_VALUE;
  99.          var12 = -1;
  100.       } else {
  101.          var10 = clip(var3, false);
  102.          if (var7 >= (double)0.0F) {
  103.             var7 += var3 - (double)var10;
  104.          }
  105.  
  106.          var12 = clip(var7, var7 >= (double)0.0F);
  107.       }
  108.  
  109.       this.reshape(var9, var10, var11, var12);
  110.    }
  111.  
  112.    private static int clip(double var0, boolean var2) {
  113.       if (var0 <= (double)Integer.MIN_VALUE) {
  114.          return Integer.MIN_VALUE;
  115.       } else {
  116.          return var0 >= (double)Integer.MAX_VALUE ? Integer.MAX_VALUE : (int)(var2 ? Math.ceil(var0) : Math.floor(var0));
  117.       }
  118.    }
  119.  
  120.    /** @deprecated */
  121.    @Deprecated
  122.    public void reshape(int var1, int var2, int var3, int var4) {
  123.       this.field_0 = var1;
  124.       this.field_1 = var2;
  125.       this.width = var3;
  126.       this.height = var4;
  127.    }
  128.  
  129.    public Point getLocation() {
  130.       return new Point(this.field_0, this.field_1);
  131.    }
  132.  
  133.    public void setLocation(Point var1) {
  134.       this.setLocation(var1.x, var1.y);
  135.    }
  136.  
  137.    public void setLocation(int var1, int var2) {
  138.       this.move(var1, var2);
  139.    }
  140.  
  141.    /** @deprecated */
  142.    @Deprecated
  143.    public void move(int var1, int var2) {
  144.       this.field_0 = var1;
  145.       this.field_1 = var2;
  146.    }
  147.  
  148.    public void translate(int var1, int var2) {
  149.       int var3 = this.field_0;
  150.       int var4 = var3 + var1;
  151.       if (var1 < 0) {
  152.          if (var4 > var3) {
  153.             if (this.width >= 0) {
  154.                this.width += var4 - Integer.MIN_VALUE;
  155.             }
  156.  
  157.             var4 = Integer.MIN_VALUE;
  158.          }
  159.       } else if (var4 < var3) {
  160.          if (this.width >= 0) {
  161.             this.width += var4 - Integer.MAX_VALUE;
  162.             if (this.width < 0) {
  163.                this.width = Integer.MAX_VALUE;
  164.             }
  165.          }
  166.  
  167.          var4 = Integer.MAX_VALUE;
  168.       }
  169.  
  170.       this.field_0 = var4;
  171.       var3 = this.field_1;
  172.       var4 = var3 + var2;
  173.       if (var2 < 0) {
  174.          if (var4 > var3) {
  175.             if (this.height >= 0) {
  176.                this.height += var4 - Integer.MIN_VALUE;
  177.             }
  178.  
  179.             var4 = Integer.MIN_VALUE;
  180.          }
  181.       } else if (var4 < var3) {
  182.          if (this.height >= 0) {
  183.             this.height += var4 - Integer.MAX_VALUE;
  184.             if (this.height < 0) {
  185.                this.height = Integer.MAX_VALUE;
  186.             }
  187.          }
  188.  
  189.          var4 = Integer.MAX_VALUE;
  190.       }
  191.  
  192.       this.field_1 = var4;
  193.    }
  194.  
  195.    public Dimension getSize() {
  196.       return new Dimension(this.width, this.height);
  197.    }
  198.  
  199.    public void setSize(Dimension var1) {
  200.       this.setSize(var1.width, var1.height);
  201.    }
  202.  
  203.    public void setSize(int var1, int var2) {
  204.       this.resize(var1, var2);
  205.    }
  206.  
  207.    /** @deprecated */
  208.    @Deprecated
  209.    public void resize(int var1, int var2) {
  210.       this.width = var1;
  211.       this.height = var2;
  212.    }
  213.  
  214.    public boolean contains(Point var1) {
  215.       return this.contains(var1.x, var1.y);
  216.    }
  217.  
  218.    public boolean contains(int var1, int var2) {
  219.       return this.inside(var1, var2);
  220.    }
  221.  
  222.    public boolean contains(Rectangle var1) {
  223.       return this.contains(var1.field_0, var1.field_1, var1.width, var1.height);
  224.    }
  225.  
  226.    public boolean contains(int var1, int var2, int var3, int var4) {
  227.       int var5 = this.width;
  228.       int var6 = this.height;
  229.       if ((var5 | var6 | var3 | var4) < 0) {
  230.          return false;
  231.       } else {
  232.          int var7 = this.field_0;
  233.          int var8 = this.field_1;
  234.          if (var1 >= var7 && var2 >= var8) {
  235.             var5 += var7;
  236.             var3 += var1;
  237.             if (var3 <= var1) {
  238.                if (var5 >= var7 || var3 > var5) {
  239.                   return false;
  240.                }
  241.             } else if (var5 >= var7 && var3 > var5) {
  242.                return false;
  243.             }
  244.  
  245.             var6 += var8;
  246.             var4 += var2;
  247.             if (var4 <= var2) {
  248.                if (var6 >= var8 || var4 > var6) {
  249.                   return false;
  250.                }
  251.             } else if (var6 >= var8 && var4 > var6) {
  252.                return false;
  253.             }
  254.  
  255.             return true;
  256.          } else {
  257.             return false;
  258.          }
  259.       }
  260.    }
  261.  
  262.    /** @deprecated */
  263.    @Deprecated
  264.    public boolean inside(int var1, int var2) {
  265.       int var3 = this.width;
  266.       int var4 = this.height;
  267.       if ((var3 | var4) < 0) {
  268.          return false;
  269.       } else {
  270.          int var5 = this.field_0;
  271.          int var6 = this.field_1;
  272.          if (var1 >= var5 && var2 >= var6) {
  273.             var3 += var5;
  274.             var4 += var6;
  275.             return (var3 < var5 || var3 > var1) && (var4 < var6 || var4 > var2);
  276.          } else {
  277.             return false;
  278.          }
  279.       }
  280.    }
  281.  
  282.    public boolean intersects(Rectangle var1) {
  283.       int var2 = this.width;
  284.       int var3 = this.height;
  285.       int var4 = var1.width;
  286.       int var5 = var1.height;
  287.       if (var4 > 0 && var5 > 0 && var2 > 0 && var3 > 0) {
  288.          int var6 = this.field_0;
  289.          int var7 = this.field_1;
  290.          int var8 = var1.field_0;
  291.          int var9 = var1.field_1;
  292.          var4 += var8;
  293.          var5 += var9;
  294.          var2 += var6;
  295.          var3 += var7;
  296.          return (var4 < var8 || var4 > var6) && (var5 < var9 || var5 > var7) && (var2 < var6 || var2 > var8) && (var3 < var7 || var3 > var9);
  297.       } else {
  298.          return false;
  299.       }
  300.    }
  301.  
  302.    public Rectangle intersection(Rectangle var1) {
  303.       int var2 = this.field_0;
  304.       int var3 = this.field_1;
  305.       int var4 = var1.field_0;
  306.       int var5 = var1.field_1;
  307.       long var6 = (long)var2;
  308.       var6 += (long)this.width;
  309.       long var8 = (long)var3;
  310.       var8 += (long)this.height;
  311.       long var10 = (long)var4;
  312.       var10 += (long)var1.width;
  313.       long var12 = (long)var5;
  314.       var12 += (long)var1.height;
  315.       if (var2 < var4) {
  316.          var2 = var4;
  317.       }
  318.  
  319.       if (var3 < var5) {
  320.          var3 = var5;
  321.       }
  322.  
  323.       if (var6 > var10) {
  324.          var6 = var10;
  325.       }
  326.  
  327.       if (var8 > var12) {
  328.          var8 = var12;
  329.       }
  330.  
  331.       var6 -= (long)var2;
  332.       var8 -= (long)var3;
  333.       if (var6 < -2147483648L) {
  334.          var6 = -2147483648L;
  335.       }
  336.  
  337.       if (var8 < -2147483648L) {
  338.          var8 = -2147483648L;
  339.       }
  340.  
  341.       return new Rectangle(var2, var3, (int)var6, (int)var8);
  342.    }
  343.  
  344.    public Rectangle union(Rectangle var1) {
  345.       long var2 = (long)this.width;
  346.       long var4 = (long)this.height;
  347.       if ((var2 | var4) < 0L) {
  348.          return new Rectangle(var1);
  349.       } else {
  350.          long var6 = (long)var1.width;
  351.          long var8 = (long)var1.height;
  352.          if ((var6 | var8) < 0L) {
  353.             return new Rectangle(this);
  354.          } else {
  355.             int var10 = this.field_0;
  356.             int var11 = this.field_1;
  357.             var2 += (long)var10;
  358.             var4 += (long)var11;
  359.             int var12 = var1.field_0;
  360.             int var13 = var1.field_1;
  361.             var6 += (long)var12;
  362.             var8 += (long)var13;
  363.             if (var10 > var12) {
  364.                var10 = var12;
  365.             }
  366.  
  367.             if (var11 > var13) {
  368.                var11 = var13;
  369.             }
  370.  
  371.             if (var2 < var6) {
  372.                var2 = var6;
  373.             }
  374.  
  375.             if (var4 < var8) {
  376.                var4 = var8;
  377.             }
  378.  
  379.             var2 -= (long)var10;
  380.             var4 -= (long)var11;
  381.             if (var2 > 2147483647L) {
  382.                var2 = 2147483647L;
  383.             }
  384.  
  385.             if (var4 > 2147483647L) {
  386.                var4 = 2147483647L;
  387.             }
  388.  
  389.             return new Rectangle(var10, var11, (int)var2, (int)var4);
  390.          }
  391.       }
  392.    }
  393.  
  394.    public void add(int var1, int var2) {
  395.       if ((this.width | this.height) < 0) {
  396.          this.field_0 = var1;
  397.          this.field_1 = var2;
  398.          this.width = this.height = 0;
  399.       } else {
  400.          int var3 = this.field_0;
  401.          int var4 = this.field_1;
  402.          long var5 = (long)this.width;
  403.          long var7 = (long)this.height;
  404.          var5 += (long)var3;
  405.          var7 += (long)var4;
  406.          if (var3 > var1) {
  407.             var3 = var1;
  408.          }
  409.  
  410.          if (var4 > var2) {
  411.             var4 = var2;
  412.          }
  413.  
  414.          if (var5 < (long)var1) {
  415.             var5 = (long)var1;
  416.          }
  417.  
  418.          if (var7 < (long)var2) {
  419.             var7 = (long)var2;
  420.          }
  421.  
  422.          var5 -= (long)var3;
  423.          var7 -= (long)var4;
  424.          if (var5 > 2147483647L) {
  425.             var5 = 2147483647L;
  426.          }
  427.  
  428.          if (var7 > 2147483647L) {
  429.             var7 = 2147483647L;
  430.          }
  431.  
  432.          this.reshape(var3, var4, (int)var5, (int)var7);
  433.       }
  434.    }
  435.  
  436.    public void add(Point var1) {
  437.       this.add(var1.x, var1.y);
  438.    }
  439.  
  440.    public void add(Rectangle var1) {
  441.       long var2 = (long)this.width;
  442.       long var4 = (long)this.height;
  443.       if ((var2 | var4) < 0L) {
  444.          this.reshape(var1.field_0, var1.field_1, var1.width, var1.height);
  445.       }
  446.  
  447.       long var6 = (long)var1.width;
  448.       long var8 = (long)var1.height;
  449.       if ((var6 | var8) >= 0L) {
  450.          int var10 = this.field_0;
  451.          int var11 = this.field_1;
  452.          var2 += (long)var10;
  453.          var4 += (long)var11;
  454.          int var12 = var1.field_0;
  455.          int var13 = var1.field_1;
  456.          var6 += (long)var12;
  457.          var8 += (long)var13;
  458.          if (var10 > var12) {
  459.             var10 = var12;
  460.          }
  461.  
  462.          if (var11 > var13) {
  463.             var11 = var13;
  464.          }
  465.  
  466.          if (var2 < var6) {
  467.             var2 = var6;
  468.          }
  469.  
  470.          if (var4 < var8) {
  471.             var4 = var8;
  472.          }
  473.  
  474.          var2 -= (long)var10;
  475.          var4 -= (long)var11;
  476.          if (var2 > 2147483647L) {
  477.             var2 = 2147483647L;
  478.          }
  479.  
  480.          if (var4 > 2147483647L) {
  481.             var4 = 2147483647L;
  482.          }
  483.  
  484.          this.reshape(var10, var11, (int)var2, (int)var4);
  485.       }
  486.    }
  487.  
  488.    public void grow(int var1, int var2) {
  489.       long var3 = (long)this.field_0;
  490.       long var5 = (long)this.field_1;
  491.       long var7 = (long)this.width;
  492.       long var9 = (long)this.height;
  493.       var7 += var3;
  494.       var9 += var5;
  495.       var3 -= (long)var1;
  496.       var5 -= (long)var2;
  497.       var7 += (long)var1;
  498.       var9 += (long)var2;
  499.       if (var7 < var3) {
  500.          var7 -= var3;
  501.          if (var7 < -2147483648L) {
  502.             var7 = -2147483648L;
  503.          }
  504.  
  505.          if (var3 < -2147483648L) {
  506.             var3 = -2147483648L;
  507.          } else if (var3 > 2147483647L) {
  508.             var3 = 2147483647L;
  509.          }
  510.       } else {
  511.          if (var3 < -2147483648L) {
  512.             var3 = -2147483648L;
  513.          } else if (var3 > 2147483647L) {
  514.             var3 = 2147483647L;
  515.          }
  516.  
  517.          var7 -= var3;
  518.          if (var7 < -2147483648L) {
  519.             var7 = -2147483648L;
  520.          } else if (var7 > 2147483647L) {
  521.             var7 = 2147483647L;
  522.          }
  523.       }
  524.  
  525.       if (var9 < var5) {
  526.          var9 -= var5;
  527.          if (var9 < -2147483648L) {
  528.             var9 = -2147483648L;
  529.          }
  530.  
  531.          if (var5 < -2147483648L) {
  532.             var5 = -2147483648L;
  533.          } else if (var5 > 2147483647L) {
  534.             var5 = 2147483647L;
  535.          }
  536.       } else {
  537.          if (var5 < -2147483648L) {
  538.             var5 = -2147483648L;
  539.          } else if (var5 > 2147483647L) {
  540.             var5 = 2147483647L;
  541.          }
  542.  
  543.          var9 -= var5;
  544.          if (var9 < -2147483648L) {
  545.             var9 = -2147483648L;
  546.          } else if (var9 > 2147483647L) {
  547.             var9 = 2147483647L;
  548.          }
  549.       }
  550.  
  551.       this.reshape((int)var3, (int)var5, (int)var7, (int)var9);
  552.    }
  553.  
  554.    public boolean isEmpty() {
  555.       return this.width <= 0 || this.height <= 0;
  556.    }
  557.  
  558.    public int outcode(double var1, double var3) {
  559.       int var5 = 0;
  560.       if (this.width <= 0) {
  561.          var5 |= 5;
  562.       } else if (var1 < (double)this.field_0) {
  563.          var5 |= 1;
  564.       } else if (var1 > (double)this.field_0 + (double)this.width) {
  565.          var5 |= 4;
  566.       }
  567.  
  568.       if (this.height <= 0) {
  569.          var5 |= 10;
  570.       } else if (var3 < (double)this.field_1) {
  571.          var5 |= 2;
  572.       } else if (var3 > (double)this.field_1 + (double)this.height) {
  573.          var5 |= 8;
  574.       }
  575.  
  576.       return var5;
  577.    }
  578.  
  579.    public Rectangle2D createIntersection(Rectangle2D var1) {
  580.       if (var1 instanceof Rectangle) {
  581.          return this.intersection((Rectangle)var1);
  582.       } else {
  583.          Rectangle2D.Double var2 = new Rectangle2D.Double();
  584.          Rectangle2D.intersect(this, var1, var2);
  585.          return var2;
  586.       }
  587.    }
  588.  
  589.    public Rectangle2D createUnion(Rectangle2D var1) {
  590.       if (var1 instanceof Rectangle) {
  591.          return this.union((Rectangle)var1);
  592.       } else {
  593.          Rectangle2D.Double var2 = new Rectangle2D.Double();
  594.          Rectangle2D.union(this, var1, var2);
  595.          return var2;
  596.       }
  597.    }
  598.  
  599.    public boolean equals(Object var1) {
  600.       if (!(var1 instanceof Rectangle)) {
  601.          return super.equals(var1);
  602.       } else {
  603.          Rectangle var2 = (Rectangle)var1;
  604.          return this.field_0 == var2.field_0 && this.field_1 == var2.field_1 && this.width == var2.width && this.height == var2.height;
  605.       }
  606.    }
  607.  
  608.    public String toString() {
  609.       return this.getClass().getName() + "[x=" + this.field_0 + ",y=" + this.field_1 + ",width=" + this.width + ",height=" + this.height + "]";
  610.    }
  611.  
  612.    static {
  613.       Toolkit.loadLibraries();
  614.       if (!GraphicsEnvironment.isHeadless()) {
  615.          initIDs();
  616.       }
  617.  
  618.    }
  619. }
  620.