On this page
  1. API Reference
    1. Binding and input
      1. EchoChamberFieldBinding
        1. Methods
      2. EchoChamberInputBinding
        1. Methods
      3. EchoChamberInputBindingKey
        1. Methods
      4. EchoChamberInputBindingFunc
      5. EchoChamberInputBindingBlock
      6. EchoChamberInputContext
        1. Methods
    2. Desktop, windows, and panels
      1. EchoChamberRoot
        1. Methods
      2. EchoChamberScrollState
        1. Methods
      3. EchoChamberWindow
        1. Methods
      4. EchoChamberPanel
        1. Methods
    3. Controls
      1. EchoChamberControlBase
        1. Methods
      2. EchoChamberTextBlock
        1. Methods
      3. EchoChamberButton
        1. Methods
      4. EchoChamberSlider
        1. Methods
      5. EchoChamberToggle
        1. Methods
      6. EchoChamberTextInput
        1. Methods
      7. EchoChamberTextBox
        1. Methods
      8. EchoChamberSeparator
        1. Methods
      9. EchoChamberListView
        1. Methods
      10. EchoChamberDropdownBase
        1. Methods
      11. EchoChamberDropdownSelect
        1. Methods
      12. EchoChamberDropdownToggleMenu
        1. Methods
      13. EchoChamberColorButton
        1. Methods
    4. Echo Console
      1. EchoConsoleCommandArg
      2. EchoConsoleTarget
        1. Methods
      3. EchoConsoleManager
        1. Methods
    5. Themes
      1. EchoChamberTheme
        1. Methods
      2. EchoChamberThemeMidnightNeon
      3. EchoChamberThemePhosphorTerminal
      4. EchoChamberThemeBiohazardConsole
      5. EchoChamberThemeEmeraldUltraviolet
      6. EchoChamberThemeAmberForest
      7. EchoChamberThemeSakuraPunch
      8. EchoChamberThemeArcadeWave
      9. EchoChamberThemeCircuitCandy
      10. EchoChamberThemeToxicTerminal
      11. EchoChamberThemeSunsetGlitch
      12. EchoChamberThemeBubblegumTerminal
      13. EchoChamberThemeMangoMint
    6. Top-level functions
      1. Root and lifecycle
      2. Input
      3. Echo Console
      4. Library integration
      5. Theme assets
    7. Enums
      1. Layout and drawing
      2. Popup and controls
      3. Input
      4. Echo Console
    8. Macros
      1. Version
      2. Console setup
      3. Core input action ids
      4. Default core bindings
      5. Built-in debug window ids
      6. Console limits
      7. Text input modes
    9. 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)
Arguments
target_fn Function function() -> Struct
key String|Real
fallback optional Any

Methods

MethodWhat 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.
SetFallback(value)

Sets the value returned when the target or field is unavailable.

Arguments
value Any
Returns
SetReadOnly([enabled])

Enables or disables writes through this binding.

Arguments
enabled optional Bool
Returns
SetOnWrite(fn)

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.

Arguments
fn Function
Returns
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.

Returns
Struct|Undefined
Get()

Returns the current field value, or the fallback when the target or field is unavailable.

Returns
Any
Set(value, [root])

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.

Arguments
value Any
root optional Struct.EchoChamberRoot|Undefined
Returns
Bool

EchoChamberInputBinding

Base type shared by Echo Chamber input bindings.

new EchoChamberInputBinding()

Methods

MethodWhat 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).
GetKey()

Returns the keyboard keycode for a key binding, or undefined for other binding types.

Returns
Real|Undefined
GetDisplayText()

Returns this binding as display text for help text or menu shortcuts. Returns the same text as EchoChamberInputFormatBinding(self).

Returns
String

EchoChamberInputBindingKey

Keyboard binding for an Echo Chamber input action.

Inherits from EchoChamberInputBinding.

new EchoChamberInputBindingKey(key, check, ctrl, alt, shift)
Arguments
key Real Keyboard keycode (vk_* or ord()).
check optional Real Input check type (pressed/down/released).
ctrl optional Bool Require Ctrl to be held.
alt optional Bool Require Alt to be held.
shift optional Bool Require Shift to be held.

Methods

MethodWhat it does
GetKey()Returns the keyboard keycode used by this binding.
GetKey()

Returns the keyboard keycode used by this binding.

Returns
Real

EchoChamberInputBindingFunc

Function binding for an Echo Chamber input action.

Inherits from EchoChamberInputBinding.

new EchoChamberInputBindingFunc(fn)
Arguments
fn Function Function that returns true when the action should fire.

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)
Arguments
id String Context ID.

Methods

MethodWhat 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).
SetParent(parent_id)

Sets the parent context ID for inheritance.

Arguments
parent_id String|Undefined
Returns
GetBinding(action_id)

Returns the binding for an action ID (or undefined if none).

Arguments
action_id String
Returns
BindAction(action_id, binding)

Binds an action to a binding instance.

Arguments
action_id String
binding Struct.EchoChamberInputBinding
Returns
BindKey(action_id, key, [check], [ctrl], [alt], [shift])

Binds an action to a keyboard key.

Arguments
action_id String
key Real Keyboard keycode (vk_* or ord()).
check optional Real Input check type (pressed/down/released).
ctrl optional Bool Require Ctrl to be held.
alt optional Bool Require Alt to be held.
shift optional Bool Require Shift to be held.
Returns
BindFunc(action_id, fn)

Binds an action to a custom function.

Arguments
action_id String
fn Function Function that returns true when the action should fire.
Returns
BindBlock(action_id)

Binds an action to a blocker (prevents inheritance).

Arguments
action_id String
Returns
ClearAction(action_id)

Clears a local action binding (falls back to parent context).

Arguments
action_id String
Returns

Desktop, windows, and panels

EchoChamberRoot

Owns the Echo Chamber windows, panels, controls, input, and shared UI state.

new EchoChamberRoot(theme)
Arguments
theme Struct.EchoChamberTheme

Methods

Theme and input
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.
Panels and windows
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.
Window ordering and modality
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.
Persistence
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.
Pointer, scrolling, and clipping
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.
Tooltips, popups, and overlays
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.
Text and control focus
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.
RefreshTheme()

Reapplies the current theme and refreshes cached styles and layout defaults.

Returns
MarkThemeDirty()

Alias of RefreshTheme().

Returns
ApplyTheme(theme)

Apply a new theme and reapply defaults across windows and panels.

Arguments
theme Struct.EchoChamberTheme
Returns
GetDefaultInputContextId()

Returns the default input context ID used for global actions.

Returns
String
BindCoreInputAction(action_id, binding)

Binds a core Echo Chamber action in the default input context.

Arguments
action_id String
binding Struct.EchoChamberInputBinding
Returns
GetInputContext(id)

Returns an input context by ID.

Arguments
id String
Returns
Struct.EchoChamberInputContext|Undefined
CreateInputContext(id, [parent_id])

Returns an input context by ID, creating it if needed. New contexts inherit from the default context unless a parent is given.

Arguments
id String
parent_id optional String|Undefined
Returns
Struct.EchoChamberInputContext|Undefined
RemoveInputContext(id)

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.

Arguments
id String
Returns
Bool
EC_InputPressed(action_id, [window])

Checks whether an action is pressed in the active input context.

Arguments
action_id String
window optional Struct.EchoChamberWindow|Undefined
Returns
Bool
EC_InputDown(action_id, [window])

Checks whether an action is held down in the active input context.

Arguments
action_id String
window optional Struct.EchoChamberWindow|Undefined
Returns
Bool
EC_InputReleased(action_id, [window])

Checks whether an action was released in the active input context.

Arguments
action_id String
window optional Struct.EchoChamberWindow|Undefined
Returns
Bool
AddPanel(panel)

Adds a top-level panel to the root.

Arguments
panel Struct.EchoChamberPanel
Returns
Struct.EchoChamberPanel|Undefined
CreateWindow(id)

Creates and registers a floating debug window.

Arguments
id String|Real
Returns
GetDebugManager()

Returns the shared Echo Chamber debug manager for this root.

Returns
RegisterWindow(window)

Registers an externally created window instance.

Arguments
window Struct.EchoChamberWindow
Returns
Struct.EchoChamberWindow|Undefined
FindWindow(id)

Finds a registered window by ID.

Arguments
id String|Real
Returns
Struct.EchoChamberWindow|Undefined
FindControl(id)

Finds a control by ID across all registered windows.

Arguments
id String|Real
Returns
Struct.EchoChamberControlBase|Undefined
DumpUI()

Dump the current UI tree and focus/overlay state to the debug log.

Returns
RemoveWindow(window_or_id)

Removes a registered window and detach its panels/controls.

Arguments
window_or_id Struct.EchoChamberWindow|String|Real
Returns
Bool
BringWindowToFront(window_or_id)

Brings a window to the front of the z-order.

Arguments
window_or_id Struct.EchoChamberWindow|String|Real
BringWindowToFrontById(id)

Brings a window to the front by ID.

Arguments
id String|Real
Returns
Struct.EchoChamberWindow|Undefined
SendWindowToBack(window_or_id)

Send a window to the back of the z-order.

Arguments
window_or_id Struct.EchoChamberWindow|String|Real
Returns
Bool
SetWindowZIndex(window_or_id, index)

Sets a window's z-order index (0 = back, last = front).

Arguments
window_or_id Struct.EchoChamberWindow|String|Real
index Real
Returns
Bool
SetModalWindow(window_or_id)

Sets the modal window (blocks input to other windows).

Arguments
window_or_id Struct.EchoChamberWindow|String|Real|Undefined
Returns
Bool
ClearModalWindow()

Clears the modal window (if any).

Returns
Bool
GetModalWindow()

Returns the current modal window (if any).

Returns
IsWindowFrontmostForPointerInput(window)

Returns whether a window is treated as frontmost for pointer input after modal, overlay, and mouse-capture ownership are applied.

Arguments
window Struct.EchoChamberWindow The window to test.
Returns
Bool True when the window is the frontmost pointer-input target.
BringWindowsBack()

Brings all windows back into view so their title bars remain accessible.

Returns
ResetWindowLayouts([visible_only])

Resets registered window layouts to their stored default rectangles and sizing limits.

Arguments
visible_only optional Bool
Returns
Real
SetPersistenceFile(filename)

Sets the INI filename used for saving and loading UI layout state.

Arguments
filename String
Returns
SetPersistenceSection(section)

Sets the INI section prefix used for saving and loading UI layout state.

Arguments
section String
Returns
SaveLayout()

Saves window layout, z-order, and panel state to an INI file.

Returns
Bool
LoadLayout()

Loads window layout, z-order, and panel state from an INI file. Windows and panels must already be created/registered before calling this.

Returns
Bool
SetMouseCapture(window)

Captures the mouse for a window interaction (drag/resize).

Arguments
window Struct.EchoChamberWindow
ClearMouseCapture(window)

Release mouse capture if owned by the given window.

Arguments
window Struct.EchoChamberWindow
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(scroll_state, rect, content_h, draw_fn, [draw_rect])

Draws a scrollable clipped region and handle mouse wheel scrolling when hovered. Includes scrollbar thumb dragging and track page jumps.

