[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: RFR: 8251862: Wrong position of Popup windows at the intersection of 2 screens [v4]
From:       Kevin Rushforth <kcr () openjdk ! org>
Date:       2023-01-31 19:01:33
Message-ID: BbReMECV2ArRAuIqa8WXC99Vtq4pU7pBM8FbQKbVgeE=.c8e87896-302a-4389-bf34-1ad86c9be15e () github ! com
[Download RAW message or body]

> On Windows platforms with more than one screen, a PopupWindow created for a Stage \
> that straddles two windows will be drawn with an incorrect position and screen \
> scale if the majority of the Stage is on one screen, and the popup is positioned on \
> the other screen. In this case, the Stage is drawn using the screen scale of the \
> screen that most of the window is on, while the popup is drawn using the scale of \
> the screen that it is (typically entirely) on. 
> The most common way this can happen is when you have two screens of a different \
> scale with the secondary screen on the left or above the primary screen. If you \
> position the Stage such that most of it is still on the primary screen (thus the \
> Stage is drawn using the scale of the primary screen), with a menu, a control with \
> a context menu, or a control with a Tooltip now on the secondary screen, the popup \
> window for the menu or Tooltip will be drawn using the screen scale of the \
> secondary window and thus won't be positioned or sized correctly relative to the \
> menu bar, or control in the main window. 
> The fix implemented by this PR is to always use the screen of the owner window, \
> including the screen scales, when rendering a popup window. This matches the \
> behavior of native Windows apps, such as Notepad.

Kevin Rushforth has updated the pull request incrementally with one additional commit \
since the last revision:

  Update copyright year to 2023

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

Changes:
  - all: https://git.openjdk.org/jfx/pull/971/files
  - new: https://git.openjdk.org/jfx/pull/971/files/4d08c853..d256762b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=971&range=03
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=971&range=02-03

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jfx/pull/971.diff
  Fetch: git fetch https://git.openjdk.org/jfx pull/971/head:pull/971

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic