Create a new tree with the given node as its root, and using the given backend for I/O.
Create a new tree with the given node as its root. Use the default backend, if any is present.
Bind a key stroke or button to given input action. Multiple key strokes are allowed to match given action.
Bind a key stroke or button to given input action, replacing any previously bound inputs.
Remove any inputs bound to given input action.
List actions in the tree, remove finished actions while iterating.
Intersect the given rectangle against current scissor area.
Find a layer for the given input stroke.
Fetch tree events (e.g. actions)
Start scissors mode.
Queue an action to perform while iterating the tree.
Returns true if this branch requested a resize or is pending a resize.
Restore defaults for given actions.
Tree actions queued to execute during next draw.
Actions that have just triggered.
Access to core input and output facilities.
Input strokes bound to emit given action signals.
Current breadcrumbs. These are assigned to any node that is resized or drawn at the time.
Context for the new I/O system. https://git.samerion.com/Samerion/Fluid/issues/148
Current node drawing depth.
Actions that are currently held down.
Currently focused node.
Padding box of the currently focused node. Only available after the node has been drawn.
Focus direction data.
Node the mouse is hovering over if any.
True if the current tree branch is marked as disabled (doesn't take input).
Root node of the tree.
Current rectangle drawing is limited to.
Deepest hovered scrollable node.
True if keyboard input was handled during the last frame; updated after tree rendering has completed.
Global data for the layout tree.