Arguments
scroll_state Struct.EchoChamberScrollState
rect Struct {x1,y1,x2,y2}
content_h Real Total content height in pixels.
draw_fn Function function(_root, _rect, _scroll_y)
draw_rect optional Struct Optional callback rectangle. Scroll clipping and scrollbar geometry still use _rect.
PushClipRect(x1, y1, x2, y2)

Push a clip rectangle. Any existing clip will be intersected with this one.

Arguments
x1 Real
y1 Real
x2 Real
y2 Real
PopClipRect()

Pop the most recently pushed clip rectangle.

HitTestRect(x1, y1, x2, y2)

Simple hit test for a rectangle, respecting mouse_consumed and the current clip region.

Arguments
x1 Real
y1 Real
x2 Real
y2 Real
Returns
Bool
RequestTooltip(control_id, text, anchor_x, anchor_y)

Request a tooltip for a given control ID.

Arguments
control_id String
text String
anchor_x Real
anchor_y Real
DrawTooltipTextAt(text, anchor_x, anchor_y, [owner_window])

Draws tooltip text immediately at an Echo Chamber canvas anchor point.

Arguments
text String|Real
anchor_x Real
anchor_y Real
owner_window optional Struct.EchoChamberWindow|Undefined
SetActiveOverlayOwner(control_id)

Mark a control as owning a modal overlay (e.g. a dropdown).

Arguments
control_id String|Real|Undefined
ClearActiveOverlayOwner()

Clears the active overlay (if any).

ConsumeOverlayCloseRequest(owner_id)

Returns true if a close request is pending for the current active overlay owner ID. Consumes the request.

Arguments
owner_id String|Real
Returns
Bool
ResolveAnchoredPopupRect(anchor_rect, popup_w, popup_h, [preferred_direction], [align], [gap], [viewport_margin], [style_key])

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.

Arguments
anchor_rect Struct
popup_w Real
popup_h Real
preferred_direction optional Real Takes eEchoChamberPopupDirection enum.
align optional Real Takes eEchoChamberAlignHor enum.
gap optional Real|Undefined Optional explicit anchor gap override.
viewport_margin optional Real|Undefined Optional explicit symmetric viewport margin override.
style_key optional String Popup style key used for default gap and viewport margins.
Returns
Struct|Undefined
ResolvePointPopupRect(x, y, popup_w, popup_h, [viewport_margin], [style_key])

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.

Arguments
x Real
y Real
popup_w Real
popup_h Real
viewport_margin optional Real|Undefined Optional explicit symmetric viewport margin override.
style_key optional String Popup style key used for default viewport margins.
Returns
Struct
ShouldClosePopupOnOutsideClick(base_rect, popup_rect, [consume_mouse], [allow_right_click])

Returns true when a popup should close because the user clicked outside both its base rectangle and popup rectangle.

Arguments
base_rect Struct
popup_rect Struct
consume_mouse optional Bool
allow_right_click optional Bool
Returns
Bool
DrawPopupFrame(rect, [style_key], [header_h])

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.

Arguments
rect Struct
style_key optional String
header_h optional Real
OpenColorPickerPopup(owner_id, anchor_rect, [owner_window], [config])

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.

Arguments
owner_id String|Real
anchor_rect Struct
owner_window optional Struct.EchoChamberWindow|Undefined
config optional Struct|Undefined Optional config struct. Supported keys include: - title:String - style_key:String - preferred_direction:String - align:String - visual_space:String - initial_color - bind_struct:Struct - bind_key:String - get_color:Function - set_color:Function - on_change:Function - on_commit:Function - on_cancel:Function
CloseColorPickerPopup([commit])

Closes the color picker popup.

Arguments
commit optional Bool
IsColorPickerPopupOpen()

Returns whether the color picker popup is open.

Returns
Bool
QueueOverlay(owner_id, draw_fn, [rect], [owner_window])

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.

Arguments
owner_id String|Real|Undefined
draw_fn Function
rect optional Struct|Undefined Optional rectangle struct {x1,y1,x2,y2} for hit testing.
owner_window optional Struct.EchoChamberWindow|Undefined Optional owner window reference.
OpenContextMenu(items, x, y, owner_window, [style_key])

Opens a context menu overlay at a screen position.

Arguments
items Array<Struct> Array of item structs: - { label:String, on_click:Function, enabled:Bool (optional), shortcut:String (optional), icon_sprite:Asset.GMSprite (optional), icon_image_index:Real (optional), icon_hover_sprite:Asset.GMSprite (optional), icon_hover_image_index:Real (optional) } - { is_separator:true } for separators
x Real
y Real
owner_window Struct.EchoChamberWindow Optional owning window reference.
style_key optional String Optional context menu style key.
CloseContextMenu()

Closes the active context menu overlay (if open).

IsContextMenuOpen()

Returns true if the context menu overlay is open.

Returns
Bool
ShowToast(text, [duration_ms])

Shows a short non-blocking toast message.

Arguments
text String|Real|Bool
duration_ms optional Real Optional duration in milliseconds.
CopyToClipboard(text, [toast_text], [duration_ms])

Copies text to clipboard and show a toast confirmation.

Arguments
text String|Real|Bool|Undefined
toast_text optional String|Real|Bool|Undefined Optional toast text (otherwise uses "Copied: <preview>").
duration_ms optional Real Optional duration in milliseconds.
FocusTextInput(id, initial_text, placeholder, [commit_fn], [config])

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.

Arguments
id String|Real
initial_text String
placeholder String
commit_fn optional Function|Undefined
config optional Struct|Undefined
BlurTextInput(id)

Removes focus from a text input, commits its text, and returns the final string without submitting it.

Arguments
id String|Real
Returns
String
SubmitTextInput(id)

Submits a focused text input, commits its text, runs OnSubmit, and returns the final string.

Arguments
id String|Real
Returns
String
CancelTextInput(id)

Cancels editing, discards the current changes, and removes focus without committing or submitting.

Arguments
id String|Real
Returns
String
IsActiveTextInput(id)

Returns true if the given ID is the currently focused text input.

Arguments
id String|Real
Returns
Bool
GetActiveText()

Returns the current text while a text input is focused.

Returns
String
GetTextBuffer()

Returns the last committed text for the active text input.

Returns
String
FocusControl(id, rect)

Give keyboard focus to a non-text control by ID. This focus is separate from text input focus.

Arguments
id String|Real
rect Struct {x1,y1,x2,y2}
IsControlFocused(id)

Returns true if the given control ID currently owns keyboard focus (and no text input is active).

Arguments
id String|Real
Returns
Bool
BlurControlFocus(id)

Clears keyboard focus from a control by ID.

Arguments
id String|Real|Undefined
Returns
Bool

EchoChamberScrollState

Stores scroll position and drag state for a scrollable region.

new EchoChamberScrollState(id)
Arguments
id String|Real

Methods

MethodWhat 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.
SetScrollY(y)

Sets the scroll offset in pixels.

Arguments
y Real
Returns
ScrollBy(dy)

Scroll by a delta in pixels (positive scrolls down).

Arguments
dy Real
Returns
Reset()

Resets scroll to the top.

Returns

EchoChamberWindow

Floating debug window that owns a collection of docked panels.

new EchoChamberWindow(id)
Arguments
id String|Real

Methods

Identity, input, and theme
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.
Visibility and lifecycle
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.
Geometry and layout
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.
Panels and controls
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.
Interaction and drawing
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().
SetTitle(title)

Sets the window title text.

Arguments
title String|Real|Bool
Returns
SetInputContext(context_id, [parent_id])

Sets the input context ID used for this window. Pass undefined for _context_id to clear the window input context.

Arguments
context_id String|Undefined
parent_id optional String|Undefined
Returns
SwapInputContext(context_id, [parent_id])

Swap the window input context and remove the old context if it is unused.

Arguments
context_id String
parent_id optional String|Undefined
Returns
SetStyleKey(key)

Sets the generic main style key for this window.

Arguments
key String
Returns
Style()

Returns the style controls for this window's body, header, and window buttons.

Returns
Struct.EchoWindowStyleSurface
SetStyleKeyHeader(key)

Sets the header style key.

Arguments
key String
Returns
SetStyleKeyChromeButton(part, key)

Sets the chrome button style key for a specific chrome part.

Arguments
part Real Uses the eEchoChamberChromeButtonSlot enum.
key String
Returns
RefreshThemeOverride()

Reapply this window's effective theme and dirty this window subtree's style caches.

Returns
MarkThemeDirty()

Alias of RefreshThemeOverride().

Returns
ApplyTheme(theme)

Apply a theme override to this window and its children (does not affect other windows).

Arguments
theme Struct.EchoChamberTheme|Undefined Pass undefined to clear the override.
Returns
ClearThemeOverride()

Clears the theme override for this window and reapply root defaults.

Returns
SetVisible(flag)

Shows or hides this window.

Arguments
flag Bool
Returns
OnClose(fn)

Sets a callback that runs when the window is closed via the close button.

Arguments
fn Function
Returns
OnMove(fn)

Sets a callback that runs when the window position changes.

Arguments
fn Function
Returns
OnResize(fn)

Sets a callback that runs when the window size changes.

Arguments
fn Function
Returns
OnShow(fn)

Sets a callback that runs when the window becomes visible.

Arguments
fn Function
Returns
OnHide(fn)

Sets a callback that runs when the window is hidden.

Arguments
fn Function
Returns
OnFocus(fn)

Sets a callback that runs when the window receives keyboard focus.

Arguments
fn Function
Returns
OnBlur(fn)

Sets a callback that runs when the window loses keyboard focus.

Arguments
fn Function
Returns
OnMinimize(fn)

Sets a callback that runs when the window is minimized.

Arguments
fn Function
Returns
OnRestore(fn)

Sets a callback that runs when the window is restored from minimized state.

Arguments
fn Function
Returns
Close()

Closes the window (sets visible to false). If an on_close callback exists, it is called.

SetPinned(flag)

Sets whether the window is pinned (disables dragging and resizing).

Arguments
flag Bool
Returns
TogglePinned()

Toggles pinned state.

Returns
SetMinimized(flag)

Sets whether the window is minimized (collapses content. only the title bar remains).

Arguments
flag Bool
Returns
ToggleMinimized()

Toggles minimized state.

Returns
SetRect(x1, y1, x2, y2)

Sets the window rectangle in Echo Chamber canvas space. Size is clamped to min_width/min_height.

Arguments
x1 Real
y1 Real
x2 Real
y2 Real
Returns
SetPosition(x, y)

Sets the window position without changing its size.

Arguments
x Real
y Real
Returns
GetWidth()

Returns the current window width.

Returns
Real
GetHeight()

Returns the current window height.

Returns
Real
SetMinSize(w, h)

Sets minimum width and height for this window.

Arguments
w Real
h Real
Returns
SetMaxSize(w, h)

Sets maximum width and height for this window (0 means no max).

Arguments
w Real
h Real
Returns
SetDefaultLayout(x1, y1, x2, y2, [min_w], [min_h], [max_w], [max_h])

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.

Arguments
x1 Real
y1 Real
x2 Real
y2 Real
min_w optional Real
min_h optional Real
max_w optional Real
max_h optional Real
Returns
ResetLayout()

Resets this window to its stored default rectangle and sizing limits.

Returns
AddPanel(panel)

Adds a top-level panel to this window.

