Hi Rajeev,

The fix itself looks good. I only did not get for what purpose mouse pointer is moved in the test?

--Semyon


On 7/5/2016 9:16 AM, Rajeev Chamyal wrote:

Hello Alexandr,

Please review updated webrev.

http://cr.openjdk.java.net/~rchamyal/8159168/webrev.02/ <http://cr.openjdk.java.net/%7Erchamyal/8159168/webrev.02/>

Regards,

Rajeev Chamyal

*From:*Alexandr Scherbatiy
*Sent:* 05 July 2016 11:38
*To:* Rajeev Chamyal; swing-dev@openjdk.java.net; Sergey Bylokhov
*Subject:* Re: <Swing Dev> Review Request JDK-8159168 [hidpi] Window.setShape() works incorrectly on HiDPI

On 7/5/2016 8:25 AM, Rajeev Chamyal wrote:

    Hello Alexandr,

    Thanks for the review.

    As per windows specification X & Y scale are always equal that’s
    why I have put scaleX == scaleY check.

    But it may change in future so I have removed this check.

    http://cr.openjdk.java.net/~rchamyal/8159168/webrev.01/
    <http://cr.openjdk.java.net/%7Erchamyal/8159168/webrev.01/>


1135             if (scaleX != 1 && scaleY != 1) {

It is better to use 'or' operator because the shape should be scaled when on of the scales is differ from 1.

Thanks,
Alexandr.


    Regards,

    Rajeev Chamyal

    *From:*Alexandr Scherbatiy
    *Sent:* 04 July 2016 18:03
    *To:* Rajeev Chamyal; swing-dev@openjdk.java.net
    <mailto:swing-dev@openjdk.java.net>; Sergey Bylokhov
    *Subject:* Re: <Swing Dev> Review Request JDK-8159168 [hidpi]
    Window.setShape() works incorrectly on HiDPI

    On 7/4/2016 3:09 PM, Rajeev Chamyal wrote:


        Hello All,

        Please review the following webrev.

        Bug: https://bugs.openjdk.java.net/browse/JDK-8159168

        Webrev:
        http://cr.openjdk.java.net/~rchamyal/8159168/webrev.00/
        <http://cr.openjdk.java.net/%7Erchamyal/8159168/webrev.00/>

        Issue: In HiDPI screen shape set through window::setShape API
        is not scaled based on system scale.

        Fix:. Updated the WComponentPeer::applyShape to update shape
        based on system scale.

    1131 double scaleX =
    winGraphicsConfig.getDefaultTransform().getScaleX();
    1132             double scaleY =
    winGraphicsConfig.getDefaultTransform().getScaleY();

     The getDefaultTransform() is called twice which leads that
    AffineTransform object is created two times
    1133             if (scaleX != 1 && scaleY != 1 && scaleX == scaleY) {

       Is the check scaleX == scaleY really necessary here?

       Is it possible to make the test automated? Just run it with
    option "@run main/othervm -Dsun.java2d.uiScale=2 TestName" and
    check the area where the shape is drawn?

      Thanks,
      Alexandr.


        Regards,

        Rajeev Chamyal


Reply via email to