public void HandleMouseEvent(MouseEventPipeMessage mouseMessage) { var host = this.webBrowser.GetBrowserHost(); // Read X & Y coords int x = mouseMessage.CoordX; int y = mouseMessage.CoordY; // Read primary event button & generate modifier struct var modifiers = new CefEventFlags(); var mouseButton = MouseButtonType.Left; if (mouseMessage.MouseButtons == MouseButtons.Left) { modifiers |= CefEventFlags.LeftMouseButton; mouseButton = MouseButtonType.Left; } if (mouseMessage.MouseButtons == MouseButtons.Right) { modifiers |= CefEventFlags.RightMouseButton; mouseButton = MouseButtonType.Right; } if (mouseMessage.MouseButtons == MouseButtons.Middle) { modifiers |= CefEventFlags.MiddleMouseButton; mouseButton = MouseButtonType.Middle; } // Generate generic event var mouseEvent = new MouseEvent(x, y, modifiers); // Dispatch event to browser host if (mouseMessage.MouseEventType == MouseEventPipeMessage.TYPE_MOVE) { host.SendMouseMoveEvent(mouseEvent, false); } else { bool isUpEvent = (mouseMessage.MouseEventType == MouseEventPipeMessage.TYPE_MOUSE_UP); host.SendMouseClickEvent(mouseEvent, mouseButton, isUpEvent, 1); } }
public SetMouseTask(MouseEventPipeMessage message) { this.message = message; }