Arguments
panel Struct.EchoChamberPanel
Returns
Struct.EchoChamberPanel|Undefined
AddScrollablePanelBody(id, panels)

Adds a scrollable fill panel that contains the supplied child panels.

Arguments
id String|Real
panels Array<Struct.EchoChamberPanel>
Returns
Struct.EchoChamberPanel|Undefined
RemovePanel(panel_or_id)

Removes a panel from this window (top-level or nested).

Arguments
panel_or_id Struct.EchoChamberPanel|String|Real
Returns
Bool
ClearPanels()

Removes all panels from this window.

FindPanel(id)

Finds a panel by ID, including panels nested inside containers.

Arguments
id String|Real
Returns
Struct.EchoChamberPanel|Undefined
FindControl(id)

Finds a control in this window by ID (searches nested panels too).

Arguments
id String|Real
Returns
Struct.EchoChamberControlBase|Undefined
MoveControlToPanel(control_or_id, panel_or_id, [index])

Move a control to another panel in this window.

Arguments
control_or_id Struct.EchoChamberControlBase|String|Real
panel_or_id Struct.EchoChamberPanel|String|Real
index optional Real|Undefined
Returns
Bool
ContainsPoint(x, y)

Returns true if a point is inside this window's current rectangle (and the window is visible).

Arguments
x Real
y Real
Returns
Bool
BeginLayoutBatch()

Begin a layout batch (defers FitToContent calls until EndLayoutBatch).

Returns
EndLayoutBatch()

End a layout batch and apply any deferred FitToContent.

Returns
SetAutoFit(flag)

Sets whether this window auto-fits to content after layout changes.

Arguments
flag Bool
Returns
FitToContent([root])

Resize this window to fit its panels' content.

Arguments
root optional Struct.EchoChamberRoot|Undefined
Returns
ProcessWindowInteractions(root)

Handles mouse interactions for dragging/resizing and chrome button clicks. Usually called by RunDesktop().

Arguments
root Struct.EchoChamberRoot
Draw(root)

Draws the window chrome and all owned panels. Usually called by RunDesktop().

Arguments
root Struct.EchoChamberRoot

EchoChamberPanel

Layout panel docked to an edge or fill.

new EchoChamberPanel(id, dock)
Arguments
id String|Real
dock Real Takes eEchoChamberDock enum.

Methods

Style and content
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.
Controls
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.
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.
Layout and sizing
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.
Scrolling
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.
Labels and collapse
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.
SetStyleKey(key)

Sets the generic main style key for this panel.

Arguments
key String
Returns
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.

Returns
Struct.EchoPanelStyle
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.

Returns
Struct.EchoLabelStyle
AddControl(control)

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.

Arguments
control Struct.EchoChamberControlBase
Returns
Struct.EchoChamberControlBase|Undefined
InsertControl(control, index)

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.

Arguments
control Struct.EchoChamberControlBase
index Real
Returns
Struct.EchoChamberControlBase|Undefined
MoveControl(control_or_id, index)

Reorder a direct control to a specific index (clamped). Reorders a direct child control only. Use MoveControlToPanel() for nested moves or cross-panel moves.

Arguments
control_or_id Struct.EchoChamberControlBase|String|Real
index Real
Returns
Bool
MoveControlToPanel(control_or_id, target_panel, [index])

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.

Arguments
control_or_id Struct.EchoChamberControlBase|String|Real
target_panel Struct.EchoChamberPanel
index optional Real|Undefined
Returns
Bool
SetControlOrder(ids)

Reorder direct controls using a list of ids (unlisted items keep their relative order at the end).

Arguments
ids Array<Any>
Returns
RemoveControl(control_or_id)

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.

Arguments
control_or_id Struct.EchoChamberControlBase|String|Real
Returns
Bool
ClearControls()

Removes all direct controls from this panel. Removes only direct controls. Child panel contents are untouched.

Returns
AddChildPanel(panel)

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.

Arguments
panel Struct.EchoChamberPanel
Returns
Struct.EchoChamberPanel|Undefined
RemoveChildPanel(panel_or_id)

Removes a child panel from this panel (direct or nested). Searches direct and nested child panels, then detaches the found panel tree.

Arguments
panel_or_id Struct.EchoChamberPanel|String|Real
Returns
Bool
ClearChildPanels()

Removes all child panels from this panel. Removes direct child panels and clears their ownership pointers.

Returns
FindControl(id)

Finds a direct or nested control within this panel by ID. Searches direct controls first, then controls inside nested child panels.

Arguments
id String|Real
Returns
Struct.EchoChamberControlBase|Undefined
SetActive(flag)

Enables or disables this panel's participation in layout, drawing, and input.

Arguments
flag Bool
Returns
SetSizeMode(mode)

Configure how this panel resolves its dock size.

Arguments
mode Real Takes eEchoChamberPanelSizeMode enum.
Returns
SetSize(value)

Sets dock thickness when using fixed sizing.

Arguments
value Real
Returns
SetFlowMode(flow_mode)

Sets how child controls flow within the panel. ROW wraps controls across rows. COLUMN stacks controls vertically.

Arguments
flow_mode Real Takes eEchoChamberPanelFlow enum.
Returns
SetRowAlign(align)

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.

Arguments
align Real Takes eEchoChamberPanelRowAlign enum.
Returns
SetRowVerticalAlign(align)

Sets how direct controls are aligned vertically inside each ROW panel row.

Arguments
align Real Takes eEchoChamberAlignVer enum.
Returns
SetRowDistribution(distribution)

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.

Arguments
distribution Real Takes eEchoChamberPanelRowDistribution enum.
Returns
SetScrollable(flag)

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.

Arguments
flag Bool
Returns
SetScrollState(state)

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.

Arguments
state Struct.EchoChamberScrollState
Returns
SetLabelPlacement(placement)

Sets the default label placement for controls in this panel. This is the default label placement for child controls. Individual controls can override it.

Arguments
placement Real Takes eEchoChamberLabelPlacement enum.
Returns
SetLabelGap(px)

Sets the default label gap for this panel.

Arguments
px Real
Returns
SetLabelWidth(px)

Sets the default label column width for this panel (-1 uses auto width).

Arguments
px Real
Returns
SetLabelWidthClamp(min_px, [max_px])

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.

Arguments
min_px Real
max_px optional Real|Undefined
Returns
SetStyleKeyLabel(key)

Sets the panel default label style key.

Arguments
key String
Returns
SetCollapseMode(mode)

Sets the panel collapse mode. NONE disables the collapse handle. Directional modes decide which edge the panel collapses toward.

Arguments
mode Real Takes eEchoChamberCollapse enum.
Returns
SetCollapsed(value)

Sets whether this panel is collapsed.

Arguments
value Bool
Returns
SetMinSize(value)

Sets minimum dock thickness when using fit-to-content.

Arguments
value Real
Returns
SetMaxSize(value)

Sets maximum dock thickness when using fit-to-content.

Arguments
value Real
Returns
SetContentDrawer(fn)

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.

Arguments
fn Function
Returns
GetThickness()

Returns panel thickness based on collapsed state.

Returns
Real

Controls

EchoChamberControlBase

Base type shared by all Echo Chamber controls.

new EchoChamberControlBase(id)
Arguments
id String|Real

Methods

Hierarchy and style
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.
Sizing
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.
Caption and labels
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.
State and drawing
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.
GetRoot()

Returns the owning root for this control (if attached). Returns undefined until the control is attached to a root or window.

Returns
Struct.EchoChamberRoot|Undefined
GetWindow()

Returns the owning window for this control (if attached).

Returns
Struct.EchoChamberWindow|Undefined
GetPanel()

Returns the owning panel for this control (if attached).

Returns
Struct.EchoChamberPanel|Undefined
SetStyleKey(key)

Sets the generic style key for this control.

Arguments
key String
Returns
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.

Returns
Struct.EchoTextBlockStyle|Struct.EchoButtonStyle|Struct.EchoSliderStyle|Struct.EchoToggleStyle|Struct.EchoTextInputStyle|Struct.EchoSeparatorStyle|Struct.EchoListRowStyle|Struct.EchoDropdownStyle|Struct.EchoColorButtonStyle
SetPreferredWidth(width)

Sets a preferred pixel width for this control when arranged in a row panel.

Arguments
width Real
Returns
SetPreferredHeight(height)

Sets a preferred pixel height for this control.

Arguments
height Real
Returns
SetFillWidth(flag)

Sets whether this control fills the available row width.

Arguments
flag Bool
Returns
SetCaption(text)

Sets the control caption (drawn by controls that have built-in captions).

Arguments
text String|Real|Bool
Returns
SetLabel(text)

Sets the panel-drawn label text for this control.

Arguments
text String|Real|Bool
Returns
SetLabelPlacement(placement)

Sets where this control's label is drawn.

Arguments
placement Real Takes eEchoChamberLabelPlacement enum.
Returns
SetLabelGap(px)

Sets label spacing from the control body in pixels (-1 uses panel/theme defaults).

Arguments
px Real
Returns
SetLabelWidth(px)

Sets label width in pixels for leading labels (-1 uses panel/theme defaults).

Arguments
px Real
Returns
SetLabelAutoMinControlWidth(px)

Sets the minimum body width required before AUTO labels stay leading (-1 uses panel/theme defaults).

Arguments
px Real
Returns
SetStyleKeyLabel(key)

Sets the label style key (looked up in theme.label_styles).

Arguments
key String
Returns
SetLabelAlign(align)

Sets label alignment override.

Arguments
align Real Takes eEchoChamberLabelAlign enum.
Returns
SetLabelEnabled(flag)

Enables or disables panel-drawn labels for this control.

Arguments
flag Bool
Returns
SetTooltip(text)

Sets the control tooltip (shown on hover when supported).

Arguments
text String|Real|Bool
Returns
SetVisible(flag)

Shows or hides this control.

Arguments
flag Bool
Returns
SetEnabled(flag)

Enables or disables this control (disabled controls should not accept input).

Arguments
flag Bool
Returns
DrawManual(root, panel, rect)

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.

Arguments
root Struct.EchoChamberRoot
panel Struct.EchoChamberPanel
rect Struct {x1,y1,x2,y2}
Returns

EchoChamberTextBlock

Non-interactive text block.

Inherits from EchoChamberControlBase.

new EchoChamberTextBlock(id)
Arguments
id String|Real

Methods

MethodWhat 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.
SetText(text)

Sets the text block text.

Arguments
text String|Real|Bool
Returns
BindText(source, [key_or_fn])

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.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns

EchoChamberButton

Clickable button.

Inherits from EchoChamberControlBase.

new EchoChamberButton(id)
Arguments
id String|Real

Methods

MethodWhat 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.
OnClick(fn)

Sets a callback to run when the button is activated (click or Enter while focused).

Arguments
fn Function
Returns
SetIcon(sprite)

Sets the button icon sprite.

Arguments
sprite Real
Returns
SetIconSubimg(subimg)

Sets the button icon subimage.

Arguments
subimg Real
Returns
ClearIcon()

Clears the button icon.

Returns
BindCaption(source, [key_or_fn])

Binds the button caption to a field binding, struct field, or getter function.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns

EchoChamberSlider

Horizontal slider control.

Inherits from EchoChamberControlBase.

