Struct femtovg::TextContext
source · pub struct TextContext(/* private fields */);
Expand description
TextContext provides functionality for text processing in femtovg. You can
add fonts using the Self::add_font_file()
, Self::add_font_mem()
and
Self::add_font_dir()
functions. For each registered font a FontId
is
returned.
The FontId
can be supplied to crate::Paint
along with additional parameters
such as the font size.
The paint is needed when using TextContext’s measurement functions such as
Self::measure_text()
.
Note that the measurements are done entirely with the supplied sizes in the paint
parameter. If you need measurements that take a crate::Canvas
’s transform or dpi into
account (see crate::Canvas::set_size()
), you need to use the measurement functions
on the canvas.
Implementations§
source§impl TextContext
impl TextContext
sourcepub fn add_font_dir<T: AsRef<FilePath>>(
&self,
path: T
) -> Result<Vec<FontId>, ErrorKind>
pub fn add_font_dir<T: AsRef<FilePath>>( &self, path: T ) -> Result<Vec<FontId>, ErrorKind>
Registers all .ttf files from a directory with this text context. If successful, the font ids of all registered fonts are returned.
sourcepub fn add_font_file<T: AsRef<FilePath>>(
&self,
path: T
) -> Result<FontId, ErrorKind>
pub fn add_font_file<T: AsRef<FilePath>>( &self, path: T ) -> Result<FontId, ErrorKind>
Registers the .ttf file from the specified path with this text context. If successful, the font id is returned.
sourcepub fn add_font_mem(&self, data: &[u8]) -> Result<FontId, ErrorKind>
pub fn add_font_mem(&self, data: &[u8]) -> Result<FontId, ErrorKind>
Registers the in-memory representation of a TrueType font pointed to by the data parameter with this text context. If successful, the font id is returned.
Registers the in-memory representation of a TrueType font pointed to by the shared data parameter with this text context. If successful, the font id is returned. The face_index specifies the face index if the font data is a true type font collection. For plain true type fonts, use 0 as index.
sourcepub fn measure_text<S: AsRef<str>>(
&self,
x: f32,
y: f32,
text: S,
paint: &Paint
) -> Result<TextMetrics, ErrorKind>
pub fn measure_text<S: AsRef<str>>( &self, x: f32, y: f32, text: S, paint: &Paint ) -> Result<TextMetrics, ErrorKind>
Returns information on how the provided text will be drawn with the specified paint.
sourcepub fn break_text<S: AsRef<str>>(
&self,
max_width: f32,
text: S,
paint: &Paint
) -> Result<usize, ErrorKind>
pub fn break_text<S: AsRef<str>>( &self, max_width: f32, text: S, paint: &Paint ) -> Result<usize, ErrorKind>
Returns the maximum index-th byte of text that will fit inside max_width.
The retuned index will always lie at the start and/or end of a UTF-8 code point sequence or at the start or end of the text
sourcepub fn break_text_vec<S: AsRef<str>>(
&self,
max_width: f32,
text: S,
paint: &Paint
) -> Result<Vec<Range<usize>>, ErrorKind>
pub fn break_text_vec<S: AsRef<str>>( &self, max_width: f32, text: S, paint: &Paint ) -> Result<Vec<Range<usize>>, ErrorKind>
Returnes a list of ranges representing each line of text that will fit inside max_width
sourcepub fn measure_font(&self, paint: &Paint) -> Result<FontMetrics, ErrorKind>
pub fn measure_font(&self, paint: &Paint) -> Result<FontMetrics, ErrorKind>
Returns font metrics for a particular Paint.
sourcepub fn resize_shaping_run_cache(&self, capacity: NonZeroUsize)
pub fn resize_shaping_run_cache(&self, capacity: NonZeroUsize)
Adjusts the capacity of the shaping run cache. This is a cache for measurements of whole strings.
sourcepub fn resize_shaped_words_cache(&self, capacity: NonZeroUsize)
pub fn resize_shaped_words_cache(&self, capacity: NonZeroUsize)
Adjusts the capacity of the shaped words cache. This is a cache for measurements of individual words. Words are separated by UAX#29 word boundaries.
Trait Implementations§
source§impl Clone for TextContext
impl Clone for TextContext
source§fn clone(&self) -> TextContext
fn clone(&self) -> TextContext
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more