#[non_exhaustive]pub struct InteractiveState {
pub is_hovered: bool,
pub is_pressed: bool,
pub is_focused: bool,
pub is_focus_visible: bool,
pub is_selected: bool,
pub is_disabled: bool,
pub is_pending: bool,
pub is_indeterminate: bool,
}Expand description
v3’s interactive render props, as one value.
Every pressable control in v3 hands its children a function and passes these
in: {isHovered, isPressed, isFocused, isFocusVisible, isSelected, isDisabled}; Button additionally supplies isPending. This port draws
each of those states itself, and a component
that also takes a content closure hands the same values over rather than
leaving a caller to re-derive them.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.is_hovered: boolisHovered — the pointer is over the control. Known one frame late: gpui
reports a hover to a handler, not to the render that draws it.
is_pressed: boolisPressed — the pointer or activation key is down, likewise one frame late.
is_focused: boolisFocused
is_focus_visible: boolisFocusVisible — focused and the last input was a key.
is_selected: boolisSelected — for the controls where selection is a state.
is_disabled: boolisDisabled
is_pending: boolisPending — Button is waiting for an operation while remaining focusable.
is_indeterminate: boolisIndeterminate — a multi-selection row where some but not all of the
group’s keys are chosen.
Trait Implementations§
Source§impl Clone for InteractiveState
impl Clone for InteractiveState
impl Copy for InteractiveState
Source§impl Debug for InteractiveState
impl Debug for InteractiveState
Source§impl Default for InteractiveState
impl Default for InteractiveState
impl Eq for InteractiveState
Source§impl PartialEq for InteractiveState
impl PartialEq for InteractiveState
impl StructuralPartialEq for InteractiveState
Auto Trait Implementations§
impl Freeze for InteractiveState
impl RefUnwindSafe for InteractiveState
impl Send for InteractiveState
impl Sync for InteractiveState
impl Unpin for InteractiveState
impl UnsafeUnpin for InteractiveState
impl UnwindSafe for InteractiveState
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().