Code reuse--, compiler warnings--, screwed by Sun++.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1250 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: SmartPolygon.java,v 1.4 2002/08/22 01:14:55 shaper Exp $
|
// $Id: SmartPolygon.java,v 1.5 2003/10/10 17:49:25 mdb Exp $
|
||||||
//
|
//
|
||||||
// samskivert library - useful routines for java programs
|
// samskivert library - useful routines for java programs
|
||||||
// Copyright (C) 2001 Michael Bayne
|
// Copyright (C) 2001 Michael Bayne
|
||||||
@@ -36,6 +36,35 @@ public class SmartPolygon extends Polygon
|
|||||||
*/
|
*/
|
||||||
public Rectangle getBoundingBox ()
|
public Rectangle getBoundingBox ()
|
||||||
{
|
{
|
||||||
return (bounds == null) ? super.getBoundingBox() : bounds;
|
if (bounds == null) {
|
||||||
|
// this is inlined from Polygon.getBoundingBox() and
|
||||||
|
// Polygon.computeBounds() because we can't call
|
||||||
|
// super.getBoundingBox() without the compiler bitching about
|
||||||
|
// deprecation, we can't just override getBounds() because a
|
||||||
|
// few methods in Polygon still call getBoundingBox() and we
|
||||||
|
// can't call computeBounds() because it's package protected
|
||||||
|
// (thank's Sun!)
|
||||||
|
if (npoints == 0) {
|
||||||
|
bounds = new Rectangle();
|
||||||
|
} else {
|
||||||
|
int boundsMinX = Integer.MAX_VALUE;
|
||||||
|
int boundsMinY = Integer.MAX_VALUE;
|
||||||
|
int boundsMaxX = Integer.MIN_VALUE;
|
||||||
|
int boundsMaxY = Integer.MIN_VALUE;
|
||||||
|
|
||||||
|
for (int i = 0; i < npoints; i++) {
|
||||||
|
int x = xpoints[i];
|
||||||
|
boundsMinX = Math.min(boundsMinX, x);
|
||||||
|
boundsMaxX = Math.max(boundsMaxX, x);
|
||||||
|
int y = ypoints[i];
|
||||||
|
boundsMinY = Math.min(boundsMinY, y);
|
||||||
|
boundsMaxY = Math.max(boundsMaxY, y);
|
||||||
|
}
|
||||||
|
bounds = new Rectangle(boundsMinX, boundsMinY,
|
||||||
|
boundsMaxX - boundsMinX,
|
||||||
|
boundsMaxY - boundsMinY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bounds;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user