new EchoChamberSlider(id)
Arguments
id String|Real

Methods

MethodWhat 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.
SetRange(min, max)

Sets the slider range.

Arguments
min Real
max Real
Returns
SetStep(step)

Sets step snapping size (0 disables snapping).

Arguments
step Real
Returns
SetValueFormatter(fn)

Sets a formatter callback for built-in value text.

Arguments
fn Function function(_value) -> string
Returns
SetValueDecimals(digits)

Sets decimal precision for built-in value text (-1 uses default string conversion).

Arguments
digits Real
Returns
BindValue(source, [key_or_fn])

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.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
OnChange(fn)

Sets a callback that runs when the value changes.

Arguments
fn Function function(_value)
Returns

EchoChamberToggle

Checkbox-style toggle.

Inherits from EchoChamberControlBase.

new EchoChamberToggle(id)
Arguments
id String|Real

Methods

MethodWhat 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.
BindValue(source, [key_or_fn])

Binds the toggle state to a field binding, struct field, or getter/setter function pair.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
OnChange(fn)

Sets a callback that runs when the value changes.

Arguments
fn Function function(_value)
Returns

EchoChamberTextInput

Single-line text input.

Inherits from EchoChamberControlBase.

new EchoChamberTextInput(id)
Arguments
id String|Real

Methods

Binding and callbacks
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.
Input behaviour
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.
Filtering and transforms
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.
Validation
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.
Input modes and editor
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.
Skin and forced sizing
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.
BindText(source, [key_or_fn])

Binds this text input to a field binding, struct field, or getter/setter function pair.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
SetPlaceholder(text)

Sets the placeholder text shown when empty and not active.

Arguments
text String|Real|Bool
Returns
SetContextMenuStyleKey(key)

Sets the context menu style key used by this input's built-in context menus.

Arguments
key String
Returns
OnChange(fn)

Sets a callback that runs when text is committed.

Arguments
fn Function function(_text)
Returns
OnSubmit(fn)

Sets a callback that runs when text is submitted (committed edit).

Arguments
fn Function function(_text)
Returns
SetSubmitOnEnter(flag)

Sets whether pressing Enter submits this text input.

Arguments
flag Bool
Returns
OnHistoryPrevious(fn)

Sets a callback that returns the previous history text for this input.

Arguments
fn Function function(_text) -> String
Returns
OnHistoryNext(fn)

Sets a callback that returns the next history text for this input.

Arguments
fn Function function(_text) -> String
Returns
OnCancel(fn)

Sets a callback that runs when text editing is cancelled.

Arguments
fn Function function(_text, _initial_text)
Returns
OnFocus(fn)

Sets a callback that runs when this text input gains editing focus.

Arguments
fn Function function(_text)
Returns
OnBlur(fn)

Sets a callback that runs when this text input loses editing focus.

Arguments
fn Function function(_text, _was_cancelled)
Returns
OnLiveChange(fn)

Sets a callback that runs while the user edits text (typing, delete, paste, undo/redo).

Arguments
fn Function function(_text)
Returns
SetLiveChangeRateMs(ms)

Sets a throttle rate for the live change callback (0 = no throttling).

Arguments
ms Real
Returns
SetOnLiveChange(fn, [rate_ms])

Sets the live change callback and its rate in one call.

Arguments
fn Function function(_text)
rate_ms optional Real
Returns
SetReadOnly(flag)

Sets whether this text input is read-only.

Arguments
flag Bool
Returns
SetMaxLength(len)

Sets the maximum number of characters allowed (0 = unlimited).

Arguments
len Real
Returns
SetAllowedChars(chars)

Restrict input to the characters in the given string (empty = allow all).

Arguments
chars String
Returns
SetDeniedChars(chars)

Reject any characters contained in the given string.

Arguments
chars String
Returns
SetNumericOnly(flag, [allow_decimal], [allow_negative])

Restrict input to numeric characters.

Arguments
flag Bool
allow_decimal optional Bool
allow_negative optional Bool
Returns
SetSelectAllOnFocus(flag)

Selects all text when the input gains focus.

Arguments
flag Bool
Returns
SetFilter(fn)

Sets a filter function that can mutate inserted text. The filter can mutate inserted text after transforms and before built-in validators finish.

Arguments
fn Function function(_insert_text)
Returns
AddTransform(fn)

Adds a text transform function applied before SetFilter and built-in validators.

Arguments
fn Function function(_insert_text)
Returns
ClearTransforms()

Clears all transform functions.

Returns
SetAutoTrim(flag)

Enables or disables automatic trim of inserted text.

Arguments
flag Bool
Returns
SetAutoUpper(flag)

Enables or disables automatic uppercase transform.

Arguments
flag Bool
Returns
SetAutoLower(flag)

Enables or disables automatic lowercase transform.

Arguments
flag Bool
Returns
SetInvalid(flag)

Mark this text input as invalid for styling.

Arguments
flag Bool
Returns
SetValidationMessage(message, [kind])

Sets a validation message and kind to show to the user.

Arguments
message String|Real
kind optional Real Takes eEchoChamberValidationKind enum.
Returns
ClearValidationMessage()

Clears any validation message.

Returns
SetValidationVisible(flag)

Shows or hides validation messaging.

Arguments
flag Bool
Returns
SetValidationDisplay(mode)

Sets how the validation message is displayed.

Arguments
mode Real Takes eEchoChamberValidationDisplay enum.
Returns
SetInputMode(mode)

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.

Arguments
mode Real
Returns
SetInputModeInt()

Sets the input mode to INT.

Returns
SetInputModeFloat()

Sets the input mode to FLOAT.

Returns
SetInputModeCode()

Sets the input mode to CODE.

Returns
SetInputModePassword([allow_copy])

Sets the input mode to PASSWORD.

Arguments
allow_copy optional Bool
Returns
SetTabInserts(flag)

Enables or disables Tab insertion while editing (disables Tab focus cycling when active).

Arguments
flag Bool
Returns
SetTabUsesSpaces(flag)

Sets whether Tab inserts spaces instead of a tab character.

Arguments
flag Bool
Returns
SetTabSpaces(count)

Sets how many spaces are inserted when Tab uses spaces.

Arguments
count Real
Returns
SetBackgroundSprite(spr, [subimg])

Sets the background sprite for this input (-1 to clear).

Arguments
spr Asset.GMSprite|Real
subimg optional Real
Returns
SetBorderSprite(spr, [subimg])

Sets the border sprite for this input (-1 to clear).

Arguments
spr Asset.GMSprite|Real
subimg optional Real
Returns
SetCaretSprite(spr, [subimg])

Sets the caret sprite for this input (-1 to clear).

Arguments
spr Asset.GMSprite|Real
subimg optional Real
Returns
SetGripSprite(spr, [subimg])

Sets the TextBox resize grip sprite (-1 to clear).

Arguments
spr Asset.GMSprite|Real
subimg optional Real
Returns
SetExpandSprite(spr, [subimg])

Sets the TextBox expand button sprite (-1 to clear).

Arguments
spr Asset.GMSprite|Real
subimg optional Real
Returns
SetSkinTint(enabled, [col], [alpha_mul])

Enables or disables extra skin tint multiplication for sprites.

Arguments
enabled Bool
col optional Real
alpha_mul optional Real
Returns
SetForceSizeFromBackgroundSprite([scale], [lock_w], [lock_h])

Sets this control size to match the current background sprite.

Arguments
scale optional Real
lock_w optional Bool
lock_h optional Bool
Returns
SetForceSizeFromBorderSprite([scale], [lock_w], [lock_h])

Sets this control size to match the current border sprite.

Arguments
scale optional Real
lock_w optional Bool
lock_h optional Bool
Returns
SetForceSizeFromSprite(spr, [scale], [lock_w], [lock_h])

Sets this control size to match a sprite asset.

Arguments
spr Asset.GMSprite|Real
scale optional Real
lock_w optional Bool
lock_h optional Bool
Returns
ClearForceSize()

Clears forced sizing and restore previous layout sizing.

Returns

EchoChamberTextBox

Multi-line text box with vertical scrolling.

Inherits from EchoChamberTextInput.

new EchoChamberTextBox(id)
Arguments
id String|Real

Methods

MethodWhat 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.
SetWrap(flag)

Enables or disables word wrapping.

Arguments
flag Bool
Returns
SetVisibleRows(rows)

Sets how many rows should be visible (uses font line height).

Arguments
rows Real
Returns
SetMinHeight(px)

Sets the minimum pixel height.

Arguments
px Real
Returns
SetMaxHeight(px)

Sets the maximum pixel height (0 = unlimited).

Arguments
px Real
Returns
SetResizable(flag, [min_h], [max_h])

Enables or disables the resize grip.

Arguments
flag Bool
min_h optional Real
max_h optional Real
Returns
SetUseOverlayEditor(flag)

Enables or disables the overlay editor affordance.

Arguments
flag Bool
Returns
SetEditorOverlayStyleKey(key)

Sets the editor overlay style key used by this text box's modal editor.

Arguments
key String
Returns

EchoChamberSeparator

Non-interactive separator line.

Inherits from EchoChamberControlBase.

new EchoChamberSeparator(id)
Arguments
id String|Real

Methods

MethodWhat it does
SetOrientation()Sets separator orientation.
SetOrientation(ori)

Sets separator orientation.

Arguments
ori Real Takes eEchoChamberSeparatorOrientation enum.
Returns

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)
Arguments
id String|Real

Methods

Sizing and data
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.
Events
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.
Selection and scrolling
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.
SetVisibleRows(rows)

Sets how many rows should be visible (uses row height).

Arguments
rows Real
Returns
SetAutoHeightFromCount(max_rows)

Auto-size to the current row count, clamped to a maximum number of rows.

Arguments
max_rows Real
Returns
SetAutoWidthFromContent(max_rows)

Auto-size width to row content, sampling up to the given number of rows (0 disables).

Arguments
max_rows Real
Returns
SetFillWidth(flag)

Sets whether this list view fills available row width.

Arguments
flag Bool
Returns
SetPreferredHeight(h)

Sets the preferred pixel height for this list view (used by FitToContent).

Arguments
h Real
Returns
SetPreferredWidth(w)

Sets a preferred pixel width for this list view.

Arguments
w Real
Returns
SetRowMeasure(fn)

Sets a function that returns row text or pixel width (used for auto width).

Arguments
fn Function function(_index, _root, _panel) -> String or Real
Returns
SetCountGetter(fn)

Sets a function that returns the current number of rows.

Arguments
fn Function function() -> Real
Returns
SetRowDrawer(fn)

Sets a function that draws a row's content. Background is drawn by the control.

Arguments
fn Function Callback function(_index, _rect, _is_selected, _is_hover).
Returns
SetRowTooltipGetter(fn)

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.

Arguments
fn Function Callback function(_index) -> String or Undefined.
Returns
SetOnSelect(fn)

Sets a callback that runs when the selection changes.

Arguments
fn Function function(_index)
Returns
SetOnActivate(fn)

Sets a callback that runs when the active row is activated with Enter.

Arguments
fn Function function(_index)
Returns
SetOnDoubleClick(fn)

Sets a callback that runs when a row is double clicked.

Arguments
fn Function function(_index)
Returns
SetOnRightClick(fn)

