MouseBinding.cs 963 B

1234567891011121314151617181920212223242526272829303132
  1. #nullable enable
  2. namespace Terminal.Gui;
  3. /// <summary>
  4. /// Provides a collection of <see cref="MouseFlags"/> bound to <see cref="Command"/>s.
  5. /// </summary>
  6. /// <seealso cref="MouseBindings"/>
  7. /// <seealso cref="Command"/>
  8. public record struct MouseBinding : IInputBinding
  9. {
  10. /// <summary>Initializes a new instance.</summary>
  11. /// <param name="commands">The commands this mouse binding will invoke.</param>
  12. /// <param name="mouseFlags">The mouse flags that trigger this binding.</param>
  13. public MouseBinding (Command [] commands, MouseFlags mouseFlags)
  14. {
  15. Commands = commands;
  16. MouseEventArgs = new MouseEventArgs()
  17. {
  18. Flags = mouseFlags
  19. };
  20. }
  21. /// <summary>The commands this binding will invoke.</summary>
  22. public Command [] Commands { get; set; }
  23. /// <summary>
  24. /// The mouse event arguments.
  25. /// </summary>
  26. public MouseEventArgs? MouseEventArgs { get; set; }
  27. }