On Wed, 2 Nov 2022 20:07:22 GMT, Johan Vos <j...@openjdk.org> wrote:

>> I suspect Math.floor() would be incorrect - we should use Math.round() for 
>> coordinates and Math.floor() for sizes (sizes will always be positive, I 
>> hope, and the rounded size will be slightly smaller than the original value).
>> 
>> But for coordinates we should use (int)Math.round()
>
> I'll change it to Math.round, although I doubt it doesn't improve anything 
> (but it won't make it worse either).
> The reason we need the transformation on those coordinates is to position new 
> windows, *relative* against the location of the root window that we are given 
> by Swing. Hence, if the operation applied to the window location coordinates 
> (in sendMoveEventToFX) is the same as the operation applied to the mouse 
> point (in sendMouseEventToFX), we are good. 
> A bigger problem imho is that mouseEvents, scrollEvents and menuEvents are 
> dealing with different precisions in the EmbeddedSceneInterface -- but that 
> is a different problem.

I also expect that it won't make much of a difference here, but Andy is right 
that, for snapping positions, `Math.round` is preferred. That's what layout 
panes do in `Region::snapPositionX/Y`

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

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

Reply via email to