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