[OpenJDK 2D-Dev] RFR: 8242004: TextLayout throws Exception with a non-invertible transform

Jayathirth D v JAYATHIRTH.D.V at ORACLE.COM
Fri Apr 10 05:26:34 UTC 2020


Hi Phil,

I went through all use cases captured in test case (TextLayout, drawXXXX).

With updated change there is difference in behaviour between how we interpret non-invertible transform between TextLayout.draw() and drawXXXX() API’s.
In case of TextLayout.draw() we are overriding non-invertible transform and allowing text rendering to happen, but in case of drawXXXX() we just return and doesn’t allow text rendering to continue. Is it okay to have this difference in behaviour?

Also in test case its better if we continue to test all use cases and then fail instead of failing at first instance and added test case needs change in Copyright year from 2015 to 2020.

Thanks,
Jay

> On 10-Apr-2020, at 7:53 AM, Philip Race <philip.race at oracle.com> wrote:
> 
> D**n copy/paste, yes you correctly inferred the webrev is at
> <cr-url>/<my openjdk id>/<bugid> ie : http://cr.openjdk.java.net/~prr/8242004/ <http://cr.openjdk.java.net/%7Eprr/8242004/> 
> 
> -phil.
> 
> 
> On 4/9/20, 7:00 PM, Jayathirth D v wrote:
>> 
>> Hi Phil,
>> 
>> Please share webrev link, you have added JBS link for webrev.
>> I went to path where you usually share webrev's and found http://cr.openjdk.java.net/~prr/8242004/ <http://cr.openjdk.java.net/%7Eprr/8242004/> 
>> 
>> Thanks,
>> Jay
>> 
>> 
>>> On 10-Apr-2020, at 12:49 AM, Philip Race <philip.race at oracle.com <mailto:philip.race at oracle.com>> wrote:
>>> 
>>> Any takers ?
>>> 
>>> -phil
>>> 
>>> On 4/3/20, 1:29 PM, Philip Race wrote:
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8242004 <https://bugs.openjdk.java.net/browse/JDK-8242004>
>>>> webrev: https://bugs.openjdk.java.net/browse/JDK-8242004 <https://bugs.openjdk.java.net/browse/JDK-8242004>
>>>> 
>>>> Several code paths can end up in the method shown in the bug report
>>>> with a non-invertible transform.
>>>> 
>>>> As much as possible, we can prevent them reaching here by checking in the rendering code.
>>>> 
>>>> If we do get here, which should now be possible only when directly creating
>>>> a TextLayout, we can use a default TX. Subsequent rendering of the TextLayout
>>>> will be handled by the other checks being added.
>>>> 
>>>> A regression test is provided which checks various APIs to make sure no
>>>> exception is thrown.
>>>> 
>>>> -phil.
>>>> 
>>>> 
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/2d-dev/attachments/20200410/ee7479b3/attachment.htm>


More information about the 2d-dev mailing list