namespace Terminal.Gui.Drawing;
///
/// Represents the semantic visual role of a visual element rendered by a . Each VisualRole maps to
/// a property of (e.g., ).
///
///
/// A single View may render as one or multiple elements. Each element can be associated with a different
/// .
///
public enum VisualRole
{
///
/// The default visual role for unfocused, unselected, enabled elements.
///
Normal,
///
/// The visual role for elements with a indicator.
///
HotNormal,
///
/// The visual role when the element is focused.
///
Focus,
///
/// The visual role for elements with a indicator.
///
HotFocus,
///
/// The visual role for elements that are active or selected (e.g., selected item in a ). Also
/// used
/// for headers in, , and .
///
Active,
///
/// The visual role for elements with a indicator.
///
HotActive,
///
/// The visual role for elements that are highlighted (e.g., when the mouse is inside over a ).
///
Highlight,
///
/// The visual role for elements that are disabled and not interactable.
///
Disabled,
///
/// The visual role for elements that are editable (e.g., and ).
///
Editable,
///
/// The visual role for elements that are normally editable but currently read-only.
///
ReadOnly
}