Overlay I/O exists to provide nodes with the ability to add and control arbitrarily placed content, *laid over*
the remaining content.
Typical examples of overlay content are context and dropdown menus, such that list navigation options and controls
separately from the rest, but also popup and modal windows, which appear over other content. Overlay components
are also used to guide drag-and-drop interactions.
In Fluid, overlays may be limited to the window or canvas, as they are in Raylibfluid.raylib_view. Other
setups may allow overlays to exceed window boundaries, which is common practice to give context menus more space.
To use Overlay I/O, an OverlayIO instance must be active in the tree (activated through Node.implementIO)
to provide space for overlay nodes. A child node can then create overlays by loading the system with Node.use
or Node.require and calling OverlayIO.addOverlay.
Overlay I/O exists to provide nodes with the ability to add and control arbitrarily placed content, *laid over* the remaining content.
Typical examples of overlay content are context and dropdown menus, such that list navigation options and controls separately from the rest, but also popup and modal windows, which appear over other content. Overlay components are also used to guide drag-and-drop interactions.
In Fluid, overlays may be limited to the window or canvas, as they are in Raylibfluid.raylib_view. Other setups may allow overlays to exceed window boundaries, which is common practice to give context menus more space.
To use Overlay I/O, an OverlayIO instance must be active in the tree (activated through Node.implementIO) to provide space for overlay nodes. A child node can then create overlays by loading the system with Node.use or Node.require and calling OverlayIO.addOverlay.