UI

Classes
UIAnchorResolver Helpers for resolving UIAnchor origins and computing hit-test offsets for anchored components.
UIButton Interactive button UI component.
UICanvas Canvas that holds and manages UI components, routing input and rendering.
UICheckbox Checkbox UI component for toggle/boolean values.
UIComponentExtensions
UIContextMenu Right-click context menu rendered as a canvas-managed overlay. Add items with AddItem\(string, bool\) and separators with AddSeparator(). Show via ShowContextMenu\(UIContextMenu, Vector2\); it closes when an item is selected, a click lands outside, or Escape is pressed.
UIDialog Modal dialog box with customizable buttons.
UIDropdown Dropdown/ComboBox UI component for selecting from a list of options.
UIDropTarget A rectangular drop zone that participates in the canvas drag-and-drop system. Add it to a UICanvas and call RegisterDropTarget\(UIDropTarget\) to activate it. Subscribe to OnDrop to receive dropped payloads.
UIEasing Standard easing functions for use with UITween. All functions accept a normalised time t in [0, 1] and return a normalised progress value \(may overshoot for Back/Elastic curves\).
UIGrid A container that arranges its children in a fixed-column grid, flowing left-to-right and top-to-bottom. Each cell is sized to the largest child currently in the grid. Brine2D.UI.UIGrid.Size is updated to fit all rows and columns on every Brine2D.UI.UIGrid.Render\(Brine2D\.Rendering\.IRenderer\) call.
UIImage Image UI component for displaying textures.
UILabel Simple text label UI component.
UIMenuBar A horizontal menu bar containing top-level menus \(e\.g\. File, Edit, View\). Clicking a title opens a dropdown submenu rendered as a canvas-managed overlay.
UIMenuBarMenu A single top-level menu in a UIMenuBar \(e\.g\. "File", "Edit", "View"\). Contains a list of UIMenuItem entries shown in a dropdown when the title is clicked.
UIMenuItem A single entry in a UIMenuBarMenu dropdown. Can be a labeled action, a separator, or a disabled placeholder.
UIPanel Panel/container UI component with background.
UIProgressBar Progress bar UI component for displaying progress/percentage.
UIRadioButton Radio button UI component for exclusive selections within a group.
UIRadioButtonGroup Manages a group of radio buttons to ensure only one is selected at a time.
UIRichTextLabel A text label that renders markup through ParseMarkup. Use instead of UILabel when you need inline colour, bold/italic, word-wrap, or alignment.
UIScrollView Scrollable container for UI components that exceed visible area.
UIServiceCollectionExtensions Extension methods for registering UI services.
UISlider Slider UI component for adjusting numeric values.
UISpinBox Numeric spin-box with increment/decrement buttons and optional inline text entry.
UIStackPanel A container that stacks its children automatically in a single direction, computing positions from the Spacing and each child's Size. Brine2D.UI.UIStackPanel.Size is updated to fit the content on every Brine2D.UI.UIStackPanel.Render\(Brine2D\.Rendering\.IRenderer\) call.
UITabContainer Tab container UI component for organizing content into tabs.
UITextArea Multiline text area with cursor, selection, scrolling, clipboard, and undo/redo. Use UITextInput for single-line input.
UITextInput Single-line text input with cursor, horizontal scrolling, and selection.
UIToast Short-lived notification managed by UICanvas. Show via ShowToast\(UIToast\); it fades in, stays visible, then fades out and removes itself. Use DismissToast\(UIToast\) to remove it early.
UITooltip Tooltip shown while hovering over a UI component. Attach one to any component via its Tooltip property.
UITreeNode A single node in a UITreeView hierarchy. Nodes can have children, be expanded/collapsed, and carry an arbitrary Tag object for application data.
UITreeView Hierarchical tree widget with expand/collapse, single-row selection, keyboard navigation, and a virtual scrollbar.
UITween Animates a single float property from a start value to an end value over time via a setter delegate.
UITweenSequence Runs a list of UITween instances sequentially, each starting only after the previous one completes.
UIVirtualList<T> Virtualized scrolling list that renders only visible rows. Bind a data source via SetItems\(IReadOnlyList<T>\) and supply a row renderer via RowRenderer.
UIVirtualListBase Non-generic base for UIVirtualList<T> that holds all rendering, scrolling, and hit-test logic. Use the typed subclass in application code.
UIWorldLabel World-space text label projected to screen space by UICanvas each frame. Typical uses: floating name tags, damage numbers, waypoint markers.
Structs
InputDispatchEntry Entry in the UICanvas input dispatch buffer. Carries the component, a coordinate offset for non-screen-space children, and an optional clip rect that blocks hits outside the owning container's visible bounds.
Interfaces
IAnchoredUIComponent Extension interface for UI components that position themselves relative to a screen anchor. Components that do not implement this are treated as Brine2D.UI.UIAnchor.TopLeft with no offset.
IDragPayload Marker interface for data passed from a drag source to a UIDropTarget.
IUIComponent Base interface for all UI components.
IUIWorldComponent Extends IUIComponent for components positioned in world space. UICanvas projects WorldPosition to screen coordinates each frame via WorldCamera and writes the result into Position before rendering.
Enums
ProgressBarDirection Direction the progress bar fills.
SliderLabelPosition Position of the label relative to a UISlider.
SliderOrientation Controls the axis along which a UISlider moves.
StackOrientation Orientation for UIStackPanel.
ToastAnchor Corner of the screen where UICanvas stacks toast notifications.
UIAnchor Defines how UI elements are anchored to the screen.
UITweenLoopMode Loop behaviour for a UITween.