static IntPtr Create(CGEventSource?source, CGScrollEventUnit units, params int [] wheel) { IntPtr handle; IntPtr shandle = source.GetHandle(); switch (wheel.Length) { case 0: throw new ArgumentException("At least one wheel must be provided"); case 1: handle = CGEventCreateScrollWheelEvent(shandle, units, 1, wheel [0]); break; case 2: handle = CGEventCreateScrollWheelEvent(shandle, units, 2, wheel [0], wheel [1]); break; case 3: handle = CGEventCreateScrollWheelEvent(shandle, units, 3, wheel [0], wheel [1], wheel [2]); break; default: throw new ArgumentException("Only one to three wheels are supported on this constructor"); } return(handle); }
public CGEvent(CGEventSource source, CGScrollEventUnit units, params int [] wheel) { IntPtr shandle = source == null ? IntPtr.Zero : source.Handle; switch (wheel.Length) { case 0: throw new ArgumentException("At least one wheel must be provided"); case 1: handle = CGEventCreateScrollWheelEvent(shandle, units, 1, wheel [0]); break; case 2: handle = CGEventCreateScrollWheelEvent(shandle, units, 2, wheel [0], wheel [1]); break; case 3: handle = CGEventCreateScrollWheelEvent(shandle, units, 3, wheel [0], wheel [1], wheel [2]); break; default: throw new ArgumentException("Only one to three wheels are supported on this constructor"); } }
extern static IntPtr CGEventCreateScrollWheelEvent(IntPtr source, CGScrollEventUnit units, uint /* uint32_t */ wheelCount, int /* uint32_t */ wheel1, int /* uint32_t */ wheel2, int /* uint32_t */ wheel3);
extern static IntPtr CGEventCreateScrollWheelEvent (IntPtr source, CGScrollEventUnit units, uint /* uint32_t */ wheelCount, int /* uint32_t */ wheel1);
public CGEvent (CGEventSource source, CGScrollEventUnit units, params int [] wheel) { IntPtr shandle = source == null ? IntPtr.Zero : source.Handle; switch (wheel.Length){ case 0: throw new ArgumentException ("At least one wheel must be provided"); case 1: handle = CGEventCreateScrollWheelEvent (shandle, units, 1, wheel [0]); break; case 2: handle = CGEventCreateScrollWheelEvent (shandle, units, 2, wheel [0], wheel [1]); break; case 3: handle = CGEventCreateScrollWheelEvent (shandle, units, 3, wheel [0], wheel [1], wheel [2]); break; default: throw new ArgumentException ("Only one to three wheels are supported on this constructor"); } }
public CGEvent(CGEventSource source, CGScrollEventUnit units, params int [] wheel) : base(Create(source, units, wheel), true) { }
internal static extern CGEventRef CGEventCreateScrollWheelEvent(IntPtr source, CGScrollEventUnit units, int wheelCount, int wheelX, int wheelY);