> ## 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 incrementally with one additional commit since the last revision: link ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1817/files - new: https://git.openjdk.org/jfx/pull/1817/files/16ed27eb..d466ebc9 Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1817&range=03 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1817&range=02-03 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jfx/pull/1817.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1817/head:pull/1817 PR: https://git.openjdk.org/jfx/pull/1817