44 lines
1.3 KiB
C#
44 lines
1.3 KiB
C#
using System.Drawing;
|
|
using System.Numerics;
|
|
|
|
namespace Dashboard.Events
|
|
{
|
|
[Flags]
|
|
public enum MouseButtons
|
|
{
|
|
M1 = 1 << 0,
|
|
M2 = 1 << 1,
|
|
M3 = 1 << 2,
|
|
M4 = 1 << 3,
|
|
M5 = 1 << 4,
|
|
M6 = 1 << 5,
|
|
M7 = 1 << 6,
|
|
M8 = 1 << 7,
|
|
|
|
Left = M1,
|
|
Right = M2,
|
|
Middle = M3,
|
|
}
|
|
|
|
public sealed class MouseMoveEventArgs(Vector2 clientPosition, Vector2 delta) : UiEventArgs(UiEventType.MouseMove)
|
|
{
|
|
public Vector2 ClientPosition { get; } = clientPosition;
|
|
public Vector2 Delta { get; } = delta;
|
|
}
|
|
|
|
public sealed class MouseButtonEventArgs(Vector2 clientPosition, MouseButtons buttons, ModifierKeys modifierKeys, bool up)
|
|
: UiEventArgs(up ? UiEventType.MouseButtonUp : UiEventType.MouseButtonDown)
|
|
{
|
|
public ModifierKeys ModifierKeys { get; } = modifierKeys;
|
|
public Vector2 ClientPosition { get; } = clientPosition;
|
|
public MouseButtons Buttons { get; } = buttons;
|
|
}
|
|
|
|
public sealed class MouseScrollEventArgs(Vector2 clientPosition, Vector2 scrollDelta)
|
|
: UiEventArgs(UiEventType.MouseScroll)
|
|
{
|
|
public Vector2 ClientPosition { get; } = clientPosition;
|
|
public Vector2 ScrollDelta { get; } = scrollDelta;
|
|
}
|
|
}
|