csharp/0x0ade/XnaToFna/src/Helper/PInvokeHooks/MouseEvents.cs

MouseEvents.cs
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using MonoMod.InlineRT;
using SDL2;
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;
using XnaToFna.ProxyForms;

namespace XnaToFna {
    public static clast MouseEvents {

        public static Rectangle? Clip;
        public static MouseState PreviousState;

        public static void Moved()
            => PInvoke.CallHooks(Messages.WM_MOUSEMOVE, IntPtr.Zero, IntPtr.Zero);

        public static void LMBDown()
            => PInvoke.CallHooks(Messages.WM_LBUTTONDOWN, IntPtr.Zero, IntPtr.Zero);
        public static void LMBUp()
            => PInvoke.CallHooks(Messages.WM_LBUTTONUP, IntPtr.Zero, IntPtr.Zero);

        public static void RMBDown()
            => PInvoke.CallHooks(Messages.WM_RBUTTONDOWN, IntPtr.Zero, IntPtr.Zero);
        public static void RMBUp()
            => PInvoke.CallHooks(Messages.WM_RBUTTONUP, IntPtr.Zero, IntPtr.Zero);

        public static void MMBDown()
            => PInvoke.CallHooks(Messages.WM_MBUTTONDOWN, IntPtr.Zero, IntPtr.Zero);
        public static void MMBUp()
            => PInvoke.CallHooks(Messages.WM_MBUTTONUP, IntPtr.Zero, IntPtr.Zero);

        public static void XMBDown(int mb)
            => PInvoke.CallHooks(Messages.WM_XBUTTONDOWN, (IntPtr) (mb  PInvoke.CallHooks(Messages.WM_XBUTTONUP, (IntPtr) (mb  PInvoke.CallHooks(Messages.WM_MOUSEWHEEL, (IntPtr) (scroll