On Thu, 17 Dec 2020 19:30:17 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> I've opted for the cache and check for screen scale solution, as I agree it 
>> presents less risks of leaked or missing listeners down the road.
>> There's a slight unexpected drawback I've noticed, though, which is that the 
>> repaint for the affected Region does not seem to occur right away on moving 
>> the window to another screen, but only once the Region is interacted with 
>> (e.g. hovering the mouse over it).
>
> Your latest patch looks exactly like what I would expect. I need to do some 
> multi-screen testing on Windows with different scale factors.
> 
>> ... the repaint for the affected Region does not seem to occur right away on 
>> moving the window to another screen, but only once the Region is interacted 
>> with (e.g. hovering the mouse over it).
> 
> This seems like a different (and preexisting) bug then. I think we're up to 
> three follow-on issues if I haven't lost track:
> 
> 1. Rendering a cached node doesn't match rendering it directly even when the 
> transform is unchanged.
> 2. TextFlow: methods copied from Region have not picked up subsequent changes 
> in those methods
> 3. Need to Render and layout scene out when scale changes (either when moving 
> to a screen with a different scale or when the scale changes as the result of 
> changing the setting of the current screen)

I did some testing with your latest patch, and I don't see any problem when 
dragging a window between screens with different scales. It seems to be 
recalculating the cached insets and using them in layout as I would expect. Do 
you have a test case that shows the problem?

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

PR: https://git.openjdk.java.net/jfx/pull/308

Reply via email to