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