< prev index next >

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

Print this page

        

*** 303,312 **** --- 303,315 ---- m_vmSignalled = FALSE; m_isDynamicLayoutSet = FALSE; m_areExtraMouseButtonsEnabled = TRUE; + m_isWin8OrLater = FALSE; + m_pGetPointerInfoHandle = NULL; + m_verifyComponents = FALSE; m_breakOnError = FALSE; m_breakMessageLoop = FALSE; m_messageLoopResult = 0;
*** 515,524 **** --- 518,540 ---- (HOOKPROC)GetMessageFilter, 0, tk.m_mainThreadId); awt_dnd_initialize(); + /* + * Initialization of the touch related variables. + */ + tk.m_isWin8OrLater = IS_WIN8; + + if (tk.m_isWin8OrLater) { + HMODULE hUser32Dll = ::LoadLibrary(_T("user32.dll")); + if (hUser32Dll != NULL) { + tk.m_pGetPointerInfoHandle = (GetPointerInfoHandleFunc) + ::GetProcAddress(hUser32Dll, "GetPointerInfo"); + } + } + return TRUE; } BOOL AwtToolkit::Dispose() { DTRACE_PRINTLN("In AwtToolkit::Dispose()");
*** 539,548 **** --- 555,566 ---- AwtObjectList::Cleanup(); awt_dnd_uninitialize(); awt_clipboard_uninitialize((JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2)); + m_pGetPointerInfoHandle = NULL; + if (tk.m_inputMethodHWnd != NULL) { ::SendMessage(tk.m_inputMethodHWnd, WM_IME_CONTROL, IMC_OPENSTATUSWINDOW, 0); } tk.m_inputMethodHWnd = NULL;
*** 2822,2826 **** --- 2840,2853 ---- } UINT AwtToolkit::GetNumberOfButtons() { return MOUSE_BUTTONS_WINDOWS_SUPPORTED; } + + BOOL AwtToolkit::TIGetPointerInfo(UINT32 pointerID, POINTER_INFO *pointerInfo) + { + if (m_pGetPointerInfoHandle == NULL) { + return FALSE; + } + + return m_pGetPointerInfoHandle(pointerID, pointerInfo); + }
< prev index next >