RFR: 8222210: JFXPanel popups open at wrong coordinates when using multiple hidpi monitors [v4]

Kevin Rushforth kcr at openjdk.org
Tue Nov 8 18:21:04 UTC 2022


On Tue, 8 Nov 2022 18:16:52 GMT, Johan Vos <jvos at openjdk.org> wrote:

>> The root problem is actually broader than stated in the JBS issue. This PR now translates screencoordinates from absolute coordinates into coordinates that take the platformScale into account. 
>> The whole process is complicated by the fact that throughout our code, we use e.g. `x` and `y` without clearly stating if those are absolute, logical, screen or rendering coordinates. 
>> I believe the most consistent approach is to have the different entry points (e.g. a Glass Window or a JFXPanel) to deal with platformScale before passing screen coordinates. This is already done in the Glass approach, and this PR does the same in JFXPanel. That means some code is duplicated, but since this is only about 12 lines, and said code lives in 2 different modules, I think it's not worth the hassle of moving that into e.g. the base module.
>
> Johan Vos has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Process reviewer comments. Use Math.round() instead of Math.floor() for coordinates

Marked as reviewed by kcr (Lead).

-------------

PR: https://git.openjdk.org/jfx/pull/924


More information about the openjfx-dev mailing list