/// <summary>
        /// Mouse click. x, y coords with button.
        /// </summary>
        /// <param name="x">cursor X position</param>
        /// <param name="y">cursor Y position</param>
        /// <param name="btn">Button to press. See MouseClicks enum.</param>
        public static void globalMouseClick(MouseClicks btn, int x = 0, int y = 0)
        {
            var sim = new InputSimulator();

            if (btn == MouseClicks.WM_LBUTTONDOWN)
            {
                sim.Mouse.LeftButtonDown();
            }
            else if (btn == MouseClicks.WM_LBUTTONUP)
            {
                sim.Mouse.LeftButtonUp();
            }

            if (btn == MouseClicks.WM_RBUTTONDBLCLK)
            {
                sim.Mouse.RightButtonClick();
            }

            if (btn == MouseClicks.WM_MBUTTONDOWN)
            {
                sim.Mouse.MiddleButtonDown();
            }
            else if (btn == MouseClicks.WM_MBUTTONUP)
            {
                sim.Mouse.MiddleButtonUp();
            }
        }
Exemplo n.º 2
0
 private MouseClickHandler[] FindHandlersFor(MouseClicks clicks, MouseButtons button)
 {
     lock (_lock)
     {
         return(_mouseClickHandlers
                .Where(o => o.Clicks == clicks && o.Button == button)
                .ToArray());
     }
 }
Exemplo n.º 3
0
 /// <inheritdoc />
 public MouseClickHandler AddMouseClickHandler(MouseClicks clicks, MouseButtons button, Action handler)
 {
     lock (_lock)
     {
         var handlerItem = new MouseClickHandler(clicks, button, handler);
         _mouseClickHandlers.Add(handlerItem);
         return(handlerItem);
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Update the cursor position
 /// </summary>
 /// <param name="X">Mouse X</param>
 /// <param name="Y">Mouse Y</param>
 /// <param name="ClickCount">Number of clicks</param>
 /// <param name="Button">Button enum 0=None, 1=Left, 2=Right</param>
 /// <returns>true is cursor is drawn by game</returns>
 /// <remarks>
 /// See <see cref="NodeCursor"/> for implementation. This is a proxy method.
 /// </remarks>
 public bool SetCursor(int X, int Y, int ClickCount, MouseButtons Button, MouseClicks ClickType)
 {
     if (cursor == null) return false;
     return cursor.SetCursor(X, Y, ClickCount, Button, ClickType);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Constructs a MouseClickHandler registration container
 /// </summary>
 /// <param name="clicks">Single- or Double- click handling</param>
 /// <param name="button">Mouse button to handle for</param>
 /// <param name="action">Action to run when the handler is matched</param>
 public MouseClickHandler(MouseClicks clicks, MouseButtons button, Action action)
 {
     Clicks = clicks;
     Button = button;
     Action = action;
 }