pub enum Kind {
Show 15 variants
F32,
Color,
Flag,
Enum(&'static [&'static str]),
Sizing,
Min,
Max,
Msg,
Tag,
Str,
Family,
Resource,
Keyframes,
Enter,
Gradient,
}Expand description
How a prop’s value is parsed (per transport) and encoded (binary slots).
Variants§
F32
One number, or a "$length" token. Binary: 1 slot.
Color
One color: 0xRRGGBBAA number or #hex string, or a "$color"
token. Binary: 1 slot (u32).
Flag
Marker, present-or-absent (false = absent). Binary: 0 slots.
Enum(&'static [&'static str])
One of a closed name list. Binary: 1 slot (index).
Sizing
A sizing: number | “fit” | “grow” | “N%” | a size expression
("clamp(400px, 80%, 1000px)", crate::calc) | {grow} |
{percent}, or a "$length" token (a fixed length). Binary: 2 slots
(mode, value), or with mode SIZE_MODE_CALC the mode and a
strref, the expression’s spelling (v19); tagged, 1 slot (the index).
Min
A lower clamp: number | “fit” (the node’s own fit size on that axis)
| a size expression, or a "$length" token. Binary: 2 slots (mode,
value), a sizing’s first two modes, or SIZE_MODE_CALC and a
strref; tagged, 1 slot (the index).
Max
An upper clamp: number | a size expression, or a "$length" token.
Binary as a Min (v19; a plain number before): mode 0 and px, or
SIZE_MODE_CALC and a strref; tagged, 1 slot (the index).
Msg
An arbitrary message payload (a Value). Binary: strref to JSON.
Tag
A message merged into the core’s own event under tag (onDrag,
onKey, onHover, onLayout). Parsed and carried exactly like a
Msg, but null is a legal value: the node still gets the behaviour
(a key sink, a drag source) and its events simply carry no tag —
so an app whose messages are a typed union needs no inert member
just to name a sink.
Str
A plain string (a name, not a message). Binary: strref.
Family
A font family: one of the stock names (FAMILIES) or an installed
or loaded family’s name, which the parser registers and turns into
its handle. Binary: strref (v18).
Resource
A registered resource handle (a font or sound id): the integer form
of the slotmap key. JSON/binary carry it as the 16-hex string the
addon hands out; Lua as an integer; C as a uint64_t.
Keyframes
A keyframe stop list (crate::keyframes::parse reads the plain-data
form). JSON/binary/Lua carry it like a Msg and parse it in the
core; C passes a KuiKeyframe array.
Enter
An entrance (crate::enter::parse reads the plain-data form).
Carried like a Msg and parsed in the core; C fills a KuiEnter.
Gradient
A gradient (crate::gradient::parse reads the plain-data form).
Carried like a Msg and parsed in the core; C fills a
KuiGradient.
Auto Trait Implementations§
impl Freeze for Kind
impl RefUnwindSafe for Kind
impl Send for Kind
impl Sync for Kind
impl Unpin for Kind
impl UnsafeUnpin for Kind
impl UnwindSafe for Kind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.