Struct ori::core::text::Fonts

pub struct Fonts {
    pub swash_cache: SwashCache,
    pub font_system: FontSystem,
    pub glyph_cache: HashMap<CacheKey, CachedGlyph>,
}
Expand description

A context for loading and rasterizing fonts.

This is a wrapper around the [cosmic_text] crate, and provides a simple interface for loading and rasterizing fonts. Interacting with this directly is not necessary for most applications, see Text and TextInput.

Fields§

§swash_cache: SwashCache

The swash cache.

§font_system: FontSystem

The font system.

§glyph_cache: HashMap<CacheKey, CachedGlyph>

The glyph cache.

Implementations§

§

impl Fonts

pub fn new() -> Fonts

Creates a new font context.

pub fn load_font(&mut self, source: impl Into<FontSource>) -> Result<(), Error>

Loads a font from a FontSource.

This will usually either be a path to a font file or the font data itself, but can also be a Vec<FontSource> to load multiple fonts at once.

pub fn load_system_fonts(&mut self)

Loads the system fonts.

This is a platform-specific operation, for more information see the documentation for fontdb::Database::load_system_fonts.

pub fn buffer_size(buffer: &Buffer) -> Size

Calculates the size of a text buffer.

The resulting size is the smallest rectangle that can contain the text, and is roughly equal to the widest line and the line height multiplied the number of laid out lines.

pub fn rasterize_glyph( &mut self, glyph: &LayoutGlyph, scale: f32 ) -> &CachedGlyph

Rasterize a glyph.

pub fn draw_buffer( &mut self, canvas: &mut Canvas, buffer: &Buffer, offset: Vector, scale: f32 )

Rasterize a buffer.

Trait Implementations§

§

impl Debug for Fonts

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for Fonts

§

fn default() -> Fonts

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Fonts

§

impl !RefUnwindSafe for Fonts

§

impl Send for Fonts

§

impl Sync for Fonts

§

impl Unpin for Fonts

§

impl !UnwindSafe for Fonts

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
§

impl<T> Downcast for T
where T: 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.
§

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

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

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

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

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

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.

§

impl<T> Instrument for T

§

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

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

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.

§

impl<T> Style for T
where T: Default,

§

fn style(_: &Styles) -> T

Style a value.
source§

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

§

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>,

§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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