|
| struct | AddResult |
| | What Add returns: the new element's ref and status; true on success. More...
|
| struct | AllocationHooks |
| | Memory functions a host gives the library, for the allocations that can be routed: Vulkan objects, VMA, vk-bootstrap and SDL. More...
|
| struct | AtlasLocation |
| | Where a handle's texels are in the atlas. More...
|
| struct | BannerAction |
| | A banner's button or link, right-aligned after its message. More...
|
| struct | BottomUpDepthScanIterator |
| struct | Box |
| struct | BoxCorners |
| | Per-corner values (border radius). More...
|
| struct | BoxEdges |
| | Per-side values of the box model (margin, padding, border widths). More...
|
| struct | BoxShadow |
| | One CSS box-shadow layer, outside the border box. More...
|
| class | Buffer |
| class | ButtonGroupSubsystem |
| | Button/toggle groups: every item takes the group's item style (its :first-child and :last-child rules shape the ends), and a single-item group reverts to "solo", a plain button, in EndGroup. More...
|
| struct | byte2 |
| struct | byte3 |
| struct | byte4 |
| struct | CachedWireHandle |
| | Last frame's draggable segment (node.pos space), for laying out its grab element. More...
|
| struct | ChildStyles |
| | A class's styles for where an element is among its parent's children, from its :first-child, :last-child and :only-child rules (box properties only). More...
|
| struct | Circle |
| | A circle outline: the ring lineWidth wide around center at radius, its color and dashes running clockwise from the right (+x towards +y), as LineStyle sets them. More...
|
| struct | color4b |
| struct | color4f |
| struct | ColorPickerState |
| | Persistent state of the color picker popup. More...
|
| class | ColorPickerSubsystem |
| | The color picker popup's state plus swatch ColorStyles keyed by swatch ID. More...
|
| struct | ColorStop |
| | Color stops for gradients. More...
|
| class | ColorStyle |
| | A fill: solid color, gradient or texture, as used for backgrounds, borders, text and icons. More...
|
| struct | ColumnDragState |
| | Column-reorder drag in progress; internal, owned by the application. More...
|
| struct | CommandID |
| | Handle to a registered command, stable for the manager's lifetime. More...
|
| class | CommandManager |
| | Registry of commands: named actions with an optional icon and an optional shortcut key, each firing one callback when invoked (clicked from a menu / toolbar, or via its key). More...
|
| struct | CommandSearchState |
| | State of a CommandSearch box; user-owned, keep it alive across frames. More...
|
| class | ConstructionScopes |
| | Construction-time Push/Pop nesting read by GUIStateManager::GetCurrentState. More...
|
| struct | ContentRun |
| | One run of rich text: a piece of text or an inline icon. More...
|
| struct | ControlStyles |
| | Default control styles. More...
|
| struct | CssPx |
| | A size in CSS px. More...
|
| struct | CubicBezier |
| | A CSS cubic-bezier(x1, y1, x2, y2) timing curve: maps the share of a transition's time that has passed (0..1) to how far its value has gone (0..1). More...
|
| class | CursorState |
| | The mouse cursor requested this frame. More...
|
| class | CustomDrawContext |
| | Passed to custom-draw callbacks (ElementStorage::AddCustomDraw / AddCustomDrawAfter): geometry lookups and drawing calls in a current space the callback switches with SetSpace or SetSpaceRaw, also between calls. More...
|
| struct | CustomProperty |
| | A resolved CSS custom property (:root { --name: value; }): a color, 1..4 numbers or a box-shadow. More...
|
| struct | DepthScanCursor |
| struct | DockDropResult |
| | Result of FindDockDropTargetAtScreenPos: the drop target and its layout. More...
|
| struct | DockDropTarget |
| | A drop location: the leaf under the cursor and the zone within its content area. More...
|
| struct | DockDropZoneAnim |
| | The drop-zone overlay shown while a dock tab is dragged; it slides between zones. More...
|
| struct | DockingConstructionState |
| | Construction state of the current docking container. More...
|
| struct | DockingLayout |
| | A docking area: the split/tab tree and the panels its leaves refer to by ID. More...
|
| struct | DockLeafResult |
| | Result of FindDockLeafAtScreenPos: the leaf and its layout, both null on a miss. More...
|
| struct | DockNode |
| | Docking tree node: a leaf with panel tabs, or a split with two children where splitSize applies to the pinned child. More...
|
| struct | DockTabDragInfo |
| | Set when a dock tab drag starts, so any target leaf can emit a phantom tab during construction. More...
|
| class | DockTabDragSubsystem |
| | Dock tab drag state: the dragged tab and the drop-zone overlay animation. More...
|
| struct | Document |
| | A document: a level, prefab, material graph, ... with its own panels. More...
|
| struct | DocumentDrag |
| | A document tab being dragged, for the document bars it passes over; internal. More...
|
| struct | DocumentMove |
| | A document dropped on another bar or torn off, done at the start of the next frame; internal. More...
|
| struct | DocumentSet |
| | The documents one main window shows, in tab order, and which one is active. More...
|
| struct | DocumentWindowRef |
| | A main window of documents, for PersistDocuments: its OS window and its documents. More...
|
| struct | Dot |
| struct | DoubleClickTracker |
| | Click-gesture tracker, owned per widget instance so instances (and tests) don't share it. More...
|
| class | DragDropState |
| | Drag-and-drop state, owned by GUIStateManager. More...
|
| struct | DragLabelState |
| | Per-element state of a draggable label (element data store); internal. More...
|
| struct | DragVisualContext |
| | What a DragVisualizer draws from: the pointer, the source and target, and the payload. More...
|
| struct | DrawnWire |
| | A wire as drawn this frame, for hit-testing; points in node.pos space. More...
|
| struct | EdgeInset |
| | Per-side offsets of a positioned element (CSS: top, right, bottom, left), in pixels. More...
|
| struct | Element |
| struct | ElementCustomDraw |
| | callback fires before the children render; the after-list fires after the whole subtree. More...
|
| class | ElementDataStore |
| | Per-element typed state keyed by ID, kept across frames (drag start, double-click timing). More...
|
| struct | ElementEvent |
| | An input event delivered to an element's EventHandler. More...
|
| struct | ElementMove |
| | What a MoveChild did: the slot rotations it applied at each depth, so code that stores ElementRefs (e.g. More...
|
| struct | ElementRect |
| struct | ElementRef |
| | An element's slot in ElementStorage: its depth and index within that depth. More...
|
| class | ElementStorage |
| | The frame's element tree. More...
|
| struct | Error |
| | A failure: its category and a human-readable message. More...
|
| struct | FileDrag |
| | A drag from another application, of files or text, over one of the app's windows. More...
|
| struct | FileDrop |
| | Files or text dropped from another application. More...
|
| struct | FileEntry |
| | A file or folder in a folder. More...
|
| class | FileIcons |
| | The OS's icon for a file or folder, registered with a text system as a picture icon (ITextSystem::RegisterIconFromPixels). More...
|
| class | FileThumbnails |
| | A file's thumbnail, registered with a text system as a picture icon (ITextSystem::RegisterIconFromPixels). More...
|
| struct | FlexOverride |
| | kDefault = use style value, >= 0 = override. More...
|
| struct | FlexProperties |
| | Flexbox properties: the container's (direction, wrap, alignment, gap) and the item's own (grow, shrink, basis). More...
|
| struct | float2 |
| struct | float2x2 |
| struct | float3 |
| struct | float3x2 |
| | 2D affine transform matrix (2 rows x 3 columns): x' = r0.x*x + r0.y*y + r0.z y' = r1.x*x + r1.y*y + r1.z More...
|
| struct | float4 |
| struct | float4x4 |
| struct | FloatingDockWindow |
| | A floating OS window holding torn-off panels in its own layout. More...
|
| struct | FloatingToolbarItem |
| | A torn-off toolbar in its own OS window, owned by the caller. More...
|
| struct | FloatingToolbarOptions |
| | Enables dragging a floating toolbar back onto a dock side; both fields are required, otherwise the drag handle only moves the OS window. More...
|
| struct | FontFace |
| | One @font-face rule. Faces sharing a family name form one family. More...
|
| struct | FontFaceSource |
| | One face of a font family: a font file, or font data in memory that stays valid while the family is registered (embedded in the executable, say). More...
|
| class | FrameClock |
| | Animation time locked to the display refresh. More...
|
| struct | FrameContext |
| | Per-frame values plus references to long-lived managers, passed to every stage callback. More...
|
| struct | FrameHover |
| | Where the frame's input goes, from GUIStateManager::EndFrame. More...
|
| struct | FrameInput |
| | What the window layer reports at the end of a frame's construction; GUIStateManager::EndFrame turns it into the hovered element and the active window. More...
|
| class | FramePipeline |
| | Stage callbacks run in registration order (no priorities): if A must run before B, construct A first (see GUIApplication::Initialize()). More...
|
| struct | glsl_float4 |
| struct | Glyph |
| struct | GPUDrawPushConstants |
| struct | Gradient |
| | Up to kMaxStops color stops plus an angle and interpolation color space. More...
|
| struct | GradientEditorState |
| | Gradient editor popup state: edits a working copy, written back each frame it's open. More...
|
| class | GradientEditorSubsystem |
| | The gradient editor's state plus swatch styles keyed by swatch ID, with the same lifecycle as ColorPickerSubsystem's. More...
|
| struct | GradientHandle |
| | Handle to a reference-counted GradientManager atlas slot. More...
|
| class | GradientManager |
| | The atlas that the colors of color styles are baked into: pages of 2D textures, one row per gradient, with solid and 2..4-color blocks packed into shared rows. More...
|
| class | GraphicsContext |
| | A graphics backend: the device, the window contexts that render the GUI's windows, and the images and text atlases they draw with. More...
|
| struct | GridAxisProperties |
| | A grid item's placement and track request along one axis, plus the container's gap. More...
|
| struct | GridItemRenameInfo |
| | Rename buffer and original name of a grid item; internal. More...
|
| struct | GridProperties |
| | Grid container and item properties. More...
|
| struct | GridTrack |
| | Size of one grid column or row (CSS: -tachyon-grid-column-track / -row-track). More...
|
| struct | GridViewState |
| | Construction state of the current GridView; internal. More...
|
| struct | GridViewVirtualState |
| | User-owned, persistent state of a virtualized GridView; keep it alive across frames. More...
|
| class | GUIApplication |
| | The application: owns the windows, the systems and the frame loop. More...
|
| struct | GUIApplicationInitializeOptions |
| | What GUIApplication::Initialize sets up besides the core systems. More...
|
| struct | GUIContent |
| | What a control shows: a text, an icon or both, and an optional tooltip. More...
|
| class | GUIRenderer |
| class | GUIStateManager |
| | Owns the per-frame state objects and runs their BeginFrame / EndFrame in order. More...
|
| class | GUITheme |
| | The library's styles, icons and theme metrics, the defaults the controls draw with. More...
|
| struct | HierarchyInfo |
| class | IClipboard |
| | The clipboard text editors copy to and paste from; GUIApplication::SetClipboard sets one (default: SDL's, or LocalClipboard without SDL). More...
|
| struct | IconMeasurement |
| struct | IconTextPlacement |
| | Placement of a text + icon pair inside rect: More...
|
| struct | ID |
| | A 64-bit element ID whose bit layout depends on its IDMode. More...
|
| class | IDManager |
| | Makes element IDs: per-frame dynamic / ranged IDs (hashed from the call site or a hint and the parent stack) and persistent static IDs. More...
|
| class | IFileSystem |
| | What a file view reads and changes. More...
|
| class | Image |
| | An image made by GraphicsContext::CreateImage; the backend defines its contents. More...
|
| class | ImageSet |
| | The images the shaders can sample, each at an ImageIndex. Implemented by the backend. More...
|
| class | ImageWindowBackend |
| | Adds windows that render to an image (WindowFlags::RenderToImage) to another window backend. More...
|
| struct | IndexRange |
| | A half-open range [begin, end) of indices within one depth. More...
|
| class | InputHandlerBroadcaster |
| | Sends every platform input event to all handlers (e.g. More...
|
| class | InputManager |
| | Receives raw OS events, records them, and runs the frame's input pipeline (tab navigation, text editor focus, dispatch, post-dispatch). More...
|
| struct | InputState |
| | Snapshot of input state for a single recorded OS event. More...
|
| struct | int2 |
| | Integer 2D vector. More...
|
| struct | int3 |
| struct | int4 |
| class | InteractionState |
| | The hovered, active, focused and captured elements, the active window, the one-shot click, hover suppression and the focus scroll axis. More...
|
| struct | IntRect |
| class | IPlatformInputHandler |
| | Platform-level input interface: receives raw OS events (keyboard, mouse) and forwards them into the GUI input pipeline. More...
|
| struct | ItemDragDropConfig |
| | Drag & drop setup for item-based views (tree, list, grid): items drag a payload and accept drops of the same payloadType. More...
|
| class | ITextSystem |
| | Text and icon registration, measurement, rendering and editing. More...
|
| class | ITextValidator |
| | What an editable field takes as text, asked while it is edited. More...
|
| class | IWindowBackend |
| | Makes and manages the OS windows and delivers their input; GUIApplication::SetWindowBackend sets one, SDLWindowBackend is the default. More...
|
| class | IWindowContext |
| | A window's rendering state: made by GraphicsContext::CreateWindowContext for each OS window, attached to it with IWindowBackend::AttachContextToWindow, and destroyed by GraphicsContext::DestroyWindowContext. More...
|
| class | JsonValue |
| | A JSON value (RFC 8259): null, bool, number, string, array or object. More...
|
| class | LabelBinding |
| | Links labels to the controls they describe during construction; owned by GUIStateManager. More...
|
| class | LabelGroupSubsystem |
| | Labels and DragLabels in a label group share a width; dragging any label's right edge resizes them all. More...
|
| struct | LabelGroupVisualState |
| | Shared by all labels in a group, so the edge highlight is synchronized. More...
|
| struct | LanguageTag |
| | A BCP 47 language tag ("ja", "zh-Hant", "ko-KR") stored inline, so text styles stay plain values. More...
|
| class | LayeredFades |
| | Layered windows that stand in for a window while it fades in or out: each shows a fixed picture (the window's last frame) at a screen rect and an opacity. More...
|
| struct | LayoutData |
| | Flex / grid properties and CSS sizes of a style. Sizes are in CSS px in a Style. More...
|
| class | LayoutEngine |
| | Computes element sizes and positions from styles, content and constraints, in four passes run after construction: More...
|
| struct | LayoutFlexbox |
| struct | LayoutGrid |
| struct | LayoutHelpers |
| struct | LayoutOverride |
| | Per-element overrides of style layout properties. More...
|
| struct | LayoutStyle |
| | The layout part of a registered Style, in pixels; shared by every style with the same values. More...
|
| struct | Line |
| struct | LineStyle |
| struct | LinkStyle |
| | Colors of a link run, normal and hovered. More...
|
| class | LocalClipboard |
| | A clipboard inside the process, not shared with other applications. More...
|
| class | MemoryFileSystem |
| | A file system kept in memory. More...
|
| | State of the open menus (menu bar dropdowns, context menus, submenus) and their mouse and keyboard behaviour; one per application. More...
|
| | Last frame's screen rects of menu triggers and popups, written by AddPostLayout callbacks. More...
|
| struct | MessageButton |
| | A button of a MessageDialog. More...
|
| struct | MessageDialogDesc |
| | What a MessageDialog shows. More...
|
| struct | MessageDialogItem |
| | An affected item, listed in a well: a name, an optional color dot and note, and a checkbox when checked is set. More...
|
| struct | MonitorInfo |
| | Window, monitor and mouse coordinates are physical pixels. More...
|
| struct | MultiSelectState |
| | Selected item IDs of a multi-select view; user-owned, keep it alive across frames. More...
|
| struct | NodeModel |
| | One node of a node view. More...
|
| struct | NodeProperty |
| | One row of a node: an optional input socket, a body, and an optional output socket. More...
|
| struct | NodeView |
| | All state of one node-view widget; no global state. More...
|
| struct | NodeViewEdit |
| | One thing the user did in a node view, as values before and after, so a host can keep the undo history (NodeView::onEdit) and undo or redo it (ApplyNodeViewEdit). More...
|
| class | NullGraphicsContext |
| | A graphics backend that draws nothing: the UI is built, laid out and recorded as usual, but no GPU is used and windows stay empty. More...
|
| class | NullWindowBackend |
| | A window backend without an OS: windows are records with a rect, and no input arrives (inject it with GUIApplication::Inject*). More...
|
| struct | NumericFieldConfig |
| | Drag speed and range of a numeric Field, specialized per value type. More...
|
| struct | NumericFieldConfig< double > |
| | NumericFieldConfig for double values. More...
|
| struct | NumericFieldConfig< float > |
| | NumericFieldConfig for float values. More...
|
| struct | NumericFieldConfig< int16_t > |
| | NumericFieldConfig for int16_t values. More...
|
| struct | NumericFieldConfig< int32_t > |
| | NumericFieldConfig for int32_t values. More...
|
| struct | NumericFieldConfig< int64_t > |
| | NumericFieldConfig for int64_t values. More...
|
| struct | NumericFieldConfig< int8_t > |
| | NumericFieldConfig for int8_t values. More...
|
| struct | NumericFieldConfig< uint16_t > |
| | NumericFieldConfig for uint16_t values. More...
|
| struct | NumericFieldConfig< uint32_t > |
| | NumericFieldConfig for uint32_t values. More...
|
| struct | NumericFieldConfig< uint64_t > |
| | NumericFieldConfig for uint64_t values. More...
|
| struct | NumericFieldConfig< uint8_t > |
| | NumericFieldConfig for uint8_t values. More...
|
| union | NumericValue |
| struct | Occluder |
| | Depth only: marks pos/size as covered by opaque content drawn after it, so what was drawn before under it is skipped (its fragments fail the depth test early). More...
|
| class | OSWindowManager |
| | Keeps the OS windows (through an IWindowBackend) and their window contexts for the GUI's window elements, keyed by ID. More...
|
| struct | Panel |
| | A unit of docked UI content: a title, an optional icon, and the callback that builds it. More...
|
| struct | ParseError |
| | A problem found while parsing a style sheet; the parser skips the bad part and goes on. More...
|
| struct | PendingConnection |
| | A wire being dragged. Committed wires are the reciprocal endpoints on NodeProperty. More...
|
| struct | PendingRowClick |
| | Deferred row-click state for the drag-drop path: MouseDown primes it, MouseUp applies the selection unless a drag promoted in between. More...
|
| struct | Pixels |
| | A size in device pixels, used as is (not scaled by the UI scale). More...
|
| struct | PointerDrag |
| | One press on an element that may become a drag. More...
|
| struct | PositionConstraintAxis |
| | Where an element goes on one axis: in the parent's flow (Relative, Centered, Sticky) or out of it (Absolute, Fixed, Anchored). More...
|
| struct | PostDrawEntry |
| | Node in the flat post-draw linked list stored in ElementStorage. More...
|
| class | PostLayoutContext |
| | Context for post-layout callbacks (AddPostLayout). More...
|
| class | PrimitiveRenderer |
| struct | PrimitiveRenderPass |
| | One contiguous same-kind run of primitives, drawn with one call; or, with replay set, a cached scope's draw (its own passes), and the other fields unused. More...
|
| struct | PrimitiveRenderTarget |
| struct | PrimitiveSpec |
| struct | PropertyEndpoint |
| | A property on a node. Default-constructed is invalid: in a socket it means "present, unwired". More...
|
| struct | PropertyHelp |
| | A property's help, shown in a larger tooltip (SetTooltip): its name, what it does, and where it lives in the API with its type, such as "MeshRenderer.castShadows (bool)". More...
|
| struct | Quad |
| class | Range |
| struct | RecordedInputEvent |
| | A single OS input event recorded for dispatch this frame. More...
|
| class | RenameSubsystem |
| | In-place rename of a tree / list / grid row (F2, Ctrl+Shift+Click or a slow re-click); the target row emits a text field instead of its label. More...
|
| struct | ReorderableConstructionState |
| | Construction state of the current reorderable group. More...
|
| struct | ReorderableDragState |
| | Persistent drag state; one drag at a time application-wide. More...
|
| struct | ReorderableFocusFollow |
| | After a keyboard move: where the focus was in the moved item, to put it back there next frame, in the item's new slot, unless its ID moved with the item. More...
|
| class | ReorderableSubsystem |
| | Drag and construction state of drag-to-reorder groups, used by the Begin/EndReorderableGroup and Begin/EndReorderableItem widgets. More...
|
| class | Result |
| | A value, or the Error saying why there is none. More...
|
| class | Result< void > |
| | Success, or the Error saying why not. More...
|
| struct | SavedDocument |
| | A document as SaveUIState kept it: which one it was, and how its panels were laid out. More...
|
| struct | SavedDocumentWindow |
| | A main window of documents as SaveUIState kept it (TakeSavedDocuments). More...
|
| struct | ScrollbarDragState |
| | Per-element state of MakeScrollbarHandler (element data store); internal. More...
|
| class | ScrollManagement |
| | Scroll containers' offsets (pixels), kept across frames by ID behind handles. More...
|
| class | SDLClipboard |
| | The system clipboard, through SDL. More...
|
| class | SDLWindowBackend |
| | The default window backend, on SDL3. More...
|
| struct | SDLWindowBackendOptions |
| | Options for SDLWindowBackend (SDLWindowBackend::Options). More...
|
| struct | short2 |
| struct | short3 |
| struct | short4 |
| struct | SizeConstraintAxis |
| | Per-axis size constraint: an explicit size, or a min / max clamp on the content-driven size. More...
|
| struct | SizerState |
| | Per-element state of the sizer handlers (element data store); internal. More...
|
| class | SkribidiTextSystem |
| | Skribidi-based implementation of ITextSystem. More...
|
| class | SliderFieldTrackSubsystem |
| | Slider track widths written by the sliders' custom draws and read next frame (keyboard step sizes, drag mapping). More...
|
| struct | SliderState |
| | Per-element state of MakeSliderHandler and the integer slider (element data store); internal. More...
|
| struct | SplitSizeRange |
| | An inclusive splitSize range, in CSS px. More...
|
| struct | Style |
| | A complete style, as parsed from CSS or built in code: layout properties plus the visual properties of each state, in CSS px. More...
|
| class | StyleManager |
| | Bakes serializable Styles into deduplicated runtime layout/visual styles; a StyleRef holds indices into the (possibly shared) pools. More...
|
| struct | StyleRef |
| | A registered style, as StyleManager::Register returns it: indices into the shared style pools, cheap to copy. More...
|
| struct | StyleSheet |
| | A parsed style sheet: named styles, custom properties and font faces. More...
|
| struct | StyleState |
| | The visual properties of one element state (normal, :hover, :active, ...). More...
|
| struct | TabBarMemory |
| | What a tab bar keeps across frames (element data store, by bar ID): its keyboard navigation, and the sizes it measured, in pixels, that decide which tabs fit. More...
|
| struct | TabBarOptions |
| | What a tab bar offers besides its tabs. More...
|
| struct | TabBarState |
| | Construction state of the current tab bar; internal. More...
|
| class | TabChainManager |
| | Tracks the next/prev tab targets around the focused element, rebuilt each frame during construction and scoped to the active window. More...
|
| struct | TableColumn |
| | A table column; callers pass an array of them each frame. More...
|
| struct | TableEmit |
| | Transient state of one table emit; internal. More...
|
| struct | TableState |
| | User-owned, persistent state of one table: column widths, selection, sort, options. More...
|
| struct | TabState |
| | Construction state of the current tab, between BeginTab and EndTab; internal. More...
|
| class | TextAtlasManager |
| struct | TextConverter |
| | Turns a field's value into the text it shows and edits, and edited text back into a value. More...
|
| struct | TextConverter< T > |
| class | TextDecoration |
| | One text decoration line (underline, overline, ...). More...
|
| class | TextEditorFocusState |
| | The focused text editor, plus the one as of the last Commit, to detect changes. More...
|
| class | TextLayoutStyle |
| | How a text block is laid out in its box; shared by all states of a Style. More...
|
| struct | TextMeasurement |
| struct | TextOverride |
| | Per-element text overrides for StyleManager::WithTextOverride. More...
|
| class | TextStyle |
| | What text is measured and laid out from: font, metrics and decoration lines. More...
|
| struct | TextWrapContext |
| struct | ToastAction |
| | A text button on a toast; the first is drawn in the link color. More...
|
| struct | ToastDesc |
| | What a toast says (ShowToast). Change it later through FindToast. More...
|
| struct | ToolbarDockCallbacks |
| | Callbacks through which RenderToolbarDock changes the caller's data; the dock never touches that data itself. More...
|
| struct | ToolbarDockState |
| | Per-instance state for one toolbar dock. More...
|
| struct | ToolbarItem |
| | One toolbar item. More...
|
| class | ToolbarWindowDragSubsystem |
| | A floating toolbar window dragged by its thumb; one drag at a time. More...
|
| class | TooltipManager |
| | Decides which element's tooltip shows: the hovered one after a delay, or at once for focus moved by the keyboard. More...
|
| struct | TopDownDepthScanIterator |
| class | TrackingAllocator |
| | Allocation hooks that count what is live, for finding leaks. More...
|
| class | TransitionManager |
| | Tracks in-progress visual state transitions per element ID. More...
|
| struct | TransitionState |
| | Pre-computed GPU style indices for a box that is mid-transition (or not). More...
|
| struct | TransitionTiming |
| | How long a change of state takes, and how it eases. A duration of 0 is instant. More...
|
| struct | TreeDropState |
| | Tree reorder drop target under the cursor; internal, owned by the application. More...
|
| struct | TreeViewRow |
| | One row of a flat-data tree view (VirtualTreeView); rows are in depth-first order. More...
|
| struct | TreeViewState |
| | Construction state of the current TreeView / ListView; internal. More...
|
| struct | Triangle |
| struct | TypeDimensions |
| struct | TypeDimensions< byte2 > |
| struct | TypeDimensions< byte3 > |
| struct | TypeDimensions< byte4 > |
| struct | TypeDimensions< color4b > |
| struct | TypeDimensions< color4f > |
| struct | TypeDimensions< float2 > |
| struct | TypeDimensions< float3 > |
| struct | TypeDimensions< float4 > |
| struct | TypeDimensions< int2 > |
| struct | TypeDimensions< int3 > |
| struct | TypeDimensions< int4 > |
| struct | TypeDimensions< short2 > |
| struct | TypeDimensions< short3 > |
| struct | TypeDimensions< short4 > |
| struct | TypeDimensions< uint2 > |
| struct | TypeDimensions< uint3 > |
| struct | TypeDimensions< uint4 > |
| struct | TypeDimensions< ushort2 > |
| struct | TypeDimensions< ushort3 > |
| struct | TypeDimensions< ushort4 > |
| class | UICacheManager |
| | Retained-render cache for BeginCached/EndCached scopes. More...
|
| struct | uint2 |
| struct | uint3 |
| struct | uint4 |
| class | UndoHistory |
| | The app's undo history: steps that each undo and redo one change. More...
|
| struct | ushort2 |
| struct | ushort3 |
| struct | ushort4 |
| struct | VirtualTableColumn |
| | A VirtualTable column: the TableColumn plus cell generator, sort order and section. More...
|
| struct | VisualBoxStyle |
| | The box part of one state of a registered Style, in pixels; uploaded to the GPU as is (32 bytes). More...
|
| class | VisualColorStyle |
| | GPU form of a ColorStyle, uploaded as is: the gradient is baked into an atlas slot that colorUV / gradientPage point at. More...
|
| struct | VisualShadow |
| | A BoxShadow in pixels with its color registered. No color is no shadow. More...
|
| struct | VisualShadowStyle |
| | What a state draws on the CPU only: its shadows and its opacity. More...
|
| struct | VisualTextStyle |
| | The text part of one state of a registered Style, in pixels. More...
|
| class | WindowRegistry |
| | Per-window lists of ElementRefs in addition (render) order, driven during ElementStorage construction: More...
|
| struct | WireLane |
| | A wire's place among the wires between the same two nodes, so their default lanes nest instead of coinciding or crossing (ComputeWireLaneOffsets). More...
|
| struct | WireRoute |
| | Polyline plus its draggable interior segments (never the end stubs). More...
|
| struct | WireRouteOverrides |
| | User-pinned lanes of one wire (unset = default), in the route's space. More...
|
| struct | WireSegmentDrag |
| | Segment drag via mouse capture rather than DnD, so the resize cursor sticks. More...
|
| struct | WireSegmentHandle |
| | Draggable interior segment; vertical segments drag horizontally and vice versa. More...
|
|
| enum class | ElementFlags : uint32_t {
ElementFlags::None = 0
, ElementFlags::IsLabel = 1u << 0
, ElementFlags::IsControl = 1u << 1
, ElementFlags::HasText = 1u << 2
,
ElementFlags::HasIcon = 1u << 3
, ElementFlags::DoNotMeasureText = 1u << 4
, ElementFlags::IsWindow = 1u << 5
, ElementFlags::WindowCanMove = 1u << 6
,
ElementFlags::WindowCanResize = 1u << 7
, ElementFlags::WindowUserControlled = WindowCanMove | WindowCanResize
, ElementFlags::WindowNoCaption = 1u << 8
, ElementFlags::WindowIsCentered = 1u << 9
,
ElementFlags::WindowIsTransparent = 1u << 10
, ElementFlags::WindowIsModal = 1u << 11
, ElementFlags::WindowIsPopup = 1u << 12
, ElementFlags::WindowCloseWithParent = 1u << 13
,
ElementFlags::WindowNotFocusable = 1u << 14
, ElementFlags::WindowRenderToImage = 1u << 18
, ElementFlags::WindowCustomTitleBar = 1u << 19
, ElementFlags::WindowConfirmClose = 1u << 21
,
ElementFlags::Shadows = 1u << 15
, ElementFlags::PropagatesDescendantState = 1u << 16
, ElementFlags::NoInput = 1u << 17
, ElementFlags::IsCachedScope = 1u << 20
,
ElementFlags::SharesID = 1u << 22
, ElementFlags::AnimatesSelected = 1u << 23
, ElementFlags::IsMenuWindow = IsWindow | WindowUserControlled | WindowNoCaption | WindowIsPopup | Shadows
} |
| | What an element is and how it behaves, combined with |. More...
|
| enum class | ScrollOffsetHandle : uint32_t { ScrollOffsetHandle::Invalid = 0
} |
| | A handle to a stored scroll offset. More...
|
| enum class | ElementStorageResult {
ElementStorageResult::Success
, ElementStorageResult::NotConstructing
, ElementStorageResult::MissingAdd
, ElementStorageResult::MissingBeginChildren
,
ElementStorageResult::MissingEndChildren
, ElementStorageResult::DuplicateCall
, ElementStorageResult::InvalidStyle
, ElementStorageResult::UnknownProblem
} |
| | Outcome of an ElementStorage call. More...
|
| enum class | FrameStage : uint8_t {
FrameStage::PreFrame
, FrameStage::PreConstruct
, FrameStage::PostConstruct
, FrameStage::PreLayout
,
FrameStage::PostLayout
, FrameStage::PreInput
, FrameStage::PostInput
, FrameStage::PreRender
,
FrameStage::PostRender
, FrameStage::EndFrame
} |
| | The stages of a frame, in run order. More...
|
| enum class | DrawSpace : uint8_t { DrawSpace::Local
, DrawSpace::Screen
} |
| | The coordinate space a CustomDrawContext draws in. More...
|
| enum class | DeviceScope { DeviceScope::Frame
, DeviceScope::Application
} |
| | When a deferred GPU resource destruction runs: Frame once the frames that may use it are done, Application at Cleanup. More...
|
| enum class | GraphicsAPI : uint8_t { GraphicsAPI::None
, GraphicsAPI::Vulkan
} |
| | The graphics API a backend presents with; window backends create their windows to match (SDL: SDL_WINDOW_VULKAN). More...
|
| enum class | ImageFormat {
ImageFormat::UNDEFINED
, ImageFormat::R8
, ImageFormat::R8_SRGB
, ImageFormat::R8G8
,
ImageFormat::R8G8_SRGB
, ImageFormat::R8G8B8
, ImageFormat::R8G8B8_SRGB
, ImageFormat::R8G8B8A8
,
ImageFormat::R8G8B8A8_SRGB
} |
| | Pixel formats for GraphicsContext::CreateImage, 8 bits per channel. More...
|
| enum class | Sampler { Sampler::UNDEFINED
, Sampler::NearestRepeat
, Sampler::LinearRepeat
, Sampler::LinearClampToEdge
} |
| | How an image is filtered and addressed when sampled. More...
|
| enum | ImageIndex : uint32_t { Invalid = 0
} |
| | Index of an image in the graphics context's image set, as the shaders sample it. More...
|
| enum class | PrimitiveKind : uint8_t {
PrimitiveKind::Box = 0
, PrimitiveKind::Glyph
, PrimitiveKind::Dot
, PrimitiveKind::Line
,
PrimitiveKind::Triangle
, PrimitiveKind::Quad
, PrimitiveKind::Circle
, PrimitiveKind::Occluder
,
PrimitiveKind::Count
} |
| enum class | PrimitiveShape : uint8_t { PrimitiveShape::Quad
, PrimitiveShape::Triangle
} |
| | The vertices a primitive's vertex shader is run for; gl_VertexIndex divided by their count is the primitive, the remainder the corner. More...
|
| enum class | TriangleEdges : uint8_t { TriangleEdges::None = 0
, TriangleEdges::Edge01 = 1 << 0
, TriangleEdges::Edge12 = 1 << 1
, TriangleEdges::Edge20 = 1 << 2
} |
| | A triangle's edges, for the ones drawn without a soft edge: where it meets another triangle of the same shape (a polygon's fan), so no seam shows between them. More...
|
| enum class | IDMode : uint64_t { IDMode::Static = 0
, IDMode::Dynamic = 1
, IDMode::Ranged = 2
, IDMode::SubRange = 3
} |
| | How an ID was made; stored in 2 bits of the ID. More...
|
| enum class | ErrorCode : uint8_t {
ErrorCode::Failed
, ErrorCode::InvalidArgument
, ErrorCode::NotFound
, ErrorCode::ParseFailed
,
ErrorCode::Unsupported
, ErrorCode::OutOfMemory
, ErrorCode::DeviceLost
} |
| | Why a call failed. More...
|
| enum class | CommandMode : uint32_t { CommandMode::Default = 0
} |
| | A set of shortcuts that is active while the app says so (e.g. More...
|
| enum class | KeyModifier : uint8_t {
KeyModifier::None = 0
, KeyModifier::Shift = 1
, KeyModifier::Control = 2
, KeyModifier::Alt = 4
,
KeyModifier::Option = 8
, KeyModifier::Command = 16
} |
| | Modifier keys held, combined with |. More...
|
| enum class | MouseButtons : uint8_t {
MouseButtons::None = 0
, MouseButtons::Left = 1
, MouseButtons::Middle = 2
, MouseButtons::Right = 4
,
MouseButtons::X1 = 8
, MouseButtons::X2 = 16
} |
| | Mouse buttons, combined with |. More...
|
| enum class | KeyAction : uint8_t { KeyAction::KeyDown
, KeyAction::KeyUp
, KeyAction::KeyChar
} |
| | A keyboard event: a key down or up, or a typed character (KeyChar). More...
|
| enum class | MouseAction : uint8_t { MouseAction::MouseDown
, MouseAction::MouseUp
} |
| | Whether a mouse button went down or up. More...
|
| enum class | FileDropAction : uint8_t {
FileDropAction::Begin
, FileDropAction::Move
, FileDropAction::File
, FileDropAction::Text
,
FileDropAction::Complete
} |
| | A step of a drag from another application (files, text) over one of the app's windows. More...
|
| enum class | EventType : uint8_t {
EventType::None = 0
, EventType::MouseMove
, EventType::MouseDown
, EventType::MouseUp
,
EventType::MouseScroll
, EventType::KeyDown
, EventType::KeyUp
, EventType::TextInput
,
EventType::DragEnter
, EventType::DragOver
, EventType::DragOut
, EventType::Drop
,
EventType::LabelDragBegin
, EventType::LabelDrag
, EventType::LabelDragEnd
, EventType::LabelDragCancel
,
EventType::FileDragOver
, EventType::FileDrop
} |
| | The kind of input event the GUI dispatches to element handlers. More...
|
| enum class | KeyCode : uint32_t {
KeyCode::None = 0
, KeyCode::Return
, KeyCode::Escape
, KeyCode::Backspace
,
KeyCode::Tab
, KeyCode::Space
, KeyCode::Exclaim
, KeyCode::DoubleQuote
,
KeyCode::Hash
, KeyCode::Percent
, KeyCode::Dollar
, KeyCode::Ampersand
,
KeyCode::Quote
, KeyCode::LeftParen
, KeyCode::RightParen
, KeyCode::Asterisk
,
KeyCode::Plus
, KeyCode::Comma
, KeyCode::Minus
, KeyCode::Period
,
KeyCode::Slash
, KeyCode::Key0
, KeyCode::Key1
, KeyCode::Key2
,
KeyCode::Key3
, KeyCode::Key4
, KeyCode::Key5
, KeyCode::Key6
,
KeyCode::Key7
, KeyCode::Key8
, KeyCode::Key9
, KeyCode::Colon
,
KeyCode::Semicolon
, KeyCode::Less
, KeyCode::Equals
, KeyCode::Greater
,
KeyCode::Question
, KeyCode::At
, KeyCode::LeftBracket
, KeyCode::Backslash
,
KeyCode::RightBracket
, KeyCode::Caret
, KeyCode::Underscore
, KeyCode::Backquote
,
KeyCode::KeyA
, KeyCode::KeyB
, KeyCode::KeyC
, KeyCode::KeyD
,
KeyCode::KeyE
, KeyCode::KeyF
, KeyCode::KeyG
, KeyCode::KeyH
,
KeyCode::KeyI
, KeyCode::KeyJ
, KeyCode::KeyK
, KeyCode::KeyL
,
KeyCode::KeyM
, KeyCode::KeyN
, KeyCode::KeyO
, KeyCode::KeyP
,
KeyCode::KeyQ
, KeyCode::KeyR
, KeyCode::KeyS
, KeyCode::KeyT
,
KeyCode::KeyU
, KeyCode::KeyV
, KeyCode::KeyW
, KeyCode::KeyX
,
KeyCode::KeyY
, KeyCode::KeyZ
, KeyCode::Capslock
, KeyCode::F1
,
KeyCode::F2
, KeyCode::F3
, KeyCode::F4
, KeyCode::F5
,
KeyCode::F6
, KeyCode::F7
, KeyCode::F8
, KeyCode::F9
,
KeyCode::F10
, KeyCode::F11
, KeyCode::F12
, KeyCode::Printscreen
,
KeyCode::Scrolllock
, KeyCode::Pause
, KeyCode::Insert
, KeyCode::Home
,
KeyCode::PageUp
, KeyCode::Delete
, KeyCode::End
, KeyCode::PageDown
,
KeyCode::Right
, KeyCode::Left
, KeyCode::Down
, KeyCode::Up
,
KeyCode::NUMLOCKCLEAR
, KeyCode::KeyPadDivide
, KeyCode::KeyPadMultiply
, KeyCode::KeyPadMinus
,
KeyCode::KeyPadPlus
, KeyCode::KeyPadEnter
, KeyCode::KeyPad1
, KeyCode::KeyPad2
,
KeyCode::KeyPad3
, KeyCode::KeyPad4
, KeyCode::KeyPad5
, KeyCode::KeyPad6
,
KeyCode::KeyPad7
, KeyCode::KeyPad8
, KeyCode::KeyPad9
, KeyCode::KeyPad0
,
KeyCode::KeyPadPeriod
, KeyCode::KeyPadEquals
, KeyCode::KeyPadComma
, KeyCode::KeyPadEqualsAs400
,
KeyCode::KeyPad00
, KeyCode::KeyPad000
, KeyCode::KeyPadLeftParen
, KeyCode::KeyPadRightParen
,
KeyCode::KeyPadLeftBrace
, KeyCode::KeyPadRightBrace
, KeyCode::KeyPadTab
, KeyCode::KeyPadBackspace
,
KeyCode::KeyPadA
, KeyCode::KeyPadB
, KeyCode::KeyPadC
, KeyCode::KeyPadD
,
KeyCode::KeyPadE
, KeyCode::KeyPadF
, KeyCode::KeyPadXor
, KeyCode::KeyPadPower
,
KeyCode::KeyPadPercent
, KeyCode::KeyPadLess
, KeyCode::KeyPadGreater
, KeyCode::KeyPadAmpersand
,
KeyCode::KeyPadDoubleAmpersand
, KeyCode::KeyPadVerticalbar
, KeyCode::KeyPadDoubleVerticalbar
, KeyCode::KeyPadColon
,
KeyCode::KeyPadHash
, KeyCode::KeyPadSpace
, KeyCode::KeyPadAt
, KeyCode::KeyPadExclam
,
KeyCode::KeyPadMemstore
, KeyCode::KeyPadMemrecall
, KeyCode::KeyPadMemclear
, KeyCode::KeyPadMemadd
,
KeyCode::KeyPadMemsubtract
, KeyCode::KeyPadMemmultiply
, KeyCode::KeyPadMemdivide
, KeyCode::KeyPadPlusminus
,
KeyCode::KeyPadClear
, KeyCode::KeyPadClearentry
, KeyCode::KeyPadBinary
, KeyCode::KeyPadOctal
,
KeyCode::KeyPadDecimal
, KeyCode::KeyPadHexadecimal
, KeyCode::Application
, KeyCode::Power
,
KeyCode::F13
, KeyCode::F14
, KeyCode::F15
, KeyCode::F16
,
KeyCode::F17
, KeyCode::F18
, KeyCode::F19
, KeyCode::F20
,
KeyCode::F21
, KeyCode::F22
, KeyCode::F23
, KeyCode::F24
,
KeyCode::Execute
, KeyCode::Help
, KeyCode::Menu
, KeyCode::Select
,
KeyCode::Stop
, KeyCode::Again
, KeyCode::Undo
, KeyCode::Cut
,
KeyCode::Copy
, KeyCode::Paste
, KeyCode::Find
, KeyCode::Mute
,
KeyCode::Volumeup
, KeyCode::Volumedown
, KeyCode::Alterase
, KeyCode::Sysreq
,
KeyCode::Cancel
, KeyCode::Clear
, KeyCode::Prior
, KeyCode::Return2
,
KeyCode::Separator
, KeyCode::Out
, KeyCode::Oper
, KeyCode::Clearagain
,
KeyCode::Crsel
, KeyCode::Exsel
, KeyCode::ThousandsSeparator
, KeyCode::DecimalSeparator
,
KeyCode::CurrencyUnit
, KeyCode::CurrencySubUnit
, KeyCode::LeftControl
, KeyCode::LeftShift
,
KeyCode::LeftAlt
, KeyCode::LeftCommand
, KeyCode::RightControl
, KeyCode::RightShift
,
KeyCode::RightAlt
, KeyCode::RightCommand
, KeyCode::Mode
, KeyCode::AudioNext
,
KeyCode::AudioPrev
, KeyCode::AudioStop
, KeyCode::AudioPlay
, KeyCode::AudioMute
,
KeyCode::MediaSelect
, KeyCode::WWW
, KeyCode::Mail
, KeyCode::Calculator
,
KeyCode::Computer
, KeyCode::ACSearch
, KeyCode::ACHome
, KeyCode::ACBack
,
KeyCode::ACForward
, KeyCode::ACStop
, KeyCode::ACRefresh
, KeyCode::ACBookmarks
,
KeyCode::BrightnessDown
, KeyCode::BrightnessUp
, KeyCode::DisplaySwitch
, KeyCode::KeyboardIlluminationToggle
,
KeyCode::KeyboardIlluminationDown
, KeyCode::KeyboardIlluminationUp
, KeyCode::Eject
, KeyCode::Sleep
,
KeyCode::App1
, KeyCode::App2
, KeyCode::AudioRewind
, KeyCode::AudioFastforward
,
KeyCode::SoftLeft
, KeyCode::SoftRight
, KeyCode::Call
, KeyCode::EndCall
} |
| | Keys by what the keyboard layout makes them, not by position. More...
|
| enum class | AutoFlipMode : uint8_t { AutoFlipMode::None = 0
, AutoFlipMode::Flip = 1
, AutoFlipMode::FlipAvoidTarget = 2
} |
| | What an anchored element does when its placement would leave the work area. More...
|
| enum class | TriState : uint8_t { TriState::Default = 0
, TriState::False = 1
, TriState::True = 2
} |
| | Default defers to the element's style. More...
|
| enum class | ScrollAxis : uint8_t { ScrollAxis::None = 0
, ScrollAxis::X = 1 << 0
, ScrollAxis::Y = 1 << 1
, ScrollAxis::Both = X | Y
} |
| | Axis mask for scroll-into-view, so e.g. a horizontal sizer doesn't scroll vertically. More...
|
| enum class | VisualColorStyleIndex : uint16_t { VisualColorStyleIndex::Invalid = 0
} |
| | Index into StyleManager's color style pool; Invalid (0) draws nothing (transparent). More...
|
| enum class | ElementState : uint8_t {
ElementState::None = 0
, ElementState::Active = 1 << 0
, ElementState::Hover = 1 << 1
, ElementState::Focused = 1 << 2
,
ElementState::Selected = 1 << 3
, ElementState::Selection = 1 << 4
, ElementState::Disabled = 1 << 5
, ElementState::Invalid = 1 << 6
,
ElementState::VisualMask = Active | Hover | Focused | Selected | Selection | Disabled
} |
| | Interaction state bits of an element; they pick the Style::states variant it draws with. More...
|
| enum class | FlexDirection : uint8_t { FlexDirection::Row
, FlexDirection::RowReverse
, FlexDirection::Column
, FlexDirection::ColumnReverse
} |
| | Main axis of a flex container (CSS: flex-direction). More...
|
| enum class | FlexWrap : uint8_t { FlexWrap::NoWrap
, FlexWrap::Wrap
, FlexWrap::WrapReverse
} |
| | Whether flex items wrap onto more lines (CSS: flex-wrap). More...
|
| enum class | AlignItems : uint8_t {
AlignItems::Auto
, AlignItems::FlexStart
, AlignItems::FlexEnd
, AlignItems::Center
,
AlignItems::Stretch
} |
| | Cross-axis alignment of items (CSS: align-items, align-self). More...
|
| enum class | JustifyContent : uint8_t {
JustifyContent::FlexStart
, JustifyContent::FlexEnd
, JustifyContent::Center
, JustifyContent::SpaceBetween
,
JustifyContent::SpaceAround
, JustifyContent::SpaceEvenly
} |
| | Main-axis distribution of items (CSS: justify-content; grids also justify-items). More...
|
| enum class | AlignContent : uint8_t {
AlignContent::FlexStart
, AlignContent::FlexEnd
, AlignContent::Center
, AlignContent::Stretch
,
AlignContent::SpaceBetween
, AlignContent::SpaceAround
, AlignContent::SpaceEvenly
} |
| | Distributes cross-axis space between wrap lines (align-items aligns within a line). More...
|
| enum class | PositionType : uint8_t {
PositionType::Relative
, PositionType::Anchored
, PositionType::Absolute
, PositionType::Fixed
,
PositionType::Centered
, PositionType::Sticky
} |
| | How an element is positioned; modeled on CSS position, but set in code, not CSS. More...
|
| enum class | Display : uint8_t { Display::Flex
, Display::Grid
, Display::None
} |
| | How an element lays out its children (CSS: display). More...
|
| enum class | Overflow : uint8_t { Overflow::Auto
, Overflow::Hidden
, Overflow::Visible
} |
| | What happens to content larger than the box (CSS: overflow, overflow-x, overflow-y). More...
|
| enum class | Visibility : uint8_t { Visibility::Visible
, Visibility::Collapsed
} |
| | CSS: visibility. More...
|
| enum class | IconSide : uint8_t {
IconSide::None = 0
, IconSide::Left
, IconSide::Right
, IconSide::Top
,
IconSide::Bottom
} |
| | Where an element's icon sits relative to its text (CSS: -tachyon-icon-side). More...
|
| enum class | AnchorPlacement : uint8_t {
AnchorPlacement::None = 0
, AnchorPlacement::OutsideLeft = (1 << 0)
, AnchorPlacement::CenterLeft = (2 << 0)
, AnchorPlacement::InsideLeft = (3 << 0)
,
AnchorPlacement::CenterHorz = (4 << 0)
, AnchorPlacement::InsideRight = (5 << 0)
, AnchorPlacement::CenterRight = (6 << 0)
, AnchorPlacement::OutsideRight = (7 << 0)
,
AnchorPlacement::HorizontalMask = (0xF << 0)
, AnchorPlacement::OutsideTop = (1 << 4)
, AnchorPlacement::CenterTop = (2 << 4)
, AnchorPlacement::InsideTop = (3 << 4)
,
AnchorPlacement::CenterVert = (4 << 4)
, AnchorPlacement::InsideBottom = (5 << 4)
, AnchorPlacement::CenterBottom = (6 << 4)
, AnchorPlacement::OutsideBottom = (7 << 4)
,
AnchorPlacement::VerticalMask = (0xF << 4)
, AnchorPlacement::CenterCenter = CenterHorz | CenterVert
, AnchorPlacement::InsideTopLeft = InsideTop | InsideLeft
, AnchorPlacement::InsideTopRight = InsideTop | InsideRight
,
AnchorPlacement::InsideBottomLeft = InsideBottom | InsideLeft
, AnchorPlacement::InsideBottomRight = InsideBottom | InsideRight
, AnchorPlacement::OutsideTopLeft = OutsideTop | OutsideLeft
, AnchorPlacement::OutsideTopRight = OutsideTop | OutsideRight
,
AnchorPlacement::OutsideBottomLeft = OutsideBottom | OutsideLeft
, AnchorPlacement::OutsideBottomRight = OutsideBottom | OutsideRight
} |
| | Where an anchored element sits relative to its target: one horizontal and one vertical AnchorPlacementAxis value, one per nibble. More...
|
| enum class | AnchorPlacementAxis : uint8_t {
AnchorPlacementAxis::None = 0
, AnchorPlacementAxis::OutsideMin = 1
, AnchorPlacementAxis::CenterMin = 2
, AnchorPlacementAxis::InsideMin = 3
,
AnchorPlacementAxis::Center = 4
, AnchorPlacementAxis::InsideMax = 5
, AnchorPlacementAxis::CenterMax = 6
, AnchorPlacementAxis::OutsideMax = 7
} |
| | Anchor placement along one axis; the 4-bit value of one AnchorPlacement nibble. More...
|
| enum class | BreakBehavior : uint8_t { BreakBehavior::Auto
, BreakBehavior::Always
, BreakBehavior::Before
, BreakBehavior::Avoid
} |
| | Line breaks around an item in a wrapping flex container (CSS: break-after). More...
|
| enum class | MouseCursor : uint8_t {
MouseCursor::Default
, MouseCursor::Text
, MouseCursor::Wait
, MouseCursor::Crosshair
,
MouseCursor::Pointer
, MouseCursor::ColResize
, MouseCursor::RowResize
, MouseCursor::EwResize
,
MouseCursor::NsResize
, MouseCursor::NwseResize
, MouseCursor::NeswResize
, MouseCursor::Move
,
MouseCursor::NotAllowed
, MouseCursor::None
} |
| | Mouse cursor shown over an element (CSS: cursor). More...
|
| enum class | ColorType : uint16_t {
ColorType::SolidColor = 0
, ColorType::StretchedTexture = 1
, ColorType::RepeatedTexture = 2
, ColorType::LinearGradient = 3
,
ColorType::CircularAngularGradient = 4
, ColorType::EllipsoidAngularGradient = 5
, ColorType::RadialGradient = 6
, ColorType::InterpolatedTriangle = 7
,
ColorType::InterpolatedBox = 8
, ColorType::SDFGradient = 9
} |
| | How a ColorStyle paints a shape. More...
|
| enum class | StateLayer : uint8_t { StateLayer::None
, StateLayer::Content
} |
| | How a style's hover and pressed backgrounds are made. More...
|
| enum class | GradientType : uint8_t { GradientType::None
, GradientType::Linear
, GradientType::Radial
} |
| | Kind of Gradient. More...
|
| enum class | ColorSpace : uint8_t {
ColorSpace::sRGB
, ColorSpace::LinearRGB
, ColorSpace::HSL
, ColorSpace::HSV
,
ColorSpace::Lab
, ColorSpace::Oklab
} |
| | The space gradient stops are interpolated in. More...
|
| enum class | StyleUnits : uint8_t { StyleUnits::Css
, StyleUnits::Pixels
} |
| | Units of a style's metrics: CSS pixels (scaled to the UI) or final pixels. More...
|
| enum class | LayoutStyleIndex : uint32_t { LayoutStyleIndex::Invalid = 0
} |
| | Index into StyleManager's layout style pool; Invalid (0) = none. More...
|
| enum class | VisualBoxStyleIndex : uint16_t { VisualBoxStyleIndex::Invalid = 0
} |
| | Index into StyleManager's visual box style pool; Invalid (0) = none. More...
|
| enum class | VisualTextStyleIndex : uint16_t { VisualTextStyleIndex::Invalid = 0
} |
| | Index into StyleManager's visual text style pool; Invalid (0) = none. More...
|
| enum class | TextID : uint32_t { TextID::Invalid = 0
} |
| | Handle for text registered with the text system (ITextSystem::RegisterText and friends). More...
|
| enum class | IconID : uint32_t { IconID::Invalid = 0
} |
| | Handle for an icon registered with ITextSystem::RegisterIconFromSVG / RegisterIconFromSVGFile. More...
|
| enum class | FontID : uint32_t { FontID::Invalid = 0
} |
| | Handle for a font family registered with ITextSystem::RegisterFontFamily(). More...
|
| enum class | TextDirection : uint8_t { TextDirection::Auto
, TextDirection::LeftToRight
, TextDirection::RightToLeft
} |
| | Writing direction of text (CSS: direction). More...
|
| enum class | TextWrap : uint8_t { TextWrap::NoWrap = 0
, TextWrap::Wrap
, TextWrap::WordChar
} |
| | How text wraps in its box (CSS: text-wrap). More...
|
| enum class | TextAlign : uint8_t {
TextAlign::Start = 0
, TextAlign::Center
, TextAlign::End
, TextAlign::Left
,
TextAlign::Right
, TextAlign::Top
, TextAlign::Bottom
} |
| | Alignment of text in its box (CSS: text-align, -tachyon-vertical-text-align). More...
|
| enum class | TextBaseline : uint8_t {
TextBaseline::Alphabetic
, TextBaseline::Ideographic
, TextBaseline::Central
, TextBaseline::Hanging
,
TextBaseline::Mathematical
, TextBaseline::Middle
, TextBaseline::TextTop
, TextBaseline::TextBottom
,
TextBaseline::Max
} |
| | Font baseline that text aligns on (TextLayoutStyle::baseline). More...
|
| enum class | DecorationStyle : uint8_t {
DecorationStyle::Solid = 0
, DecorationStyle::Double
, DecorationStyle::Dotted
, DecorationStyle::Dashed
,
DecorationStyle::Wavy
} |
| | Line style of a TextDecoration. More...
|
| enum class | FontFamily : uint8_t {
FontFamily::Default
, FontFamily::Emoji
, FontFamily::SansSerif
, FontFamily::Serif
,
FontFamily::Monospace
, FontFamily::Math
} |
| | Generic font family, used when TextStyle::fontId names no registered family. More...
|
| enum class | FontWeight : uint8_t {
FontWeight::Normal
, FontWeight::Thin
, FontWeight::ExtraLight
, FontWeight::UltraLight
,
FontWeight::Light
, FontWeight::Regular
, FontWeight::Medium
, FontWeight::DemiBold
,
FontWeight::SemiBold
, FontWeight::Bold
, FontWeight::ExtraBold
, FontWeight::UltraBold
,
FontWeight::Black
, FontWeight::Heavy
, FontWeight::ExtraBlack
, FontWeight::UltraBlack
} |
| | Font weight (CSS: font-weight); the CSS weight is in parentheses. More...
|
| enum class | FontStyle : uint8_t { FontStyle::Normal = 0
, FontStyle::Italic
, FontStyle::Oblique
} |
| | Font slant (CSS: font-style). More...
|
| enum class | FontStretch : uint8_t {
FontStretch::Normal = 0
, FontStretch::UltraCondensed
, FontStretch::ExtraCondensed
, FontStretch::Condensed
,
FontStretch::SemiCondensed
, FontStretch::SemiExpanded
, FontStretch::Expanded
, FontStretch::ExtraExpanded
,
FontStretch::UltraExpanded
} |
| | Font width (CSS: font-stretch); the width factor is in parentheses. More...
|
| enum class | LineHeight : uint8_t { LineHeight::Normal = 0
, LineHeight::MetricsRelative
, LineHeight::FontSizeRelative
, LineHeight::Absolute
} |
| | How TextStyle::lineHeight is read. More...
|
| enum class | VerticalTrim : uint8_t { VerticalTrim::Default = 0
, VerticalTrim::CapToBaseline
} |
| | Font metrics that bound a line for vertical alignment (CSS: -tachyon-vertical-trim). More...
|
| enum class | WordWrap : uint8_t { WordWrap::None
, WordWrap::Normal
, WordWrap::BreakWord
} |
| | Word wrapping mode of TextLayoutStyle::wrapMode. More...
|
| enum class | TextOverflow : uint8_t { TextOverflow::Clip
, TextOverflow::Ellipsis
} |
| | What happens to text that doesn't fit its box (CSS: text-overflow). More...
|
| enum class | DecorationLine : uint8_t { DecorationLine::Under
, DecorationLine::Bottom
, DecorationLine::Over
, DecorationLine::Through
} |
| | The decoration lines of a TextStyle; indexes StyleState::decorationColors. More...
|
| enum class | NumericType {
NumericType::None
, NumericType::TypeUnsignedBit = 16
, NumericType::TypeSignedBit = 32
, NumericType::TypeFloatBit = 64
,
NumericType::TypeUInt8 = TypeUnsignedBit | 1
, NumericType::TypeUInt16 = TypeUnsignedBit | 2
, NumericType::TypeUInt32 = TypeUnsignedBit | 3
, NumericType::TypeUInt64 = TypeUnsignedBit | 4
,
NumericType::TypeInt8 = TypeSignedBit | 1
, NumericType::TypeInt16 = TypeSignedBit | 2
, NumericType::TypeInt32 = TypeSignedBit | 3
, NumericType::TypeInt64 = TypeSignedBit | 4
,
NumericType::TypeFloat = TypeFloatBit | 1
, NumericType::TypeDouble = TypeFloatBit | 2
} |
| enum class | TextureIndex : uint32_t { TextureIndex::Invalid = 0
} |
| enum class | TextEditBehavior : uint8_t {
TextEditBehavior::None = 0
, TextEditBehavior::ContinuousUpdate = 1 << 0
, TextEditBehavior::Multiline = 1 << 1
, TextEditBehavior::AcceptTabs = 1 << 2
,
TextEditBehavior::ReadOnly = 1 << 3
} |
| enum class | AddWindowResult : int8_t {
AddWindowResult::SuccessCreate = 0
, AddWindowResult::SuccessRecycle = 1
, AddWindowResult::CalledOutsideOfFrame = -1
, AddWindowResult::IndexOutOfBounds = -2
,
AddWindowResult::FailedToCreateOSWindow = -3
, AddWindowResult::InvalidID = -4
, AddWindowResult::WindowUserClosed = -5
} |
| | Outcome of OSWindowManager::GetOrCreateWindow; negative values are failures. More...
|
| enum class | RequestCloseResult : int8_t {
RequestCloseResult::Success = 0
, RequestCloseResult::CalledOutsideFrame = -1
, RequestCloseResult::IndexOutOfBounds = -2
, RequestCloseResult::WindowAlreadyClosed = -3
,
RequestCloseResult::UnknownError = -4
} |
| | Outcome of an OSWindowManager close request; negative values are failures. More...
|
| enum class | WindowState : uint8_t { WindowState::NotRegistered
, WindowState::Alive
, WindowState::Closing
, WindowState::Hidden
} |
| | The life cycle of a managed window. More...
|
| enum class | WindowHitArea : uint8_t { WindowHitArea::Client
, WindowHitArea::Caption
, WindowHitArea::MaximizeButton
} |
| | What a point of a window with a custom title bar (WindowFlags::CustomTitleBar) is to the OS. More...
|
| enum class | WindowMode : uint8_t {
WindowMode::Normal
, WindowMode::Minimized
, WindowMode::Maximized
, WindowMode::Fullscreen
,
WindowMode::ExclusiveFullscreen
} |
| | A window's state (IWindowBackend::SetWindowMode). Any window can go fullscreen. More...
|
| enum class | WindowFlags : uint32_t {
WindowFlags::None = 0
, WindowFlags::AllowHighDPI = 1
, WindowFlags::Hidden = 2
, WindowFlags::Borderless = 4
,
WindowFlags::Moveable = 8
, WindowFlags::Resizable = 16
, WindowFlags::UserControlled = Moveable | Resizable
, WindowFlags::AlwaysOnTop = 32
,
WindowFlags::SkipTaskbar = 64
, WindowFlags::Utility = 128
, WindowFlags::Transparent = 256
, WindowFlags::Modal = 512
,
WindowFlags::PopupMenu = 1024
, WindowFlags::Shadow = 2048
, WindowFlags::NotFocusable = 4096
, WindowFlags::RenderToImage = 8192
,
WindowFlags::CloseWithParent = 16384
, WindowFlags::CustomTitleBar = 32768
, WindowFlags::ConfirmClose = 65536
, WindowFlags::NoInput = 131072
,
WindowFlags::DefaultFlags = AllowHighDPI
} |
| | How an OS window is made and behaves (IWindowBackend::CreateWindow); flags combine with |. More...
|
| enum class | RegistryResult { RegistryResult::Success
, RegistryResult::InvalidRef
, RegistryResult::NoActiveWindow
} |
| | Outcome of a WindowRegistry call. More...
|
| enum class | ToolbarSide : uint8_t { ToolbarSide::Top = 0
, ToolbarSide::Right = 1
, ToolbarSide::Bottom = 2
, ToolbarSide::Left = 3
} |
| | A side of a toolbar dock; indexes the per-side arrays. More...
|
| enum class | MessageIcon : uint8_t {
MessageIcon::Warning
, MessageIcon::Quit
, MessageIcon::Question
, MessageIcon::Info
,
MessageIcon::Error
} |
| | The icon beside a MessageDialog's text. More...
|
| enum class | MessageButtonKind : uint8_t { MessageButtonKind::Secondary
, MessageButtonKind::Primary
, MessageButtonKind::Danger
} |
| | How a MessageButton is styled: Primary for the main choice, Danger for a destructive one. More...
|
| enum class | SliderPress : uint8_t { SliderPress::Edit
, SliderPress::Jump
} |
| | What pressing a slider does: Edit - a click (no drag) opens its value for typing; Jump - the value moves to the cursor at once and follows it while held. More...
|
| enum class | DockSplitMode : uint8_t { DockSplitMode::LeftPinned
, DockSplitMode::RightPinned
, DockSplitMode::TopPinned
, DockSplitMode::BottomPinned
} |
| | Split direction and which child is pinned to splitSize; the other child flexes. More...
|
| enum class | DockDropZone : uint8_t {
DockDropZone::None
, DockDropZone::Left
, DockDropZone::Right
, DockDropZone::Top
,
DockDropZone::Bottom
, DockDropZone::Center
} |
| | Edge zone of a point within a dock content area (drop preview and split-on-drop). More...
|
| enum class | TabBarLayout : uint8_t { TabBarLayout::OneRow
, TabBarLayout::Rows
} |
| | How a tab bar lays out tabs that don't fit on one row. More...
|
| enum class | WireHandle : uint8_t {
WireHandle::None
, WireHandle::LaneX
, WireHandle::ExitX
, WireHandle::EntryX
,
WireHandle::LaneY
} |
| | Interior lane a drag handle adjusts: the corridor route's vertical lane (LaneX), or the detour route's verticals (ExitX, EntryX) and horizontal return lane (LaneY). More...
|
| enum class | Severity : uint8_t { Severity::Info
, Severity::Success
, Severity::Warning
, Severity::Error
} |
| | How serious a notification is: its icon and color. More...
|
| enum class | BannerActionKind : uint8_t { BannerActionKind::Primary
, BannerActionKind::Secondary
, BannerActionKind::Link
} |
| | How a banner's action is drawn. More...
|
| enum class | ColumnSizing : uint8_t { ColumnSizing::Resizable
, ColumnSizing::Fixed
, ColumnSizing::Stretch
} |
| | How a column's track is sized and whether it has a sizer at its right edge. More...
|
| enum class | SectionSizing : uint8_t { SectionSizing::Scrollable
, SectionSizing::FitContent
} |
| | How a section sizes itself in the bodies row; read from the section's first column. More...
|
| enum class | TableSelectionMode : uint8_t { TableSelectionMode::Row
, TableSelectionMode::Cell
} |
| | Whether clicks, hover and keyboard navigation work on rows or on cells. More...
|
| enum class | TreeDropPosition : uint8_t {
TreeDropPosition::None = 0
, TreeDropPosition::Before
, TreeDropPosition::Inside
, TreeDropPosition::InsideLast
,
TreeDropPosition::After
} |
| | Where a tree reorder drop lands relative to the target row. More...
|
| enum class | ReorderDirection : uint8_t { ReorderDirection::Horizontal
, ReorderDirection::Vertical
} |
| | Main axis of a reorderable group. More...
|
|
| int32_t | SnapPx (float v) |
| | Round half up, the same rule the box shader uses.
|
| IntRect | SnapAbsolute (float4 px) |
| | A box with no snapped parent: each edge to the nearest pixel.
|
| float4 | PixelBounds (const float3x2 &toPixels, IntRect r) |
| | The bounds of a rect mapped to window pixels, { x0, y0, x1, y1 }.
|
| IntRect | SnapToParent (float4 parentPx, IntRect parentSnapped, float4 childPx) |
| | A nested box: each edge keeps its rounded distance from the parent's snapped edge on the same side.
|
| uint16_t | FloatToHalf (float value) |
| float | HalfToFloat (uint16_t value) |
| int64_t | SteadyClockNowNanos () |
| | Monotonic steady_clock time in nanoseconds; a plain int64_t keeps <chrono> out of widely-included headers.
|
| template<typename T> |
| std::from_chars_result | FromCharsStream (const char *first, const char *last, T &value) |
| | std::from_chars for a decimal number, through a classic-locale stream.
|
| template<typename T> |
| std::from_chars_result | FromChars (const char *first, const char *last, T &value) |
| | std::from_chars, falling back to FromCharsStream on standard libraries without the floating-point overloads (libc++ before LLVM 20, Apple's included).
|
| std::span< const std::byte > | FindBuiltInResource (std::string_view path) |
| | The copy of a resource compiled into the library: the default themes (dark.css, light.css, styles.css) and fonts (Inter, JetBrains Mono), unless the library was built with TACHYON_EMBED_RESOURCES off.
|
| Result< std::string > | ReadResource (std::string_view path) |
| | A resource's contents: the file at path when it exists, else its built-in copy (which is logged, so a theme file that went missing shows up).
|
| float | DoubleClickMilliseconds () noexcept |
| | The most time between the two clicks of a double-click, milliseconds: the OS's setting, which the application reads from its window backend every frame.
|
| void | SetDoubleClickMilliseconds (float milliseconds) noexcept |
| | Sets DoubleClickMilliseconds; values of 0 or less are ignored.
|
| EventHandler | Chain (EventHandler first, EventHandler second) |
| | A handler that tries first, then second when first returns false.
|
| constexpr bool | IsDragTravel (int2 delta, int32_t distance) noexcept |
| | Whether the pointer moving delta pixels from a press makes it a drag: distance pixels or more in a straight line.
|
| constexpr bool | IsDragCancelKey (const InputState &s) noexcept |
| | Escape going down: cancels the drag of the element that has the event.
|
| AnchorPlacement | FlipHorizontal (AnchorPlacement p) |
| | Mirrors the horizontal part of a placement (e.g. right-of becomes left-of); vertical is kept.
|
| AnchorPlacement | FlipVertical (AnchorPlacement p) |
| | Mirrors the vertical part of a placement (e.g. below becomes above); horizontal is kept.
|
| | TACHYON_ENUM_OPERATORS (AnchorPlacement) |
| constexpr AnchorPlacementAxis | FlipAxis (AnchorPlacementAxis p) |
| | Mirrors a placement: Min <-> Max; Center and None are unchanged.
|
| constexpr AnchorPlacementAxis | GetHorizontalAxis (AnchorPlacement p) |
| | Horizontal part of an AnchorPlacement.
|
| constexpr AnchorPlacementAxis | GetVerticalAxis (AnchorPlacement p) |
| | Vertical part of an AnchorPlacement.
|
| constexpr AnchorPlacement | MakeAnchorPlacement (AnchorPlacementAxis h, AnchorPlacementAxis v) |
| | Combines a horizontal and a vertical placement.
|
| StyleSheet | ParseStyleSheet (std::string_view source) |
| | Parses a theme's CSS (the subset TachyonUI supports, see docs/css.md) into a StyleSheet.
|
| FontID | FontIDFromName (std::string_view familyName) |
| | Case-insensitive, like CSS family names. Returns FontID::Invalid for an empty name.
|
| int32_t | HorizontalAlignOffset (TextAlign horizontalAlignment, int32_t boxWidth, int32_t contentWidth) |
| | X offset, in pixels, of contentWidth content aligned inside a boxWidth box.
|
| int32_t | VerticalAlignOffset (TextAlign verticalAlignment, int32_t boxHeight, int32_t contentHeight) |
| IconTextPlacement | ComputeIconTextPlacement (const IntRect &rect, int32_t textWidth, int32_t textHeight, const IconMeasurement &iconMeasurement, IconSide iconSide, int32_t iconTextGap, TextAlign horizontalAlignment, TextAlign verticalAlignment=TextAlign::Start) |
| int32_t | IconAwareLayoutMaxWidth (int32_t rectWidth, const IconMeasurement &iconMeasurement, IconSide iconSide, int32_t iconTextGap, bool hasIcon) |
| | The max width to lay text out in: rectWidth minus the icon and gap for a Left / Right icon, so text-align can't reach into the icon area; rectWidth otherwise.
|
| std::string | FormatNumber (NumericType type, const NumericValue &value) |
| | value as text; floats use up to 9 significant digits, NaN and infinities spelled out.
|
| bool | ParseNumber (std::string_view text, NumericType type, NumericValue &outValue) |
| | The whole text as a number of type: in range and, for floats, finite.
|
| bool | FilterNumberText (NumericType type, std::string &text) |
| | Strips what a number of type can't hold (letters, a second dot, ...).
|
| bool | IsNumberCharacter (NumericType type, uint32_t codepoint) |
| | Whether codepoint can be typed into a number of type.
|
| template<typename T> |
| constexpr NumericType | GetNumericType (const T &) |
| template<> |
| constexpr NumericType | GetNumericType (const int8_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const int16_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const int32_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const int64_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const uint8_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const uint16_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const uint32_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const uint64_t &) |
| template<> |
| constexpr NumericType | GetNumericType (const float &) |
| template<> |
| constexpr NumericType | GetNumericType (const double &) |
| template<typename T> |
| NumericType | CopyNumericTypeTo (const T &, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const int8_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const int16_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const int32_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const int64_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const uint8_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const uint16_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const uint32_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const uint64_t &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const float &src, NumericValue &dst) |
| template<> |
| NumericType | CopyNumericTypeTo (const double &src, NumericValue &dst) |
| template<typename T> |
| bool | CopyNumericTypeTo (NumericType, const NumericValue &, T &) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, int8_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, int16_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, int32_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, int64_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, uint8_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, uint16_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, uint32_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, uint64_t &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, float &dst) |
| template<> |
| bool | CopyNumericTypeTo (NumericType type, const NumericValue &src, double &dst) |
| template<typename T> |
| bool | EqualsNumericType (NumericType, NumericValue &, const T &) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const int8_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const int16_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const int32_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const int64_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const uint8_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const uint16_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const uint32_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const uint64_t &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const float &right) |
| template<> |
| bool | EqualsNumericType (NumericType type, NumericValue &left, const double &right) |
| bool | EqualsNumericType (NumericType leftType, NumericValue &left, NumericType rightType, const NumericValue &right) |
| template<typename T> |
| const TextConverter< T > & | DefaultTextConverter () |
| | The converter a field uses for T when it is given none.
|
| uint32_t | NextUtf8Codepoint (std::string_view text, size_t &i) |
| | The codepoint starting at text[i], with i moved past it.
|
| void | AppendUtf8 (std::string &out, uint32_t codepoint) |
| std::string | ToValidUtf8 (std::string_view text) |
| | Text with each malformed byte replaced by U+FFFD (the replacement character).
|
| size_t | LastUtf8CodepointSize (std::string_view text) |
| | The byte length of text's last codepoint (0 when empty).
|
| void | SyncWindowsBeforeLayout (OSWindowManager &windowManager, const WindowRegistry &windowRegistry, ElementStorage &elementStorage) |
| | Before layout: releases the windows no longer declared, and pins the elements of user-moved/resized windows to their OS rects.
|
| void | SyncWindowsAfterLayout (OSWindowManager &windowManager, const WindowRegistry &windowRegistry, ElementStorage &elementStorage, ITextSystem *textSystem, OnGuiFunc onGui) |
| | After layout: creates or updates an OS window for each declared window element.
|
| void | InstallSDLVulkanSurfaceFactory (GraphicsContext *graphicsContext) |
| | Lets a VulkanGraphicsContext create surfaces for SDL windows; other contexts are left alone.
|
| void | InitializeToolbarDockState (ToolbarDockState &state, GUIApplication &app) |
| | Allocates the state's static IDs; call once before the first RenderToolbarDock.
|
| void | ReleaseToolbarDockState (ToolbarDockState &state, GUIApplication &app) |
| | Releases the IDs allocated by InitializeToolbarDockState.
|
| void | RenderToolbarDock (GUIApplication &app, ToolbarDockState &state, const std::vector< ToolbarItem >(&itemsPerSide)[kToolbarSideCount], const ToolbarDockCallbacks &callbacks, std::function< void()> renderContent) |
| | Renders the 5-zone scaffold (top / left | content | right / bottom) with a reorderable group per side.
|
| void | VERIFY (ElementStorageResult result) |
| | Checks the result of an element-storage call (e.g.
|
| void | VERIFY (RegistryResult result) |
| | As above, for windowRegistry calls.
|
| void | VERIFY (AddWindowResult result) |
| | WindowUserClosed is accepted too: it's the expected outcome when a window can't be reopened.
|
| void | VERIFY (RequestCloseResult result) |
| | Checks the result of closing a window: misuse (outside a frame, already closed) is reported; other failures assert.
|
| bool | IsActivationKey (const ElementEvent &event) |
| | True for a KeyDown of Return, keypad Enter or Space.
|
| bool | TextEditorUsesKey (const InputState &state, bool readOnly) |
| | Whether a focused text editor acts on this key (KeyDown/KeyUp), so its handler takes it; the rest reach the app's shortcuts.
|
| EventHandler | MakeTextBoxHandler (GUIStateManager &guiStateManager) |
| | Text box handler: a left click focuses it for editing; while focused it takes text input and the keys its editor uses.
|
| EventHandler | MakeHorizontalSizerHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage, int &sizeValue, int minSize, int maxSize, std::function< void(int)> onChanged=nullptr, std::function< int()> onAutoSize=nullptr, bool invertMouseDelta=false, float pixelsPerUnit=1.0f) |
| | Sizer handler that drags sizeValue within [minSize, maxSize], calling onChanged with each new size.
|
| EventHandler | MakeVerticalSizerHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage, int &sizeValue, int minSize, int maxSize, std::function< void(int)> onChanged=nullptr, std::function< int()> onAutoSize=nullptr, bool invertMouseDelta=false, float pixelsPerUnit=1.0f) |
| | Y-axis counterpart of MakeHorizontalSizerHandler; invertMouseDelta grows the size when dragging up.
|
| EventHandler | MakeSliderHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage, float *value, int elementWidth, std::function< void()> onChanged=nullptr, float minVal=0.0f, float maxVal=1.0f, SliderPress press=SliderPress::Edit) |
| | Slider handler for *value in [minVal, maxVal]; elementWidth (pixels, <= 0 is treated as 1) maps drag distance onto that range.
|
| EventHandler | MakeDraggableLabelHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage) |
| | Turns mouse drags on a label into LabelDrag* events sent to the next sibling element.
|
| EventHandler | MakeLabelHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage) |
| | Label handler: a left click focuses the control bound to the label (else the label).
|
| EventHandler | MakeGroupLabelHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage, LabelGroupVisualState groupVisual) |
| | Label group variants: the right edge resizes the shared label width.
|
| EventHandler | MakeGroupDraggableLabelHandler (GUIStateManager &guiStateManager, const ElementStorage &elementStorage, LabelGroupVisualState groupVisual) |
| EventHandler | MakeButtonHandler (GUIStateManager &guiStateManager, std::function< void()> onClick) |
| | Button handler: a left click, or an activation key while focused, calls onClick.
|
| EventHandler | MakeMouseWheelScrollHandler (ScrollManagement &scrollManagement, float wheelStep) |
| | Wheel handler that scrolls the element's own scroll offset by wheelStep pixels per notch (StyleManager::Px(kWheelScrollStep)).
|
| EventHandler | MakeScrollbarHandler (GUIStateManager &guiStateManager, ElementStorage &elementStorage, ID containerID, bool vertical, int32_t trackLength=0) |
| | Scrollbar track/thumb handler; writes the scroll offset of containerID (the scrollable parent).
|
| EventHandler | MakeDragSourceHandler (GUIStateManager &guiStateManager, uint32_t payloadType, std::function< uintptr_t()> getPayloadValue=nullptr, std::function< std::any()> getPayload=nullptr, DragVisualizer sourceVisualizer={}) |
| | Drag source handler: a left press starts a drag of payloadType, with the value from getPayloadValue (else 0) and the payload from getPayload (else that value).
|
| EventHandler | MakeDropTargetHandler (uint32_t acceptedPayloadType, std::function< void(uintptr_t payloadValue, ID sourceID)> onDrop, std::function< bool(uintptr_t payloadValue)> canDrop=nullptr) |
| | Drop target handler for acceptedPayloadType; onDrop gets the payload value and the source ID.
|
| double | LabelDragSpeedScale (const InputState &state) |
| | Label-drag speed multiplier: 0.1 with Ctrl, 10 with Shift (which wins), else 1.
|
| template<typename T> |
| EventHandler | ReportingChanges (GUIStateManager &guiStateManager, T *value, EventHandler inner) |
| | Wraps a handler that writes *value: it runs during input, after the control's call returned, so a change marks the element clicked and the next call reports it (Interaction().HasBeenClicked(id)).
|
| template<typename T> |
| EventHandler | MakeNumericalBoxHandler (GUIStateManager &guiStateManager, T &value, NumericFieldConfig< T > config={}) |
| | Numeric field handler: a left click focuses it for typing, and LabelDrag* events from its label drag value (a cancelled drag restores the start value).
|
| template<typename T> |
| EventHandler | MakeMultiDimDragHandler (GUIStateManager &guiStateManager, T &value, NumericFieldConfig< typename TypeDimensions< T >::ComponentType > config={}) |
| | Applies LabelDrag* events to all components (multi-dimensional Field groups).
|
| constexpr bool | IsHorizontalSplit (DockSplitMode m) |
| | True for LeftPinned / RightPinned (children side by side).
|
| constexpr bool | PinsSecondChild (DockSplitMode m) |
| | True for RightPinned / BottomPinned (splitSize applies to the second child).
|
| std::unique_ptr< DockNode > | MakeLeaf (std::initializer_list< ID > panelIds={}) |
| | A leaf with the given panel tabs.
|
| std::unique_ptr< DockNode > | MakeSplit (DockSplitMode mode, CssPx splitSize, std::unique_ptr< DockNode > first, std::unique_ptr< DockNode > second, CssPx minFirstSize=80, CssPx minSecondSize=80) |
| | A split node owning first and second; sizes in CSS px.
|
| void | ReorderLeafTabs (DockNode &node, int from, int to) |
| | Moves a tab within a leaf, keeping the selected tab selected. No-op on invalid input.
|
| void | ReleaseDockTreeIDs (DockNode *node, IDManager *idManager) |
| | Releases a tree's static node and tab-bar IDs; call before destroying it.
|
| bool | CloseLeafTab (DockNode &node, int tabIndex) |
| | Removes a leaf's tab, clamping selectedTab. Returns true if the leaf is now empty.
|
| void | CollapseEmptyLeaves (std::unique_ptr< DockNode > &rootRef, IDManager *idManager=nullptr) |
| | Collapses empty leaves by promoting their siblings, bottom-up.
|
| bool | RemovePanel (std::unique_ptr< DockNode > &rootRef, ID panelId, IDManager *idManager=nullptr) |
| | Removes the first occurrence of panelId, then collapses empty leaves.
|
| DockNode * | FindNode (DockNode *root, ID nodeID) |
| | The node with nodeID under root; nullptr when not found (always for an Invalid ID).
|
| const DockNode * | FindNode (const DockNode *root, ID nodeID) |
| SplitSizeRange | ComputeSplitSizeRange (const DockNode &splitNode, int containerExtent, int sizerThickness) |
| | Allowed splitSize range: min = the pinned child's minimum, max = containerExtent - sizerThickness - the other child's minimum.
|
| int | ClampSplitSize (const DockNode &splitNode, int containerExtent, int sizerThickness) |
| | Returns splitSize clamped to that range (doesn't modify the node).
|
| void | AssignMissingNodeIDs (DockNode *root, IDManager &idManager) |
| | Gives every node (and leaf tab bar) without an ID a static ID. Idempotent.
|
| DockDropZone | ComputeDropZone (IntRect rect, int2 point, float edgeFraction=0.25f) |
| | The zone of rect that point is in.
|
| int2 | TabRowCursor (const DockNode &leaf, int2 cursor) |
| | The cursor as the tab rows see it: off the rows (above, below, or in a gap between wrapped rows) it moves to the nearest row, so it is on one.
|
| int | TabInsertionIndex (const DockNode &leaf, int2 cursor) |
| | Where a tab dropped at cursor goes (0 = before the first, count = after the last): after every tab on the rows above, and those on its row it is right of the middle of.
|
| std::unique_ptr< DockNode > * | FindNodeOwner (std::unique_ptr< DockNode > &rootRef, const DockNode *target) |
| | The unique_ptr that owns target, or nullptr.
|
| DockNode * | SplitLeafAtZone (std::unique_ptr< DockNode > &leafRef, ID droppedPanelId, DockDropZone zone, CssPx initialSplitSize=200) |
| | Replaces the leaf with a split: droppedPanelId goes into a new leaf on the zone side (Left/Right/Top/Bottom only).
|
| std::string | SerializeDockTree (const DockNode &root, const std::function< std::string(ID)> &keyOf) |
| | Writes the tree as JSON, naming each panel by keyOf's stable key (a title or type), never its runtime ID, so the layout survives restarts.
|
| std::unique_ptr< DockNode > | ParseDockTree (std::string_view text, const std::function< std::optional< ID >(std::string_view)> &idOf) |
| | Rebuilds a tree from SerializeDockTree output.
|
| std::vector< ID > | UnplacedPanels (const DockNode &root, const std::vector< ID > &allPanels) |
| | Every ID in allPanels that does not appear in the tree, in order.
|
| std::string | JoinPath (std::string_view folder, std::string_view name) |
| | folder and name as one path.
|
| std::string_view | ParentPath (std::string_view path) |
| | The folder path is in; "" for an entry in the root (and for the root).
|
| std::string_view | FileName (std::string_view path) |
| | The last name in path.
|
| EventHandler | MakeMenuItemHandler (IDManager &idManager, GUIStateManager &guiStateManager, ElementStorage &elementStorage, MenuManager &menuManager, int depth, std::function< void()> onClick) |
| | Menu item event handler - fires the onClick callback on click/activation.
|
| EventHandler | MakeSubmenuTriggerHandler (IDManager &idManager, GUIStateManager &guiStateManager, ElementStorage &elementStorage, MenuManager &menuManager, int depth) |
| | Like MakeMenuItemHandler, but Right arrow or activation opens a submenu instead of closing.
|
| float | NodeViewZoom (const NodeView &view) |
| | The node view's zoom (1 = 100%).
|
| void | ZoomNodeView (NodeView &view, float factor, int2 pivot={}) |
| | Zooms by factor around pivot (pixels from the canvas centre), within 10%..100%.
|
| void | SetNodeViewCenter (NodeView &view, float2 center, float zoom) |
| | Centres the view on canvas point center at zoom (clamped to 10%..100%).
|
| void | FrameAllNodes (NodeView &view) |
| | Centres and zooms the view on all nodes (Home, the Fit button).
|
| void | ScrollNodeIntoView (NodeView &view, int nodeIdx, int32_t margin) |
| | Pans the view, at the same zoom, by as little as brings node nodeIdx inside it with margin pixels to spare; a node larger than the view shows its top-left.
|
| void | RenderCanvasGrid (CustomDrawContext &ctx, int32_t baseGridSize, color4f dotColor, float dotSize, int2 originOffset={}, IntRect clipCurrent={}) |
| | Infinite background dot grid for a pan/zoom canvas, drawn from a CustomDrawContext callback in the canvas's layout space (node.pos space): a dot on every grid point.
|
| constexpr int32_t | FloorDiv (int32_t a, int32_t b) |
| | a / b rounded toward negative infinity.
|
| constexpr int32_t | GridLineLE (int32_t v, int32_t origin, int32_t grid) |
| | The grid line (origin + k x grid) at or below v; grid must be > 0.
|
| constexpr int32_t | GridLineGE (int32_t v, int32_t origin, int32_t grid) |
| | The grid line (origin + k x grid) at or above v; grid must be > 0.
|
| constexpr int32_t | GridLineNearest (int32_t v, int32_t origin, int32_t grid) |
| | The grid line (origin + k x grid) nearest v, ties going down; grid must be > 0.
|
| WireRoute | BuildWireRoute (int2 outPt, int2 inPt, IntRect srcRect, IntRect tgtRect, int32_t grid, int2 gridOrigin, const WireRouteOverrides &overrides={}) |
| | Orthogonal route for a wire from an output socket (outPt, on srcRect's right edge) to an input socket (inPt, on tgtRect's left edge), with bends on the grid and clear of both bodies:
|
| constexpr uint32_t | WireKey (int targetNode, int targetProp) |
| | Stable key for a wire, identified by its target (input) endpoint - each input carries at most one incoming wire.
|
| constexpr PropertyEndpoint | WireInput (uint32_t wireKey) |
| | The input a WireKey names.
|
| std::optional< uint32_t > | WireAt (std::span< const DrawnWire > wires, int2 p, float tolerance) |
| | The wire within tolerance of point p (the closest when several are); none when no wire is.
|
| void | ApplyNodeViewEdit (NodeView &view, const NodeViewEdit &edit, bool undo=false) |
| | Redoes edit (its to values), or with undo restores its from values.
|
| void | CommitNodeViewEdit (NodeView &view, const NodeViewEdit &edit) |
| | Applies edit and reports it to view.onEdit.
|
| NodeViewEdit | ConnectEdit (const NodeView &view, PropertyEndpoint output, PropertyEndpoint input) |
| | An edit that wires output into Input; the input's old wire goes, the output keeps its others.
|
| NodeViewEdit | DisconnectEdit (const NodeView &view, PropertyEndpoint input) |
| | An edit that removes the wire into Input, with its lane overrides.
|
| NodeViewEdit | AddNodeEdit (const NodeView &view, NodeModel node, int index=-1) |
| | An edit that adds node at index (-1, or past the end: last), drawn in front of the others.
|
| NodeViewEdit | RemoveNodesEdit (const NodeView &view, std::span< const int > indices) |
| | An edit that removes the nodes at indices (in any order; ones out of range and repeats are skipped), with every wire into or out of them and those wires' lanes.
|
| NodeViewEdit | RerouteWireEdit (const NodeView &view, uint32_t wireKey, ID stableID, int2 pos) |
| | An edit that puts a reroute (NodeModel::reroute) on the wire wireKey (the WireKey of its input): the wire then runs from its output into the new reroute, and on from it into the input.
|
| std::unordered_map< uint32_t, WireLane > | ComputeWireLaneOffsets (const NodeView &view, PropertyEndpoint pendingOut={}, PropertyEndpoint pendingIn={}) |
| | Default lane offsets (grid steps) for wires between the same two nodes, so their lanes don't coincide: k wires, in input order, get (k-1)/2 counting down by one (one wire: 0; two: 0,-1; three: 1,0,-1; four: 1,0,-1,-2), so wires running down nest instead of crossing.
|
| WireRoute | BuildPendingWireRoute (int2 outPt, IntRect srcRect, int2 cursor, std::optional< int2 > inPt, IntRect tgtRect, int32_t grid, int2 gridOrigin, WireLane lane={}) |
| | A wire being dragged from an output: routed as the connection it would make when it is over an input that accepts it (inPt on tgtRect), else to cursor as if an input sat there.
|
| WireRoute | BuildPendingWireRouteToInput (int2 inPt, IntRect tgtRect, int2 cursor, std::optional< int2 > outPt, IntRect srcRect, int32_t grid, int2 gridOrigin, WireLane lane={}) |
| | A wire being dragged from an input: routed as the connection it would make when it is over an output that accepts it (outPt on srcRect), else from cursor as if an output sat there.
|
| bool | ConnectionAllowed (const NodeView &view, PropertyEndpoint out, PropertyEndpoint in) |
| | Whether a wire from output out to input in is allowed: never a same-node loop, otherwise the view's canConnect delegate decides (none: allowed).
|
| PropertyEndpoint | FirstInputAccepting (const NodeView &view, PropertyEndpoint output, int nodeIdx) |
| | The first input of node nodeIdx, top to bottom, that a wire from output may connect to; invalid when there is none.
|
| PropertyEndpoint | FirstOutputAccepting (const NodeView &view, PropertyEndpoint input, int nodeIdx) |
| | The first output of node nodeIdx, top to bottom, that may feed Input; invalid when there is none.
|
| int | NodeAtCanvasPos (const NodeView &view, float2 canvasPos) |
| | The node whose {pos, lastSize} rect holds canvasPos (node.pos space), the frontmost in view.ordering when several do; -1 when none does.
|
| void | ConnectSockets (NodeView &view, PropertyEndpoint output, PropertyEndpoint input) |
| | Wires output into Input without reporting to view.onEdit.
|
| void | BringNodeToFront (std::vector< int > &ordering, int n) |
| | Moves n to the front (last) of a z-order list, keeping the others' order.
|
| float2 | NodeViewScreenToCanvas (const float3x2 &viewTransform, IntRect canvasInnerRectScreen, int2 screen) |
| | A screen point in node.pos space, for a canvas whose padding box is canvasInnerRectScreen (screen pixels) and whose pan/zoom is viewTransform (view.transform).
|
| float2 | NodeViewScreenToCanvas (const NodeView &view, int2 screen) |
| | A screen point (as events have them) in node.pos space, through the pan/zoom and place the view was last drawn with.
|
| float2 | NodeViewCanvasToScreen (const NodeView &view, float2 canvasPos) |
| | A point in node.pos space on the screen, where the view last drew it: the other way round from NodeViewScreenToCanvas.
|
| std::unordered_set< ID > | ComputeNodesInMarquee (std::span< const NodeModel > nodes, IntRect canvasInnerRectScreen, const float3x2 &viewTransform, int2 marqueeStartScreen, int2 marqueeCurrentScreen) |
| | Stable IDs of nodes whose {pos, lastSize} rect lies fully inside the marquee, compared in node.pos space (canvas inner-rect relative, before the content transform).
|
| uint32_t | ComputeGPUStyleIndex (VisualBoxStyleIndex base, ElementState state) |
| | Flat GPU style index for a base pool index and state.
|