On this page
- API Reference
- Binding and input
- Desktop, windows, and panels
- Controls
- Echo Console
- Themes
- EchoChamberTheme
- EchoChamberThemeMidnightNeon
- EchoChamberThemePhosphorTerminal
- EchoChamberThemeBiohazardConsole
- EchoChamberThemeEmeraldUltraviolet
- EchoChamberThemeAmberForest
- EchoChamberThemeSakuraPunch
- EchoChamberThemeArcadeWave
- EchoChamberThemeCircuitCandy
- EchoChamberThemeToxicTerminal
- EchoChamberThemeSunsetGlitch
- EchoChamberThemeBubblegumTerminal
- EchoChamberThemeMangoMint
- Top-level functions
- Enums
- Macros
- Symbol index
API Reference
Complete reference for Echo Chamber’s roots, windows, panels, controls, input, themes, and Echo Console APIs. For explanations and worked examples, start with the teaching pages; this page is for looking up exact capabilities.
Binding and input
EchoChamberFieldBinding
Connects a control to a struct field whose target can change over time.
new EchoChamberFieldBinding(target_fn, key, fallback)
Methods
| Method | What it does |
|---|---|
SetFallback() | Sets the value returned when the target or field is unavailable. |
SetReadOnly() | Enables or disables writes through this binding. |
SetOnWrite() | Sets a callback that runs after a successful write as function(_target, _key, _next, _prev). When a control writes through a root, Echo Chamber queues this callback until its UI callback pass rather than running it during control drawing. |
GetTarget() | Returns the current target. The target function should only return the target and must not rebuild UI or run other callbacks. The target callback must only resolve the current target. It must not rebuild UI, mutate panels, or fire callbacks. |
Get() | Returns the current field value, or the fallback when the target or field is unavailable. |
Set() | Writes the field on the current target and runs the optional write callback. Returns false when the binding is read-only or has no usable target or key. |
Sets the value returned when the target or field is unavailable.
Enables or disables writes through this binding.
Sets a callback that runs after a successful write as function(_target, _key, _next, _prev). When a control writes through a root, Echo Chamber queues this callback until its UI callback pass rather than running it during control drawing.
Returns the current target. The target function should only return the target and must not rebuild UI or run other callbacks. The target callback must only resolve the current target. It must not rebuild UI, mutate panels, or fire callbacks.
Returns the current field value, or the fallback when the target or field is unavailable.
Writes the field on the current target and runs the optional write callback. Returns false when the binding is read-only or has no usable target or key.
EchoChamberInputBinding
Base type shared by Echo Chamber input bindings.
new EchoChamberInputBinding()
Methods
| Method | What it does |
|---|---|
GetKey() | Returns the keyboard keycode for a key binding, or undefined for other binding types. |
GetDisplayText() | Returns this binding as display text for help text or menu shortcuts. Returns the same text as EchoChamberInputFormatBinding(self). |
Returns the keyboard keycode for a key binding, or undefined for other binding types.
Returns this binding as display text for help text or menu shortcuts. Returns the same text as EchoChamberInputFormatBinding(self).
EchoChamberInputBindingKey
Keyboard binding for an Echo Chamber input action.
Inherits from EchoChamberInputBinding.
new EchoChamberInputBindingKey(key, check, ctrl, alt, shift)
Methods
| Method | What it does |
|---|---|
GetKey() | Returns the keyboard keycode used by this binding. |
Returns the keyboard keycode used by this binding.
EchoChamberInputBindingFunc
Function binding for an Echo Chamber input action.
Inherits from EchoChamberInputBinding.
new EchoChamberInputBindingFunc(fn)
EchoChamberInputBindingBlock
Blocks an input action from being inherited from a parent context.
Inherits from EchoChamberInputBinding.
new EchoChamberInputBindingBlock()
EchoChamberInputContext
Stores Echo Chamber input actions and can inherit bindings from a parent context.
new EchoChamberInputContext(id)
Methods
| Method | What it does |
|---|---|
SetParent() | Sets the parent context ID for inheritance. |
GetBinding() | Returns the binding for an action ID (or undefined if none). |
BindAction() | Binds an action to a binding instance. |
BindKey() | Binds an action to a keyboard key. |
BindFunc() | Binds an action to a custom function. |
BindBlock() | Binds an action to a blocker (prevents inheritance). |
ClearAction() | Clears a local action binding (falls back to parent context). |
Sets the parent context ID for inheritance.
Returns the binding for an action ID (or undefined if none).
Binds an action to a binding instance.
Binds an action to a keyboard key.
Binds an action to a custom function.
Binds an action to a blocker (prevents inheritance).
Clears a local action binding (falls back to parent context).
Desktop, windows, and panels
EchoChamberRoot
Owns the Echo Chamber windows, panels, controls, input, and shared UI state.
new EchoChamberRoot(theme)
Methods
RefreshTheme() | Reapplies the current theme and refreshes cached styles and layout defaults. |
MarkThemeDirty() | Alias of RefreshTheme(). |
ApplyTheme() | Apply a new theme and reapply defaults across windows and panels. |
GetDefaultInputContextId() | Returns the default input context ID used for global actions. |
BindCoreInputAction() | Binds a core Echo Chamber action in the default input context. |
GetInputContext() | Returns an input context by ID. |
CreateInputContext() | Returns an input context by ID, creating it if needed. New contexts inherit from the default context unless a parent is given. |
RemoveInputContext() | Removes an input context by ID (only if unused by any window). Returns false for the default context or contexts still used by a window. |
EC_InputPressed() | Checks whether an action is pressed in the active input context. |
EC_InputDown() | Checks whether an action is held down in the active input context. |
EC_InputReleased() | Checks whether an action was released in the active input context. |
AddPanel() | Adds a top-level panel to the root. |
CreateWindow() | Creates and registers a floating debug window. |
GetDebugManager() | Returns the shared Echo Chamber debug manager for this root. |
RegisterWindow() | Registers an externally created window instance. |
FindWindow() | Finds a registered window by ID. |
FindControl() | Finds a control by ID across all registered windows. |
DumpUI() | Dump the current UI tree and focus/overlay state to the debug log. |
RemoveWindow() | Removes a registered window and detach its panels/controls. |
BringWindowToFront() | Brings a window to the front of the z-order. |
BringWindowToFrontById() | Brings a window to the front by ID. |
SendWindowToBack() | Send a window to the back of the z-order. |
SetWindowZIndex() | Sets a window's z-order index (0 = back, last = front). |
SetModalWindow() | Sets the modal window (blocks input to other windows). |
ClearModalWindow() | Clears the modal window (if any). |
GetModalWindow() | Returns the current modal window (if any). |
IsWindowFrontmostForPointerInput() | Returns whether a window is treated as frontmost for pointer input after modal, overlay, and mouse-capture ownership are applied. |
BringWindowsBack() | Brings all windows back into view so their title bars remain accessible. |
ResetWindowLayouts() | Resets registered window layouts to their stored default rectangles and sizing limits. |
SetPersistenceFile() | Sets the INI filename used for saving and loading UI layout state. |
SetPersistenceSection() | Sets the INI section prefix used for saving and loading UI layout state. |
SaveLayout() | Saves window layout, z-order, and panel state to an INI file. |
LoadLayout() | Loads window layout, z-order, and panel state from an INI file. Windows and panels must already be created/registered before calling this. |
SetMouseCapture() | Captures the mouse for a window interaction (drag/resize). |
ClearMouseCapture() | Release mouse capture if owned by the given window. |
RunDesktop() | Runs the managed desktop: capture input, process the active window, draw all windows, then draw overlays and tooltip. Call once per frame from Draw GUI End for the root you want to display. RunDesktop() establishes Echo Chamber's independent window-backed canvas internally. One canvas unit corresponds to one game-window pixel at the default scale. |
ConsumeMouse() | Consume mouse input for all remaining controls this frame. |
ConsumeWheel() | Consume mouse wheel for all remaining scroll regions. |
DrawScrollArea() | Draws a scrollable clipped region and handle mouse wheel scrolling when hovered. Includes scrollbar thumb dragging and track page jumps. |
PushClipRect() | Push a clip rectangle. Any existing clip will be intersected with this one. |
PopClipRect() | Pop the most recently pushed clip rectangle. |
HitTestRect() | Simple hit test for a rectangle, respecting mouse_consumed and the current clip region. |
RequestTooltip() | Request a tooltip for a given control ID. |
DrawTooltipTextAt() | Draws tooltip text immediately at an Echo Chamber canvas anchor point. |
SetActiveOverlayOwner() | Mark a control as owning a modal overlay (e.g. a dropdown). |
ClearActiveOverlayOwner() | Clears the active overlay (if any). |
ConsumeOverlayCloseRequest() | Returns true if a close request is pending for the current active overlay owner ID. Consumes the request. |
ResolveAnchoredPopupRect() | Finds a popup rectangle beside a control while keeping it on screen. Returns undefined when _anchor_rect isn't a rectangle struct. The return struct is { rect, direction, space_above, space_below }. rect is { x1, y1, x2, y2 }, direction is the actual popup direction used after fallback, and the space fields are available vertical pixels before clamping. |
ResolvePointPopupRect() | Finds a popup rectangle beside a screen point while keeping it on screen. Returns { rect }, where rect is { x1, y1, x2, y2 } clamped to the popup viewport. |
ShouldClosePopupOnOutsideClick() | Returns true when a popup should close because the user clicked outside both its base rectangle and popup rectangle. |
DrawPopupFrame() | Draws a generic popup frame using popup styles. Draws only the generic popup background, border, and optional header band. Popup contents are drawn by the caller. |
OpenColorPickerPopup() | Opens the color picker popup. Use either bind_struct plus bind_key, or get_color plus set_color, for live color binding. on_change runs during edits, on_commit runs when closing with commit, and on_cancel runs when closing without commit. |
CloseColorPickerPopup() | Closes the color picker popup. |
IsColorPickerPopupOpen() | Returns whether the color picker popup is open. |
QueueOverlay() | Queue an overlay draw callback. Overlays are drawn after all windows. _draw_fn is called as function(_root). When _rect is supplied, Echo Chamber clips the overlay to that rectangle and consumes unhandled clicks inside it. |
OpenContextMenu() | Opens a context menu overlay at a screen position. |
CloseContextMenu() | Closes the active context menu overlay (if open). |
IsContextMenuOpen() | Returns true if the context menu overlay is open. |
ShowToast() | Shows a short non-blocking toast message. |
CopyToClipboard() | Copies text to clipboard and show a toast confirmation. |
FocusTextInput() | Focuses a text input by ID and sets its starting text. The optional _commit_fn runs with the final text when focus is lost. _commit_fn is called as function(_final_text) on blur unless the edit is cancelled. |
BlurTextInput() | Removes focus from a text input, commits its text, and returns the final string without submitting it. |
SubmitTextInput() | Submits a focused text input, commits its text, runs OnSubmit, and returns the final string. |
CancelTextInput() | Cancels editing, discards the current changes, and removes focus without committing or submitting. |
IsActiveTextInput() | Returns true if the given ID is the currently focused text input. |
GetActiveText() | Returns the current text while a text input is focused. |
GetTextBuffer() | Returns the last committed text for the active text input. |
FocusControl() | Give keyboard focus to a non-text control by ID. This focus is separate from text input focus. |
IsControlFocused() | Returns true if the given control ID currently owns keyboard focus (and no text input is active). |
BlurControlFocus() | Clears keyboard focus from a control by ID. |
Reapplies the current theme and refreshes cached styles and layout defaults.
Apply a new theme and reapply defaults across windows and panels.
Returns the default input context ID used for global actions.
Binds a core Echo Chamber action in the default input context.
Returns an input context by ID.
Returns an input context by ID, creating it if needed. New contexts inherit from the default context unless a parent is given.
Removes an input context by ID (only if unused by any window). Returns false for the default context or contexts still used by a window.
Checks whether an action is pressed in the active input context.
Checks whether an action is held down in the active input context.
Checks whether an action was released in the active input context.
Adds a top-level panel to the root.
Creates and registers a floating debug window.
Returns the shared Echo Chamber debug manager for this root.
Registers an externally created window instance.
Finds a registered window by ID.
Finds a control by ID across all registered windows.
Dump the current UI tree and focus/overlay state to the debug log.
Removes a registered window and detach its panels/controls.
Brings a window to the front of the z-order.
Brings a window to the front by ID.
Send a window to the back of the z-order.
Sets a window's z-order index (0 = back, last = front).
Sets the modal window (blocks input to other windows).
Clears the modal window (if any).
Returns whether a window is treated as frontmost for pointer input after modal, overlay, and mouse-capture ownership are applied.
Brings all windows back into view so their title bars remain accessible.
Resets registered window layouts to their stored default rectangles and sizing limits.
Sets the INI filename used for saving and loading UI layout state.
Sets the INI section prefix used for saving and loading UI layout state.
Saves window layout, z-order, and panel state to an INI file.
Loads window layout, z-order, and panel state from an INI file. Windows and panels must already be created/registered before calling this.
Captures the mouse for a window interaction (drag/resize).
Release mouse capture if owned by the given window.
Runs the managed desktop: capture input, process the active window, draw all windows, then draw overlays and tooltip. Call once per frame from Draw GUI End for the root you want to display. RunDesktop() establishes Echo Chamber's independent window-backed canvas internally. One canvas unit corresponds to one game-window pixel at the default scale.
Consume mouse input for all remaining controls this frame.
Consume mouse wheel for all remaining scroll regions.
Draws a scrollable clipped region and handle mouse wheel scrolling when hovered. Includes scrollbar thumb dragging and track page jumps.
Push a clip rectangle. Any existing clip will be intersected with this one.
Pop the most recently pushed clip rectangle.
Simple hit test for a rectangle, respecting mouse_consumed and the current clip region.
Request a tooltip for a given control ID.
Draws tooltip text immediately at an Echo Chamber canvas anchor point.
Mark a control as owning a modal overlay (e.g. a dropdown).
Clears the active overlay (if any).
Returns true if a close request is pending for the current active overlay owner ID. Consumes the request.
Finds a popup rectangle beside a control while keeping it on screen. Returns undefined when _anchor_rect isn't a rectangle struct. The return struct is { rect, direction, space_above, space_below }. rect is { x1, y1, x2, y2 }, direction is the actual popup direction used after fallback, and the space fields are available vertical pixels before clamping.
Finds a popup rectangle beside a screen point while keeping it on screen. Returns { rect }, where rect is { x1, y1, x2, y2 } clamped to the popup viewport.
Returns true when a popup should close because the user clicked outside both its base rectangle and popup rectangle.
Draws a generic popup frame using popup styles. Draws only the generic popup background, border, and optional header band. Popup contents are drawn by the caller.
Opens the color picker popup. Use either bind_struct plus bind_key, or get_color plus set_color, for live color binding. on_change runs during edits, on_commit runs when closing with commit, and on_cancel runs when closing without commit.
Closes the color picker popup.
Returns whether the color picker popup is open.
Queue an overlay draw callback. Overlays are drawn after all windows. _draw_fn is called as function(_root). When _rect is supplied, Echo Chamber clips the overlay to that rectangle and consumes unhandled clicks inside it.
Shows a short non-blocking toast message.
Copies text to clipboard and show a toast confirmation.
Focuses a text input by ID and sets its starting text. The optional _commit_fn runs with the final text when focus is lost. _commit_fn is called as function(_final_text) on blur unless the edit is cancelled.
Removes focus from a text input, commits its text, and returns the final string without submitting it.
Submits a focused text input, commits its text, runs OnSubmit, and returns the final string.
Cancels editing, discards the current changes, and removes focus without committing or submitting.
Returns true if the given ID is the currently focused text input.
Returns the current text while a text input is focused.
Returns the last committed text for the active text input.
Give keyboard focus to a non-text control by ID. This focus is separate from text input focus.
Returns true if the given control ID currently owns keyboard focus (and no text input is active).
Clears keyboard focus from a control by ID.
EchoChamberScrollState
Stores scroll position and drag state for a scrollable region.
new EchoChamberScrollState(id)
Methods
| Method | What it does |
|---|---|
SetScrollY() | Sets the scroll offset in pixels. |
ScrollBy() | Scroll by a delta in pixels (positive scrolls down). |
Reset() | Resets scroll to the top. |
Sets the scroll offset in pixels.
Scroll by a delta in pixels (positive scrolls down).
EchoChamberWindow
Floating debug window that owns a collection of docked panels.
new EchoChamberWindow(id)
Methods
SetTitle() | Sets the window title text. |
SetInputContext() | Sets the input context ID used for this window. Pass undefined for _context_id to clear the window input context. |
SwapInputContext() | Swap the window input context and remove the old context if it is unused. |
SetStyleKey() | Sets the generic main style key for this window. |
Style() | Returns the style controls for this window's body, header, and window buttons. |
SetStyleKeyHeader() | Sets the header style key. |
SetStyleKeyChromeButton() | Sets the chrome button style key for a specific chrome part. |
RefreshThemeOverride() | Reapply this window's effective theme and dirty this window subtree's style caches. |
MarkThemeDirty() | Alias of RefreshThemeOverride(). |
ApplyTheme() | Apply a theme override to this window and its children (does not affect other windows). |
ClearThemeOverride() | Clears the theme override for this window and reapply root defaults. |
SetVisible() | Shows or hides this window. |
OnClose() | Sets a callback that runs when the window is closed via the close button. |
OnMove() | Sets a callback that runs when the window position changes. |
OnResize() | Sets a callback that runs when the window size changes. |
OnShow() | Sets a callback that runs when the window becomes visible. |
OnHide() | Sets a callback that runs when the window is hidden. |
OnFocus() | Sets a callback that runs when the window receives keyboard focus. |
OnBlur() | Sets a callback that runs when the window loses keyboard focus. |
OnMinimize() | Sets a callback that runs when the window is minimized. |
OnRestore() | Sets a callback that runs when the window is restored from minimized state. |
Close() | Closes the window (sets visible to false). If an on_close callback exists, it is called. |
SetPinned() | Sets whether the window is pinned (disables dragging and resizing). |
TogglePinned() | Toggles pinned state. |
SetMinimized() | Sets whether the window is minimized (collapses content. only the title bar remains). |
ToggleMinimized() | Toggles minimized state. |
SetRect() | Sets the window rectangle in Echo Chamber canvas space. Size is clamped to min_width/min_height. |
SetPosition() | Sets the window position without changing its size. |
GetWidth() | Returns the current window width. |
GetHeight() | Returns the current window height. |
SetMinSize() | Sets minimum width and height for this window. |
SetMaxSize() | Sets maximum width and height for this window (0 means no max). |
SetDefaultLayout() | Store the default layout used when this window layout is reset. Optional min values default to 1. Optional max values default to 0, meaning no maximum. |
ResetLayout() | Resets this window to its stored default rectangle and sizing limits. |
SetAutoFit() | Sets whether this window auto-fits to content after layout changes. |
FitToContent() | Resize this window to fit its panels' content. |
AddPanel() | Adds a top-level panel to this window. |
AddScrollablePanelBody() | Adds a scrollable fill panel that contains the supplied child panels. |
RemovePanel() | Removes a panel from this window (top-level or nested). |
ClearPanels() | Removes all panels from this window. |
FindPanel() | Finds a panel by ID, including panels nested inside containers. |
FindControl() | Finds a control in this window by ID (searches nested panels too). |
MoveControlToPanel() | Move a control to another panel in this window. |
ContainsPoint() | Returns true if a point is inside this window's current rectangle (and the window is visible). |
BeginLayoutBatch() | Begin a layout batch (defers FitToContent calls until EndLayoutBatch). |
EndLayoutBatch() | End a layout batch and apply any deferred FitToContent. |
ProcessWindowInteractions() | Handles mouse interactions for dragging/resizing and chrome button clicks. Usually called by RunDesktop(). |
Draw() | Draws the window chrome and all owned panels. Usually called by RunDesktop(). |
Sets the window title text.
Sets the input context ID used for this window. Pass undefined for _context_id to clear the window input context.
Swap the window input context and remove the old context if it is unused.
Sets the generic main style key for this window.
Returns the style controls for this window's body, header, and window buttons.
Sets the header style key.
Sets the chrome button style key for a specific chrome part.
Reapply this window's effective theme and dirty this window subtree's style caches.
Apply a theme override to this window and its children (does not affect other windows).
Clears the theme override for this window and reapply root defaults.
Sets a callback that runs when the window is closed via the close button.
Sets a callback that runs when the window position changes.
Sets a callback that runs when the window size changes.
Sets a callback that runs when the window becomes visible.
Sets a callback that runs when the window is hidden.
Sets a callback that runs when the window receives keyboard focus.
Sets a callback that runs when the window loses keyboard focus.
Sets a callback that runs when the window is minimized.
Sets a callback that runs when the window is restored from minimized state.
Closes the window (sets visible to false). If an on_close callback exists, it is called.
Sets whether the window is pinned (disables dragging and resizing).
Sets whether the window is minimized (collapses content. only the title bar remains).
Sets the window rectangle in Echo Chamber canvas space. Size is clamped to min_width/min_height.
Sets the window position without changing its size.
Returns the current window width.
Returns the current window height.
Sets minimum width and height for this window.
Sets maximum width and height for this window (0 means no max).
Store the default layout used when this window layout is reset. Optional min values default to 1. Optional max values default to 0, meaning no maximum.
Resets this window to its stored default rectangle and sizing limits.
Adds a top-level panel to this window.
Adds a scrollable fill panel that contains the supplied child panels.
Removes a panel from this window (top-level or nested).
Removes all panels from this window.
Finds a panel by ID, including panels nested inside containers.
Finds a control in this window by ID (searches nested panels too).
Move a control to another panel in this window.
Returns true if a point is inside this window's current rectangle (and the window is visible).
Begin a layout batch (defers FitToContent calls until EndLayoutBatch).
End a layout batch and apply any deferred FitToContent.
Sets whether this window auto-fits to content after layout changes.
Resize this window to fit its panels' content.
Handles mouse interactions for dragging/resizing and chrome button clicks. Usually called by RunDesktop().
Draws the window chrome and all owned panels. Usually called by RunDesktop().
EchoChamberPanel
Layout panel docked to an edge or fill.
new EchoChamberPanel(id, dock)
Methods
SetStyleKey() | Sets the generic main style key for this panel. |
Style() | Returns this panel's local override style object, creating it if needed. Returns a local panel style override. Use this for one panel only. Use theme style families for shared styling. Use a panel-local override for one panel; use the theme style family when the style should be shared. |
LabelStyle() | Returns this panel's local label override style object, creating it if needed. Returns the default label style override used by controls inside this panel. |
SetContentDrawer() | Sets a custom content drawer for this panel. Echo Chamber calls the function after normal controls are drawn and clips it to the panel content rectangle. The callback is stored only when _fn is callable. |
GetThickness() | Returns panel thickness based on collapsed state. |
AddControl() | Adds a direct control to this panel. Rejected while the panel contains child panels. Assigns owner pointers and appends the control when the argument is a valid Echo Chamber control. Panels use mutually exclusive content modes: if the panel already contains child panels, the add is rejected with an Echo Chamber warning and returns undefined. |
InsertControl() | Insert a direct control at a specific index (clamped). Rejected while the panel contains child panels. Inserts a direct control at a clamped index. Index 0 means the first direct control. Like AddControl(), insertion is rejected while the panel contains child panels. |
MoveControl() | Reorder a direct control to a specific index (clamped). Reorders a direct child control only. Use MoveControlToPanel() for nested moves or cross-panel moves. |
MoveControlToPanel() | Move a control to another panel (direct or nested in this panel). Searches direct and nested controls under this panel, then moves the found control into _target_panel. If the target contains child panels, the move is rejected before the source control is removed. |
SetControlOrder() | Reorder direct controls using a list of ids (unlisted items keep their relative order at the end). |
RemoveControl() | Removes a control from this panel (direct or nested). Searches direct and nested controls. Removing a control clears ownership and related root state such as focus, tooltip, and overlay ownership. |
ClearControls() | Removes all direct controls from this panel. Removes only direct controls. Child panel contents are untouched. |
FindControl() | Finds a direct or nested control within this panel by ID. Searches direct controls first, then controls inside nested child panels. |
AddChildPanel() | Adds a child panel. Rejected while the panel contains direct controls. A successful add marks the panel as a container. If direct controls are already present, Echo Chamber warns, rejects the add, and returns undefined. |
RemoveChildPanel() | Removes a child panel from this panel (direct or nested). Searches direct and nested child panels, then detaches the found panel tree. |
ClearChildPanels() | Removes all child panels from this panel. Removes direct child panels and clears their ownership pointers. |
SetActive() | Enables or disables this panel's participation in layout, drawing, and input. |
SetSizeMode() | Configure how this panel resolves its dock size. |
SetSize() | Sets dock thickness when using fixed sizing. |
SetFlowMode() | Sets how child controls flow within the panel. ROW wraps controls across rows. COLUMN stacks controls vertically. |
SetRowAlign() | Sets how packed direct controls are aligned inside a ROW panel. Applies to packed rows only. It controls where a row sits when it doesn't fill the available width. |
SetRowVerticalAlign() | Sets how direct controls are aligned vertically inside each ROW panel row. |
SetRowDistribution() | Sets how direct controls consume available width in a ROW panel. PACK keeps controls at desired widths. FILL distributes available row width to fill-width controls. |
SetMinSize() | Sets minimum dock thickness when using fit-to-content. |
SetMaxSize() | Sets maximum dock thickness when using fit-to-content. |
SetScrollable() | Sets whether this panel scrolls its contents vertically when content overflows. Scrollable panels require either an assigned EchoChamberScrollState or the internal state created by the panel. |
SetScrollState() | Sets a scroll state for this panel (used when scrollable). Assigns this panel's scroll state. SetScrollable(true) creates an internal scroll state automatically when the panel doesn't already have one. |
SetLabelPlacement() | Sets the default label placement for controls in this panel. This is the default label placement for child controls. Individual controls can override it. |
SetLabelGap() | Sets the default label gap for this panel. |
SetLabelWidth() | Sets the default label column width for this panel (-1 uses auto width). |
SetLabelWidthClamp() | Sets min/max clamp values for the auto label column width. The clamp applies to auto label column width. If _max_px is omitted, Echo Chamber uses _min_px for both limits, so the automatic label width is fixed to that clamped value. |
SetStyleKeyLabel() | Sets the panel default label style key. |
SetCollapseMode() | Sets the panel collapse mode. NONE disables the collapse handle. Directional modes decide which edge the panel collapses toward. |
SetCollapsed() | Sets whether this panel is collapsed. |
Sets the generic main style key for this panel.
Returns this panel's local override style object, creating it if needed. Returns a local panel style override. Use this for one panel only. Use theme style families for shared styling. Use a panel-local override for one panel; use the theme style family when the style should be shared.
Returns this panel's local label override style object, creating it if needed. Returns the default label style override used by controls inside this panel.
Adds a direct control to this panel. Rejected while the panel contains child panels. Assigns owner pointers and appends the control when the argument is a valid Echo Chamber control. Panels use mutually exclusive content modes: if the panel already contains child panels, the add is rejected with an Echo Chamber warning and returns undefined.
Insert a direct control at a specific index (clamped). Rejected while the panel contains child panels. Inserts a direct control at a clamped index. Index 0 means the first direct control. Like AddControl(), insertion is rejected while the panel contains child panels.
Reorder a direct control to a specific index (clamped). Reorders a direct child control only. Use MoveControlToPanel() for nested moves or cross-panel moves.
Move a control to another panel (direct or nested in this panel). Searches direct and nested controls under this panel, then moves the found control into _target_panel. If the target contains child panels, the move is rejected before the source control is removed.
Reorder direct controls using a list of ids (unlisted items keep their relative order at the end).
Removes a control from this panel (direct or nested). Searches direct and nested controls. Removing a control clears ownership and related root state such as focus, tooltip, and overlay ownership.
Removes all direct controls from this panel. Removes only direct controls. Child panel contents are untouched.
Adds a child panel. Rejected while the panel contains direct controls. A successful add marks the panel as a container. If direct controls are already present, Echo Chamber warns, rejects the add, and returns undefined.
Removes a child panel from this panel (direct or nested). Searches direct and nested child panels, then detaches the found panel tree.
Removes all child panels from this panel. Removes direct child panels and clears their ownership pointers.
Finds a direct or nested control within this panel by ID. Searches direct controls first, then controls inside nested child panels.
Enables or disables this panel's participation in layout, drawing, and input.
Configure how this panel resolves its dock size.
Sets dock thickness when using fixed sizing.
Sets how child controls flow within the panel. ROW wraps controls across rows. COLUMN stacks controls vertically.
Sets how packed direct controls are aligned inside a ROW panel. Applies to packed rows only. It controls where a row sits when it doesn't fill the available width.
Sets how direct controls are aligned vertically inside each ROW panel row.
Sets how direct controls consume available width in a ROW panel. PACK keeps controls at desired widths. FILL distributes available row width to fill-width controls.
Sets whether this panel scrolls its contents vertically when content overflows. Scrollable panels require either an assigned EchoChamberScrollState or the internal state created by the panel.
Sets a scroll state for this panel (used when scrollable). Assigns this panel's scroll state. SetScrollable(true) creates an internal scroll state automatically when the panel doesn't already have one.
Sets the default label placement for controls in this panel. This is the default label placement for child controls. Individual controls can override it.
Sets the default label gap for this panel.
Sets the default label column width for this panel (-1 uses auto width).
Sets min/max clamp values for the auto label column width. The clamp applies to auto label column width. If _max_px is omitted, Echo Chamber uses _min_px for both limits, so the automatic label width is fixed to that clamped value.
Sets the panel default label style key.
Sets the panel collapse mode. NONE disables the collapse handle. Directional modes decide which edge the panel collapses toward.
Sets whether this panel is collapsed.
Sets minimum dock thickness when using fit-to-content.
Sets maximum dock thickness when using fit-to-content.
Sets a custom content drawer for this panel. Echo Chamber calls the function after normal controls are drawn and clips it to the panel content rectangle. The callback is stored only when _fn is callable.
Returns panel thickness based on collapsed state.
Controls
EchoChamberControlBase
Base type shared by all Echo Chamber controls.
new EchoChamberControlBase(id)
Methods
GetRoot() | Returns the owning root for this control (if attached). Returns undefined until the control is attached to a root or window. |
GetWindow() | Returns the owning window for this control (if attached). |
GetPanel() | Returns the owning panel for this control (if attached). |
SetStyleKey() | Sets the generic style key for this control. |
Style() | Returns this control's local override style object, creating it if needed. The returned override is local to this control; use theme style families for shared styling. |
SetPreferredWidth() | Sets a preferred pixel width for this control when arranged in a row panel. |
SetPreferredHeight() | Sets a preferred pixel height for this control. |
SetFillWidth() | Sets whether this control fills the available row width. |
SetCaption() | Sets the control caption (drawn by controls that have built-in captions). |
SetLabel() | Sets the panel-drawn label text for this control. |
SetLabelPlacement() | Sets where this control's label is drawn. |
SetLabelGap() | Sets label spacing from the control body in pixels (-1 uses panel/theme defaults). |
SetLabelWidth() | Sets label width in pixels for leading labels (-1 uses panel/theme defaults). |
SetLabelAutoMinControlWidth() | Sets the minimum body width required before AUTO labels stay leading (-1 uses panel/theme defaults). |
SetStyleKeyLabel() | Sets the label style key (looked up in theme.label_styles). |
SetLabelAlign() | Sets label alignment override. |
SetLabelEnabled() | Enables or disables panel-drawn labels for this control. |
SetTooltip() | Sets the control tooltip (shown on hover when supported). |
SetVisible() | Shows or hides this control. |
SetEnabled() | Enables or disables this control (disabled controls should not accept input). |
DrawManual() | Draws this control manually inside the given rectangle. Draws a control outside normal panel layout. Pass the root and panel context that should own input, theme, tooltip, and focus behavior for the manual draw. |
Returns the owning root for this control (if attached). Returns undefined until the control is attached to a root or window.
Returns the owning window for this control (if attached).
Returns the owning panel for this control (if attached).
Sets the generic style key for this control.
Returns this control's local override style object, creating it if needed. The returned override is local to this control; use theme style families for shared styling.
Sets a preferred pixel width for this control when arranged in a row panel.
Sets a preferred pixel height for this control.
Sets whether this control fills the available row width.
Sets the control caption (drawn by controls that have built-in captions).
Sets the panel-drawn label text for this control.
Sets where this control's label is drawn.
Sets label spacing from the control body in pixels (-1 uses panel/theme defaults).
Sets label width in pixels for leading labels (-1 uses panel/theme defaults).
Sets the minimum body width required before AUTO labels stay leading (-1 uses panel/theme defaults).
Sets the label style key (looked up in theme.label_styles).
Enables or disables panel-drawn labels for this control.
Sets the control tooltip (shown on hover when supported).
Shows or hides this control.
Enables or disables this control (disabled controls should not accept input).
Draws this control manually inside the given rectangle. Draws a control outside normal panel layout. Pass the root and panel context that should own input, theme, tooltip, and focus behavior for the manual draw.
EchoChamberTextBlock
Non-interactive text block.
Inherits from EchoChamberControlBase.
new EchoChamberTextBlock(id)
Methods
| Method | What it does |
|---|---|
SetText() | Sets the text block text. |
BindText() | Binds the text block text to a field binding, struct field, or getter function. If _source is callable, it's used as the getter. If _source is a struct, _key_or_fn is converted to the field key. A field binding resolves its target dynamically. |
Sets the text block text.
Binds the text block text to a field binding, struct field, or getter function. If _source is callable, it's used as the getter. If _source is a struct, _key_or_fn is converted to the field key. A field binding resolves its target dynamically.
EchoChamberButton
Clickable button.
Inherits from EchoChamberControlBase.
new EchoChamberButton(id)
Methods
| Method | What it does |
|---|---|
OnClick() | Sets a callback to run when the button is activated (click or Enter while focused). |
SetIcon() | Sets the button icon sprite. |
SetIconSubimg() | Sets the button icon subimage. |
ClearIcon() | Clears the button icon. |
BindCaption() | Binds the button caption to a field binding, struct field, or getter function. |
Sets a callback to run when the button is activated (click or Enter while focused).
Sets the button icon subimage.
Binds the button caption to a field binding, struct field, or getter function.
EchoChamberSlider
Horizontal slider control.
Inherits from EchoChamberControlBase.
new EchoChamberSlider(id)
Methods
| Method | What it does |
|---|---|
SetRange() | Sets the slider range. |
SetStep() | Sets step snapping size (0 disables snapping). |
SetValueFormatter() | Sets a formatter callback for built-in value text. |
SetValueDecimals() | Sets decimal precision for built-in value text (-1 uses default string conversion). |
BindValue() | Binds the slider value to a field binding, struct field, or getter/setter function pair. Function binding uses _source as getter and _key_or_fn as setter when _key_or_fn is callable. |
OnChange() | Sets a callback that runs when the value changes. |
Sets the slider range.
Sets step snapping size (0 disables snapping).
Sets a formatter callback for built-in value text.
Sets decimal precision for built-in value text (-1 uses default string conversion).
Binds the slider value to a field binding, struct field, or getter/setter function pair. Function binding uses _source as getter and _key_or_fn as setter when _key_or_fn is callable.
Sets a callback that runs when the value changes.
EchoChamberToggle
Checkbox-style toggle.
Inherits from EchoChamberControlBase.
new EchoChamberToggle(id)
Methods
| Method | What it does |
|---|---|
BindValue() | Binds the toggle state to a field binding, struct field, or getter/setter function pair. |
OnChange() | Sets a callback that runs when the value changes. |
Binds the toggle state to a field binding, struct field, or getter/setter function pair.
Sets a callback that runs when the value changes.
EchoChamberTextInput
Single-line text input.
Inherits from EchoChamberControlBase.
new EchoChamberTextInput(id)
Methods
BindText() | Binds this text input to a field binding, struct field, or getter/setter function pair. |
OnChange() | Sets a callback that runs when text is committed. |
OnSubmit() | Sets a callback that runs when text is submitted (committed edit). |
SetSubmitOnEnter() | Sets whether pressing Enter submits this text input. |
OnHistoryPrevious() | Sets a callback that returns the previous history text for this input. |
OnHistoryNext() | Sets a callback that returns the next history text for this input. |
OnCancel() | Sets a callback that runs when text editing is cancelled. |
OnFocus() | Sets a callback that runs when this text input gains editing focus. |
OnBlur() | Sets a callback that runs when this text input loses editing focus. |
OnLiveChange() | Sets a callback that runs while the user edits text (typing, delete, paste, undo/redo). |
SetLiveChangeRateMs() | Sets a throttle rate for the live change callback (0 = no throttling). |
SetOnLiveChange() | Sets the live change callback and its rate in one call. |
SetPlaceholder() | Sets the placeholder text shown when empty and not active. |
SetContextMenuStyleKey() | Sets the context menu style key used by this input's built-in context menus. |
SetReadOnly() | Sets whether this text input is read-only. |
SetMaxLength() | Sets the maximum number of characters allowed (0 = unlimited). |
SetAllowedChars() | Restrict input to the characters in the given string (empty = allow all). |
SetDeniedChars() | Reject any characters contained in the given string. |
SetNumericOnly() | Restrict input to numeric characters. |
SetSelectAllOnFocus() | Selects all text when the input gains focus. |
SetFilter() | Sets a filter function that can mutate inserted text. The filter can mutate inserted text after transforms and before built-in validators finish. |
AddTransform() | Adds a text transform function applied before SetFilter and built-in validators. |
ClearTransforms() | Clears all transform functions. |
SetAutoTrim() | Enables or disables automatic trim of inserted text. |
SetAutoUpper() | Enables or disables automatic uppercase transform. |
SetAutoLower() | Enables or disables automatic lowercase transform. |
SetInvalid() | Mark this text input as invalid for styling. |
SetValidationMessage() | Sets a validation message and kind to show to the user. |
ClearValidationMessage() | Clears any validation message. |
SetValidationVisible() | Shows or hides validation messaging. |
SetValidationDisplay() | Sets how the validation message is displayed. |
SetInputMode() | Sets the input mode (TEXT/INT/FLOAT/IDENTIFIER/PATH/CODE/PASSWORD). Integer and float modes enable numeric filtering. Code mode enables tab insertion and auto indent. Password mode masks display text. |
SetInputModeInt() | Sets the input mode to INT. |
SetInputModeFloat() | Sets the input mode to FLOAT. |
SetInputModeCode() | Sets the input mode to CODE. |
SetInputModePassword() | Sets the input mode to PASSWORD. |
SetTabInserts() | Enables or disables Tab insertion while editing (disables Tab focus cycling when active). |
SetTabUsesSpaces() | Sets whether Tab inserts spaces instead of a tab character. |
SetTabSpaces() | Sets how many spaces are inserted when Tab uses spaces. |
SetBackgroundSprite() | Sets the background sprite for this input (-1 to clear). |
SetBorderSprite() | Sets the border sprite for this input (-1 to clear). |
SetCaretSprite() | Sets the caret sprite for this input (-1 to clear). |
SetGripSprite() | Sets the TextBox resize grip sprite (-1 to clear). |
SetExpandSprite() | Sets the TextBox expand button sprite (-1 to clear). |
SetSkinTint() | Enables or disables extra skin tint multiplication for sprites. |
SetForceSizeFromBackgroundSprite() | Sets this control size to match the current background sprite. |
SetForceSizeFromBorderSprite() | Sets this control size to match the current border sprite. |
SetForceSizeFromSprite() | Sets this control size to match a sprite asset. |
ClearForceSize() | Clears forced sizing and restore previous layout sizing. |
Binds this text input to a field binding, struct field, or getter/setter function pair.
Sets the placeholder text shown when empty and not active.
Sets a callback that runs when text is committed.
Sets a callback that runs when text is submitted (committed edit).
Sets whether pressing Enter submits this text input.
Sets a callback that returns the previous history text for this input.
Sets a callback that returns the next history text for this input.
Sets a callback that runs when text editing is cancelled.
Sets a callback that runs when this text input gains editing focus.
Sets a callback that runs when this text input loses editing focus.
Sets a callback that runs while the user edits text (typing, delete, paste, undo/redo).
Sets a throttle rate for the live change callback (0 = no throttling).
Sets the live change callback and its rate in one call.
Sets whether this text input is read-only.
Sets the maximum number of characters allowed (0 = unlimited).
Restrict input to the characters in the given string (empty = allow all).
Reject any characters contained in the given string.
Restrict input to numeric characters.
Selects all text when the input gains focus.
Sets a filter function that can mutate inserted text. The filter can mutate inserted text after transforms and before built-in validators finish.
Adds a text transform function applied before SetFilter and built-in validators.
Enables or disables automatic trim of inserted text.
Enables or disables automatic uppercase transform.
Enables or disables automatic lowercase transform.
Mark this text input as invalid for styling.
Sets a validation message and kind to show to the user.
Shows or hides validation messaging.
Sets how the validation message is displayed.
Sets the input mode (TEXT/INT/FLOAT/IDENTIFIER/PATH/CODE/PASSWORD). Integer and float modes enable numeric filtering. Code mode enables tab insertion and auto indent. Password mode masks display text.
Sets the input mode to PASSWORD.
Enables or disables Tab insertion while editing (disables Tab focus cycling when active).
Sets whether Tab inserts spaces instead of a tab character.
Sets how many spaces are inserted when Tab uses spaces.
Sets the background sprite for this input (-1 to clear).
Sets the border sprite for this input (-1 to clear).
Sets the caret sprite for this input (-1 to clear).
Sets the TextBox resize grip sprite (-1 to clear).
Sets the TextBox expand button sprite (-1 to clear).
Enables or disables extra skin tint multiplication for sprites.
Sets this control size to match the current background sprite.
Sets this control size to match the current border sprite.
Sets this control size to match a sprite asset.
Clears forced sizing and restore previous layout sizing.
EchoChamberTextBox
Multi-line text box with vertical scrolling.
Inherits from EchoChamberTextInput.
new EchoChamberTextBox(id)
Methods
| Method | What it does |
|---|---|
SetWrap() | Enables or disables word wrapping. |
SetVisibleRows() | Sets how many rows should be visible (uses font line height). |
SetMinHeight() | Sets the minimum pixel height. |
SetMaxHeight() | Sets the maximum pixel height (0 = unlimited). |
SetResizable() | Enables or disables the resize grip. |
SetUseOverlayEditor() | Enables or disables the overlay editor affordance. |
SetEditorOverlayStyleKey() | Sets the editor overlay style key used by this text box's modal editor. |
Enables or disables word wrapping.
Sets how many rows should be visible (uses font line height).
Sets the maximum pixel height (0 = unlimited).
Enables or disables the resize grip.
Enables or disables the overlay editor affordance.
Sets the editor overlay style key used by this text box's modal editor.
EchoChamberSeparator
Non-interactive separator line.
Inherits from EchoChamberControlBase.
new EchoChamberSeparator(id)
Methods
| Method | What it does |
|---|---|
SetOrientation() | Sets separator orientation. |
EchoChamberListView
List control for very large lists. It only draws and checks input for rows that are on screen.
Inherits from EchoChamberControlBase.
new EchoChamberListView(id)
Methods
SetVisibleRows() | Sets how many rows should be visible (uses row height). |
SetAutoHeightFromCount() | Auto-size to the current row count, clamped to a maximum number of rows. |
SetAutoWidthFromContent() | Auto-size width to row content, sampling up to the given number of rows (0 disables). |
SetFillWidth() | Sets whether this list view fills available row width. |
SetPreferredHeight() | Sets the preferred pixel height for this list view (used by FitToContent). |
SetPreferredWidth() | Sets a preferred pixel width for this list view. |
SetRowMeasure() | Sets a function that returns row text or pixel width (used for auto width). |
SetCountGetter() | Sets a function that returns the current number of rows. |
SetRowDrawer() | Sets a function that draws a row's content. Background is drawn by the control. |
SetRowTooltipGetter() | Sets a function that returns complete tooltip text for the hovered row. Supplies complete tooltip text for the hovered row. Passing a non-callable value clears the getter. |
SetOnSelect() | Sets a callback that runs when the selection changes. |
SetOnActivate() | Sets a callback that runs when the active row is activated with Enter. |
SetOnDoubleClick() | Sets a callback that runs when a row is double clicked. |
SetOnRightClick() | Sets a callback that runs when a row is right clicked. _index is -1 when empty space was clicked. |
SetAutoScroll() | Enables or disables auto-scroll-to-bottom behavior. |
JumpToBottom() | Scroll the list to the bottom and resume auto-follow (if enabled). |
IsNearBottom() | Returns true if the list is currently near the bottom (based on the last draw). |
IsAutoFollowPaused() | Returns true if auto-follow is currently paused due to user scroll. |
GetSelectedIndex() | Returns the current selected row index (or -1). |
SetSelectedIndex() | Sets the selected row index (clamped to range). Use -1 to clear selection. |
Sets how many rows should be visible (uses row height).
Auto-size to the current row count, clamped to a maximum number of rows.
Auto-size width to row content, sampling up to the given number of rows (0 disables).
Sets whether this list view fills available row width.
Sets the preferred pixel height for this list view (used by FitToContent).
Sets a preferred pixel width for this list view.
Sets a function that returns row text or pixel width (used for auto width).
Sets a function that returns the current number of rows.
Sets a function that draws a row's content. Background is drawn by the control.
Sets a function that returns complete tooltip text for the hovered row. Supplies complete tooltip text for the hovered row. Passing a non-callable value clears the getter.
Sets a callback that runs when the selection changes.
Sets a callback that runs when the active row is activated with Enter.
Sets a callback that runs when a row is double clicked.
Sets a callback that runs when a row is right clicked. _index is -1 when empty space was clicked.
Enables or disables auto-scroll-to-bottom behavior.
Scroll the list to the bottom and resume auto-follow (if enabled).
Returns true if the list is currently near the bottom (based on the last draw).
Returns true if auto-follow is currently paused due to user scroll.
Returns the current selected row index (or -1).
Sets the selected row index (clamped to range). Use -1 to clear selection.
EchoChamberDropdownBase
Base control used by the dropdown variants.
Inherits from EchoChamberControlBase.
new EchoChamberDropdownBase(id)
Methods
| Method | What it does |
|---|---|
GetSelectedIndex() | Returns the selected option index. |
SetSelectedIndex() | Sets the selected option index (clamped to the available option range). |
DrawOverlayRow() | Draws a single row inside the dropdown overlay. |
SetOptions() | Sets the dropdown option labels array. |
BindOptions() | Binds this dropdown's options to a field binding, struct field, or getter function. Replaces the direct options array with a dynamic source. The source should return an array and must be cheap and side-effect-free because the dropdown consults it while resolving option labels and layout. |
SetUnfoldDirection() | Sets the preferred dropdown unfold direction. |
SetUseSelectedLabelWhenClosed() | Sets whether the base caption shows the selected option while closed. |
Returns the selected option index.
Sets the selected option index (clamped to the available option range).
Draws a single row inside the dropdown overlay.
Sets the dropdown option labels array.
Binds this dropdown's options to a field binding, struct field, or getter function. Replaces the direct options array with a dynamic source. The source should return an array and must be cheap and side-effect-free because the dropdown consults it while resolving option labels and layout.
Sets the preferred dropdown unfold direction.
Sets whether the base caption shows the selected option while closed.
EchoChamberDropdownSelect
Dropdown variant that binds a selected index to dynamic binding sources.
Inherits from EchoChamberDropdownBase.
new EchoChamberDropdownSelect(id)
Methods
| Method | What it does |
|---|---|
BindIndex() | Binds the selected index to a field binding, struct field, or getter/setter function pair. |
OnChange() | Sets a callback that runs when selection changes. |
GetSelectedIndex() | Returns the selected option index. |
SetSelectedIndex() | Sets the selected option index and update the bound source (if configured). |
Binds the selected index to a field binding, struct field, or getter/setter function pair.
Sets a callback that runs when selection changes.
Returns the selected option index.
Sets the selected option index and update the bound source (if configured).
EchoChamberDropdownToggleMenu
Dropdown variant that shows a checklist menu that stays open.
Inherits from EchoChamberDropdownBase.
new EchoChamberDropdownToggleMenu(id)
Methods
| Method | What it does |
|---|---|
SetItems() | Sets the toggle menu items and rebuild the overlay option count. |
OnAnyChange() | Sets a callback that runs after any item is toggled. |
GetSelectedIndex() | Returns a selected index placeholder (toggle menus do not have a single selected row). |
SetSelectedIndex() | No-op for toggle menus (kept for base compatibility). |
DrawOverlayRow() | Draws a checklist row in the overlay. |
EchoChamberColorButton
Clickable color swatch button that opens the root-managed color picker popup.
Inherits from EchoChamberControlBase.
new EchoChamberColorButton(id)
Methods
| Method | What it does |
|---|---|
BindColor() | Binds this color button to a field binding, struct field, or getter/setter function pair. |
OnChange() | Sets a callback that runs while the popup changes color live. |
OnCommit() | Sets a callback that runs when the popup commits. |
OnCancel() | Sets a callback that runs when the popup cancels. |
SetPopupStyleKey() | Sets the popup style key used by this color button's color picker. |
SetPopupDirection() | Sets the preferred popup direction. |
SetPopupVisualSpace() | Sets the popup visual space. |
SetPopupTitle() | Sets the popup title text. |
SetValueTextMode() | Sets the value text display mode. |
Binds this color button to a field binding, struct field, or getter/setter function pair.
Sets a callback that runs while the popup changes color live.
Sets a callback that runs when the popup commits.
Sets a callback that runs when the popup cancels.
Sets the popup style key used by this color button's color picker.
Sets the preferred popup direction.
Sets the popup visual space.
Sets the popup title text.
Sets the value text display mode.
Echo Console
EchoConsoleCommandArg
Argument metadata for a custom Echo Console command. Required arguments can't appear after optional arguments. TEXT consumes the rest of the command line and must be the final argument definition. Command lines are split on whitespace. Use TEXT when an argument needs to include spaces. The custom command callback receives _args as a plain struct. Each member name matches one argument name. The callback context struct contains root, debug_manager, command_key, command_name, raw_text, raw_args, target, target_kind, target_value, and target_summary. Callback returns: undefined means success, Bool controls success or failure, a struct { ok, message } controls both status and output text, and any other value is converted to successful output text.
new EchoConsoleCommandArg(name, type, required, description, default_value)
EchoConsoleTarget
Value object describing the current Echo Chamber debug target.
new EchoConsoleTarget(kind, value, label)
Methods
| Method | What it does |
|---|---|
IsNone() | Returns whether this target represents no active target. |
IsInstance() | Returns whether this target represents an instance. |
IsValid() | Returns whether this target still points at a valid runtime value. Instance targets are valid only while the instance still exists. NONE is considered valid. |
GetValue() | Returns the runtime value held by this target. |
GetLabel() | Returns the display label for this target. |
Returns whether this target represents no active target.
Returns whether this target represents an instance.
Returns whether this target still points at a valid runtime value. Instance targets are valid only while the instance still exists. NONE is considered valid.
Returns the runtime value held by this target.
Returns the display label for this target.
EchoConsoleManager
Shared state used by Echo Console and the other debug windows.
new EchoConsoleManager(root)
Methods
SetTarget() | Sets the active debug target. |
SetInstanceTarget() | Sets the active debug target to an instance. |
ClearTarget() | Clears the active debug target. |
GetTarget() | Returns the active debug target. |
GetTargetKind() | Returns the active debug target kind. |
GetTargetValue() | Returns the active debug target value. |
GetTargetRevision() | Returns the active debug target revision. |
GetTargetSummary() | Returns a display string for the active debug target. |
GetConsoleSummary() | Returns a display string for the main Echo Console hub status. |
StartInstancePick() | Starts instance pick mode. |
CancelPick() | Cancels active debug pick mode. |
IsPicking() | Returns whether any debug pick mode is active. |
IsPickingInstance() | Returns whether instance pick mode is active. |
GetPickMode() | Returns the active debug pick mode. |
GetPickHoverInstance() | Returns the currently hovered instance while picking. |
GetPickHoverCount() | Returns the number of valid instances currently under the picker. |
AddInstanceVariableWatch() | Adds an instance-variable watch. |
AddGlobalWatch() | Adds a global-variable watch. |
AddCallbackWatch() | Adds a callback watch. |
RemoveWatch() | Removes a watch. |
ClearWatches() | Clears all watches. |
BuildWatchesSnapshotText() | Builds a text report of current Echo Watches. |
StartInputRecording() | Starts GameMaker debug input recording. |
StopInputRecording() | Stops and save the current GameMaker debug input recording. |
PlayInputRecording() | Plays a saved GameMaker debug input recording. |
HandleAsyncSystem() | Routes an Async System event to the debug manager. |
CaptureSnapshot() | Captures an Echo Snapshot report. |
CopySnapshot() | Copies the latest Echo Snapshot report to the clipboard. |
SaveSnapshot() | Saves the latest Echo Snapshot report to a text file. |
ClearSavedSnapshots() | Clears saved Echo Snapshot reports from the current window session. |
EnableCrashCapture() | Enables Echo Crash Reports capture. |
DisableCrashCapture() | Disables Echo Crash Reports capture. |
HasCrashReport() | Returns whether a saved Echo Crash Report exists. |
CopyCrashReport() | Copies the saved Echo Crash Report to the clipboard. |
ClearCrashReport() | Clears the saved Echo Crash Report. |
GetCrashReportText() | Returns the saved Echo Crash Report text. |
AddCommand() | Adds a custom Echo Console command. Keys are normalized by Echo Console. Duplicate keys, invalid argument definitions, and non-callable callbacks return false. |
UnregisterCommand() | Unregister a custom Echo Console command. |
RunCommand() | Runs an Echo Console command line. |
GetCommandOutput() | Returns the latest command output text. |
GetCommandOutputIsError() | Returns whether the latest command output is an error. |
GetPreviousCommand() | Returns the previous command history entry. |
GetNextCommand() | Returns the next command history entry. |
RegisterTargetListener() | Registers a callback fired when the active debug target changes. Reusing a key replaces the existing listener callback. |
UnregisterTargetListener() | Removes a target-change listener by key. |
RegisterWindowOpener() | Registers a debug window opener. |
UnregisterWindowOpener() | Removes a debug window opener by key. |
OpenWindow() | Opens a registered debug window. |
OpenCommandHelp() | Opens the Echo Command Help window. |
ResetBuiltInWindowLayouts() | Resets Echo Console and built-in debug window layouts. |
RegisterOverlayDrawer() | Registers a debug GUI overlay drawer. Overlay drawers run behind Echo Chamber windows during debug overlay drawing. |
UnregisterOverlayDrawer() | Removes a debug GUI overlay drawer by key. |
Sets the active debug target.
Sets the active debug target to an instance.
Returns the active debug target kind.
Returns the active debug target value.
Returns the active debug target revision.
Returns a display string for the active debug target.
Returns a display string for the main Echo Console hub status.
Returns whether any debug pick mode is active.
Returns whether instance pick mode is active.
Returns the active debug pick mode.
eEchoChamberDebugPickMode enum. Returns the currently hovered instance while picking.
Adds an instance-variable watch.
Adds a global-variable watch.
Adds a callback watch.
Removes a watch.
Starts GameMaker debug input recording.
Stops and save the current GameMaker debug input recording.
Plays a saved GameMaker debug input recording.
Routes an Async System event to the debug manager.
Builds a text report of current Echo Watches.
Captures an Echo Snapshot report.
Copies the latest Echo Snapshot report to the clipboard.
Saves the latest Echo Snapshot report to a text file.
Clears saved Echo Snapshot reports from the current window session.
Enables Echo Crash Reports capture.
Disables Echo Crash Reports capture.
Returns whether a saved Echo Crash Report exists.
Copies the saved Echo Crash Report to the clipboard.
Clears the saved Echo Crash Report.
Returns the saved Echo Crash Report text.
Adds a custom Echo Console command. Keys are normalized by Echo Console. Duplicate keys, invalid argument definitions, and non-callable callbacks return false.
Unregister a custom Echo Console command.
Runs an Echo Console command line.
Returns the latest command output text.
Returns whether the latest command output is an error.
Returns the previous command history entry.
Returns the next command history entry.
Returns the number of valid instances currently under the picker.
Registers a callback fired when the active debug target changes. Reusing a key replaces the existing listener callback.
Removes a target-change listener by key.
Registers a debug window opener.
Removes a debug window opener by key.
Opens a registered debug window.
Opens the Echo Command Help window.
Resets Echo Console and built-in debug window layouts.
Registers a debug GUI overlay drawer. Overlay drawers run behind Echo Chamber windows during debug overlay drawing.
Removes a debug GUI overlay drawer by key.
Themes
EchoChamberTheme
Creates the shared Echo Chamber theme used by Statement Lens.
new EchoChamberTheme()
Methods
| Method | What it does |
|---|---|
GetGeneration() | Returns the generation. The generation increments when theme metrics or style defaults are refreshed. Echo Chamber uses it to invalidate cached resolved styles. |
GetHeaderFont() | Returns the theme font used for headers and window chrome. |
SetHeaderFont() | Sets the theme header font and propagate it to styles still following the header role. |
GetBodyFont() | Returns the theme font used for normal control and body text. |
SetBodyFont() | Sets the theme body font and propagate it to styles still following the body role. |
GetSmallFont() | Returns the theme font used for compact and informational text. |
SetSmallFont() | Sets the theme small font and propagate it to styles still following the small role. |
RefreshMetrics() | Recompute row heights based on current fonts and padding. Recomputes row heights from the current fonts and padding, then refreshes theme-owned style metrics. Call this after changing theme fonts, scale, or base spacing fields directly. |
Returns the generation. The generation increments when theme metrics or style defaults are refreshed. Echo Chamber uses it to invalidate cached resolved styles.
Returns the theme font used for headers and window chrome.
Sets the theme header font and propagate it to styles still following the header role.
Returns the theme font used for normal control and body text.
Sets the theme body font and propagate it to styles still following the body role.
Returns the theme font used for compact and informational text.
Sets the theme small font and propagate it to styles still following the small role.
Recompute row heights based on current fonts and padding. Recomputes row heights from the current fonts and padding, then refreshes theme-owned style metrics. Call this after changing theme fonts, scale, or base spacing fields directly.
EchoChamberThemeMidnightNeon
Dark midnight blues with neon purple accent.
Inherits from EchoChamberTheme.
new EchoChamberThemeMidnightNeon()
EchoChamberThemePhosphorTerminal
Creates a warm phosphor-green terminal theme with ivory text and restrained brass diagnostics.
Inherits from EchoChamberThemeMidnightNeon.
new EchoChamberThemePhosphorTerminal()
EchoChamberThemeBiohazardConsole
Creates an industrial charcoal-and-olive theme with acid green controls and hazard-yellow accents.
Inherits from EchoChamberThemeMidnightNeon.
new EchoChamberThemeBiohazardConsole()
EchoChamberThemeEmeraldUltraviolet
Creates a blackened aubergine theme with saturated emerald controls and ultraviolet counter-accents.
Inherits from EchoChamberThemeMidnightNeon.
new EchoChamberThemeEmeraldUltraviolet()
EchoChamberThemeAmberForest
Forest greens with warm amber highlights.
Inherits from EchoChamberTheme.
new EchoChamberThemeAmberForest()
EchoChamberThemeSakuraPunch
Inky plum with candy pink accents.
Inherits from EchoChamberTheme.
new EchoChamberThemeSakuraPunch()
EchoChamberThemeArcadeWave
Retro arcade navy with bright cyan accents.
Inherits from EchoChamberTheme.
new EchoChamberThemeArcadeWave()
EchoChamberThemeCircuitCandy
Playful teal and orange on a soft dark background.
Inherits from EchoChamberTheme.
new EchoChamberThemeCircuitCandy()
EchoChamberThemeToxicTerminal
Acid terminal green with rogue magenta highlights.
Inherits from EchoChamberTheme.
new EchoChamberThemeToxicTerminal()
EchoChamberThemeSunsetGlitch
Sunset oranges colliding with cyan and grape.
Inherits from EchoChamberTheme.
new EchoChamberThemeSunsetGlitch()
EchoChamberThemeBubblegumTerminal
Bubblegum pink UI with teal statement nodes.
Inherits from EchoChamberTheme.
new EchoChamberThemeBubblegumTerminal()
EchoChamberThemeMangoMint
Warm mango chrome with mint green graph.
Inherits from EchoChamberTheme.
new EchoChamberThemeMangoMint()
Top-level functions
Root and lifecycle
Returns the default Echo Chamber root. This returns the default global root used by the bundled setup, creating it first if needed.
Ensures the existence of the default Echo Chamber root. Creates global.__echo_chamber_root when it doesn't exist or isn't an EchoChamberRoot.
Releases cached GPU resources owned by Echo Chamber. Call this when you need Echo Chamber to discard GPU-backed caches, such as during resource/device lifecycle handling. Currently releases the built-in window chrome icon buffer cache.
Input
Formats a keyboard key code for display.
Formats an input binding for display in help text or menu shortcuts.
Echo Console
Opens the built-in Echo Console window, creating it if needed. Pass the root you're actually drawing with RunDesktop().
Returns the shared Echo Chamber debug manager for a root. Returns undefined when _ui_root isn't an EchoChamberRoot.
Sets the active Echo Chamber debug target to an instance. Returns false when the root is invalid, the instance is noone, or the instance no longer exists.
Clears the active Echo Chamber debug target.
Returns the active Echo Chamber debug target.
Opens a registered Echo Chamber debug window. Built-in keys use the ECHO_DEBUG_WINDOW_* macros. Custom keys must be registered with RegisterWindowOpener().
Starts Echo Chamber instance pick mode. Starts instance-pick mode. Left click selects an instance, while right click or Cancel exits pick mode.
Cancels the active Echo Chamber debug pick mode.
Returns whether Echo Chamber debug pick mode is active.
Adds an instance-variable watch to the Echo Watches window.
Adds a global-variable watch to the Echo Watches window.
Adds a callback watch to the Echo Watches window. The callback is evaluated by Echo Watches and its return value is displayed as the watched value.
Removes a watch from the Echo Watches window.
Removes all watches from the Echo Watches window.
Adds a custom Echo Console command. _callback is called as function(_args, _context). See EchoConsoleCommandArg() for parsed argument and context details.
Unregister a custom Echo Console command. Built-in commands can't be unregistered.
Runs an Echo Console command. Runs the command through the same parser used by Echo Console and updates the latest command output text.
Captures an Echo Snapshot report from the current runtime state.
Captures an Echo Snapshot report and copies it to the clipboard.
Captures an Echo Snapshot report and saves it to a text file.
Clears saved Echo Snapshot reports from the current window session.
Enables Echo Crash Reports capture for unhandled exceptions. _chain_previous defaults to true and lets the previous unhandled-exception handler run after Echo captures the report.
Disables Echo Crash Reports capture and restore the previous unhandled-exception handler.
Returns whether Echo has a saved last-crash report.
Copies the saved Echo Crash Report to the clipboard.
Delete the saved Echo Crash Report.
Starts GameMaker debug input recording.
Stops and save the current GameMaker debug input recording.
Plays a saved GameMaker debug input recording.
Opens the Echo Data Structure Scanner window.
Routes an Async System event to Echo Console debug systems. Call this from an Async System event when using the input recording playback helpers.
Library integration
Echo Console supports up to thirty library registrations. The Console reads them when its hub is built, so register a library before opening the Console if you want it to appear immediately.
Theme assets
Returns a font asset by name. If missing, returns the current draw font. Passing a valid font asset returns that asset. Passing a string resolves the asset name with asset_get_index().
Returns a sprite asset by name. If missing, returns -1. Passing a valid sprite asset returns that asset. Passing a string resolves the asset name with asset_get_index().
Enums
Layout and drawing
Chooses how a panel claims space from its parent. Echo Chamber lays out TOP, BOTTOM, LEFT, and RIGHT edge strips first, then gives FILL whatever space remains. Panels that use the same dock direction are handled in their added order.
Identifies which title-bar button on a window you want to style or address.
Names the built-in icon meaning used by window title-bar buttons.
Describes the current visual state of a title-bar icon so a style can provide different visuals for normal, hovered, pressed, or disabled states.
Chooses how a title-bar icon is represented: not drawn, drawn from a sprite, drawn from Echo Chamber's built-in buffer, or drawn as text.
Controls whether a panel can collapse and, when it can, which edge it collapses toward.
Chooses whether a docked panel uses an explicit thickness (FIXED) or sizes that thickness from its contents (FIT_CONTENT). For top/bottom panels the thickness is height, while for left/right panels it's width.
Chooses how a panel arranges its direct controls. ROW packs controls across rows and can wrap, while COLUMN stacks them vertically.
When a packed row doesn't use the full available width, chooses whether that row sits at the start, centre, or end.
Controls horizontal space inside packed rows. PACK keeps controls at their desired widths, while FILL distributes available row width to controls that are allowed to fill.
General left/centre/right alignment used by layouts, popups, and styles.
General top/middle/bottom alignment used by layouts and styles.
Chooses the shape drawn by style surfaces that support rectangular or rounded boxes.
Chooses where a control's separate form label is drawn. LEADING places it beside the control, ABOVE puts it above, NONE hides it, and AUTO lets the panel/style choose based on available room.
Chooses the horizontal alignment of label text. AUTO leaves the choice to the active label style and placement rules.
Popup and controls
Chooses whether an anchored popup prefers to open below or above its anchor, or lets Echo Chamber choose from the available space.
Chooses whether the colour picker presents its colour controls in HSV or HSL space.
Chooses whether a colour button also prints the current RGB value as text.
Chooses whether a slider's displayed value text appears above or below the slider body.
Describes how serious a validation message is when a text control reports a problem or informational note.
Chooses whether validation feedback is shown inline, as a tooltip, or chosen automatically.
Chooses whether a separator control draws horizontally or vertically.
Internal storage mode used by dynamic control bindings. Configure bindings with the relevant Bind*() method instead of assigning this enum directly.
Input
Chooses which moment of a key/input action counts: the first press, every frame it's held, or the release.
Describes whether a named Echo Chamber action is connected to a keyboard key, a custom function, or deliberately blocked from parent-context fallback.
Echo Console
Chooses the dedicated visual theme used by Echo Console and the other built-in debugger windows.
Tells the debugger what kind of value is currently selected as its shared target, such as a live instance, struct, global scope, asset, or log entry.
Lists the GameMaker DS types the Data Structure Scanner knows how to inspect.
Tells the Console command parser how to turn one typed argument into a GML value. TEXT consumes the rest of the command line and is useful for values containing spaces.
Describes whether a registered command callback receives raw command text or arguments that Echo Console has already parsed.
Describes whether the debugger is currently waiting for the user to click a live instance in the game.
Describes where a watch gets the value it keeps visible: one instance field, one global field, or a callback that calculates the value.
Macros
Version
Console setup
1vk_f1falseeEchoChamberDebugTheme.EMERALD_ULTRAVIOLETCore input action ids
Default core bindings
new EchoChamberInputBindingKey(vk_escape)new EchoChamberInputBindingKey(vk_enter)new EchoChamberInputBindingFunc(function() { return keyboard_check_pressed(vk_tab) && !keyboard_check(vk_shift); })new EchoChamberInputBindingFunc(function() { return keyboard_check_pressed(vk_tab) && keyboard_check(vk_shift); })new EchoChamberInputBindingKey(vk_pageup)new EchoChamberInputBindingKey(vk_pagedown)new EchoChamberInputBindingKey(vk_home)new EchoChamberInputBindingKey(vk_end)new EchoChamberInputBindingKey(vk_f12)Built-in debug window ids
Console limits
100Text input modes
Symbol index
AddCallbackWatch()EchoConsoleManagerAddChildPanel()EchoChamberPanelAddCommand()EchoConsoleManagerAddControl()EchoChamberPanelAddGlobalWatch()EchoConsoleManagerAddInstanceVariableWatch()EchoConsoleManagerAddPanel()EchoChamberRootAddPanel()EchoChamberWindowAddScrollablePanelBody()EchoChamberWindowAddTransform()EchoChamberTextInputApplyTheme()EchoChamberRootApplyTheme()EchoChamberWindowBeginLayoutBatch()EchoChamberWindowBindAction()EchoChamberInputContextBindBlock()EchoChamberInputContextBindCaption()EchoChamberButtonBindColor()EchoChamberColorButtonBindCoreInputAction()EchoChamberRootBindFunc()EchoChamberInputContextBindIndex()EchoChamberDropdownSelectBindKey()EchoChamberInputContextBindOptions()EchoChamberDropdownBaseBindText()EchoChamberTextBlockBindText()EchoChamberTextInputBindValue()EchoChamberSliderBindValue()EchoChamberToggleBlurControlFocus()EchoChamberRootBlurTextInput()EchoChamberRootBringWindowsBack()EchoChamberRootBringWindowToFront()EchoChamberRootBringWindowToFrontById()EchoChamberRootBuildWatchesSnapshotText()EchoConsoleManagerCancelPick()EchoConsoleManagerCancelTextInput()EchoChamberRootCaptureSnapshot()EchoConsoleManagerClearAction()EchoChamberInputContextClearActiveOverlayOwner()EchoChamberRootClearChildPanels()EchoChamberPanelClearControls()EchoChamberPanelClearCrashReport()EchoConsoleManagerClearForceSize()EchoChamberTextInputClearIcon()EchoChamberButtonClearModalWindow()EchoChamberRootClearMouseCapture()EchoChamberRootClearPanels()EchoChamberWindowClearSavedSnapshots()EchoConsoleManagerClearTarget()EchoConsoleManagerClearThemeOverride()EchoChamberWindowClearTransforms()EchoChamberTextInputClearValidationMessage()EchoChamberTextInputClearWatches()EchoConsoleManagerClose()EchoChamberWindowCloseColorPickerPopup()EchoChamberRootCloseContextMenu()EchoChamberRootConsumeMouse()EchoChamberRootConsumeOverlayCloseRequest()EchoChamberRootConsumeWheel()EchoChamberRootContainsPoint()EchoChamberWindowCopyCrashReport()EchoConsoleManagerCopySnapshot()EchoConsoleManagerCopyToClipboard()EchoChamberRootCreateInputContext()EchoChamberRootCreateWindow()EchoChamberRootDisableCrashCapture()EchoConsoleManagerDraw()EchoChamberWindowDrawManual()EchoChamberControlBaseDrawOverlayRow()EchoChamberDropdownBaseDrawOverlayRow()EchoChamberDropdownToggleMenuDrawPopupFrame()EchoChamberRootDrawScrollArea()EchoChamberRootDrawTooltipTextAt()EchoChamberRootDumpUI()EchoChamberRootEC_InputDown()EchoChamberRootEC_InputPressed()EchoChamberRootEC_InputReleased()EchoChamberRootEnableCrashCapture()EchoConsoleManagerEndLayoutBatch()EchoChamberWindowFindControl()EchoChamberPanelFindControl()EchoChamberRootFindControl()EchoChamberWindowFindPanel()EchoChamberWindowFindWindow()EchoChamberRootFitToContent()EchoChamberWindowFocusControl()EchoChamberRootFocusTextInput()EchoChamberRootGet()EchoChamberFieldBindingGetActiveText()EchoChamberRootGetBinding()EchoChamberInputContextGetBodyFont()EchoChamberThemeGetCommandOutput()EchoConsoleManagerGetCommandOutputIsError()EchoConsoleManagerGetConsoleSummary()EchoConsoleManagerGetCrashReportText()EchoConsoleManagerGetDebugManager()EchoChamberRootGetDefaultInputContextId()EchoChamberRootGetDisplayText()EchoChamberInputBindingGetGeneration()EchoChamberThemeGetHeaderFont()EchoChamberThemeGetHeight()EchoChamberWindowGetInputContext()EchoChamberRootGetKey()EchoChamberInputBindingGetKey()EchoChamberInputBindingKeyGetLabel()EchoConsoleTargetGetModalWindow()EchoChamberRootGetNextCommand()EchoConsoleManagerGetPanel()EchoChamberControlBaseGetPickHoverCount()EchoConsoleManagerGetPickHoverInstance()EchoConsoleManagerGetPickMode()EchoConsoleManagerGetPreviousCommand()EchoConsoleManagerGetRoot()EchoChamberControlBaseGetSelectedIndex()EchoChamberDropdownBaseGetSelectedIndex()EchoChamberDropdownSelectGetSelectedIndex()EchoChamberDropdownToggleMenuGetSelectedIndex()EchoChamberListViewGetSmallFont()EchoChamberThemeGetTarget()EchoChamberFieldBindingGetTarget()EchoConsoleManagerGetTargetKind()EchoConsoleManagerGetTargetRevision()EchoConsoleManagerGetTargetSummary()EchoConsoleManagerGetTargetValue()EchoConsoleManagerGetTextBuffer()EchoChamberRootGetThickness()EchoChamberPanelGetValue()EchoConsoleTargetGetWidth()EchoChamberWindowGetWindow()EchoChamberControlBaseHandleAsyncSystem()EchoConsoleManagerHasCrashReport()EchoConsoleManagerHitTestRect()EchoChamberRootInsertControl()EchoChamberPanelIsActiveTextInput()EchoChamberRootIsAutoFollowPaused()EchoChamberListViewIsColorPickerPopupOpen()EchoChamberRootIsContextMenuOpen()EchoChamberRootIsControlFocused()EchoChamberRootIsInstance()EchoConsoleTargetIsNearBottom()EchoChamberListViewIsNone()EchoConsoleTargetIsPicking()EchoConsoleManagerIsPickingInstance()EchoConsoleManagerIsValid()EchoConsoleTargetIsWindowFrontmostForPointerInput()EchoChamberRootJumpToBottom()EchoChamberListViewMarkThemeDirty()EchoChamberRootMarkThemeDirty()EchoChamberWindowMoveControl()EchoChamberPanelMoveControlToPanel()EchoChamberPanelMoveControlToPanel()EchoChamberWindowOnAnyChange()EchoChamberDropdownToggleMenuOnBlur()EchoChamberTextInputOnBlur()EchoChamberWindowOnCancel()EchoChamberColorButtonOnCancel()EchoChamberTextInputOnChange()EchoChamberColorButtonOnChange()EchoChamberDropdownSelectOnChange()EchoChamberSliderOnChange()EchoChamberTextInputOnChange()EchoChamberToggleOnClick()EchoChamberButtonOnClose()EchoChamberWindowOnCommit()EchoChamberColorButtonOnFocus()EchoChamberTextInputOnFocus()EchoChamberWindowOnHide()EchoChamberWindowOnHistoryNext()EchoChamberTextInputOnHistoryPrevious()EchoChamberTextInputOnLiveChange()EchoChamberTextInputOnMinimize()EchoChamberWindowOnMove()EchoChamberWindowOnResize()EchoChamberWindowOnRestore()EchoChamberWindowOnShow()EchoChamberWindowOnSubmit()EchoChamberTextInputOpenColorPickerPopup()EchoChamberRootOpenCommandHelp()EchoConsoleManagerOpenContextMenu()EchoChamberRootOpenWindow()EchoConsoleManagerPlayInputRecording()EchoConsoleManagerPopClipRect()EchoChamberRootProcessWindowInteractions()EchoChamberWindowPushClipRect()EchoChamberRootQueueOverlay()EchoChamberRootRefreshMetrics()EchoChamberThemeRefreshTheme()EchoChamberRootRefreshThemeOverride()EchoChamberWindowRegisterOverlayDrawer()EchoConsoleManagerRegisterTargetListener()EchoConsoleManagerRegisterWindow()EchoChamberRootRegisterWindowOpener()EchoConsoleManagerRemoveChildPanel()EchoChamberPanelRemoveControl()EchoChamberPanelRemoveInputContext()EchoChamberRootRemovePanel()EchoChamberWindowRemoveWatch()EchoConsoleManagerRemoveWindow()EchoChamberRootRequestTooltip()EchoChamberRootReset()EchoChamberScrollStateResetBuiltInWindowLayouts()EchoConsoleManagerResetLayout()EchoChamberWindowResetWindowLayouts()EchoChamberRootResolveAnchoredPopupRect()EchoChamberRootResolvePointPopupRect()EchoChamberRootRunCommand()EchoConsoleManagerRunDesktop()EchoChamberRootSaveLayout()EchoChamberRootSaveSnapshot()EchoConsoleManagerScrollBy()EchoChamberScrollStateSendWindowToBack()EchoChamberRootSet()EchoChamberFieldBindingSetActive()EchoChamberPanelSetActiveOverlayOwner()EchoChamberRootSetAllowedChars()EchoChamberTextInputSetAutoFit()EchoChamberWindowSetAutoHeightFromCount()EchoChamberListViewSetAutoLower()EchoChamberTextInputSetAutoScroll()EchoChamberListViewSetAutoTrim()EchoChamberTextInputSetAutoUpper()EchoChamberTextInputSetAutoWidthFromContent()EchoChamberListViewSetBackgroundSprite()EchoChamberTextInputSetBodyFont()EchoChamberThemeSetBorderSprite()EchoChamberTextInputSetCaption()EchoChamberControlBaseSetCaretSprite()EchoChamberTextInputSetCollapsed()EchoChamberPanelSetCollapseMode()EchoChamberPanelSetContentDrawer()EchoChamberPanelSetContextMenuStyleKey()EchoChamberTextInputSetControlOrder()EchoChamberPanelSetCountGetter()EchoChamberListViewSetDefaultLayout()EchoChamberWindowSetDeniedChars()EchoChamberTextInputSetEditorOverlayStyleKey()EchoChamberTextBoxSetEnabled()EchoChamberControlBaseSetExpandSprite()EchoChamberTextInputSetFallback()EchoChamberFieldBindingSetFillWidth()EchoChamberControlBaseSetFillWidth()EchoChamberListViewSetFilter()EchoChamberTextInputSetFlowMode()EchoChamberPanelSetForceSizeFromBackgroundSprite()EchoChamberTextInputSetForceSizeFromBorderSprite()EchoChamberTextInputSetForceSizeFromSprite()EchoChamberTextInputSetGripSprite()EchoChamberTextInputSetHeaderFont()EchoChamberThemeSetIcon()EchoChamberButtonSetIconSubimg()EchoChamberButtonSetInputContext()EchoChamberWindowSetInputMode()EchoChamberTextInputSetInputModeCode()EchoChamberTextInputSetInputModeFloat()EchoChamberTextInputSetInputModeInt()EchoChamberTextInputSetInputModePassword()EchoChamberTextInputSetInstanceTarget()EchoConsoleManagerSetInvalid()EchoChamberTextInputSetItems()EchoChamberDropdownToggleMenuSetLabel()EchoChamberControlBaseSetLabelAlign()EchoChamberControlBaseSetLabelAutoMinControlWidth()EchoChamberControlBaseSetLabelEnabled()EchoChamberControlBaseSetLabelGap()EchoChamberControlBaseSetLabelGap()EchoChamberPanelSetLabelPlacement()EchoChamberControlBaseSetLabelPlacement()EchoChamberPanelSetLabelWidth()EchoChamberControlBaseSetLabelWidth()EchoChamberPanelSetLabelWidthClamp()EchoChamberPanelSetLiveChangeRateMs()EchoChamberTextInputSetMaxHeight()EchoChamberTextBoxSetMaxLength()EchoChamberTextInputSetMaxSize()EchoChamberPanelSetMaxSize()EchoChamberWindowSetMinHeight()EchoChamberTextBoxSetMinimized()EchoChamberWindowSetMinSize()EchoChamberPanelSetMinSize()EchoChamberWindowSetModalWindow()EchoChamberRootSetMouseCapture()EchoChamberRootSetNumericOnly()EchoChamberTextInputSetOnActivate()EchoChamberListViewSetOnDoubleClick()EchoChamberListViewSetOnLiveChange()EchoChamberTextInputSetOnRightClick()EchoChamberListViewSetOnSelect()EchoChamberListViewSetOnWrite()EchoChamberFieldBindingSetOptions()EchoChamberDropdownBaseSetOrientation()EchoChamberSeparatorSetParent()EchoChamberInputContextSetPersistenceFile()EchoChamberRootSetPersistenceSection()EchoChamberRootSetPinned()EchoChamberWindowSetPlaceholder()EchoChamberTextInputSetPopupDirection()EchoChamberColorButtonSetPopupStyleKey()EchoChamberColorButtonSetPopupTitle()EchoChamberColorButtonSetPopupVisualSpace()EchoChamberColorButtonSetPosition()EchoChamberWindowSetPreferredHeight()EchoChamberControlBaseSetPreferredHeight()EchoChamberListViewSetPreferredWidth()EchoChamberControlBaseSetPreferredWidth()EchoChamberListViewSetRange()EchoChamberSliderSetReadOnly()EchoChamberFieldBindingSetReadOnly()EchoChamberTextInputSetRect()EchoChamberWindowSetResizable()EchoChamberTextBoxSetRowAlign()EchoChamberPanelSetRowDistribution()EchoChamberPanelSetRowDrawer()EchoChamberListViewSetRowMeasure()EchoChamberListViewSetRowTooltipGetter()EchoChamberListViewSetRowVerticalAlign()EchoChamberPanelSetScrollable()EchoChamberPanelSetScrollState()EchoChamberPanelSetScrollY()EchoChamberScrollStateSetSelectAllOnFocus()EchoChamberTextInputSetSelectedIndex()EchoChamberDropdownBaseSetSelectedIndex()EchoChamberDropdownSelectSetSelectedIndex()EchoChamberDropdownToggleMenuSetSelectedIndex()EchoChamberListViewSetSize()EchoChamberPanelSetSizeMode()EchoChamberPanelSetSkinTint()EchoChamberTextInputSetSmallFont()EchoChamberThemeSetStep()EchoChamberSliderSetStyleKey()EchoChamberControlBaseSetStyleKey()EchoChamberPanelSetStyleKey()EchoChamberWindowSetStyleKeyChromeButton()EchoChamberWindowSetStyleKeyHeader()EchoChamberWindowSetStyleKeyLabel()EchoChamberControlBaseSetStyleKeyLabel()EchoChamberPanelSetSubmitOnEnter()EchoChamberTextInputSetTabInserts()EchoChamberTextInputSetTabSpaces()EchoChamberTextInputSetTabUsesSpaces()EchoChamberTextInputSetTarget()EchoConsoleManagerSetText()EchoChamberTextBlockSetTitle()EchoChamberWindowSetTooltip()EchoChamberControlBaseSetUnfoldDirection()EchoChamberDropdownBaseSetUseOverlayEditor()EchoChamberTextBoxSetUseSelectedLabelWhenClosed()EchoChamberDropdownBaseSetValidationDisplay()EchoChamberTextInputSetValidationMessage()EchoChamberTextInputSetValidationVisible()EchoChamberTextInputSetValueDecimals()EchoChamberSliderSetValueFormatter()EchoChamberSliderSetValueTextMode()EchoChamberColorButtonSetVisible()EchoChamberControlBaseSetVisible()EchoChamberWindowSetVisibleRows()EchoChamberListViewSetVisibleRows()EchoChamberTextBoxSetWindowZIndex()EchoChamberRootSetWrap()EchoChamberTextBoxShouldClosePopupOnOutsideClick()EchoChamberRootShowToast()EchoChamberRootStartInputRecording()EchoConsoleManagerStartInstancePick()EchoConsoleManagerStopInputRecording()EchoConsoleManagerStyle()EchoChamberControlBaseStyle()EchoChamberPanelStyle()EchoChamberWindowSubmitTextInput()EchoChamberRootSwapInputContext()EchoChamberWindowUnregisterCommand()EchoConsoleManagerUnregisterOverlayDrawer()EchoConsoleManagerUnregisterTargetListener()EchoConsoleManagerUnregisterWindowOpener()EchoConsoleManagereEchoChamberDockenumECHO_CHAMBER_VERSIONmacroECHO_TEXTMODE_CODEmacroECHO_TEXTMODE_FLOATmacroECHO_TEXTMODE_INTmacroECHO_TEXTMODE_PATHmacroECHO_TEXTMODE_TEXTmacroECHO_UI_ACTION_ENDmacroECHO_UI_ACTION_HOMEmacroECHO_UI_BIND_ACCEPTmacroECHO_UI_BIND_CANCELmacroECHO_UI_BIND_ENDmacroECHO_UI_BIND_HOMEmacroECHO_UI_BIND_NAV_UPmacroECHO_UI_BIND_PAGE_UPmacro