Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
 public SetMouseTask(MouseEventPipeMessage message)
 {
     this.message = message;
 }