8039a4ea73
* Makefile.in: Rebuilt. * Makefile.am (awt_java_source_files): Updated for new files. * java/awt/Adjustable.java (HORIZONTAL, VERTICAL): Set values. * java/awt/Label.java: New file. * java/awt/Rectangle.java (Rectangle): Extend Rectangle2D. (createIntersection, createUnion, getBounds2D): New methods. * java/awt/Scrollbar.java: New file. * java/awt/Shape.java: Updated to 1.2. * java/awt/geom/AffineTransform.java: New file. * java/awt/geom/Ellipse2D.java: New file. * java/awt/geom/NoninvertibleTransformException.java: New file. * java/awt/geom/PathIterator.java: New file. * java/awt/geom/Rectangle2D.java: New file. * java/awt/geom/RectangularShape.java: New file. * java/awt/geom/Point2D.java (Double, Float): New inner classes. * java/awt/geom/IllegalPathStateException.java: New file. From-SVN: r35195
177 lines
3.1 KiB
Java
177 lines
3.1 KiB
Java
/* Copyright (C) 2000 Free Software Foundation
|
|
|
|
This file is part of libjava.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libjava License. Please consult the file "LIBJAVA_LICENSE" for
|
|
details. */
|
|
|
|
package java.awt.geom;
|
|
|
|
/**
|
|
* @author Tom Tromey <tromey@cygnus.com>
|
|
* @date April 16, 2000
|
|
*/
|
|
|
|
public abstract class Ellipse2D extends RectangularShape
|
|
{
|
|
protected Ellipse2D ()
|
|
{
|
|
}
|
|
|
|
public boolean contains (double x, double y)
|
|
{
|
|
double rx = getWidth () / 2;
|
|
double ry = getHeight () / 2;
|
|
double tx = (x - getCenterX ()) / rx;
|
|
double ty = (y - getCenterY ()) / ry;
|
|
return tx * tx + ty * ty <= 1.0;
|
|
}
|
|
|
|
public boolean contains (double x, double y, double w, double h)
|
|
{
|
|
double x2 = x + w;
|
|
double y2 = y + h;
|
|
return (contains (x, y) && contains (x, y2)
|
|
&& contains (x2, y) && contains (x2, y2));
|
|
}
|
|
|
|
public PathIterator getPathIterator (AffineTransform at)
|
|
{
|
|
// fixme;
|
|
return null;
|
|
}
|
|
|
|
public boolean intersects (double x, double y, double w, double h)
|
|
{
|
|
// fixme
|
|
return false;
|
|
}
|
|
|
|
public static class Double extends Ellipse2D
|
|
{
|
|
public double height;
|
|
public double width;
|
|
public double x;
|
|
public double y;
|
|
|
|
public Double ()
|
|
{
|
|
height = width = x = y = 0;
|
|
}
|
|
|
|
public Double (double x, double y, double w, double h)
|
|
{
|
|
this.x = x;
|
|
this.y = y;
|
|
this.height = h;
|
|
this.width = w;
|
|
}
|
|
|
|
public Rectangle2D getBounds2D ()
|
|
{
|
|
return new Rectangle2D.Double (x, y, width, height);
|
|
}
|
|
|
|
public double getHeight ()
|
|
{
|
|
return height;
|
|
}
|
|
|
|
public double getWidth ()
|
|
{
|
|
return width;
|
|
}
|
|
|
|
public double getX ()
|
|
{
|
|
return x;
|
|
}
|
|
|
|
public double getY ()
|
|
{
|
|
return y;
|
|
}
|
|
|
|
public boolean isEmpty ()
|
|
{
|
|
return height <= 0 || width <= 0;
|
|
}
|
|
|
|
public void setFrame (double x, double y, double w, double h)
|
|
{
|
|
this.x = x;
|
|
this.y = y;
|
|
this.height = h;
|
|
this.width = w;
|
|
}
|
|
}
|
|
|
|
public static class Float extends Ellipse2D
|
|
{
|
|
public float height;
|
|
public float width;
|
|
public float x;
|
|
public float y;
|
|
|
|
public Float ()
|
|
{
|
|
height = width = x = y = 0;
|
|
}
|
|
|
|
public Float (float x, float y, float w, float h)
|
|
{
|
|
this.x = x;
|
|
this.y = y;
|
|
this.height = h;
|
|
this.width = w;
|
|
}
|
|
|
|
public Rectangle2D getBounds2D ()
|
|
{
|
|
return new Rectangle2D.Float (x, y, width, height);
|
|
}
|
|
|
|
public double getHeight ()
|
|
{
|
|
return height;
|
|
}
|
|
|
|
public double getWidth ()
|
|
{
|
|
return width;
|
|
}
|
|
|
|
public double getX ()
|
|
{
|
|
return x;
|
|
}
|
|
|
|
public double getY ()
|
|
{
|
|
return y;
|
|
}
|
|
|
|
public boolean isEmpty ()
|
|
{
|
|
return height <= 0 || width <= 0;
|
|
}
|
|
|
|
public void setFrame (float x, float y, float w, float h)
|
|
{
|
|
this.x = x;
|
|
this.y = y;
|
|
this.height = h;
|
|
this.width = w;
|
|
}
|
|
|
|
public void setFrame (double x, double y, double w, double h)
|
|
{
|
|
this.x = (float) x;
|
|
this.y = (float) y;
|
|
this.height = (float) h;
|
|
this.width = (float) w;
|
|
}
|
|
}
|
|
}
|