TextSystem

Struct TextSystem 

Source
pub struct TextSystem { /* private fields */ }
Expand description

The GPUI text rendering sub system.

Implementations§

Source§

impl TextSystem

Source

pub fn all_font_names(&self) -> Vec<String>

Get a list of all available font names from the operating system.

Source

pub fn add_fonts(&self, fonts: Vec<Cow<'static, [u8]>>) -> Result<()>

Add a font’s data to the text system.

Source

pub fn get_font_for_id(&self, id: FontId) -> Option<Font>

Get the Font for the Font Id.

Source

pub fn resolve_font(&self, font: &Font) -> FontId

Resolves the specified font, falling back to the default font stack if the font fails to load.

§Panics

Panics if the font and none of the fallbacks can be resolved.

Source

pub fn bounding_box(&self, font_id: FontId, font_size: Pixels) -> Bounds<Pixels>

Get the bounding box for the given font and font size. A font’s bounding box is the smallest rectangle that could enclose all glyphs in the font. superimposed over one another.

Source

pub fn typographic_bounds( &self, font_id: FontId, font_size: Pixels, character: char, ) -> Result<Bounds<Pixels>>

Get the typographic bounds for the given character, in the given font and size.

Source

pub fn advance( &self, font_id: FontId, font_size: Pixels, ch: char, ) -> Result<Size<Pixels>>

Get the advance width for the given character, in the given font and size.

Source

pub fn em_width(&self, font_id: FontId, font_size: Pixels) -> Result<Pixels>

Returns the width of an em.

Uses the width of the m character in the given font and size.

Source

pub fn em_advance(&self, font_id: FontId, font_size: Pixels) -> Result<Pixels>

Returns the advance width of an em.

Uses the advance width of the m character in the given font and size.

Source

pub fn ch_width(&self, font_id: FontId, font_size: Pixels) -> Result<Pixels>

Returns the width of an ch.

Uses the width of the 0 character in the given font and size.

Source

pub fn ch_advance(&self, font_id: FontId, font_size: Pixels) -> Result<Pixels>

Returns the advance width of an ch.

Uses the advance width of the 0 character in the given font and size.

Source

pub fn units_per_em(&self, font_id: FontId) -> u32

Get the number of font size units per ‘em square’, Per MDN: “an abstract square whose height is the intended distance between lines of type in the same type size”

Source

pub fn cap_height(&self, font_id: FontId, font_size: Pixels) -> Pixels

Get the height of a capital letter in the given font and size.

Source

pub fn x_height(&self, font_id: FontId, font_size: Pixels) -> Pixels

Get the height of the x character in the given font and size.

Source

pub fn ascent(&self, font_id: FontId, font_size: Pixels) -> Pixels

Get the recommended distance from the baseline for the given font

Source

pub fn descent(&self, font_id: FontId, font_size: Pixels) -> Pixels

Get the recommended distance below the baseline for the given font, in single spaced text.

Source

pub fn baseline_offset( &self, font_id: FontId, font_size: Pixels, line_height: Pixels, ) -> Pixels

Get the recommended baseline offset for the given font and line height.

Source

pub fn line_wrapper( self: &Arc<Self>, font: Font, font_size: Pixels, ) -> LineWrapperHandle

Returns a handle to a line wrapper, for the given font and font size.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more