< prev index next >
src/java.desktop/windows/native/libawt/windows/awt_Window.h
Print this page
rev 60071 : 8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI)
Reviewed-by: XXX
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -55,16 +55,10 @@
static jfieldID screenID; /* screen number passed over from WindowPeer */
static jfieldID autoRequestFocusID;
static jfieldID securityWarningWidthID;
static jfieldID securityWarningHeightID;
- // The coordinates at the peer.
- static jfieldID sysXID;
- static jfieldID sysYID;
- static jfieldID sysWID;
- static jfieldID sysHID;
-
static jfieldID windowTypeID;
static jmethodID getWarningStringMID;
static jmethodID calculateSecurityWarningPositionMID;
static jmethodID windowTypeNameMID;
@@ -124,18 +118,19 @@
INLINE virtual BOOL IsFocusedWindowModalBlocker() {
return FALSE;
}
+ virtual void Reshape(int x, int y, int w, int h);
virtual void Invalidate(RECT* r);
virtual void Show();
virtual void SetResizable(BOOL isResizable);
BOOL IsResizable();
virtual void RecalcNonClient();
virtual void RedrawNonClient();
virtual int GetScreenImOn();
- virtual void CheckIfOnNewScreen();
+ virtual void CheckIfOnNewScreen(BOOL force);
virtual void Grab();
virtual void Ungrab();
virtual void Ungrab(BOOL doPost);
virtual void SetIconData(JNIEnv* env, jintArray iconData, jint w, jint h,
jintArray smallIconData, jint smw, jint smh);
@@ -242,11 +237,10 @@
static void _SetOpaque(void* param);
static void _UpdateWindow(void* param);
static void _RepositionSecurityWarning(void* param);
static void _SetFullScreenExclusiveModeState(void* param);
static void _GetNativeWindowSize(void* param);
- static void _WindowDPIChange(void* param);
static void _OverrideHandle(void *param);
inline static BOOL IsResizing() {
return sm_resizing;
}
@@ -403,12 +397,11 @@
BOOL m_winSizeMove;
ScaleRec prevScaleRec;
void InitOwner(AwtWindow *owner);
void CheckWindowDPIChange();
- void WindowDPIChange(int prevScreen, float prevScaleX, float prevScaleY,
- int newScreen, float scaleX, float scaleY);
+ void WmDPIChanged(const LPARAM &lParam);
Type m_windowType;
void InitType(JNIEnv *env, jobject peer);
// Tweak the style according to the type of the window
< prev index next >