Files
better-genshin-impact/Common/MouseKeyHook/IMouseEvents.cs
2024-12-18 23:17:52 +08:00

124 lines
4.6 KiB
C#

// This code is distributed under MIT license.
// Copyright (c) 2015 George Mamaladze
// See license.txt or https://mit-license.org/
using System;
using System.Windows.Forms;
namespace Gma.System.MouseKeyHook
{
/// <summary>
/// Provides all mouse events.
/// </summary>
public interface IMouseEvents
{
/// <summary>
/// Occurs when the mouse pointer is moved.
/// </summary>
event MouseEventHandler MouseMove;
/// <summary>
/// Occurs when the mouse pointer is moved.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse movement in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseMoveExt;
/// <summary>
/// Occurs when a click was performed by the mouse.
/// </summary>
event MouseEventHandler MouseClick;
/// <summary>
/// Occurs when the mouse a mouse button is pressed.
/// </summary>
event MouseEventHandler MouseDown;
/// <summary>
/// Occurs when the mouse a mouse button is pressed.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse click in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseDownExt;
/// <summary>
/// Occurs when a mouse button is released.
/// </summary>
event MouseEventHandler MouseUp;
/// <summary>
/// Occurs when a mouse button is released.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse click in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseUpExt;
/// <summary>
/// Occurs when the mouse wheel moves.
/// </summary>
event MouseEventHandler MouseWheel;
/// <summary>
/// Occurs when the mouse wheel moves horizontally.
/// </summary>
event MouseEventHandler MouseHWheel;
/// <summary>
/// Occurs when the mouse wheel moves.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse wheel moves in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseWheelExt;
/// <summary>
/// Occurs when the mouse wheel moves.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of horizontal mouse wheel moves in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseHWheelExt;
/// <summary>
/// Occurs when a mouse button is double-clicked.
/// </summary>
event MouseEventHandler MouseDoubleClick;
/// <summary>
/// Occurs when a drag event has started (left button held down whilst moving more than the system drag threshold).
/// </summary>
event MouseEventHandler MouseDragStarted;
/// <summary>
/// Occurs when a drag event has started (left button held down whilst moving more than the system drag threshold).
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse movement in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseDragStartedExt;
/// <summary>
/// Occurs when a drag event has completed.
/// </summary>
event MouseEventHandler MouseDragFinished;
/// <summary>
/// Occurs when a drag event has completed.
/// </summary>
/// <remarks>
/// This event provides extended arguments of type <see cref="MouseEventArgs" /> enabling you to
/// suppress further processing of mouse movement in other applications.
/// </remarks>
event EventHandler<MouseEventExtArgs> MouseDragFinishedExt;
}
}