<Swing Dev> RFR: 8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI) [v2]
Sergey Bylokhov
serb at openjdk.java.net
Wed Oct 28 23:46:59 UTC 2020
On Wed, 28 Oct 2020 16:24:20 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:
>> Sergey Bylokhov has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>>
>> - Merge branch 'master' into JDK-8211999
>> - Update FullscreenWindowProps.java
>> - Merge branch 'master' into JDK-8211999
>> - Fix fullscreen in HiDPI mode
>> - self review
>> - Initial fix version
>
> src/java.desktop/share/classes/sun/java2d/SunGraphicsEnvironment.java line 445:
>
>> 443: * @return the point which uses device space(pixels)
>> 444: */
>> 445: public static Point toDeviceSpace(int x, int y) {
>
> Does this function converts _absolute_ coordinates?
> I see it uses a different formula to convert: the coordinates are scaled as opposed to `-Abs` set of functions.
fixed, the javadoc is updated.
> src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java line 311:
>
>> 309:
>> 310: final void syncBounds(){
>> 311: // The Windows will take care of the top-level window/frame/dialog,
>
> Suggestion:
>
> final void syncBounds() {
> // Windows will take care of the top-level window/frame/dialog,
>
> Does it override another implementation of `syncBounds()`? Or does it implement a method in an interface?
> Shall it have `@Override` annotation?
fixed, @Override is added
> src/java.desktop/windows/native/libawt/windows/awt_Window.cpp line 3987:
>
>> 3985: }
>> 3986:
>> 3987: } /* extern "C" */
>
> Probably, it's better to preserve the line end at the end of the file.
fixed
> test/jdk/java/awt/List/ListMultipleSelectTest/ListMultipleSelectTest.java line 90:
>
>> 88: for (int i = 0; i < aList.getItemCount(); i++) {
>> 89: //select all items in the List
>> 90: mousePress(p.x + listSize.height / 2, p.y + stepY / 2 + stepY * i);
>
> x be based on width?
> mousePress(p.x + listSize.width / 2, p.y + stepY / 2 + stepY * i);
fixed
> test/jdk/java/awt/Window/WindowSizeDifferentScreens/WindowSizeDifferentScreens.java line 110:
>
>> 108: case "dialog" -> new Dialog((Dialog) null);
>> 109: case "frame" -> new Frame();
>> 110: default -> throw new IllegalStateException("Unexpected: " + top);
>
> `IllegalArgumentException` more appropriate?
> default -> throw new IllegalArgumentException("Unexpected: " + top);
fixed
-------------
PR: https://git.openjdk.java.net/jdk/pull/375
More information about the swing-dev
mailing list