diff options
Diffstat (limited to 'awt/java/awt/geom/Area.java')
-rw-r--r-- | awt/java/awt/geom/Area.java | 330 |
1 files changed, 0 insertions, 330 deletions
diff --git a/awt/java/awt/geom/Area.java b/awt/java/awt/geom/Area.java deleted file mode 100644 index e6619e3..0000000 --- a/awt/java/awt/geom/Area.java +++ /dev/null @@ -1,330 +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; -import java.awt.geom.PathIterator; -import java.awt.geom.Rectangle2D; -import java.util.NoSuchElementException; - -import org.apache.harmony.awt.internal.nls.Messages; -import org.apache.harmony.luni.util.NotImplementedException; - -/** - * The Class Area provides a minimal implementation for a generic shape. - * - * @since Android 1.0 - */ -public class Area implements Shape, Cloneable { - - /** - * The source Shape object. - */ - Shape s; - - /** - * The Class NullIterator. - */ - private static class NullIterator implements PathIterator { - - /** - * Instantiates a new null iterator. - */ - NullIterator() { - } - - public int getWindingRule() { - return WIND_NON_ZERO; - } - - public boolean isDone() { - return true; - } - - public void next() { - // nothing - } - - public int currentSegment(double[] coords) { - // awt.4B=Iterator out of bounds - throw new NoSuchElementException(Messages.getString("awt.4B")); //$NON-NLS-1$ - } - - public int currentSegment(float[] coords) { - // awt.4B=Iterator out of bounds - throw new NoSuchElementException(Messages.getString("awt.4B")); //$NON-NLS-1$ - } - - } - - /** - * Instantiates a new area with no data. - */ - public Area() { - } - - /** - * Instantiates a new area with data given by the specified shape. - * - * @param s - * the shape that gives the data for this Area. - */ - public Area(Shape s) { - if (s == null) { - throw new NullPointerException(); - } - this.s = s; - } - - public boolean contains(double x, double y) { - return s == null ? false : s.contains(x, y); - } - - public boolean contains(double x, double y, double width, double height) { - return s == null ? false : s.contains(x, y, width, height); - } - - public boolean contains(Point2D p) { - if (p == null) { - throw new NullPointerException(); - } - return s == null ? false : s.contains(p); - } - - public boolean contains(Rectangle2D r) { - if (r == null) { - throw new NullPointerException(); - } - return s == null ? false : s.contains(r); - } - - /** - * Tests whether the object is equal to this Area. - * - * @param obj - * the object to compare. - * @return true, if successful. - * @throws NotImplementedException - * if this method is not implemented. - */ - public boolean equals(Area obj) throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - public boolean intersects(double x, double y, double width, double height) { - return s == null ? false : s.intersects(x, y, width, height); - } - - public boolean intersects(Rectangle2D r) { - if (r == null) { - throw new NullPointerException(); - } - return s == null ? false : s.intersects(r); - } - - public Rectangle getBounds() { - return s == null ? new Rectangle() : s.getBounds(); - } - - public Rectangle2D getBounds2D() { - return s == null ? new Rectangle2D.Double() : s.getBounds2D(); - } - - public PathIterator getPathIterator(AffineTransform t) { - return s == null ? new NullIterator() : s.getPathIterator(t); - } - - public PathIterator getPathIterator(AffineTransform t, double flatness) { - return s == null ? new NullIterator() : s.getPathIterator(t, flatness); - } - - /** - * Adds the specified area to this area. - * - * @param area - * the area to add to this area. - * @throws NotImplementedException - * if this method is not implemented. - */ - public void add(Area area) throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Performs an exclusive or operation between this shape and the specified - * shape. - * - * @param area - * the area to XOR against this area. - * @throws NotImplementedException - * if this method is not implemented. - */ - public void exclusiveOr(Area area) throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Extracts a Rectangle2D from the source shape if the underlying shape data - * describes a rectangle. - * - * @return a Rectangle2D object if the source shape is rectangle, or null if - * shape is empty or not rectangle. - */ - Rectangle2D extractRectangle() { - if (s == null) { - return null; - } - float[] points = new float[12]; - int count = 0; - PathIterator p = s.getPathIterator(null); - float[] coords = new float[6]; - while (!p.isDone()) { - int type = p.currentSegment(coords); - if (count > 12 || type == PathIterator.SEG_QUADTO || type == PathIterator.SEG_CUBICTO) { - return null; - } - points[count++] = coords[0]; - points[count++] = coords[1]; - p.next(); - } - if (points[0] == points[6] && points[6] == points[8] && points[2] == points[4] - && points[1] == points[3] && points[3] == points[9] && points[5] == points[7]) { - return new Rectangle2D.Float(points[0], points[1], points[2] - points[0], points[7] - - points[1]); - } - return null; - } - - /** - * Reduces the size of this Area by intersecting it with the specified Area - * if they are both rectangles. - * - * @see java.awt.geom.Rectangle2D#intersect(Rectangle2D, Rectangle2D, - * Rectangle2D) - * @param area - * the area. - */ - public void intersect(Area area) { - Rectangle2D src1 = extractRectangle(); - Rectangle2D src2 = area.extractRectangle(); - if (src1 != null && src2 != null) { - Rectangle2D.intersect(src1, src2, (Rectangle2D)s); - } - } - - /** - * Subtract the specified area from this area. - * - * @param area - * the area to subtract. - * @throws NotImplementedException - * if this method is not implemented. - */ - public void subtract(Area area) throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Checks if this Area is empty. - * - * @return true, if this Area is empty. - * @throws NotImplementedException - * if this method is not implemented. - */ - public boolean isEmpty() throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Checks if this Area is polygonal. - * - * @return true, if this Area is polygonal. - * @throws NotImplementedException - * if this method is not implemented. - */ - public boolean isPolygonal() throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Checks if this Area is rectangular. - * - * @return true, if this Area is rectangular. - * @throws NotImplementedException - * if this method is not implemented. - */ - public boolean isRectangular() throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Checks if this Area is singular. - * - * @return true, if this Area is singular. - * @throws NotImplementedException - * if this method is not implemented. - */ - public boolean isSingular() throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Resets the data of this Area. - * - * @throws NotImplementedException - * if this method is not implemented. - */ - public void reset() throws org.apache.harmony.luni.util.NotImplementedException { - throw new RuntimeException("Not implemented"); //$NON-NLS-1$ - } - - /** - * Transforms the data of this Area according to the specified - * AffineTransform. - * - * @param t - * the transform to use to transform the data. - */ - public void transform(AffineTransform t) { - s = t.createTransformedShape(s); - } - - /** - * Creates a new Area that is the result of transforming the data of this - * Area according to the specified AffineTransform. - * - * @param t - * the transform to use to transform the data. - * @return the new Area that is the result of transforming the data of this - * Area according to the specified AffineTransform. - */ - public Area createTransformedArea(AffineTransform t) { - return s == null ? new Area() : new Area(t.createTransformedShape(s)); - } - - @Override - public Object clone() { - return new Area(this); - } - -} |