Struct rusttype::PositionedGlyph [−][src]
pub struct PositionedGlyph<'font> { /* fields omitted */ }
A glyph augmented with positioning and scaling information. You can query such a glyph for information that depends on the scale and position of the glyph.
Implementations
impl<'font> PositionedGlyph<'font>
[src]
pub fn id(&self) -> GlyphId
[src]
The glyph identifier for this glyph.
pub fn font(&self) -> &Font<'font>
[src]
The font to which this glyph belongs.
pub fn unpositioned(&self) -> &ScaledGlyph<'font>
[src]
A reference to this glyph without positioning
pub fn into_unpositioned(self) -> ScaledGlyph<'font>
[src]
Removes the positioning from this glyph
pub fn pixel_bounding_box(&self) -> Option<Rect<i32>>
[src]
The conservative pixel-boundary bounding box for this glyph. This is the smallest rectangle aligned to pixel boundaries that encloses the shape of this glyph at this position. Note that the origin of the glyph, at pixel-space coordinates (0, 0), is at the top left of the bounding box.
pub fn scale(&self) -> Scale
[src]
pub fn position(&self) -> Point<f32>
[src]
pub fn build_outline(&self, builder: &mut impl OutlineBuilder) -> bool
[src]
Builds the outline of the glyph with the builder specified. Returns
false
when the outline is either malformed or empty.
pub fn draw<O: FnMut(u32, u32, f32)>(&self, o: O)
[src]
Rasterises this glyph. For each pixel in the rect given by
pixel_bounding_box()
, o
is called:
o(x, y, v)
where x
and y
are the coordinates of the pixel relative to the min
coordinates of the bounding box, and v
is the analytically calculated
coverage of the pixel by the shape of the glyph. Calls to o
proceed in
horizontal scanline order, similar to this pseudo-code:
let bb = glyph.pixel_bounding_box(); for y in 0..bb.height() { for x in 0..bb.width() { o(x, y, calc_coverage(&glyph, x, y)); } }
pub fn set_position(&mut self, p: Point<f32>)
[src]
Resets positioning information and recalculates the pixel bounding box
Trait Implementations
impl<'font> Clone for PositionedGlyph<'font>
[src]
fn clone(&self) -> PositionedGlyph<'font>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for PositionedGlyph<'_>
[src]
Auto Trait Implementations
impl<'font> RefUnwindSafe for PositionedGlyph<'font>
impl<'font> Send for PositionedGlyph<'font>
impl<'font> Sync for PositionedGlyph<'font>
impl<'font> Unpin for PositionedGlyph<'font>
impl<'font> UnwindSafe for PositionedGlyph<'font>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,