using System.ComponentModel;
namespace Terminal.Gui;
///
/// Specifies the event arguments for . This is a higher-level construct than
/// the wrapped class and is used for the events defined on and subclasses
/// of View (e.g. and ).
///
public class MouseEventArgs : HandledEventArgs
{
///
/// Flags indicating the state of the mouse buttons and the type of event that occurred.
///
public MouseFlags Flags { get; set; }
///
/// The screen-relative mouse position.
///
public Point ScreenPosition { get; set; }
/// The deepest View who's contains .
public View View { get; set; }
/// The position of the mouse in 's Viewport-relative coordinates. Only valid if is set.
public Point Position { get; set; }
/// Returns a that represents the current .
/// A that represents the current .
public override string ToString () { return $"({ScreenPosition}):{Flags}:{View.Id}:{Position}"; }
}