Sets a callback that runs when a row is right clicked. _index is -1 when empty space was clicked.

Arguments
fn Function function(_index, _x, _y)
Returns
SetAutoScroll(enabled)

Enables or disables auto-scroll-to-bottom behavior.

Arguments
enabled Bool
Returns
JumpToBottom()

Scroll the list to the bottom and resume auto-follow (if enabled).

Returns
IsNearBottom()

Returns true if the list is currently near the bottom (based on the last draw).

Returns
Bool
IsAutoFollowPaused()

Returns true if auto-follow is currently paused due to user scroll.

Returns
Bool
GetSelectedIndex()

Returns the current selected row index (or -1).

Returns
Real
SetSelectedIndex(index)

Sets the selected row index (clamped to range). Use -1 to clear selection.

Arguments
index Real
Returns

EchoChamberDropdownBase

Base control used by the dropdown variants.

Inherits from EchoChamberControlBase.

new EchoChamberDropdownBase(id)
Arguments
id String|Real

Methods

MethodWhat 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.
GetSelectedIndex()

Returns the selected option index.

Returns
Real
SetSelectedIndex(idx)

Sets the selected option index (clamped to the available option range).

Arguments
idx Real
DrawOverlayRow(root, row_index, row_rect, hover, selected)

Draws a single row inside the dropdown overlay.

Arguments
root Struct.EchoChamberRoot
row_index Real
row_rect Struct {x1,y1,x2,y2}
hover Bool
selected Bool
SetOptions(array)

Sets the dropdown option labels array.

Arguments
array Array<String>
Returns
BindOptions(source, [key_or_fn])

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.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
SetUnfoldDirection(dir)

Sets the preferred dropdown unfold direction.

Arguments
dir Real Takes eEchoChamberPopupDirection enum.
Returns
SetUseSelectedLabelWhenClosed(flag)

Sets whether the base caption shows the selected option while closed.

Arguments
flag Bool
Returns

EchoChamberDropdownSelect

Dropdown variant that binds a selected index to dynamic binding sources.

Inherits from EchoChamberDropdownBase.

new EchoChamberDropdownSelect(id)
Arguments
id String|Real

Methods

MethodWhat 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).
BindIndex(source, [key_or_fn])

Binds the selected index to a field binding, struct field, or getter/setter function pair.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
OnChange(fn)

Sets a callback that runs when selection changes.

Arguments
fn Function function(_index, _value)
Returns
GetSelectedIndex()

Returns the selected option index.

Returns
Real
SetSelectedIndex(idx, [root])

Sets the selected option index and update the bound source (if configured).

Arguments
idx Real
root optional Struct.EchoChamberRoot|Undefined

EchoChamberDropdownToggleMenu

Dropdown variant that shows a checklist menu that stays open.

Inherits from EchoChamberDropdownBase.

new EchoChamberDropdownToggleMenu(id)
Arguments
id String|Real

Methods

MethodWhat 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.
SetItems(items)

Sets the toggle menu items and rebuild the overlay option count.

Arguments
items Array<Struct> Each item: {label, bind_struct, bind_key}
OnAnyChange(fn)

Sets a callback that runs after any item is toggled.

Arguments
fn Function
GetSelectedIndex()

Returns a selected index placeholder (toggle menus do not have a single selected row).

Returns
Real
SetSelectedIndex(idx)

No-op for toggle menus (kept for base compatibility).

Arguments
idx Real
Returns
DrawOverlayRow(root, row_index, rect, hover, is_selected)

Draws a checklist row in the overlay.

Arguments
root Struct.EchoChamberRoot
row_index Real
rect Struct {x1,y1,x2,y2}
hover Bool
is_selected Bool

EchoChamberColorButton

Clickable color swatch button that opens the root-managed color picker popup.

Inherits from EchoChamberControlBase.

new EchoChamberColorButton(id)
Arguments
id String|Real

Methods

MethodWhat 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.
BindColor(source, [key_or_fn])

Binds this color button to a field binding, struct field, or getter/setter function pair.

Arguments
source Struct.EchoChamberFieldBinding|Struct|Function
key_or_fn optional String|Function|Undefined
Returns
OnChange(fn)

Sets a callback that runs while the popup changes color live.

Arguments
fn Function function(_color)
Returns
OnCommit(fn)

Sets a callback that runs when the popup commits.

Arguments
fn Function function(_color)
Returns
OnCancel(fn)

Sets a callback that runs when the popup cancels.

Arguments
fn Function function(_color)
Returns
SetPopupStyleKey(key)

Sets the popup style key used by this color button's color picker.

Arguments
key String
Returns
SetPopupDirection(direction)

Sets the preferred popup direction.

Arguments
direction Real Takes eEchoChamberPopupDirection enum.
Returns
SetPopupVisualSpace(space)

Sets the popup visual space.

Arguments
space Real Takes eEchoChamberColorPopupVisualSpace enum.
Returns
SetPopupTitle(text)

Sets the popup title text.

Arguments
text String|Real|Bool
Returns
SetValueTextMode(mode)

Sets the value text display mode.

Arguments
mode Real Takes eEchoChamberColorButtonValueTextMode enum.
Returns

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)
Arguments
name String Parsed argument field name.
type optional Real Uses the eEchoConsoleCommandArgType enum.
required optional Bool
description optional String
default_value optional Any|Undefined

EchoConsoleTarget

Value object describing the current Echo Chamber debug target.

new EchoConsoleTarget(kind, value, label)
Arguments
kind optional Real
value optional Any|Undefined
label optional String

Methods

MethodWhat 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.
IsNone()

Returns whether this target represents no active target.

Returns
Bool
IsInstance()

Returns whether this target represents an instance.

Returns
Bool
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.

Returns
Bool
GetValue()

Returns the runtime value held by this target.

Returns
Any
GetLabel()

Returns the display label for this target.

Returns
String

EchoConsoleManager

Shared state used by Echo Console and the other debug windows.

new EchoConsoleManager(root)
Arguments
root Struct.EchoChamberRoot

Methods

Target and picking
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.
Watches
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.
Input recording
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.
Snapshots and crash reports
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.
Commands
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.
Integration and windows
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.
SetTarget(target)

Sets the active debug target.

Arguments
target Struct.EchoConsoleTarget
Returns
Bool
SetInstanceTarget(instance)

Sets the active debug target to an instance.

Arguments
instance Id.Instance
Returns
Bool
ClearTarget()

Clears the active debug target.

Returns
GetTarget()

Returns the active debug target.

Returns
GetTargetKind()

Returns the active debug target kind.

Returns
Real
GetTargetValue()

Returns the active debug target value.

Returns
Any
GetTargetRevision()

Returns the active debug target revision.

Returns
Real
GetTargetSummary()

Returns a display string for the active debug target.

Returns
String
GetConsoleSummary()

Returns a display string for the main Echo Console hub status.

Returns
String
StartInstancePick()

Starts instance pick mode.

Returns
CancelPick()

Cancels active debug pick mode.

Returns
IsPicking()

Returns whether any debug pick mode is active.

Returns
Bool
IsPickingInstance()

Returns whether instance pick mode is active.

Returns
Bool
GetPickMode()

Returns the active debug pick mode.

Returns
Real Uses the eEchoChamberDebugPickMode enum.
GetPickHoverInstance()

Returns the currently hovered instance while picking.

Returns
Id.Instance|Constant.Noone
AddInstanceVariableWatch(instance, variable_name)

Adds an instance-variable watch.

Arguments
instance Id.Instance
variable_name String
Returns
Real Watch ID, or -1 when the watch could not be added.
AddGlobalWatch(key)

Adds a global-variable watch.

Arguments
key String
Returns
Real Watch ID, or -1 when the watch could not be added.
AddCallbackWatch(label, callback)

Adds a callback watch.

Arguments
label String
callback Function
Returns
Real Watch ID, or -1 when the watch could not be added.
RemoveWatch(watch_id)

Removes a watch.

Arguments
watch_id Real
Returns
Bool
ClearWatches()

Clears all watches.

Returns
StartInputRecording(filter)

Starts GameMaker debug input recording.

Arguments
filter Real Uses debug_input_filter_* constants.
Returns
Bool
StopInputRecording(filename)

Stops and save the current GameMaker debug input recording.

Arguments
filename String
Returns
Bool
PlayInputRecording(filename)

Plays a saved GameMaker debug input recording.

Arguments
filename String
Returns
Bool
HandleAsyncSystem(async_load)

Routes an Async System event to the debug manager.

Arguments
async_load Real Async System event DS map ID.
Returns
Bool
BuildWatchesSnapshotText()

Builds a text report of current Echo Watches.

Returns
String
CaptureSnapshot()

Captures an Echo Snapshot report.

Returns
String
CopySnapshot()

Copies the latest Echo Snapshot report to the clipboard.

Returns
Bool
SaveSnapshot()

Saves the latest Echo Snapshot report to a text file.

Returns
Bool
ClearSavedSnapshots()

Clears saved Echo Snapshot reports from the current window session.

Returns
EnableCrashCapture([chain_previous])

Enables Echo Crash Reports capture.

Arguments
chain_previous optional Bool
Returns
Bool
DisableCrashCapture()

Disables Echo Crash Reports capture.

Returns
Bool
HasCrashReport()

Returns whether a saved Echo Crash Report exists.

Returns
Bool
CopyCrashReport()

Copies the saved Echo Crash Report to the clipboard.

Returns
Bool
ClearCrashReport()

Clears the saved Echo Crash Report.

Returns
Bool
GetCrashReportText()

Returns the saved Echo Crash Report text.

Returns
String
AddCommand(key, description, args, callback)

Adds a custom Echo Console command. Keys are normalized by Echo Console. Duplicate keys, invalid argument definitions, and non-callable callbacks return false.

Arguments
key String
description String
args Array<Struct.EchoConsoleCommandArg>
callback Function function(_args, _context)
Returns
Bool
UnregisterCommand(key)

Unregister a custom Echo Console command.

Arguments
key String
Returns
Bool
RunCommand(text)

Runs an Echo Console command line.

Arguments
text String
Returns
Bool
GetCommandOutput()

Returns the latest command output text.

Returns
String
GetCommandOutputIsError()

Returns whether the latest command output is an error.

Returns
Bool
GetPreviousCommand(current_text)

Returns the previous command history entry.

Arguments
current_text String
Returns
String
GetNextCommand(current_text)

Returns the next command history entry.

Arguments
current_text String
Returns
String
GetPickHoverCount()

Returns the number of valid instances currently under the picker.

Returns
Real
RegisterTargetListener(key, fn)

Registers a callback fired when the active debug target changes. Reusing a key replaces the existing listener callback.

Arguments
key String
fn Function
Returns
Bool
UnregisterTargetListener(key)

Removes a target-change listener by key.

Arguments
key String
Returns
Bool
RegisterWindowOpener(key, fn)

Registers a debug window opener.

Arguments
key String
fn Function
Returns
Bool
UnregisterWindowOpener(key)

Removes a debug window opener by key.

Arguments
key String
Returns
Bool
OpenWindow(key)

Opens a registered debug window.

Arguments
key String
Returns
Struct.EchoChamberWindow|Undefined
OpenCommandHelp([key])

Opens the Echo Command Help window.

