On Fri, 11 Jul 2025 15:11:57 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> ## Summary >> This change adds new methods to the `TextFlow` which work correctly in the >> presence of non-empty insets (borders/padding). For backward compatibility, >> the old buggy methods are getting deprecated (not for removal). Also, adds >> new methods in Text which provide missing functionality. >> >> ## Problem >> A number of methods in `TextFlow` fail to return correct values in the >> presence of non-empty insets (i.e. when either padding or border are set): >> - caretShape >> - hitTest >> - rangeShape >> >> Additionally, the current API fail to provide strike-through shape, and >> account for line spacing in the range shape, a problem shared between the >> `TextFlow` and the `Text` classes. >> >> ## Solution >> The solution is two-fold: >> 1) deprecate the buggy methods (not for removal), adding explanations in >> their javadoc comments >> 2) add new methods that behave correctly in the presence of non-empty insets >> and/or implementing the missing functionality. >> >> The proposed solution retains the buggy methods for the purposes of backward >> compatibility in applications which employ the workarounds, while providing >> new APIs with additional parameters similar to those offered by the new >> TextLayout API https://bugs.openjdk.org/browse/JDK-8341670 >> >> ## Testing >> >> Additional visualization of the data returned by the new APIs is available >> in the Monkey Tester using the following branch (in the Text and TextFlow >> pages): >> >> https://github.com/andy-goryachev-oracle/MonkeyTest/tree/text.insets.corrected > > Andy Goryachev has updated the pull request with a new target base due to a > merge or a rebase. The pull request now contains 76 commits: > > - if > - Merge branch 'master' into 8341438.text.shapes.insets > - javadoc > - link > - review comments > - Merge remote-tracking branch 'origin/master' into > 8341438.text.shapes.insets > - Merge branch 'master' into 8341438.text.shapes.insets > - cleanup > - Merge branch 'master' into 8341438.text.shapes.insets > - layout info > - ... and 66 more: https://git.openjdk.org/jfx/compare/d6265e49...a283479f Marked as reviewed by kcr (Lead). ------------- PR Review: https://git.openjdk.org/jfx/pull/1817#pullrequestreview-3010738728