< prev index next >
src/java.desktop/share/classes/java/awt/geom/Ellipse2D.java
Print this page
*** 26,36 ****
package java.awt.geom;
import java.io.Serializable;
/**
! * The <code>Ellipse2D</code> class describes an ellipse that is defined
* by a framing rectangle.
* <p>
* This class is only the abstract superclass for all objects which
* store a 2D ellipse.
* The actual storage representation of the coordinates is left to
--- 26,36 ----
package java.awt.geom;
import java.io.Serializable;
/**
! * The {@code Ellipse2D} class describes an ellipse that is defined
* by a framing rectangle.
* <p>
* This class is only the abstract superclass for all objects which
* store a 2D ellipse.
* The actual storage representation of the coordinates is left to
*** 40,51 ****
* @since 1.2
*/
public abstract class Ellipse2D extends RectangularShape {
/**
! * The <code>Float</code> class defines an ellipse specified
! * in <code>float</code> precision.
* @since 1.2
*/
public static class Float extends Ellipse2D implements Serializable {
/**
* The X coordinate of the upper-left corner of the
--- 40,51 ----
* @since 1.2
*/
public abstract class Ellipse2D extends RectangularShape {
/**
! * The {@code Float} class defines an ellipse specified
! * in {@code float} precision.
* @since 1.2
*/
public static class Float extends Ellipse2D implements Serializable {
/**
* The X coordinate of the upper-left corner of the
*** 62,94 ****
* @serial
*/
public float y;
/**
! * The overall width of this <code>Ellipse2D</code>.
* @since 1.2
* @serial
*/
public float width;
/**
! * The overall height of this <code>Ellipse2D</code>.
* @since 1.2
* @serial
*/
public float height;
/**
! * Constructs a new <code>Ellipse2D</code>, initialized to
* location (0, 0) and size (0, 0).
* @since 1.2
*/
public Float() {
}
/**
! * Constructs and initializes an <code>Ellipse2D</code> from the
* specified coordinates.
*
* @param x the X coordinate of the upper-left corner
* of the framing rectangle
* @param y the Y coordinate of the upper-left corner
--- 62,94 ----
* @serial
*/
public float y;
/**
! * The overall width of this {@code Ellipse2D}.
* @since 1.2
* @serial
*/
public float width;
/**
! * The overall height of this {@code Ellipse2D}.
* @since 1.2
* @serial
*/
public float height;
/**
! * Constructs a new {@code Ellipse2D}, initialized to
* location (0, 0) and size (0, 0).
* @since 1.2
*/
public Float() {
}
/**
! * Constructs and initializes an {@code Ellipse2D} from the
* specified coordinates.
*
* @param x the X coordinate of the upper-left corner
* of the framing rectangle
* @param y the Y coordinate of the upper-left corner
*** 141,151 ****
return (width <= 0.0 || height <= 0.0);
}
/**
* Sets the location and size of the framing rectangle of this
! * <code>Shape</code> to the specified rectangular values.
*
* @param x the X coordinate of the upper-left corner of the
* specified rectangular shape
* @param y the Y coordinate of the upper-left corner of the
* specified rectangular shape
--- 141,151 ----
return (width <= 0.0 || height <= 0.0);
}
/**
* Sets the location and size of the framing rectangle of this
! * {@code Shape} to the specified rectangular values.
*
* @param x the X coordinate of the upper-left corner of the
* specified rectangular shape
* @param y the Y coordinate of the upper-left corner of the
* specified rectangular shape
*** 184,195 ****
*/
private static final long serialVersionUID = -6633761252372475977L;
}
/**
! * The <code>Double</code> class defines an ellipse specified
! * in <code>double</code> precision.
* @since 1.2
*/
public static class Double extends Ellipse2D implements Serializable {
/**
* The X coordinate of the upper-left corner of the
--- 184,195 ----
*/
private static final long serialVersionUID = -6633761252372475977L;
}
/**
! * The {@code Double} class defines an ellipse specified
! * in {@code double} precision.
* @since 1.2
*/
public static class Double extends Ellipse2D implements Serializable {
/**
* The X coordinate of the upper-left corner of the
*** 206,238 ****
* @serial
*/
public double y;
/**
! * The overall width of this <code>Ellipse2D</code>.
* @since 1.2
* @serial
*/
public double width;
/**
! * The overall height of the <code>Ellipse2D</code>.
* @since 1.2
* @serial
*/
public double height;
/**
! * Constructs a new <code>Ellipse2D</code>, initialized to
* location (0, 0) and size (0, 0).
* @since 1.2
*/
public Double() {
}
/**
! * Constructs and initializes an <code>Ellipse2D</code> from the
* specified coordinates.
*
* @param x the X coordinate of the upper-left corner
* of the framing rectangle
* @param y the Y coordinate of the upper-left corner
--- 206,238 ----
* @serial
*/
public double y;
/**
! * The overall width of this {@code Ellipse2D}.
* @since 1.2
* @serial
*/
public double width;
/**
! * The overall height of the {@code Ellipse2D}.
* @since 1.2
* @serial
*/
public double height;
/**
! * Constructs a new {@code Ellipse2D}, initialized to
* location (0, 0) and size (0, 0).
* @since 1.2
*/
public Double() {
}
/**
! * Constructs and initializes an {@code Ellipse2D} from the
* specified coordinates.
*
* @param x the X coordinate of the upper-left corner
* of the framing rectangle
* @param y the Y coordinate of the upper-left corner
*** 402,432 ****
contains(x + w, y + h));
}
/**
* Returns an iteration object that defines the boundary of this
! * <code>Ellipse2D</code>.
* The iterator for this class is multi-threaded safe, which means
! * that this <code>Ellipse2D</code> class guarantees that
! * modifications to the geometry of this <code>Ellipse2D</code>
* object do not affect any iterations of that geometry that
* are already in process.
! * @param at an optional <code>AffineTransform</code> to be applied to
* the coordinates as they are returned in the iteration, or
! * <code>null</code> if untransformed coordinates are desired
! * @return the <code>PathIterator</code> object that returns the
! * geometry of the outline of this <code>Ellipse2D</code>,
* one segment at a time.
* @since 1.2
*/
public PathIterator getPathIterator(AffineTransform at) {
return new EllipseIterator(this, at);
}
/**
! * Returns the hashcode for this <code>Ellipse2D</code>.
! * @return the hashcode for this <code>Ellipse2D</code>.
* @since 1.6
*/
public int hashCode() {
long bits = java.lang.Double.doubleToLongBits(getX());
bits += java.lang.Double.doubleToLongBits(getY()) * 37;
--- 402,432 ----
contains(x + w, y + h));
}
/**
* Returns an iteration object that defines the boundary of this
! * {@code Ellipse2D}.
* The iterator for this class is multi-threaded safe, which means
! * that this {@code Ellipse2D} class guarantees that
! * modifications to the geometry of this {@code Ellipse2D}
* object do not affect any iterations of that geometry that
* are already in process.
! * @param at an optional {@code AffineTransform} to be applied to
* the coordinates as they are returned in the iteration, or
! * {@code null} if untransformed coordinates are desired
! * @return the {@code PathIterator} object that returns the
! * geometry of the outline of this {@code Ellipse2D},
* one segment at a time.
* @since 1.2
*/
public PathIterator getPathIterator(AffineTransform at) {
return new EllipseIterator(this, at);
}
/**
! * Returns the hashcode for this {@code Ellipse2D}.
! * @return the hashcode for this {@code Ellipse2D}.
* @since 1.6
*/
public int hashCode() {
long bits = java.lang.Double.doubleToLongBits(getX());
bits += java.lang.Double.doubleToLongBits(getY()) * 37;
*** 434,453 ****
bits += java.lang.Double.doubleToLongBits(getHeight()) * 47;
return (((int) bits) ^ ((int) (bits >> 32)));
}
/**
! * Determines whether or not the specified <code>Object</code> is
! * equal to this <code>Ellipse2D</code>. The specified
! * <code>Object</code> is equal to this <code>Ellipse2D</code>
! * if it is an instance of <code>Ellipse2D</code> and if its
! * location and size are the same as this <code>Ellipse2D</code>.
! * @param obj an <code>Object</code> to be compared with this
! * <code>Ellipse2D</code>.
! * @return <code>true</code> if <code>obj</code> is an instance
! * of <code>Ellipse2D</code> and has the same values;
! * <code>false</code> otherwise.
* @since 1.6
*/
public boolean equals(Object obj) {
if (obj == this) {
return true;
--- 434,453 ----
bits += java.lang.Double.doubleToLongBits(getHeight()) * 47;
return (((int) bits) ^ ((int) (bits >> 32)));
}
/**
! * Determines whether or not the specified {@code Object} is
! * equal to this {@code Ellipse2D}. The specified
! * {@code Object} is equal to this {@code Ellipse2D}
! * if it is an instance of {@code Ellipse2D} and if its
! * location and size are the same as this {@code Ellipse2D}.
! * @param obj an {@code Object} to be compared with this
! * {@code Ellipse2D}.
! * @return {@code true} if {@code obj} is an instance
! * of {@code Ellipse2D} and has the same values;
! * {@code false} otherwise.
* @since 1.6
*/
public boolean equals(Object obj) {
if (obj == this) {
return true;
< prev index next >