pub struct TextMotionState(/* private fields */);Expand description
View-owned native text motion. Clones share lifecycle and shape caches. Retain one state per logical label, with one mounted element per state. Fonts and full runs are shaped before splitting; native glyph atlas painting preserves kerning, contextual forms, bidi positions, and emoji.
Implementations§
Source§impl TextMotionState
impl TextMotionState
Sourcepub fn element(
&self,
id: impl Into<ElementId>,
text: impl Into<SharedString>,
) -> TextElement
pub fn element( &self, id: impl Into<ElementId>, text: impl Into<SharedString>, ) -> TextElement
Declares a label’s current semantic content. Entry/exit effects run on
changes, and on first mount unless animate_initial(false) is selected.
Native styles are inherited from the surrounding GPUI element.
Sourcepub fn rich_element(
&self,
id: impl Into<ElementId>,
rich: &RichText,
) -> TextElement
pub fn rich_element( &self, id: impl Into<ElementId>, rich: &RichText, ) -> TextElement
Declares immutable styled runs. Font family/weight/color may vary; font size and line height remain label-wide. Editing/decorations are outside this display-label API. The complete text is shaped first.
Sourcepub fn pause(&self, window: &mut Window, cx: &App)
pub fn pause(&self, window: &mut Window, cx: &App)
Freezes the current presentation. Notify the owning view after controls.
Sourcepub fn seek(&self, progress: f64, window: &mut Window, cx: &App) -> bool
pub fn seek(&self, progress: f64, window: &mut Window, cx: &App) -> bool
Holds a normalized entrance cursor. Returns false for infinite clips. Springs use a two-second normalized horizon. Panics outside zero through one.
Sourcepub fn restart(&self, window: &mut Window, _: &App)
pub fn restart(&self, window: &mut Window, _: &App)
Replays current text and reevaluates custom entrance callbacks next render.
Sourcepub fn is_animating(&self) -> bool
pub fn is_animating(&self) -> bool
Whether the last sample requested ongoing animation.
Sourcepub fn presentation(&self) -> Vec<TextPresentation>
pub fn presentation(&self) -> Vec<TextPresentation>
Copies presentations in unscrolled window-layout coordinates. This allocates; normal frame sampling does not need it.
Trait Implementations§
Source§impl Clone for TextMotionState
impl Clone for TextMotionState
Auto Trait Implementations§
impl !RefUnwindSafe for TextMotionState
impl !Send for TextMotionState
impl !Sync for TextMotionState
impl !UnwindSafe for TextMotionState
impl Freeze for TextMotionState
impl Unpin for TextMotionState
impl UnsafeUnpin for TextMotionState
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<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.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().