> ## 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

-------------

Changes: https://git.openjdk.org/jfx/pull/1817/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1817&range=05
  Stats: 556 lines in 5 files changed: 522 ins; 18 del; 16 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

Reply via email to