Arguments
key optional String
Returns
Struct.EchoChamberWindow|Undefined
ResetBuiltInWindowLayouts()

Resets Echo Console and built-in debug window layouts.

Returns
Real
RegisterOverlayDrawer(key, fn)

Registers a debug GUI overlay drawer. Overlay drawers run behind Echo Chamber windows during debug overlay drawing.

Arguments
key String
fn Function
Returns
Bool
UnregisterOverlayDrawer(key)

Removes a debug GUI overlay drawer by key.

Arguments
key String
Returns
Bool

Themes

EchoChamberTheme

Creates the shared Echo Chamber theme used by Statement Lens.

new EchoChamberTheme()

Methods

MethodWhat 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.
GetGeneration()

Returns the generation. The generation increments when theme metrics or style defaults are refreshed. Echo Chamber uses it to invalidate cached resolved styles.

Returns
Real
GetHeaderFont()

Returns the theme font used for headers and window chrome.

Returns
Asset.GMFont
SetHeaderFont(font)

Sets the theme header font and propagate it to styles still following the header role.

Arguments
font String|Asset.GMFont
Returns
GetBodyFont()

Returns the theme font used for normal control and body text.

Returns
Asset.GMFont
SetBodyFont(font)

Sets the theme body font and propagate it to styles still following the body role.

Arguments
font String|Asset.GMFont
Returns
GetSmallFont()

Returns the theme font used for compact and informational text.

Returns
Asset.GMFont
SetSmallFont(font)

Sets the theme small font and propagate it to styles still following the small role.

Arguments
font String|Asset.GMFont
Returns
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.

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

GetEchoChamberRoot()

Returns the default Echo Chamber root. This returns the default global root used by the bundled setup, creating it first if needed.

Returns
Struct.EchoChamberRoot Default Echo Chamber root.
EnsureEchoChamberRoot()

Ensures the existence of the default Echo Chamber root. Creates global.__echo_chamber_root when it doesn't exist or isn't an EchoChamberRoot.

Returns
Undefined No return value.
EchoChamberReleaseGpuResources()

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

EchoChamberInputFormatKey(key)

Formats a keyboard key code for display.

Arguments
key Real Keyboard keycode (vk_* or ord()).
Returns
String
EchoChamberInputFormatBinding(binding)

Formats an input binding for display in help text or menu shortcuts.

Arguments
binding Struct.EchoChamberInputBinding
Returns
String

Echo Console

EchoChamberOpenConsole(ui_root)

Opens the built-in Echo Console window, creating it if needed. Pass the root you're actually drawing with RunDesktop().

Arguments
ui_root Struct.EchoChamberRoot
Returns
Struct.EchoChamberWindow|Undefined
EchoConsoleGetManager(ui_root)

Returns the shared Echo Chamber debug manager for a root. Returns undefined when _ui_root isn't an EchoChamberRoot.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Struct.EchoConsoleManager|Undefined
EchoConsoleSetInstanceTarget(ui_root, instance)

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.

Arguments
ui_root Struct.EchoChamberRoot
instance Id.Instance
Returns
Bool
EchoConsoleClearTarget(ui_root)

Clears the active Echo Chamber debug target.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleGetTarget(ui_root)

Returns the active Echo Chamber debug target.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Struct.EchoConsoleTarget|Undefined
EchoConsoleOpenWindow(ui_root, key)

Opens a registered Echo Chamber debug window. Built-in keys use the ECHO_DEBUG_WINDOW_* macros. Custom keys must be registered with RegisterWindowOpener().

Arguments
ui_root Struct.EchoChamberRoot
key String
Returns
Struct.EchoChamberWindow|Undefined
EchoConsoleStartInstancePick(ui_root)

Starts Echo Chamber instance pick mode. Starts instance-pick mode. Left click selects an instance, while right click or Cancel exits pick mode.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleCancelPick(ui_root)

Cancels the active Echo Chamber debug pick mode.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleIsPicking(ui_root)

Returns whether Echo Chamber debug pick mode is active.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleAddInstanceWatch(ui_root, instance, variable_name)

Adds an instance-variable watch to the Echo Watches window.

Arguments
ui_root Struct.EchoChamberRoot
instance Id.Instance
variable_name String
Returns
Real Watch ID, or -1 when the watch could not be added.
EchoConsoleAddGlobalWatch(ui_root, key)

Adds a global-variable watch to the Echo Watches window.

Arguments
ui_root Struct.EchoChamberRoot
key String
Returns
Real Watch ID, or -1 when the watch could not be added.
EchoConsoleAddCallbackWatch(ui_root, label, callback)

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.

Arguments
ui_root Struct.EchoChamberRoot
label String
callback Function
Returns
Real Watch ID, or -1 when the watch could not be added.
EchoConsoleRemoveWatch(ui_root, watch_id)

Removes a watch from the Echo Watches window.

Arguments
ui_root Struct.EchoChamberRoot
watch_id Real
Returns
Bool
EchoConsoleClearWatches(ui_root)

Removes all watches from the Echo Watches window.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleAddCommand(ui_root, key, description, args, callback)

Adds a custom Echo Console command. _callback is called as function(_args, _context). See EchoConsoleCommandArg() for parsed argument and context details.

Arguments
ui_root Struct.EchoChamberRoot
key String
description String
args Array<Struct.EchoConsoleCommandArg>
callback Function function(_args, _context)
Returns
Bool
EchoConsoleUnregisterCommand(ui_root, key)

Unregister a custom Echo Console command. Built-in commands can't be unregistered.

Arguments
ui_root Struct.EchoChamberRoot
key String
Returns
Bool
EchoConsoleRunCommand(ui_root, text)

Runs an Echo Console command. Runs the command through the same parser used by Echo Console and updates the latest command output text.

Arguments
ui_root Struct.EchoChamberRoot
text String
Returns
Bool
EchoConsoleCaptureSnapshot(ui_root)

Captures an Echo Snapshot report from the current runtime state.

Arguments
ui_root Struct.EchoChamberRoot
Returns
String|Undefined
EchoConsoleCopySnapshot(ui_root)

Captures an Echo Snapshot report and copies it to the clipboard.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleSaveSnapshot(ui_root)

Captures an Echo Snapshot report and saves it to a text file.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleClearSavedSnapshots(ui_root)

Clears saved Echo Snapshot reports from the current window session.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleEnableCrashCapture(ui_root, [chain_previous])

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.

Arguments
ui_root Struct.EchoChamberRoot
chain_previous optional Bool
Returns
Bool
EchoConsoleDisableCrashCapture(ui_root)

Disables Echo Crash Reports capture and restore the previous unhandled-exception handler.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleHasCrashReport(ui_root)

Returns whether Echo has a saved last-crash report.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleCopyCrashReport(ui_root)

Copies the saved Echo Crash Report to the clipboard.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleClearCrashReport(ui_root)

Delete the saved Echo Crash Report.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Bool
EchoConsoleStartInputRecording(ui_root, filter)

Starts GameMaker debug input recording.

Arguments
ui_root Struct.EchoChamberRoot
filter Real Uses debug_input_filter_* constants.
Returns
Bool
EchoConsoleStopInputRecording(ui_root, filename)

Stops and save the current GameMaker debug input recording.

Arguments
ui_root Struct.EchoChamberRoot
filename String
Returns
Bool
EchoConsolePlayInputRecording(ui_root, filename)

Plays a saved GameMaker debug input recording.

Arguments
ui_root Struct.EchoChamberRoot
filename String
Returns
Bool
EchoConsoleOpenDataStructureScanner(ui_root)

Opens the Echo Data Structure Scanner window.

Arguments
ui_root Struct.EchoChamberRoot
Returns
Struct.EchoChamberWindow|Undefined
EchoConsoleHandleAsyncSystem(ui_root, async_load)

Routes an Async System event to Echo Console debug systems. Call this from an Async System event when using the input recording playback helpers.

Arguments
ui_root Struct.EchoChamberRoot
async_load Real Async System event DS map ID.
Returns
Bool

Library integration

EchoConsoleLibraryRegistration(name, launcher, debug_enabled)

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.

Arguments
name String The name of the library
launcher Function The function that launches the libraries debug panel/interactive elements
debug_enabled Bool Whether the library should show up in Echo Console or not

Theme assets

EchoChamberThemeTryGetFont(font_name)

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().

Arguments
font_name String|Asset.GMFont
Returns
Asset.GMFont
EchoChamberThemeTryGetSprite(sprite_name)

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().

Arguments
sprite_name String|Asset.GMSprite
Returns
Asset.GMSprite|Real

Enums

Layout and drawing

eEchoChamberDock

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.

FILL
TOP
BOTTOM
LEFT
RIGHT
eEchoChamberChromeButtonSlot

Identifies which title-bar button on a window you want to style or address.

CLOSE
MINIMISE
PIN
eEchoChamberChromeIcon

Names the built-in icon meaning used by window title-bar buttons.

CLOSE
MINIMISE
MAXIMISE
RESTORE
PIN
UNPIN
eEchoChamberChromeIconState

Describes the current visual state of a title-bar icon so a style can provide different visuals for normal, hovered, pressed, or disabled states.

NORMAL
HOVER
DOWN
DISABLED
eEchoChamberChromeIconVisualKind

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.

NONE
SPRITE
BUILTIN_BUFFER
TEXT
eEchoChamberCollapse

Controls whether a panel can collapse and, when it can, which edge it collapses toward.

NONE
TO_LEFT
TO_RIGHT
TO_TOP
TO_BOTTOM
eEchoChamberPanelSizeMode

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.

FIXED
FIT_CONTENT
eEchoChamberPanelFlow

Chooses how a panel arranges its direct controls. ROW packs controls across rows and can wrap, while COLUMN stacks them vertically.

ROW
COLUMN
eEchoChamberPanelRowAlign

When a packed row doesn't use the full available width, chooses whether that row sits at the start, centre, or end.

START
CENTER
END
eEchoChamberPanelRowDistribution

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.

PACK
FILL
eEchoChamberAlignHor

General left/centre/right alignment used by layouts, popups, and styles.

LEFT
CENTER
RIGHT
eEchoChamberAlignVer

General top/middle/bottom alignment used by layouts and styles.

TOP
MIDDLE
BOTTOM
eEchoChamberBoxShape

Chooses the shape drawn by style surfaces that support rectangular or rounded boxes.

RECTANGLE
ROUNDRECT
NUM Enum sentinel. Use RECTANGLE or ROUNDRECT for style SetShape() calls.
eEchoChamberLabelPlacement

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.

AUTO
LEADING
ABOVE
NONE
eEchoChamberLabelAlign

Chooses the horizontal alignment of label text. AUTO leaves the choice to the active label style and placement rules.

AUTO
LEFT
CENTER
RIGHT
eEchoChamberPopupDirection

Chooses whether an anchored popup prefers to open below or above its anchor, or lets Echo Chamber choose from the available space.

DOWN
UP
AUTO
eEchoChamberColorPopupVisualSpace

Chooses whether the colour picker presents its colour controls in HSV or HSL space.

HSV
HSL
eEchoChamberColorButtonValueTextMode

Chooses whether a colour button also prints the current RGB value as text.

NONE
RGB
eEchoChamberSliderValuePosition

Chooses whether a slider's displayed value text appears above or below the slider body.

