pub struct Shaper {
hb_face: *mut hb_face_t,
hb_font: *mut hb_font_t,
font: *const Font,
}
Fields§
§hb_face: *mut hb_face_t
§hb_font: *mut hb_font_t
§font: *const Font
Implementations§
source§impl Shaper
impl Shaper
pub fn new(font: *const Font) -> Shaper
fn float_to_fixed(f: f64) -> i32
fn fixed_to_float(i: hb_position_t) -> f64
source§impl Shaper
impl Shaper
sourcepub(crate) fn shape_text(
&self,
text: &str,
options: &ShapingOptions,
glyphs: &mut GlyphStore,
)
pub(crate) fn shape_text( &self, text: &str, options: &ShapingOptions, glyphs: &mut GlyphStore, )
Calculate the layout metrics associated with the given text when painted in a specific font.
fn save_glyph_results( &self, text: &str, options: &ShapingOptions, glyphs: &mut GlyphStore, buffer: *mut hb_buffer_t, )
fn advance_for_shaped_glyph( &self, advance: Au, character: char, options: &ShapingOptions, ) -> Au
pub fn baseline(&self) -> Option<FontBaseline>
Trait Implementations§
impl Send for Shaper
impl Sync for Shaper
Auto Trait Implementations§
impl Freeze for Shaper
impl !RefUnwindSafe for Shaper
impl Unpin for Shaper
impl !UnwindSafe for Shaper
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> 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 moresource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert