<Swing Dev> [10] RFR JDK-8191428: Regression: Swing button label wrapping with hidpi
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Tue Nov 21 09:51:28 UTC 2017
Hi Sergey,
I created the automated test testing the fact that if text is broken
into multiple lines, then button rendering the text will have its height
increased also.
http://cr.openjdk.java.net/~psadhukhan/8191428/webrev-1stapproach/webrev.01/
Regards
Prasanta
On 11/21/2017 6:49 AM, Sergey Bylokhov wrote:
> Hi, Prasanta.
> Is it possible to create an automated test for this issue?
> (I think that we were just lucky that Phil found this problem by the
> demo)
>
> On 20/11/2017 03:26, Prasanta Sadhukhan wrote:
>> Hi All,
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8191428
>>
>> It is seen that with
>> 8172025: HiDPI with non-integer scale factor - SPANs in HTML are
>> rendered overlapping each other
>> fix, the html text in button is rendered in different lines even
>> though it is specified as a one word.
>>
>> This is because with getSpan() returning float value (say 29.9996)
>> FlowView.layoutRow() calculates "spanLeft" using getFlowSpan() method
>> which uses "int" calculation (so get 29]
>> whereas "chunkSpan" got from GlyphView#getTabbedPane (using
>> GlyphPainter1.getSpan) gets "float" value [ie 29.9996]
>> so this calculation (chunkSpan > spanLeft) is satisfied [ex, 29.996
>> > 29] and so it calls breakView() to break the text.
>>
>> In the proposed fix, I have reverted the getSpan() value to return
>> "int" so as to prevent this regression.
>> This fix also does not cause any problem with 8172025 issue which
>> renders fine.
>>
>> webrev:
>> http://cr.openjdk.java.net/~psadhukhan/8191428/webrev-1stapproach/webrev.00/
>>
>>
>>
>> Another approach is to use "float" calculation for all "spans"
>> calculation but that will cause many changes, including changing
>> public/protected method signature
>> which I believe is risky at this point of time for jdk10, as it might
>> potentially cause more regressions.
>> Sneak peek of 2nd approach changes are: [work in progress]
>> http://cr.openjdk.java.net/~psadhukhan/8191428/webrev-2ndapproach/
>>
>> Regards
>> Prasanta
>
>
More information about the swing-dev
mailing list