001 /*
002 * $Id: ShapeUIResource.java 2565 2008-01-03 19:08:32Z rah003 $
003 *
004 * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
005 * Santa Clara, California 95054, U.S.A. All rights reserved.
006 *
007 * This library is free software; you can redistribute it and/or
008 * modify it under the terms of the GNU Lesser General Public
009 * License as published by the Free Software Foundation; either
010 * version 2.1 of the License, or (at your option) any later version.
011 *
012 * This library is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015 * Lesser General Public License for more details.
016 *
017 * You should have received a copy of the GNU Lesser General Public
018 * License along with this library; if not, write to the Free Software
019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
020 */
021
022 package org.jdesktop.swingx.plaf;
023
024 import java.awt.Rectangle;
025 import java.awt.Shape;
026 import java.awt.geom.AffineTransform;
027 import java.awt.geom.PathIterator;
028 import java.awt.geom.Point2D;
029 import java.awt.geom.Rectangle2D;
030
031 import javax.swing.plaf.UIResource;
032
033 /**
034 * An implementation of Shape that implements UIResource. UI
035 * classes that create Shapes should use this class.
036 *
037 * @author rah003
038 */
039 public class ShapeUIResource implements Shape, UIResource {
040 private Shape s;
041
042 /** Creates a new instance of PainterUIResource */
043 public ShapeUIResource(Shape p) {
044 this.s = p;
045 }
046
047 public boolean contains(Point2D p) {
048 return s.contains(p);
049 }
050
051 public boolean contains(Rectangle2D r) {
052 return s.contains(r);
053 }
054
055 public boolean contains(double x, double y) {
056 return s.contains(x, y);
057 }
058
059 public boolean contains(double x, double y, double w, double h) {
060 return s.contains(x, y, w, h);
061 }
062
063 public Rectangle getBounds() {
064 return s.getBounds();
065 }
066
067 public Rectangle2D getBounds2D() {
068 return s.getBounds2D();
069 }
070
071 public PathIterator getPathIterator(AffineTransform at) {
072 return s.getPathIterator(at);
073 }
074
075 public PathIterator getPathIterator(AffineTransform at, double flatness) {
076 return s.getPathIterator(at, flatness);
077 }
078
079 public boolean intersects(Rectangle2D r) {
080 return s.intersects(r);
081 }
082
083 public boolean intersects(double x, double y, double w, double h) {
084 return s.intersects(x, y, w, h);
085 }
086 }