< prev index next >

src/java.desktop/windows/native/libawt/windows/awt_DnDDT.cpp

Print this page

        

*** 125,134 **** --- 125,144 ---- if ((refs = --m_refs) == 0) delete this; return (ULONG)refs; } + void ScaleDown(POINT &cp, HWND m_window) { + int screen = AwtWin32GraphicsDevice::DeviceIndexForWindow(m_window); + Devices::InstanceAccess devices; + AwtWin32GraphicsDevice* device = devices->GetDevice(screen); + if (device) { + cp.x = device->ScaleDownX(cp.x); + cp.y = device->ScaleDownY(cp.y); + } + } + /** * DragEnter */ HRESULT __stdcall AwtDropTarget::DragEnter(IDataObject __RPC_FAR *pDataObj, DWORD grfKeyState, POINTL pt, DWORD __RPC_FAR *pdwEffect) {
*** 174,183 **** --- 184,194 ---- ::GetWindowRect(m_window, &wr); cp.x = pt.x - wr.left; cp.y = pt.y - wr.top; + ScaleDown(cp, m_window); jint actions = call_dTCenter(env, m_dtcp, m_target, (jint)cp.x, (jint)cp.y, ::convertDROPEFFECTToActions(mapModsToDROPEFFECT(*pdwEffect, grfKeyState)), ::convertDROPEFFECTToActions(*pdwEffect),
*** 235,244 **** --- 246,256 ---- ::GetWindowRect(m_window, &wr); cp.x = pt.x - wr.left; cp.y = pt.y - wr.top; + ScaleDown(cp, m_window); actions = call_dTCmotion(env, m_dtcp, m_target,(jint)cp.x, (jint)cp.y, ::convertDROPEFFECTToActions(mapModsToDROPEFFECT(*pdwEffect, grfKeyState)), ::convertDROPEFFECTToActions(*pdwEffect), m_cfFormats, (jlong)this);
*** 334,343 **** --- 346,356 ---- ::GetWindowRect(m_window, &wr); cp.x = pt.x - wr.left; cp.y = pt.y - wr.top; + ScaleDown(cp, m_window); m_dropActions = java_awt_dnd_DnDConstants_ACTION_NONE; call_dTCdrop(env, m_dtcp, m_target, (jint)cp.x, (jint)cp.y, ::convertDROPEFFECTToActions(mapModsToDROPEFFECT(*pdwEffect, grfKeyState)),
< prev index next >