Termisu::FFI::Conversions
Constants
ATTRIBUTE_MASK = (((((((Attribute::Bold.value | Attribute::Underline.value) | Attribute::Reverse.value) | Attribute::Blink.value) | Attribute::Dim.value) | Attribute::Cursive.value) | Attribute::Hidden.value) | Attribute::Strikethrough.value).to_u16
Class methods
blank_event
Fully zeroed None event, deterministic across every field. The FFI poll hot path uses write_blank_event instead, which skips the memset.
color_from_abi(color : Termisu::FFI::ABI::Color) : Color
Sourceto_abi_event(event : Event::Any) : Termisu::FFI::ABI::Event
SourceWrites event into the caller's struct in place, without zeroing it
first. ABI readers dispatch on event_type and only touch that type's
fields (see readEvent in javascript/core/src/structs.ts): event_type and
modifiers are always read; key_, mouse_, resize_, tick_, mode_* and
preedit_* only for their own type, with resize_old_/mode_previous
gated behind their has_ flags. Each writer below sets exactly that
read-set (writing explicit zeros for absent optional fields), so any
other byte in the caller's buffer may keep stale content.