Is there some reason why this should not be a public API? Do you believe that only JDK-implemented borders need this functionality?
> On Dec 7, 2022, at 1:44 PM, Harshitha Onkar <hon...@openjdk.org> wrote: > > In this fix, the common code required for scaled border rendering is unified > and added to SwingUtilities3. This is achieved by adding a functional > interface to SwingUtilities3 and calling the the respective paintBorder > function passed as parameter to method. > > The following steps are common for any border scaling - > > - Resetting transform. > - Calculating new width, height, x & y-translations. > - Perform the required border rendering. > - And at the end restore the previous transform. > > To test the refactored code, 3 separate border scaling instances were taken > (details below) and the SwingUtilities3.paintBorder, (containing the common > functionality) was applied. All the tests associated with the respective > border changes pass. > > 1. EtchedBorder - [PR#7449](https://github.com/openjdk/jdk/pull/7449) - Test: > ScaledEtchedBorderTest.java > 2. LineBorder - [PR#10681](https://github.com/openjdk/jdk/pull/10681) - Test: > ScaledLineBorderTest & ScaledTextFieldBorderTest.java > 3. JInternalFrame Border - > [PR#10274](https://github.com/openjdk/jdk/pull/10274) - Test: > InternalFrameBorderTest.java > > The advantage of this solution is - it avoids code repetition and can be > reused across all the border classes requiring border scaling fix. > > ------------- > > Commit messages: > - Refactoring changes > - Merge branch 'master' into RefactorBorder_8294484 > - revert MetalBorder changes > - merge master > - refactoring changes - initial commit > > Changes: https://git.openjdk.org/jdk/pull/11571/files > Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11571&range=00 > Issue: https://bugs.openjdk.org/browse/JDK-8294680 > Stats: 272 lines in 4 files changed: 94 ins; 146 del; 32 mod > Patch: https://git.openjdk.org/jdk/pull/11571.diff > Fetch: git fetch https://git.openjdk.org/jdk pull/11571/head:pull/11571 > > PR: https://git.openjdk.org/jdk/pull/11571 >