using System.Text.Json.Serialization;
namespace Terminal.Gui.ViewBase;
///
/// Used to describe the state of the mouse in relation to a () and to
/// specify visual effects,
/// such as highlighting a button when the mouse is over it or changing the appearance of a view when the mouse is
/// pressed ().
///
///
///
[JsonConverter (typeof (JsonStringEnumConverter))]
[Flags]
public enum MouseState
{
///
/// No mouse interaction with the view is occurring.
///
None = 0,
///
/// The mouse is in the (but not pressed). Set between the
/// and events.
///
In = 1,
///
/// The mouse is in the and is pressed.
///
Pressed = 2,
///
/// The mouse is outside the and is pressed. If
/// is true,
/// this flag is ignored so that the view remains in the pressed state until the mouse is released.
///
PressedOutside = 4
}