RFR: 4197755: Arc2D.getBounds() returns an unnecessarily large bounding box
Jeremy Wood
jwood at openjdk.org
Sun Aug 10 04:42:57 UTC 2025
4197755 is marked as a duplicate of [JDK-8176501](https://bugs.openjdk.org/browse/JDK-8176501) , but I think that is a mistake. The complaint in that ticket still reproduces, and it is resolved in this PR.
The complaint is: Arc2D.getBounds() is too large. If an Arc2D represents a small slice of an ellipse, then Arc2D.getBounds() always returns the size of the total ellipse. Arc2D.getBounds2D(), by contrast, has been "high-precision" for decades.
This PR makes Arc2D.getBounds() resemble the same implementation already used in Area, CubicCurve2D, Line2D, Path2D, and QuadCurve2D:
public Rectangle getBounds() {
return getBounds2D().getBounds();
}
This modifies (simplifies) the javadoc for Arc2D.getBounds2D(). If we generally like this PR I assume we'll need a CSR to approve the javadoc change.
-------------
Commit messages:
- 4197755: update copyright year
- 4197755: shorten javadoc
- 4197755: make Arc2D.getBounds() similar to getBounds2D()
- 4197755: add failing unit test
Changes: https://git.openjdk.org/jdk/pull/26715/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26715&range=00
Issue: https://bugs.openjdk.org/browse/JDK-4197755
Stats: 112 lines in 2 files changed: 98 ins; 12 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/26715.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26715/head:pull/26715
PR: https://git.openjdk.org/jdk/pull/26715
More information about the client-libs-dev
mailing list