Namespace Forma
Classes
- AcceptDialog
Popup dialog with explicit accepted/cancelled lifecycle events.
- AspectRatioContainer
Constrains visible children to a target aspect ratio using fit, cover, or axis-driven sizing and alignment.
- BaseButton
Provides pointer, keyboard, shortcut, toggle, and button-group activation behavior for button controls.
- Border
A one-child brush-backed box with padding and an optional border.
- BoxContainer
Arranges visible children sequentially along one axis and distributes spare space to expanding children.
- Button
Presents clickable text, icon, or custom content using the standard button appearance.
- ButtonGroup
Maintains Godot-style mutually exclusive toggle buttons.
- CanvasPanel
Positions children by attached edge offsets or normalized anchors without imposing sequential layout.
- CenterContainer
Sizes visible children to their minimum size and centers them within the available area.
- CheckBox
Toggles a persistent checked state and displays a check-box or radio-group state icon.
- CheckButton
Toggle button variant that shares check-box semantics without a box glyph.
- CodeCompletionOption
One retained code-completion candidate, corresponding to Godot's submitted completion option.
- CodeEdit
Godot-inspired code editor with indentation, brace completion and debugger-oriented gutters.
- CodeHighlighter
Basic configurable code highlighter corresponding to Godot's CodeHighlighter. It supports word/member colors and one-line or paired multiline color regions.
- ColorPicker
HSV color editor with deterministic pointer and keyboard adjustment.
- ColorPickerButton
Button that displays a color and exposes a child ColorPicker popup.
- ColorPickerDialog
Popup color chooser with an accept/cancel lifecycle.
- ColorPickerPopupPanel
Reusable popup panel that hosts and synchronizes a ColorPicker.
- ColorPresetButton
Button carrying a color preset for color-palette workflows.
- ColorRect
Fills its bounds with a solid color.
- ConfirmationDialog
Adds a configurable cancel action alongside the accept action of an AcceptDialog.
- Container
Base for controls that measure and arrange their visible children.
- ContentControl
Presents an object through a content template with configurable horizontal and vertical alignment.
- ContentPresenter
Realizes a content object as a control or data template and aligns the resulting visual.
- Control
Retained-mode UI element modelled after Godot's Control. Coordinates are relative to the parent; anchors and offsets are resolved during layout.
- ControlTemplate
A typed factory for one semantic control's visual root.
- DataGrid
Displays tabular data with virtualized rows, configurable columns, sorting, filtering, and row or cell selection.
- DataGridCell
Presents one row value for a column and tracks its selected, current, and selectable states.
- DataGridColumnHeader
Presents a column heading and activates supported column sorting when clicked.
- DataGridRow
Builds a row of column-aligned cells and tracks hierarchical expansion state.
- DrawingColorMatrixEffect
A finite 4x5 color transform applied to one drawing state.
- DrawingContext
Backend-neutral retained drawing operations exposed by the active UI renderer.
- DrawingContextLimits
Hard limits enforced by the first backend-neutral drawing contract.
- DrawingElement
Template-free extension point for custom backend-neutral retained drawing.
- DrawingLinearGradient
A two-stop linear gradient in transformed drawing coordinates.
- DrawingPath
Backend-neutral path data consumed by Forma drawing and hit-test pipelines.
- DynamicGlyphAtlasView
Read-only downsampled visualization of one dynamic glyph-atlas page.
- DynamicTextDefaults
Configures the process-wide dynamic font used by new UI contexts.
- EllipseShape
Draws a fillable and strokeable ellipse fitted to its bounds.
- FileDialog
Filesystem-selection dialog with navigation, filtering, sorting and list presentation.
- FlexPanel
Arranges ordered, growable, and shrinkable children in flex lines with wrapping, justification, and alignment.
- FlowContainer
Flows children into wrapping lines, distributing expansion and applying configurable alignment to incomplete lines.
- FoldableContainer
Collapsible vertically arranged section used by inspector-style interfaces.
- FoldableGroup
Enforces single-expansion accordion behavior across a set of FoldableContainer instances, matching Godot's FoldableGroup resource.
- GraphEdit
Editor graph canvas with selection, node movement, zoom state and explicit connection management.
- GraphEditArranger
Deterministic layered graph arranger modeled after Godot's GraphEditArranger.
- GraphEditFilter
Input filter overlay used by graph editors to consume canvas gestures without affecting nodes underneath.
- GraphEditMinimap
Minimap overlay for a GraphEdit; its bounds can be driven by graph-node positions.
- GraphElement
Base movable graph element, corresponding to Godot's GraphElement.
- GraphFrame
Graph node used as a visual frame to organize other graph elements.
- GraphNode
Graph node with named input and output port metadata.
- GridContainer
Arranges visible children into a fixed-column grid with expandable rows and columns.
- GridPanel
Arranges children in spanning grid cells resolved from content, pixel, percentage, and star-sized tracks.
- HBoxContainer
Arranges visible children from left to right, or right to left under RTL layout.
- HFlowContainer
Flows children horizontally and wraps overflowing items onto additional rows.
- HScrollBar
Scrolls a range along a horizontal track.
- HSeparator
Draws a horizontal themed divider with a fixed cross-axis minimum.
- HSlider
Adjusts a numeric range along a horizontal track, mirroring direction under RTL layout.
- HSplitContainer
Partitions children into horizontally adjacent panes with vertical draggable dividers.
- Image
Template-free bitmap image foundation.
- ItemList
Godot-style selectable list supporting item state, columns, keyboard navigation and tile layouts.
- ItemListEntry
Mutable per-item state exposed by ItemList.
- ItemsControl
Generates templated item containers into an items panel and recycles eligible containers as items change.
- ItemsPresenter
Instantiates an owner's items panel template and attaches the generated panel for item realization.
- Label
Displays shaped text with alignment, wrapping, trimming, casing, and visible-character controls.
- LineEdit
Single-line editable text. Call InsertText(string) from the host window's text-input callback for IME-safe text entry.
- LineEditPresenter
Measures and draws the editable text surface owned by a LineEdit.
- LineShape
Draws a stroked line segment between configurable local endpoints.
- LinkButton
Activates an absolute URI through a host launcher and applies configurable link underlining.
- ListBox
Presents a scrollable item collection with single or multiple selection, keyboard navigation, and incremental search.
- ListBoxItem
Hosts one selectable list item and exposes its selected and current interaction states.
- MarginContainer
Insets each visible child by configurable theme margins.
- MenuBar
Simple horizontal menu strip that owns menu buttons and opens one popup at a time.
- MenuButton
A button that opens its owned PopupMenu underneath itself.
- NinePatchRect
Draws a texture as nine patches so configured borders remain stable while center and edge regions stretch or tile.
- NineSliceImage
Template-free nine-slice bitmap foundation.
- OptionButton
Opens a popup menu of choices and reflects the selected item's text and icon.
- OptionButtonItem
Godot-style OptionButton item state.
- OverlayPanel
Overlays children in one shared area and aligns each child independently within it.
- Panel
Draws a themed panel surface with configurable fallback background and border colors.
- PanelContainer
Draws a themed panel and arranges visible children inside its content margins.
- PolygonShape
Draws a closed polygonal path through a sequence of local points.
- PolylineShape
Draws an open path that connects a sequence of local points.
- Popup
A top-level transient panel. Modal popups gate pointer/focus input to their subtree and can optionally dismiss themselves when the user presses outside their bounds.
- PopupMenu
A keyboard-focusable command popup with normal, check, radio and separator entries.
- PopupMenuItem
Data for one command presented by PopupMenu.
- PopupMenuItems
Input surface owned by a PopupMenu. It mirrors Godot's internal PopupMenuItems control so the command list can participate in normal hit testing without making menu data a collection of transient button controls.
- PopupMenuShortcut
Retained keyboard shortcut/accelerator descriptor used by PopupMenu.
- PopupPanel
Presents popup content on a panel-styled surface with standard popup dismissal behavior.
- ProgressBar
Visualizes determinate or animated indeterminate progress with directional fill and optional percentage text.
- RectangleShape
Draws a fillable and strokeable rectangle with optional uniform or per-corner rounding.
- ReferenceRect
Draws a configurable outline around its bounds without filling the interior.
- RichTextDocument
BBCode-oriented text model with an extensible effect pipeline.
- RichTextEffect
Transforms a rich-text fragment before it is appended to a RichTextLabel.
- RichTextLabel
Lightweight BBCode label with styled text runs. It intentionally concentrates on the common authoring tags (
b,i,u,s/strike,color, andbr) while preserving the retained Control model and plain-text Text projection.
- ScalableImageSource
Describes an immutable image source that can be rasterized at a requested physical size.
- ScrollBar
Scrolls a numeric range through step buttons, page regions, thumb dragging, or inertial drag-node input.
- ScrollContainer
Clips content to a viewport and provides horizontal and vertical scrolling when it overflows.
- ScrollPresenter
Clips and offsets scroll content while reporting viewport, extent, and constrained offset metrics.
- Slider
Adjusts a numeric range by dragging a thumb or using the keyboard or mouse wheel.
- SpinBox
Edits a numeric range through text entry, arrow stepping, keyboard input, or vertical dragging.
- SpinBoxLineEdit
Editable numeric field owned by a SpinBox.
- SplitContainer
Partitions children along one axis with pointer- and keyboard-adjustable dividers that preserve child minimum sizes.
- SplitContainerDragger
Visual drag handle that forwards pointer movement to a split container.
- SplitContainerMultiDragger
Dragger capable of selecting among multiple split handles.
- StackPanel
Arranges children in a single horizontal or vertical sequence with fixed gaps and cross-axis alignment.
- StyleBox
Drawable theme surface inspired by Godot's StyleBox resource family.
- StyleBoxEmpty
A no-op style box used to reserve content margins without drawing a surface.
- StyleBoxFlat
Color-filled style box with configurable border and rounded corners.
- StyleBoxTexture
Texture-backed style surface, optionally rendered as a nine-patch.
- SubViewportContainer
Texture-backed presentation surface for a render target or externally rendered subviewport.
- SvgImageSource
Stores an immutable, preflight-validated SVG source without graphics-device ownership.
- SvgLoadException
Reports a bounded SVG source validation failure.
- SvgLoadOptions
Configures finite limits applied before an SVG reaches the raster backend.
- SvgRasterAtlasPageSnapshot
Provides an immutable RGBA snapshot of an SVG atlas page for diagnostics.
- SvgRasterCacheOptions
Configures bounded SVG document, raster, upload, and atlas storage.
- SvgRuntime
Exposes health information for the statically registered runtime SVG backend.
- SyntaxHighlighter
Document-bound syntax-color provider analogous to Godot's SyntaxHighlighter resource. Override GetLineSyntaxHighlightingCore(int) to return colored source ranges for a line.
- TabBar
Godot-style tab strip with per-tab state, tooltips, metadata and optional close buttons.
- TabContainer
Displays one child page at a time and provides tabs for switching the selected page.
- TemplateInstance
Owns one applied template root and its local namescope.
- TemplatedControl
A semantic control whose replaceable visual root is supplied by a control template.
- TextBlock
Template-free read-only text foundation backed by the retained text layout path.
- TextEdit
Edits multiline text with wrapping, multiple carets, gutters, syntax highlighting, and undo history.
- TextEditGutter
Configuration for one of a TextEdit's left-side gutter columns.
- TextureButton
Uses state-specific textures for button feedback with configurable scaling, flipping, and alpha-mask hit testing.
- TextureButtonClickMask
A compact, device-independent alpha-style hit mask for TextureButton.
- TextureProgressBar
Visualizes progress with layered textures using linear, radial, bilinear, or nine-patch fill behavior.
- TextureRect
Draws a texture with configurable scaling, aspect cropping, tiling, flipping, and size contribution.
- Theme
A small, deterministic theme used when an application does not provide custom drawing.
- ThemeIconRect
Displays a non-owning theme icon at its stable logical size.
- ThemeIconView
Template-free theme icon foundation.
- Tree
Hierarchical, column-oriented selection control modeled after Godot's Tree.
- TreeItemButton
One action button displayed at the trailing edge of a TreeItem cell.
- TreePresenter
Projects a tree's logical child controls and draws its retained hierarchical content.
- UIComponent
Connects a UIContext to an XNA-compatible Microsoft.Xna.Framework.Game.
- UIContext
Owns a UI tree's input state, focus and rendering. Add it to a Game's update/draw loop, or use UIComponent for the usual game component integration.
- UIRenderContext
SpriteBatch-backed drawing surface used by controls. Applications can subclass controls to draw custom content.
- VBoxContainer
Arranges visible children from top to bottom.
- VFlowContainer
Flows children vertically and wraps overflowing items into additional columns.
- VScrollBar
Scrolls a range along a vertical track.
- VSeparator
Draws a vertical themed divider with a fixed cross-axis minimum.
- VSlider
Adjusts a numeric range along a vertical track with larger values toward the top.
- VSplitContainer
Partitions children into vertically adjacent panes with horizontal draggable dividers.
- VideoStreamPlayer
XNA-compatible VideoPlayer-backed UI control for video streams.
- ViewPanner
Godot-inspired navigation helper for zoomable editor canvases.
- Viewbox
Scales one visual child for contained, covered, or stretched drawing with configurable alignment and sampling.
- VirtualJoystick
On-screen analog joystick with normalized vector output and pointer capture.
- VirtualizingGridPanel
Realizes visible rows of fixed-width cells while adapting column count and estimated row heights to the viewport.
- VirtualizingStackPanel
Realizes only the visible portion of a linear item sequence while correcting estimated item extents and scroll anchors.
- WrapPanel
Arranges children sequentially and wraps overflowing items onto additional rows or columns.
Structs
- CodeHighlightColorRegion
One configurable CodeHighlighter color region, analogous to Godot's color_regions dictionary entry.
- DrawingPathCommand
A normalized drawing-path operation.
- GraphConnection
An edge between named graph nodes and their port indices.
- RectangleF
Lightweight floating-point rectangle used by retained UI geometry queries.
- RichTextMetaRegion
A screen-space metadata hit region generated by RichTextLabel.
- RichTextSpan
A parsed run in a RichTextLabel document.
- SvgBackendHealth
Describes backend registration, native availability, version, and diagnostics.
- SvgRasterCacheDiagnostics
Reports cumulative work and current occupancy for a device-scoped SVG raster cache.
- SyntaxHighlightSpan
A colored source range returned by a SyntaxHighlighter for one document line.
- TextEditCaret
Snapshot of one TextEdit caret, using Godot's source-line and source-column coordinates.
- TextureButtonLayout
Local texture destination and source rectangles calculated for a TextureButton.
- TextureProgressNinePatchRegion
Adjusted rectangles and effective margins for a stretched TextureProgressBar layer.
- TextureProgressRegion
Local source/destination region used by a non-radial TextureProgressBar fill mode.
- TextureRectLayout
Local drawing regions calculated for a TextureRect.
- ThemeIcon
Describes a non-owning bitmap atlas region or compiled vector rendered at a stable logical size. The resource cache owns any texture; copying or discarding this value never disposes resources.
- ThemeIconDiagnostics
Reports the active default icon-atlas selection and resource usage.
- Thickness
Margins, padding and separation values used by UI controls.
Interfaces
- IClipboard
Platform clipboard access used by retained text controls.
- IDataTemplateRecyclingState
Opts an application-defined data-template root into pooling. Implementations clear row-local validation, local values, and code-behind state while inactive, then prepare that state for the rebound item.
- IRecyclableItemContainer
Opts a custom item container into pooling. Implementations reset container-local interaction and validation state in OnRecycling() and prepare local state for the next occurrence in OnReused(object).
- IVideoPlaybackBackend
Playback operations consumed by VideoStreamPlayer.
Enums
- AspectRatioAlignment
Placement of the ratio-constrained child inside an AspectRatioContainer.
- BoxAlignment
Main-axis placement used by a BoxContainer when no child consumes its spare space.
- ButtonActionMode
Chooses whether a button activates on pointer press or pointer release.
- ButtonMouseMask
Godot-style button mouse mask flags for controls that activate from pointer buttons.
- ColorPickerMode
Godot ColorPicker channel representations.
- ColorPickerShape
Godot ColorPicker's selectable surface layouts.
- FocusMode
Specifies whether a control can receive keyboard focus.
- GraphEditGridPattern
Godot GraphEdit background grid presentation.
- GrowDirection
Matches Godot's Control.GrowDirection: how a control's position compensates when an anchor-resolved size is clamped up to its minimum size.
- ItemListIconMode
Whether an ItemList places an optional icon beside or above its text.
- ItemListSelectionMode
Selection behavior corresponding to Godot ItemList's single, multi and toggle modes.
- LayoutDirection
Godot-compatible layout direction, including application and system locale resolution through UIContext.
- LineEditMenuOption
Core retained LineEdit context-menu commands, corresponding to Godot's LineEdit menu IDs.
- MouseFilter
Specifies how a control participates in pointer hit testing.
- NinePatchAxisStretchMode
Controls whether a NinePatchRect axis scales, repeats, or repeats with fitted tiles.
- PointerButton
Physical pointer buttons using Godot's
MouseButtonnumeric values. Wheel directions are routed through PointerWheel(int) instead.
- RichTextListType
Marker styles accepted by PushList(int, RichTextListType, bool, string), corresponding to Godot's RichTextLabel list types.
- RichTextSelectionMode
Selection expansion modes used by retained RichText multi-click gestures.
- ScrollBarVisibility
Godot ScrollContainer display/interaction modes for an axis.
- ScrollContainerScrollHintMode
Visual overflow hint placement, corresponding to Godot's
ScrollContainer.ScrollHintMode.
- SvgBackendFeatures
Identifies the bounded SVG features advertised by the installed companion backend.
- SvgBackendLinkMode
Identifies how backend native code is supplied to the process.
- SvgLoadErrorCode
Classifies deterministic SVG source validation failures.
- SvgNativeAvailability
Identifies where an SVG backend's native implementation comes from.
- TextDirection
Godot-compatible text shaping direction. Actual Unicode shaping is provided by the active text renderer.
- TextEditEditAction
Godot-compatible grouping categories for retained TextEdit history operations.
- TextEditLineWrappingMode
Godot-compatible source-line wrapping policy for TextEdit.
- TextEditMenuOption
Core retained TextEdit context-menu commands, corresponding to Godot's TextEdit menu IDs.
- TextureButtonStretchMode
Matches Godot TextureButton's texture placement policies.
- TextureRectExpandMode
Controls how a TextureRect contributes a minimum size, matching Godot's expand_mode.
- TreeDropModeFlags
Allowed Tree drop target regions, corresponding to Godot's
Tree.DropModeFlags.
- TreeScrollHintMode
Visual overflow hint placement, corresponding to Godot's
Tree.ScrollHintMode.
- TreeSelectMode
Selection behavior for a Tree, corresponding to Godot's
Tree.SelectMode.
Delegates
- TreeItemCustomDrawCallback
Draws the content of a Custom tree cell.