Files
cursor-lang/CursorLang.Core/Models/PopupPlacement.cs
T
alex 56a398f055
Pull request / build (pull_request) Successful in 39s
changed settings saving
2026-08-12 21:31:42 +05:00

62 lines
1.4 KiB
C#

namespace CursorLang.Core.Models;
/// <summary>
/// How the place for the popup is chosen.
/// </summary>
public enum PopupPlacementMode
{
/// <summary>Next to the mouse cursor.</summary>
AtCursor,
/// <summary>
/// Next to the caret in the active input field. When the application does not
/// report its position, the popup is shown at the mouse cursor.
/// </summary>
AtCaret,
/// <summary>At a fixed point of the monitor holding the active window.</summary>
FixedPoint,
}
/// <summary>
/// Which side of the cursor to show the popup on.
/// </summary>
public enum AnchorSide
{
TopLeft,
TopRight,
Left,
Right,
BottomLeft,
BottomRight,
}
/// <summary>
/// Which side of the caret to show the popup on.
/// </summary>
/// <remarks>
/// Only the two sides, unlike <see cref="AnchorSide"/>. The caret stands in a line of
/// text being written, and above or below it is exactly where the next line is: the
/// popup would cover what is being read. To the side it covers nothing, and the line
/// it lines up with is the one the caret is in.
/// </remarks>
public enum CaretSide
{
Left,
Right,
}
/// <summary>
/// The place on the monitor for the <see cref="PopupPlacementMode.FixedPoint"/> mode.
/// </summary>
public enum ScreenPosition
{
TopLeft,
Top,
TopRight,
Center,
BottomLeft,
Bottom,
BottomRight,
}