ABOVE
BELOW
eEchoChamberValidationKind

Describes how serious a validation message is when a text control reports a problem or informational note.

ERROR
WARN
INFO
eEchoChamberValidationDisplay

Chooses whether validation feedback is shown inline, as a tooltip, or chosen automatically.

AUTO
INLINE
TOOLTIP
eEchoChamberSeparatorOrientation

Chooses whether a separator control draws horizontally or vertically.

HORIZONTAL
VERTICAL
eEchoChamberBindingKind

Internal storage mode used by dynamic control bindings. Configure bindings with the relevant Bind*() method instead of assigning this enum directly.

NONE
STRUCT_FIELD
FUNCTION_PAIR
FIELD_BINDING
NUM

Input

eEchoChamberInputCheck

Chooses which moment of a key/input action counts: the first press, every frame it's held, or the release.

PRESSED
DOWN
RELEASED
eEchoChamberInputBindKind

Describes whether a named Echo Chamber action is connected to a keyboard key, a custom function, or deliberately blocked from parent-context fallback.

KEY
FUNC
BLOCK

Echo Console

eEchoChamberDebugTheme

Chooses the dedicated visual theme used by Echo Console and the other built-in debugger windows.

PHOSPHOR_TERMINAL
BIOHAZARD_CONSOLE
EMERALD_ULTRAVIOLET
eEchoChamberDebugTargetKind

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.

NONE
INSTANCE
STRUCT
GLOBAL
ASSET
LOG_ENTRY
eEchoConsoleDsKind

Lists the GameMaker DS types the Data Structure Scanner knows how to inspect.

LIST
MAP
GRID
QUEUE
STACK
PRIORITY
eEchoConsoleCommandArgType

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.

STRING
TEXT
REAL
INT
BOOL
ANY
eEchoConsoleCommandCallbackKind

Describes whether a registered command callback receives raw command text or arguments that Echo Console has already parsed.

RAW
PARSED
eEchoChamberDebugPickMode

Describes whether the debugger is currently waiting for the user to click a live instance in the game.

NONE
INSTANCE
eEchoChamberWatchKind

Describes where a watch gets the value it keeps visible: one instance field, one global field, or a callback that calculates the value.

INSTANCE_VARIABLE
GLOBAL_VARIABLE
CALLBACK

Macros

Version

Console setup

ECHO_CHAMBER_CONSOLE_ENABLED
Default
1
ECHO_CHAMBER_CONSOLE_KEY
Default
vk_f1
ECHO_CHAMBER_LAUNCH_ON_STARTUP
Default
false
ECHO_CHAMBER_DEBUG_THEME
Default
eEchoChamberDebugTheme.EMERALD_ULTRAVIOLET

Core input action ids

ECHO_UI_ACTION_CANCEL
ECHO_UI_ACTION_ACCEPT
ECHO_UI_ACTION_TAB_NEXT
ECHO_UI_ACTION_TAB_PREV
ECHO_UI_ACTION_NAV_UP
ECHO_UI_ACTION_NAV_DOWN
ECHO_UI_ACTION_PAGE_UP
ECHO_UI_ACTION_PAGE_DOWN
ECHO_UI_ACTION_HOME
ECHO_UI_ACTION_END
ECHO_UI_ACTION_RESTORE_WINDOWS

Default core bindings

ECHO_UI_BIND_CANCEL
Default
new EchoChamberInputBindingKey(vk_escape)
ECHO_UI_BIND_ACCEPT
Default
new EchoChamberInputBindingKey(vk_enter)
ECHO_UI_BIND_TAB_NEXT
Default
new EchoChamberInputBindingFunc(function() { return keyboard_check_pressed(vk_tab) && !keyboard_check(vk_shift); })
ECHO_UI_BIND_TAB_PREV
Default
new EchoChamberInputBindingFunc(function() { return keyboard_check_pressed(vk_tab) && keyboard_check(vk_shift); })
ECHO_UI_BIND_NAV_UP
Default
new EchoChamberInputBindingKey(vk_up)
ECHO_UI_BIND_NAV_DOWN
Default
new EchoChamberInputBindingKey(vk_down)
ECHO_UI_BIND_PAGE_UP
Default
new EchoChamberInputBindingKey(vk_pageup)
ECHO_UI_BIND_PAGE_DOWN
Default
new EchoChamberInputBindingKey(vk_pagedown)
ECHO_UI_BIND_HOME
Default
new EchoChamberInputBindingKey(vk_home)
ECHO_UI_BIND_END
Default
new EchoChamberInputBindingKey(vk_end)
ECHO_UI_BIND_RESTORE_WINDOWS
Default
new EchoChamberInputBindingKey(vk_f12)

Built-in debug window ids

ECHO_DEBUG_WINDOW_INSPECTOR
ECHO_DEBUG_WINDOW_WATCHES
ECHO_DEBUG_WINDOW_GAME
ECHO_DEBUG_WINDOW_RUNTIME
ECHO_DEBUG_WINDOW_DATA_STRUCTURES
ECHO_DEBUG_WINDOW_COMMAND_HELP
ECHO_DEBUG_WINDOW_INPUT
ECHO_DEBUG_WINDOW_CRASH
ECHO_DEBUG_WINDOW_SNAPSHOT

Console limits

ECHO_CONSOLE_ROOM_SCAN_LIMIT
Default
100
ECHO_CONSOLE_DS_SCAN_LIMIT
Default
10000
ECHO_CONSOLE_DS_INSPECT_LIMIT
Default
200

Text input modes

ECHO_TEXTMODE_TEXT
ECHO_TEXTMODE_INT
ECHO_TEXTMODE_FLOAT
ECHO_TEXTMODE_IDENTIFIER
ECHO_TEXTMODE_PATH
ECHO_TEXTMODE_CODE
ECHO_TEXTMODE_PASSWORD

Symbol index

