pub struct SyncTextShaper;Expand description
Synchronous text shaper using a callback for measurement.
This is the initial implementation that performs shaping on the calling thread. Since FontRenderer isn’t Send+Sync, we don’t implement TextShaper trait here.
Implementations§
Source§impl SyncTextShaper
impl SyncTextShaper
Sourcepub fn new() -> SyncTextShaper
pub fn new() -> SyncTextShaper
Create a new synchronous text shaper.
Sourcepub fn shape_with_measurer<F>(
request: &TextShapeRequest,
shape_fn: F,
) -> ShapedTextResult
pub fn shape_with_measurer<F>( request: &TextShapeRequest, shape_fn: F, ) -> ShapedTextResult
Shape text using the provided shaping function.
The shaping function should call astrelis_text::shape_text and return the BaseShapedTextResult with actual glyph data.
Trait Implementations§
Source§impl Default for SyncTextShaper
impl Default for SyncTextShaper
Source§fn default() -> SyncTextShaper
fn default() -> SyncTextShaper
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SyncTextShaper
impl RefUnwindSafe for SyncTextShaper
impl Send for SyncTextShaper
impl Sync for SyncTextShaper
impl Unpin for SyncTextShaper
impl UnsafeUnpin for SyncTextShaper
impl UnwindSafe for SyncTextShaper
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
Mutably borrows from an owned value. Read more
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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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> DowncastSync for T
impl<T> DowncastSync for T
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>
Converts
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>
Converts
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 more