diff options
Diffstat (limited to 'awt/java/awt/geom/RectangularShape.java')
-rw-r--r-- | awt/java/awt/geom/RectangularShape.java | 297 |
1 files changed, 0 insertions, 297 deletions
diff --git a/awt/java/awt/geom/RectangularShape.java b/awt/java/awt/geom/RectangularShape.java deleted file mode 100644 index 0b0d05c..0000000 --- a/awt/java/awt/geom/RectangularShape.java +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * @author Denis M. Kishenko - * @version $Revision$ - */ - -package java.awt.geom; - -import java.awt.Rectangle; -import java.awt.Shape; - -/** - * The Class RectangularShape represents a Shape whose data is (at least - * partially) described by a rectangular frame. This includes shapes which are - * obviously rectangular (such as Rectangle2D) as well as shapes like Arc2D - * which are largely determined by the rectangle they fit inside. - * - * @since Android 1.0 - */ -public abstract class RectangularShape implements Shape, Cloneable { - - /** - * Instantiates a new rectangular shape. - */ - protected RectangularShape() { - } - - /** - * Gets the x coordinate of the upper left corner of the rectangle. - * - * @return the x coordinate of the upper left corner of the rectangle. - */ - public abstract double getX(); - - /** - * Gets the y coordinate of the upper left corner of the rectangle. - * - * @return the y coordinate of the upper left corner of the rectangle. - */ - public abstract double getY(); - - /** - * Gets the width of the rectangle. - * - * @return the width of the rectangle. - */ - public abstract double getWidth(); - - /** - * Gets the height of the rectangle. - * - * @return the height of the rectangle. - */ - public abstract double getHeight(); - - /** - * Checks if this is an empty rectangle: one with zero as its width or - * height. - * - * @return true, if the width or height is empty. - */ - public abstract boolean isEmpty(); - - /** - * Sets the data for the bounding rectangle in terms of double values. - * - * @param x - * the x coordinate of the upper left corner of the rectangle. - * @param y - * the y coordinate of the upper left corner of the rectangle. - * @param w - * the width of the rectangle. - * @param h - * the height of the rectangle. - */ - public abstract void setFrame(double x, double y, double w, double h); - - /** - * Gets the minimum x value of the bounding rectangle (the x coordinate of - * the upper left corner of the rectangle). - * - * @return the minimum x value of the bounding rectangle. - */ - public double getMinX() { - return getX(); - } - - /** - * Gets the minimum y value of the bounding rectangle (the y coordinate of - * the upper left corner of the rectangle). - * - * @return the minimum y value of the bounding rectangle. - */ - public double getMinY() { - return getY(); - } - - /** - * Gets the maximum x value of the bounding rectangle (the x coordinate of - * the upper left corner of the rectangle plus the rectangle's width). - * - * @return the maximum x value of the bounding rectangle. - */ - public double getMaxX() { - return getX() + getWidth(); - } - - /** - * Gets the maximum y value of the bounding rectangle (the y coordinate of - * the upper left corner of the rectangle plus the rectangle's height). - * - * @return the maximum y value of the bounding rectangle. - */ - public double getMaxY() { - return getY() + getHeight(); - } - - /** - * Gets the x coordinate of the center of the rectangle. - * - * @return the x coordinate of the center of the rectangle. - */ - public double getCenterX() { - return getX() + getWidth() / 2.0; - } - - /** - * Gets the y coordinate of the center of the rectangle. - * - * @return the y coordinate of the center of the rectangle. - */ - public double getCenterY() { - return getY() + getHeight() / 2.0; - } - - /** - * Places the rectangle's size and location data in a new Rectangle2D object - * and returns it. - * - * @return the bounding rectangle as a new Rectangle2D object. - */ - public Rectangle2D getFrame() { - return new Rectangle2D.Double(getX(), getY(), getWidth(), getHeight()); - } - - /** - * Sets the bounding rectangle in terms of a Point2D which gives its upper - * left corner and a Dimension2D object giving its width and height. - * - * @param loc - * the new upper left corner coordinate. - * @param size - * the new size dimensions. - */ - public void setFrame(Point2D loc, Dimension2D size) { - setFrame(loc.getX(), loc.getY(), size.getWidth(), size.getHeight()); - } - - /** - * Sets the bounding rectangle to match the data contained in the specified - * Rectangle2D. - * - * @param r - * the rectangle that gives the new frame data. - */ - public void setFrame(Rectangle2D r) { - setFrame(r.getX(), r.getY(), r.getWidth(), r.getHeight()); - } - - /** - * Sets the framing rectangle given two opposite corners. Any two corners - * may be used in any order as long as they are diagonally opposite one - * another. - * - * @param x1 - * the x coordinate of one of the corner points. - * @param y1 - * the y coordinate of one of the corner points. - * @param x2 - * the x coordinate of the other corner point. - * @param y2 - * the y coordinate of the other corner point. - */ - public void setFrameFromDiagonal(double x1, double y1, double x2, double y2) { - double rx, ry, rw, rh; - if (x1 < x2) { - rx = x1; - rw = x2 - x1; - } else { - rx = x2; - rw = x1 - x2; - } - if (y1 < y2) { - ry = y1; - rh = y2 - y1; - } else { - ry = y2; - rh = y1 - y2; - } - setFrame(rx, ry, rw, rh); - } - - /** - * Sets the framing rectangle given two opposite corners. Any two corners - * may be used in any order as long as they are diagonally opposite one - * another. - * - * @param p1 - * one of the corner points. - * @param p2 - * the other corner point. - */ - public void setFrameFromDiagonal(Point2D p1, Point2D p2) { - setFrameFromDiagonal(p1.getX(), p1.getY(), p2.getX(), p2.getY()); - } - - /** - * Sets the framing rectangle given the center point and one corner. Any - * corner may be used. - * - * @param centerX - * the x coordinate of the center point. - * @param centerY - * the y coordinate of the center point. - * @param cornerX - * the x coordinate of one of the corner points. - * @param cornerY - * the y coordinate of one of the corner points. - */ - public void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY) { - double width = Math.abs(cornerX - centerX); - double height = Math.abs(cornerY - centerY); - setFrame(centerX - width, centerY - height, width * 2.0, height * 2.0); - } - - /** - * Sets the framing rectangle given the center point and one corner. Any - * corner may be used. - * - * @param center - * the center point. - * @param corner - * a corner point. - */ - public void setFrameFromCenter(Point2D center, Point2D corner) { - setFrameFromCenter(center.getX(), center.getY(), corner.getX(), corner.getY()); - } - - public boolean contains(Point2D point) { - return contains(point.getX(), point.getY()); - } - - public boolean intersects(Rectangle2D rect) { - return intersects(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight()); - } - - public boolean contains(Rectangle2D rect) { - return contains(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight()); - } - - public Rectangle getBounds() { - int x1 = (int)Math.floor(getMinX()); - int y1 = (int)Math.floor(getMinY()); - int x2 = (int)Math.ceil(getMaxX()); - int y2 = (int)Math.ceil(getMaxY()); - return new Rectangle(x1, y1, x2 - x1, y2 - y1); - } - - public PathIterator getPathIterator(AffineTransform t, double flatness) { - return new FlatteningPathIterator(getPathIterator(t), flatness); - } - - @Override - public Object clone() { - try { - return super.clone(); - } catch (CloneNotSupportedException e) { - throw new InternalError(); - } - } - -} |