On Thu, 10 Oct 2024 19:23:47 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>> Andy Goryachev has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   convert to wrapper
>
> One additional thought/question:
> 
> There is a need to extract a few more data points from the text layout in 
> addition to the text lines, specifically:
> - bounds of the (selection) range, as rectangles
> - strikethrough range shape (as `PathElement[]` and/or rectangles)
> - underline range shape (as `PathElement[]` and/or rectangles)
> 
> We currently have `Text/TextFlow.underlineShape(int,int)`, 
> `.rangeShape(int,int)` which return `PathElement[]` in an undocumented way.
> 
> There is no corresponding `.strikeThroughShape()` method, or a way to 
> retrieve the geometric bounds as lines/rectangles.
> 
> Granted, one can attempt to analyze the `PathElement[]` and convert it to 
> geometry, but it seems we should avoid asking the clients to do that.
> 
> So the question are:
> - should we add these data points to LayoutInfo
> - if so, in what form?  i.e. as individual methods or as an array of 
> Line/Rectangle objects,
> - should we add the `.strikeThroughShape()` to Text/TextFlow, or simply 
> adding it here should be sufficient?

@andy-goryachev-oracle First off thanks for all your work on the richtext 
control you're working on.

> @Jugen do you think this PR addresses the issue 
> https://bugs.openjdk.org/browse/JDK-8091012 ?

Unfortunately I don't think this helps for the hit problem Tomas was having, 
see `hit(x,y)` in RichTextFX's 
[TextFlowExt](https://github.com/FXMisc/RichTextFX/blob/9405b4f03a4a7865741a8216671f4bbbd3fe27bc/richtextfx/src/main/java/org/fxmisc/richtext/TextFlowExt.java#L142)
 for the relevant code.

However I was able to use **all** the methods in the `LayoutInfo` interface of 
this PR in RichTextFX to replace the custom layout info code, which is great.

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

PR Comment: https://git.openjdk.org/jfx/pull/1596#issuecomment-2407473228

Reply via email to