fluid.io.focus

This module contains interfaces for handling focus and connecting focusable nodes with input devices.

Members

Classes

FindFocusBoxAction
class FindFocusBoxAction

This branch action tracks and reports position of the current focus box.

Functions

findFocusBox
FindFocusBoxAction findFocusBox(FocusIO focusIO)

Find the focus box using a FindFocusAction.

Interfaces

FocusIO
interface FocusIO

FocusIO is an input handler system that reads events off devices like keyboards or gamepads, which do not map directly to screen coordinates.

Focusable
interface Focusable

Nodes implementing this interface can be focused by a FocusIO system.

WithFocus
interface WithFocus

Base interface for FocusIO, providing access and control over the current focusable. Used to create additional interfaces like WithPositionalFocus without defining a new I/O set.

WithOrderedFocus
interface WithOrderedFocus

A ready-made implementation of tabbing for FocusIO using orderedFocusAction, provided as an interface to subclass from.

WithPositionalFocus
interface WithPositionalFocus

A ready implementation of positional focus for FocusIO, enabling switching between nodes using (usually) arrow keys. Used by subclassing in the focus I/O system.

Structs

InputEvent (from fluid.io.action)
struct InputEvent via public import fluid.io.action : InputEvent, InputEventCode;

Represents an event coming from an input device, like a pressed key, button or a gesture.

InputEventCode (from fluid.io.action)
struct InputEventCode via public import fluid.io.action : InputEvent, InputEventCode;

Uniquely codes a pressed key, button or a gesture, by using an I/O ID and event code map. Each I/O interface can define its own keys and buttons it needs to map. The way it maps codes to buttons is left up to the interface to define, but it usually is with an enum.

Meta