< prev index next >
src/java.desktop/windows/native/libawt/windows/awt_DnDDS.cpp
Print this page
rev 60071 : 8211999: Window positioning bugs due to overlapping GraphicsDevice bounds (Windows/HiDPI)
Reviewed-by: XXX
@@ -1172,27 +1172,27 @@
pmedium->pUnkForRelease = (IUnknown *)NULL;
return S_OK;
}
-static void ScaleDown(POINT &pt) {
+static void ScaleDownAbs(POINT &pt) {
HMONITOR monitor = MonitorFromPoint(pt, MONITOR_DEFAULTTOPRIMARY);
int screen = AwtWin32GraphicsDevice::GetScreenFromHMONITOR(monitor);
Devices::InstanceAccess devices;
AwtWin32GraphicsDevice *device = devices->GetDevice(screen);
if (device) {
- pt.x = device->ScaleDownX(pt.x);
- pt.y = device->ScaleDownY(pt.y);
+ pt.x = device->ScaleDownAbsX(pt.x);
+ pt.y = device->ScaleDownAbsY(pt.y);
}
}
DECLARE_JAVA_CLASS(dSCClazz, "sun/awt/windows/WDragSourceContextPeer")
void
AwtDragSource::call_dSCenter(JNIEnv* env, jobject self, jint targetActions,
jint modifiers, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCenter, dSCClazz, "dragEnter", "(IIII)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCenter, targetActions, modifiers, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
env->ExceptionDescribe();
@@ -1201,11 +1201,11 @@
}
void
AwtDragSource::call_dSCmotion(JNIEnv* env, jobject self, jint targetActions,
jint modifiers, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCmotion, dSCClazz, "dragMotion", "(IIII)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCmotion, targetActions, modifiers, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
env->ExceptionDescribe();
@@ -1214,11 +1214,11 @@
}
void
AwtDragSource::call_dSCchanged(JNIEnv* env, jobject self, jint targetActions,
jint modifiers, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCchanged, dSCClazz, "operationChanged",
"(IIII)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCchanged, targetActions, modifiers, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
@@ -1227,11 +1227,11 @@
}
}
void
AwtDragSource::call_dSCexit(JNIEnv* env, jobject self, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCexit, dSCClazz, "dragExit", "(II)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCexit, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
env->ExceptionDescribe();
@@ -1240,11 +1240,11 @@
}
void
AwtDragSource::call_dSCddfinished(JNIEnv* env, jobject self, jboolean success,
jint operations, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCddfinished, dSCClazz, "dragDropFinished", "(ZIII)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCddfinished, success, operations, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
env->ExceptionDescribe();
@@ -1253,11 +1253,11 @@
}
void
AwtDragSource::call_dSCmouseMoved(JNIEnv* env, jobject self, jint targetActions,
jint modifiers, POINT pt) {
- ScaleDown(pt);
+ ScaleDownAbs(pt);
DECLARE_VOID_JAVA_METHOD(dSCmouseMoved, dSCClazz, "dragMouseMoved",
"(IIII)V");
DASSERT(!JNU_IsNull(env, self));
env->CallVoidMethod(self, dSCmouseMoved, targetActions, modifiers, pt.x, pt.y);
if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
< prev index next >