RFR: 8341670: [Text, TextFlow] Public API for Text Layout Info [v8]
Andy Goryachev
angorya at openjdk.org
Fri Oct 25 19:54:12 UTC 2024
On Fri, 25 Oct 2024 14:14:08 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 14 additional commits since the last revision:
>>
>> - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
>> - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
>> - remove line spacing
>> - tests
>> - whitespace
>> - caret info
>> - text line info
>> - Merge remote-tracking branch 'origin/master' into ag.text.layout.api
>> - convert to wrapper
>> - clarify
>> - ... and 4 more: https://git.openjdk.org/jfx/compare/3e5d71cd...eb990081
>
> modules/javafx.graphics/src/main/java/javafx/scene/text/CaretInfo.java line 52:
>
>> 50: * <p>
>> 51: * The geometry is encoded in an array of [x, ymin, ymax] values which
>> 52: * represent a line drawn from (x, ymin) to (x, ymax).
>
> This seems overly restrictive, unless I don't understand what this does. How would this work for caret that is "caret" shaped -- `^` -- or shaped line an "I" with serifs? Presuming that specifying it with a series of geometric lines is sufficient, should it be defined as `[xmin, xmax, ymin, ymax]` instead?
We are talking about "geometry", assuming two things:
- the caret "geometry" represents a boundary between two characters and therefore is a line (or two lines in the case of a split caret)
- the text is horizontal
the latter poses a problem - on one hand, FX currently provides no support whatsoever for the vertical text, but that might change in the (distant) future. So perhaps Rectangle2D should work with the width of 0.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1596#discussion_r1817266150
More information about the openjfx-dev
mailing list