/// <summary> /// Implements <see cref="IMouse.DragVertically(MouseButton, IUIItem, int)"/> /// </summary> public virtual void DragVertically(MouseButton mouseButton, IUIItem uiItem, int distance) { Move(uiItem.Bounds.Center()); var currentXLocation = Location.X; var currentYLocation = Location.Y; MouseWin32.MouseButtonDown(mouseButton); ActionPerformed(uiItem); Move(new Point(currentXLocation, currentYLocation + distance)); MouseWin32.MouseButtonUp(mouseButton); }
/// <summary> /// Implements <see cref="IMouse.DragAndDrop(MouseButton, IUIItem, Point, IUIItem, Point)"/> /// </summary> public virtual void DragAndDrop(MouseButton mouseButton, IUIItem draggedItem, Point startPosition, IUIItem dropItem, Point endPosition) { Move(startPosition); MouseWin32.MouseButtonDown(mouseButton); var dragStepFraction = (float)(1.0 / CoreAppXmlConfiguration.Instance.DragStepCount); for (var i = 1; i <= CoreAppXmlConfiguration.Instance.DragStepCount; i++) { var newX = startPosition.X + (endPosition.X - startPosition.X) * (dragStepFraction * i); var newY = startPosition.Y + (endPosition.Y - startPosition.Y) * (dragStepFraction * i); var newPoint = new Point((int)newX, (int)newY); Move(newPoint); } MouseWin32.MouseButtonUp(mouseButton); dropItem.ActionPerformed(Action.WindowMessage); }