Table of Contents

Namespace Myra.Graphics2D.UI

Classes

Button

A clickable button widget that can contain any widget as its content.

ButtonBase

An abstract base class for button-like content controls that can be pressed and respond to click events.

CheckButton

A check button widget that can be checked or unchecked independently.

CheckButtonBase

An abstract base class for check button widgets that display a checkbox image and content with toggle functionality.

ComboView

A combo view widget that displays a list of widget items in a dropdown menu and supports selection.

Container

An abstract base class for container widgets that hold multiple child widgets.

ContentControl

Base class for widgets that contain a single child widget.

DebugOptionsWindow

A window that provides options for debugging the UI framework.

Desktop

Represents the main UI desktop/screen that manages all widgets and handles user input.

Dialog

A window dialog with OK and Cancel buttons for user interaction.

ExportOptions

Options for exporting a UI project.

Grid

A grid widget that displays content in a table layout with support for rows, columns, spanning, and selection.

GridLayout

A layout system that arranges widgets in a grid with configurable rows and columns.

HorizontalMenu

A menu control that displays menu items horizontally in a row.

HorizontalProgressBar

A progress bar control that displays progress horizontally from left to right.

HorizontalSeparator

A horizontal separator widget that visually divides UI sections.

HorizontalSlider

A slider control that allows users to select a value from a horizontal range.

HorizontalSplitPane

A split pane container that divides space horizontally between two child widgets with a resizable separator.

HorizontalStackPanel

A stack panel that arranges children horizontally in a row.

Image

An image widget that displays a texture region with optional resize modes.

InputContext

Provides context information for mouse and touch input handling in the UI.

Label

A text label widget that displays formatted text with support for rich text formatting.

ListView

A list view widget that displays a scrollable collection of items and supports single or multiple selection.

Menu

An abstract base class for menu widgets that display items in a horizontal or vertical arrangement.

MenuItem

Represents a single item in a menu that can have sub-items, an image, and an optional shortcut text.

MenuSeparator

A separator menu item that visually divides menu items.

ObjectPosition

Represents the position of an object in a document.

Panel

A container that arranges all of its children at the same location, allowing them to overlap.

ProgressBar

An abstract base class for progress bar widgets that display a filled portion based on a value.

Project

Represents a UI project that can be saved, loaded, and exported to code.

Proportion

Defines how much space a row or column in a grid or stack panel should occupy.

RadioButton

A radio button widget that can be part of a group where only one button can be selected at a time.

ScrollViewer

A container that displays its content with horizontal and/or vertical scrollbars for navigation when content exceeds available space.

SelectorBase<WidgetType, ItemType>

An abstract base class for selector widgets that manage selection of items from a collection.

Selector<WidgetType, ItemType>

An abstract implementation of a selector widget that manages a collection of selectable items.

SeparatorWidget

An abstract base class for separator widgets that display a horizontal or vertical line.

SingleItemLayout<T>

A layout system for containers that hold a single child widget of a specific type.

Slider

An abstract base class for slider widgets that allow users to select a value within a range.

SpinButton

A spin button widget for entering numeric values with increment/decrement buttons.

SplitPane

An abstract base class for split pane containers that divide space between child widgets with moveable splitter handles.

StackPanel

Base class for containers that arrange children in a stack (either horizontally or vertically).

StackPanelLayout

Layout engine for arranging widgets in a stack (horizontal or vertical).

TabControl

A tab control widget that displays multiple tab items with selector buttons and swappable content panels.

TabItem

Represents a single tab item in a tab control, containing text, an optional image, and associated content.

TextBox

A text input widget that allows users to enter and edit text with support for undo/redo and selection. Features include multi-line text, text wrapping, password masking, keyboard navigation, selection, clipboard operations, and full undo/redo support.

ToggleButton

A toggle button widget that can be toggled between two states.

TreeView

A hierarchical tree view widget that displays nodes in an expandable/collapsible tree structure.

TreeViewNode

A node in a tree view that can contain content and have child nodes.

VerticalMenu

A menu control that displays menu items vertically in a column.

VerticalProgressBar

A progress bar control that displays progress vertically from bottom to top.

VerticalSeparator

A vertical separator widget that visually divides UI sections.

VerticalSlider

A slider control that allows users to select a value from a vertical range.

VerticalSplitPane

A split pane container that divides space vertically between two child widgets with a resizable separator.

VerticalStackPanel

A stack panel that arranges children vertically in a column.

Widget

The base class for all UI widgets in the Myra framework.

Window

A draggable window widget with a title bar and optional close button.

WrapPanel

A container that arranges its child widgets in a sequence that wraps at the edge of the container.

WrapPanelLayout

Implements a layout that arranges widgets in rows or columns, wrapping when the edge is reached.

Structs

MouseInfo

Represents the state of the mouse input including position and button states.

Interfaces

IContainer

An interface for widgets that contain a collection of child widgets.

ILayout

Defines the interface for layout systems that measure and arrange widgets.

IMenuItem

Represents a menu item that can be displayed in a menu.

ISelectorItem

Represents an item that can be selected or deselected in a selector widget.

ITreeViewNode

Represents a node in a tree view that can have child nodes.

Enums

CheckPosition

Specifies the position of the check box image relative to the content in a check button.

DragDirection

Specifies the direction(s) in which a widget can be dragged.

ExportOptionsFieldsVisibility

Specifies the visibility of the fields in the exported code.

GridSelectionMode

Specifies the selection mode for a grid widget.

HorizontalAlignment

Specifies the horizontal alignment of an element.

ImageResizeMode

Specifies how an image is resized to fit available space.

InputEventType

Specifies the type of input event that occurred.

MouseButtons

Specifies mouse button types.

MouseCursorType

Specifies the mouse cursor type to display.

Orientation

Specifies the orientation of an element (horizontal or vertical).

ProportionType

Specifies how a row or column in a grid or stack panel divides available space.

SelectionMode

Specifies how many items can be selected in a selector widget.

TabSelectorPosition

Specifies the position of the tab selector buttons in a tab control.

VerticalAlignment

Specifies the vertical alignment of an element.