<AWT Dev> Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

Prem Balakrishnan prem.balakrishnan at oracle.com
Thu Aug 18 09:42:18 UTC 2016


 

Added "2d-dev" team for review

 

Regards,

Prem

 

From: Alexandr Scherbatiy 
Sent: Thursday, August 18, 2016 2:57 PM
To: Prem Balakrishnan; Rajeev Chamyal; awt-dev at openjdk.java.net; Sergey Bylokhov
Subject: Re: Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

 

Could you also send the review to the 2d-dev alias?

Thanks,
Alexandr.

On 8/18/2016 9:59 AM, Prem Balakrishnan wrote:

Hi Alexandr,

 

AccelSurface is implemented by *ONLY* D3DSurfaceData and OGLSurfaceData classes,

Both of these classes extend SurfaceData as well.

Hence, casting of 'as' variable which is of type AccelSurface object to SurfaceData is always VALID.

 

Regards,
Prem

 

From: Alexandr Scherbatiy 
Sent: Wednesday, August 17, 2016 4:42 PM
To: Prem Balakrishnan; Rajeev Chamyal; HYPERLINK "mailto:awt-dev at openjdk.java.net"awt-dev at openjdk.java.net; Sergey Bylokhov
Subject: Re: Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

 

On 8/17/2016 11:30 AM, Prem Balakrishnan wrote:




Hi Alexandr,

 

Thankyou for the review.

YES scaled SurfaceData returns proper scale values from getDefaultScaleX()/getDefaultScaleY(), which I have used in the current patch.

 

Please review the updated patch

HYPERLINK "http://cr.openjdk.java.net/%7Epkbalakr/8144735/webrev.02/"http://cr.openjdk.java.net/~pkbalakr/8144735/webrev.02/

  Is it always true that the 'as' variable which has type AccelSurface in the fix is always instance of SurfaceData?

  Thanks,
  Alexandr.




Regards,
Prem

From: Alexandr Scherbatiy 
Sent: Tuesday, August 16, 2016 10:06 PM
To: Prem Balakrishnan; Rajeev Chamyal; HYPERLINK "mailto:awt-dev at openjdk.java.net"awt-dev at openjdk.java.net; Sergey Bylokhov
Subject: Re: Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

 

On 8/16/2016 7:35 AM, Prem Balakrishnan wrote:





Reminder

 

From: Prem Balakrishnan 
Sent: Friday, August 12, 2016 6:36 PM
To: Alexander Scherbatiy; Rajeev Chamyal; HYPERLINK "mailto:awt-dev at openjdk.java.net"awt-dev at openjdk.java.net; Sergey Bylokhov
Subject: RE: Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

 

Hi Alexandr and Sergey,

 

Please review the updated patch.

HYPERLINK "http://cr.openjdk.java.net/%7Epkbalakr/8144735/webrev.01/"http://cr.openjdk.java.net/~pkbalakr/8144735/webrev.01/

>>"It is a little bit strange bug, because VolatileImage should handle this scale internally, and create double sized surface when necessary".-Sergey

Yes as you mentioned Volatile Image is getting scaled internally. Thanks for the feedback.

 

Cause: In  VIOptWindowPainter::updateWindowAccel(psdops, w, h) call, width and height were passed without scaling,
which was creating a bitmap of specified width and height, hence the output was clipped.


  I just have two general questions.
  - The scaled SurfaceData should return proper scales from getDefaultScaleX()/getDefaultScaleY() methods. Do these methods return right values after setting the scaled image sizes in the fix?
  - Region.clipScale() which is used in many places rounds values. The usual rule is to use Math.floor() for image coordinates rounding and Math.ceil() for sizes.
    Should the same rule be applicable here?

  Thanks,
  Alexandr.







 
 
Regards,
Prem

 

 

From: Alexandr Scherbatiy 
Sent: Thursday, August 04, 2016 6:23 PM
To: Prem Balakrishnan; Rajeev Chamyal; HYPERLINK "mailto:awt-dev at openjdk.java.net"awt-dev at openjdk.java.net; Sergey Bylokhov
Subject: Re: Review Request: JDK-8144735 [hidpi] javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails

 

On 8/3/2016 10:04 AM, Prem Balakrishnan wrote:

Hi,

Please review fix for JDK9,

 

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

 

Webrev: HYPERLINK "http://cr.openjdk.java.net/%7Epkbalakr/8144735/webrev.00/"http://cr.openjdk.java.net/~pkbalakr/8144735/webrev.00/ 

 

 

Issue:

javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentPerPixelTranslucentGradient.java fails 

 

Cause:

While creating Transparent VolatileImage, width and height was NOT hidpi scaled.

 

Fix: VolatileImage width and height are scaled.


   I believe this is an issue in AWT and needs to be discussed on awt-dev alias.

   Should the backbuffer width and height be also scaled for the BIWindowPainter?

  Thanks,
  Alexandr.
 

 

Thanks,

Prem

 

 

 

 

 

 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20160818/e5f39b09/attachment-0001.html>


More information about the awt-dev mailing list