pub struct Glyph<'a> { /* private fields */ }
Expand description
A single glyph of a font. this may either be a thin wrapper referring to the font and the glyph id, or it may be a standalone glyph that owns the data needed by it.
A Glyph
does not have an inherent scale or position associated with it. To augment a glyph with a
size, give it a scale using scaled
. You can then position it using positioned
.
Implementations§
Source§impl<'a> Glyph<'a>
impl<'a> Glyph<'a>
Sourcepub fn font(&self) -> Option<&Font<'a>>
pub fn font(&self) -> Option<&Font<'a>>
The font to which this glyph belongs. If the glyph is a standalone glyph that owns its resources,
it no longer has a reference to the font which it was created from (using standalone()
). In which
case, None
is returned.
Sourcepub fn get_data(&self) -> Option<Arc<SharedGlyphData>>
pub fn get_data(&self) -> Option<Arc<SharedGlyphData>>
Get the data from this glyph (such as width, extents, vertices, etc.). Only possible if the glyph is a shared glyph.
Sourcepub fn scaled(self, scale: Scale) -> ScaledGlyph<'a>
pub fn scaled(self, scale: Scale) -> ScaledGlyph<'a>
Augments this glyph with scaling information, making methods that depend on the scale of the glyph available.
Sourcepub fn standalone(&self) -> Glyph<'static>
pub fn standalone(&self) -> Glyph<'static>
Turns a Glyph<'a>
into a Glyph<'static>
. This produces a glyph that owns its resources,
extracted from the font. This glyph can outlive the font that it comes from.
Calling standalone()
on a standalone glyph shares the resources, and is equivalent to clone()
.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Glyph<'a>
impl<'a> RefUnwindSafe for Glyph<'a>
impl<'a> Send for Glyph<'a>
impl<'a> Sync for Glyph<'a>
impl<'a> Unpin for Glyph<'a>
impl<'a> UnwindSafe for Glyph<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)