A
AddCallbackWatch()EchoConsoleManager
AddChildPanel()EchoChamberPanel
AddCommand()EchoConsoleManager
AddControl()EchoChamberPanel
AddGlobalWatch()EchoConsoleManager
AddInstanceVariableWatch()EchoConsoleManager
AddPanel()EchoChamberRoot
AddPanel()EchoChamberWindow
AddScrollablePanelBody()EchoChamberWindow
AddTransform()EchoChamberTextInput
ApplyTheme()EchoChamberRoot
ApplyTheme()EchoChamberWindow
B
BeginLayoutBatch()EchoChamberWindow
BindAction()EchoChamberInputContext
BindBlock()EchoChamberInputContext
BindCaption()EchoChamberButton
BindColor()EchoChamberColorButton
BindCoreInputAction()EchoChamberRoot
BindFunc()EchoChamberInputContext
BindIndex()EchoChamberDropdownSelect
BindKey()EchoChamberInputContext
BindOptions()EchoChamberDropdownBase
BindText()EchoChamberTextBlock
BindText()EchoChamberTextInput
BindValue()EchoChamberSlider
BindValue()EchoChamberToggle
BlurControlFocus()EchoChamberRoot
BlurTextInput()EchoChamberRoot
BringWindowsBack()EchoChamberRoot
BringWindowToFront()EchoChamberRoot
BuildWatchesSnapshotText()EchoConsoleManager
C
CancelPick()EchoConsoleManager
CancelTextInput()EchoChamberRoot
CaptureSnapshot()EchoConsoleManager
ClearAction()EchoChamberInputContext
ClearChildPanels()EchoChamberPanel
ClearControls()EchoChamberPanel
ClearCrashReport()EchoConsoleManager
ClearForceSize()EchoChamberTextInput
ClearIcon()EchoChamberButton
ClearModalWindow()EchoChamberRoot
ClearMouseCapture()EchoChamberRoot
ClearPanels()EchoChamberWindow
ClearSavedSnapshots()EchoConsoleManager
ClearTarget()EchoConsoleManager
ClearThemeOverride()EchoChamberWindow
ClearTransforms()EchoChamberTextInput
ClearValidationMessage()EchoChamberTextInput
ClearWatches()EchoConsoleManager
Close()EchoChamberWindow
CloseContextMenu()EchoChamberRoot
ConsumeMouse()EchoChamberRoot
ConsumeWheel()EchoChamberRoot
ContainsPoint()EchoChamberWindow
CopyCrashReport()EchoConsoleManager
CopySnapshot()EchoConsoleManager
CopyToClipboard()EchoChamberRoot
CreateInputContext()EchoChamberRoot
CreateWindow()EchoChamberRoot
D
DisableCrashCapture()EchoConsoleManager
Draw()EchoChamberWindow
DrawManual()EchoChamberControlBase
DrawOverlayRow()EchoChamberDropdownBase
DrawOverlayRow()EchoChamberDropdownToggleMenu
DrawPopupFrame()EchoChamberRoot
DrawScrollArea()EchoChamberRoot
DrawTooltipTextAt()EchoChamberRoot
DumpUI()EchoChamberRoot
E
EC_InputDown()EchoChamberRoot
EC_InputPressed()EchoChamberRoot
EC_InputReleased()EchoChamberRoot
EnableCrashCapture()EchoConsoleManager
EndLayoutBatch()EchoChamberWindow
F
FindControl()EchoChamberPanel
FindControl()EchoChamberRoot
FindControl()EchoChamberWindow
FindPanel()EchoChamberWindow
FindWindow()EchoChamberRoot
FitToContent()EchoChamberWindow
FocusControl()EchoChamberRoot
FocusTextInput()EchoChamberRoot
G
Get()EchoChamberFieldBinding
GetActiveText()EchoChamberRoot
GetBinding()EchoChamberInputContext
GetBodyFont()EchoChamberTheme
GetCommandOutput()EchoConsoleManager
GetCommandOutputIsError()EchoConsoleManager
GetConsoleSummary()EchoConsoleManager
GetCrashReportText()EchoConsoleManager
GetDebugManager()EchoChamberRoot
GetDisplayText()EchoChamberInputBinding
GetGeneration()EchoChamberTheme
GetHeaderFont()EchoChamberTheme
GetHeight()EchoChamberWindow
GetInputContext()EchoChamberRoot
GetKey()EchoChamberInputBinding
GetKey()EchoChamberInputBindingKey
GetLabel()EchoConsoleTarget
GetModalWindow()EchoChamberRoot
GetNextCommand()EchoConsoleManager
GetPanel()EchoChamberControlBase
GetPickHoverCount()EchoConsoleManager
GetPickHoverInstance()EchoConsoleManager
GetPickMode()EchoConsoleManager
GetPreviousCommand()EchoConsoleManager
GetRoot()EchoChamberControlBase
GetSelectedIndex()EchoChamberDropdownBase
GetSelectedIndex()EchoChamberDropdownSelect
GetSelectedIndex()EchoChamberDropdownToggleMenu
GetSelectedIndex()EchoChamberListView
GetSmallFont()EchoChamberTheme
GetTarget()EchoChamberFieldBinding
GetTarget()EchoConsoleManager
GetTargetKind()EchoConsoleManager
GetTargetRevision()EchoConsoleManager
GetTargetSummary()EchoConsoleManager
GetTargetValue()EchoConsoleManager
GetTextBuffer()EchoChamberRoot
GetThickness()EchoChamberPanel
GetValue()EchoConsoleTarget
GetWidth()EchoChamberWindow
GetWindow()EchoChamberControlBase
H
HandleAsyncSystem()EchoConsoleManager
HasCrashReport()EchoConsoleManager
HitTestRect()EchoChamberRoot
I
InsertControl()EchoChamberPanel
IsActiveTextInput()EchoChamberRoot
IsAutoFollowPaused()EchoChamberListView
IsContextMenuOpen()EchoChamberRoot
IsControlFocused()EchoChamberRoot
IsInstance()EchoConsoleTarget
IsNearBottom()EchoChamberListView
IsNone()EchoConsoleTarget
IsPicking()EchoConsoleManager
IsPickingInstance()EchoConsoleManager
IsValid()EchoConsoleTarget
J
JumpToBottom()EchoChamberListView
L
LabelStyle()EchoChamberPanel
LoadLayout()EchoChamberRoot
M
MarkThemeDirty()EchoChamberRoot
MarkThemeDirty()EchoChamberWindow
MoveControl()EchoChamberPanel
MoveControlToPanel()EchoChamberPanel
MoveControlToPanel()EchoChamberWindow
O
OnAnyChange()EchoChamberDropdownToggleMenu
OnBlur()EchoChamberTextInput
OnBlur()EchoChamberWindow
OnCancel()EchoChamberColorButton
OnCancel()EchoChamberTextInput
OnChange()EchoChamberColorButton
OnChange()EchoChamberDropdownSelect
OnChange()EchoChamberSlider
OnChange()EchoChamberTextInput
OnChange()EchoChamberToggle
OnClick()EchoChamberButton
OnClose()EchoChamberWindow
OnCommit()EchoChamberColorButton
OnFocus()EchoChamberTextInput
OnFocus()EchoChamberWindow
OnHide()EchoChamberWindow
OnHistoryNext()EchoChamberTextInput
OnHistoryPrevious()EchoChamberTextInput
OnLiveChange()EchoChamberTextInput
OnMinimize()EchoChamberWindow
OnMove()EchoChamberWindow
OnResize()EchoChamberWindow
OnRestore()EchoChamberWindow
OnShow()EchoChamberWindow
OnSubmit()EchoChamberTextInput
OpenColorPickerPopup()EchoChamberRoot
OpenCommandHelp()EchoConsoleManager
OpenContextMenu()EchoChamberRoot
OpenWindow()EchoConsoleManager
P
PlayInputRecording()EchoConsoleManager
PopClipRect()EchoChamberRoot
PushClipRect()EchoChamberRoot
Q
QueueOverlay()EchoChamberRoot
R
RefreshMetrics()EchoChamberTheme
RefreshTheme()EchoChamberRoot
RefreshThemeOverride()EchoChamberWindow
RegisterOverlayDrawer()EchoConsoleManager
RegisterTargetListener()EchoConsoleManager
RegisterWindow()EchoChamberRoot
RegisterWindowOpener()EchoConsoleManager
RemoveChildPanel()EchoChamberPanel
RemoveControl()EchoChamberPanel
RemoveInputContext()EchoChamberRoot
RemovePanel()EchoChamberWindow
RemoveWatch()EchoConsoleManager
RemoveWindow()EchoChamberRoot
RequestTooltip()EchoChamberRoot
Reset()EchoChamberScrollState
ResetBuiltInWindowLayouts()EchoConsoleManager
ResetLayout()EchoChamberWindow
ResetWindowLayouts()EchoChamberRoot
RunCommand()EchoConsoleManager
RunDesktop()EchoChamberRoot
S
SaveLayout()EchoChamberRoot
SaveSnapshot()EchoConsoleManager
ScrollBy()EchoChamberScrollState
SendWindowToBack()EchoChamberRoot
Set()EchoChamberFieldBinding
SetActive()EchoChamberPanel
SetAllowedChars()EchoChamberTextInput
SetAutoFit()EchoChamberWindow
SetAutoHeightFromCount()EchoChamberListView
SetAutoLower()EchoChamberTextInput
SetAutoScroll()EchoChamberListView
SetAutoTrim()EchoChamberTextInput
SetAutoUpper()EchoChamberTextInput
SetAutoWidthFromContent()EchoChamberListView
SetBackgroundSprite()EchoChamberTextInput
SetBodyFont()EchoChamberTheme
SetBorderSprite()EchoChamberTextInput
SetCaption()EchoChamberControlBase
SetCaretSprite()EchoChamberTextInput
SetCollapsed()EchoChamberPanel
SetCollapseMode()EchoChamberPanel
SetContentDrawer()EchoChamberPanel
SetContextMenuStyleKey()EchoChamberTextInput
SetControlOrder()EchoChamberPanel
SetCountGetter()EchoChamberListView
SetDefaultLayout()EchoChamberWindow
SetDeniedChars()EchoChamberTextInput
SetEditorOverlayStyleKey()EchoChamberTextBox
SetEnabled()EchoChamberControlBase
SetExpandSprite()EchoChamberTextInput
SetFallback()EchoChamberFieldBinding
SetFillWidth()EchoChamberControlBase
SetFillWidth()EchoChamberListView
SetFilter()EchoChamberTextInput
SetFlowMode()EchoChamberPanel
SetForceSizeFromBorderSprite()EchoChamberTextInput
SetForceSizeFromSprite()EchoChamberTextInput
SetGripSprite()EchoChamberTextInput
SetHeaderFont()EchoChamberTheme
SetIcon()EchoChamberButton
SetIconSubimg()EchoChamberButton
SetInputContext()EchoChamberWindow
SetInputMode()EchoChamberTextInput
SetInputModeCode()EchoChamberTextInput
SetInputModeFloat()EchoChamberTextInput
SetInputModeInt()EchoChamberTextInput
SetInputModePassword()EchoChamberTextInput
SetInstanceTarget()EchoConsoleManager
SetInvalid()EchoChamberTextInput
SetItems()EchoChamberDropdownToggleMenu
SetLabel()EchoChamberControlBase
SetLabelAlign()EchoChamberControlBase
SetLabelAutoMinControlWidth()EchoChamberControlBase
SetLabelEnabled()EchoChamberControlBase
SetLabelGap()EchoChamberControlBase
SetLabelGap()EchoChamberPanel
SetLabelPlacement()EchoChamberControlBase
SetLabelPlacement()EchoChamberPanel
SetLabelWidth()EchoChamberControlBase
SetLabelWidth()EchoChamberPanel
SetLabelWidthClamp()EchoChamberPanel
SetLiveChangeRateMs()EchoChamberTextInput
SetMaxHeight()EchoChamberTextBox
SetMaxLength()EchoChamberTextInput
SetMaxSize()EchoChamberPanel
SetMaxSize()EchoChamberWindow
SetMinHeight()EchoChamberTextBox
SetMinimized()EchoChamberWindow
SetMinSize()EchoChamberPanel
SetMinSize()EchoChamberWindow
SetModalWindow()EchoChamberRoot
SetMouseCapture()EchoChamberRoot
SetNumericOnly()EchoChamberTextInput
SetOnActivate()EchoChamberListView
SetOnDoubleClick()EchoChamberListView
SetOnLiveChange()EchoChamberTextInput
SetOnRightClick()EchoChamberListView
SetOnSelect()EchoChamberListView
SetOnWrite()EchoChamberFieldBinding
SetOptions()EchoChamberDropdownBase
SetOrientation()EchoChamberSeparator
SetParent()EchoChamberInputContext
SetPersistenceFile()EchoChamberRoot
SetPinned()EchoChamberWindow
SetPlaceholder()EchoChamberTextInput
SetPopupDirection()EchoChamberColorButton
SetPopupStyleKey()EchoChamberColorButton
SetPopupTitle()EchoChamberColorButton
SetPopupVisualSpace()EchoChamberColorButton
SetPosition()EchoChamberWindow
SetPreferredHeight()EchoChamberControlBase
SetPreferredHeight()EchoChamberListView
SetPreferredWidth()EchoChamberControlBase
SetPreferredWidth()EchoChamberListView
SetRange()EchoChamberSlider
SetReadOnly()EchoChamberFieldBinding
SetReadOnly()EchoChamberTextInput
SetRect()EchoChamberWindow
SetResizable()EchoChamberTextBox
SetRowAlign()EchoChamberPanel
SetRowDistribution()EchoChamberPanel
SetRowDrawer()EchoChamberListView
SetRowMeasure()EchoChamberListView
SetRowTooltipGetter()EchoChamberListView
SetRowVerticalAlign()EchoChamberPanel
SetScrollable()EchoChamberPanel
SetScrollState()EchoChamberPanel
SetScrollY()EchoChamberScrollState
SetSelectAllOnFocus()EchoChamberTextInput
SetSelectedIndex()EchoChamberDropdownBase
SetSelectedIndex()EchoChamberDropdownSelect
SetSelectedIndex()EchoChamberDropdownToggleMenu
SetSelectedIndex()EchoChamberListView
SetSize()EchoChamberPanel
SetSizeMode()EchoChamberPanel
SetSkinTint()EchoChamberTextInput
SetSmallFont()EchoChamberTheme
SetStep()EchoChamberSlider
SetStyleKey()EchoChamberControlBase
SetStyleKey()EchoChamberPanel
SetStyleKey()EchoChamberWindow
SetStyleKeyChromeButton()EchoChamberWindow
SetStyleKeyHeader()EchoChamberWindow
SetStyleKeyLabel()EchoChamberControlBase
SetStyleKeyLabel()EchoChamberPanel
SetSubmitOnEnter()EchoChamberTextInput
SetTabInserts()EchoChamberTextInput
SetTabSpaces()EchoChamberTextInput
SetTabUsesSpaces()EchoChamberTextInput
SetTarget()EchoConsoleManager
SetText()EchoChamberTextBlock
SetTitle()EchoChamberWindow
SetTooltip()EchoChamberControlBase
SetUnfoldDirection()EchoChamberDropdownBase
SetUseOverlayEditor()EchoChamberTextBox
SetUseSelectedLabelWhenClosed()EchoChamberDropdownBase
SetValidationDisplay()EchoChamberTextInput
SetValidationMessage()EchoChamberTextInput
SetValidationVisible()EchoChamberTextInput
SetValueDecimals()EchoChamberSlider
SetValueFormatter()EchoChamberSlider
SetValueTextMode()EchoChamberColorButton
SetVisible()EchoChamberControlBase
SetVisible()EchoChamberWindow
SetVisibleRows()EchoChamberListView
SetVisibleRows()EchoChamberTextBox
SetWindowZIndex()EchoChamberRoot
SetWrap()EchoChamberTextBox
ShowToast()EchoChamberRoot
StartInputRecording()EchoConsoleManager
StartInstancePick()EchoConsoleManager
StopInputRecording()EchoConsoleManager
Style()EchoChamberControlBase
Style()EchoChamberPanel
Style()EchoChamberWindow
SubmitTextInput()EchoChamberRoot
SwapInputContext()EchoChamberWindow
T
ToggleMinimized()EchoChamberWindow
TogglePinned()EchoChamberWindow
U
UnregisterCommand()EchoConsoleManager
UnregisterOverlayDrawer()EchoConsoleManager
UnregisterTargetListener()EchoConsoleManager
UnregisterWindowOpener()EchoConsoleManager