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

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

Commit messages:
 - cleanup
 - Merge branch 'master' into 8341438.text.shapes.insets
 - layout info
 - tests
 - Merge remote-tracking branch 'origin/ag.text.layout.api' into 
8341438.text.shapes.insets
 - cleanup
 - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
 - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
 - cleanup
 - removed getStrikeThroughShape
 - ... and 59 more: https://git.openjdk.org/jfx/compare/1ea980ea...c1d7029c

Changes: https://git.openjdk.org/jfx/pull/1817/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1817&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341438
  Stats: 555 lines in 5 files changed: 521 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