Esempio n. 1
0
        public IntPtr InstallHook(MouseMoveCallback cb)
        {
            callback = cb;

            _windowsHookHandle   = IntPtr.Zero;
            _user32LibraryHandle = IntPtr.Zero;
            _hookProc            = HookCallback; // we must keep alive _hookProc, because GC is not aware about SetWindowsHookEx behaviour.

            _user32LibraryHandle = LoadLibrary("User32");
            if (_user32LibraryHandle == IntPtr.Zero)
            {
                int errorCode = Marshal.GetLastWin32Error();
                throw new Win32Exception(errorCode, $"Failed to load library 'User32.dll'. Error {errorCode}: {new Win32Exception(Marshal.GetLastWin32Error()).Message}.");
            }

            return(_windowsHookHandle = SetWindowsHookEx(WH_MOUSE_LL, _hookProc, GetModuleHandle("user32"), 0));
        }
Esempio n. 2
0
 static extern void Noesis_Win32Display_RegisterCallbacks(
     LocationChangedCallback locationChangedCallback,
     SizeChangedCallback sizeChangedCallback,
     StateChangedCallback stateChangedCallback,
     FileDroppedCallback fileDroppedCallback,
     ActivatedCallback activatedCallback,
     DeactivatedCallback deactivatedCallback,
     RenderCallback renderCallback,
     MouseMoveCallback mouseMoveCallback,
     MouseButtonDownCallback mouseButtonDownCallback,
     MouseButtonUpCallback mouseButtonUpCallback,
     MouseDoubleClickCallback mouseDoubleClickCallback,
     MouseWheelCallback mouseWheelCallback,
     KeyDownCallback keyDownCallback,
     KeyUpCallback keyUpCallback,
     CharCallback charCallback,
     TouchMoveCallback touchMoveCallback,
     TouchDownCallback touchDownCallback,
     TouchUpCallback touchUpCallback);
Esempio n. 3
0
 static extern void GLUT_RegisterMouse(
     MouseMoveCallback mouseMoveCallback,
     MouseButtonCallback mouseDownCallback,
     MouseButtonCallback mouseUpCallback);
Esempio n. 4
0
 public static void AddMouseMoveListener(MouseMoveCallback action)
 {
     Platform.OnMouseMove += action;
 }