Struct freetype::glyph_slot::GlyphSlot [] [src]

pub struct GlyphSlot {
    // some fields omitted
}

A struct encapsulating the space for a glyph within a Library

Methods

impl GlyphSlot
[src]

unsafe fn from_raw(library_raw: FT_Library, raw: FT_GlyphSlot) -> Self

Create a GlyphSlot from its constituent C parts

fn render_glyph(&self, render_mode: RenderMode) -> FtResult<()>

Convert a given glyph image to a bitmap. It does so by inspecting the glyph image format, finding the relevant renderer, and invoking it.

fn get_subglyph_info(&self, sub_index: u32) -> FtResult<SubGlyphInfo>

Retrieve a description of a given subglyph. Only use it if the glyph's format is FT_GLYPH_FORMAT_COMPOSITE; an error is returned otherwise.

fn get_glyph(&self) -> FtResult<Glyph>

Returns a glyph object, that is similar to a GlyphSlot but managed outside of the library

fn outline(&self) -> Option<Outline>

In freetype, the Outline object is a scalable glyph. This method unpacks a glyph into this object, or returns None if the glyph has no outline

fn bitmap(&self) -> Bitmap

This field is used as a bitmap descriptor when the slot format is FT_GLYPH_FORMAT_BITMAP. Note that the address and content of the bitmap buffer can change between calls of FT_Load_Glyph and a few other functions.

fn bitmap_left(&self) -> i32

The bitmap's left bearing expressed in integer pixels. Only valid if the format is FT_GLYPH_FORMAT_BITMAP, this is, if the glyph slot contains a bitmap.

fn bitmap_top(&self) -> i32

The bitmap's top bearing expressed in integer pixels. Remember that this is the distance from the baseline to the top-most glyph scanline, upwards y coordinates being positive.

fn advance(&self) -> Vector

This shorthand is, depending on FT_LOAD_IGNORE_TRANSFORM, the transformed (hinted) advance width for the glyph, in 26.6 fractional pixel format. As specified with FT_LOAD_VERTICAL_LAYOUT, it uses either the ‘horiAdvance’ or the ‘vertAdvance’ value of ‘metrics’ field.

fn linear_hori_advance(&self) -> FT_Fixed

The advance width of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

fn linear_vert_advance(&self) -> FT_Fixed

The advance height of the unhinted glyph. Its value is expressed in 16.16 fractional pixels, unless FT_LOAD_LINEAR_DESIGN is set when loading the glyph. This field can be important to perform correct WYSIWYG layout. Only relevant for outline glyphs.

fn metrics(&self) -> GlyphMetrics

The metrics of the last loaded glyph in the slot. The returned values depend on the last load flags (see the FT_Load_Glyph API function) and can be expressed either in 26.6 fractional pixels or font units.

fn raw(&self) -> &FT_GlyphSlotRec

Get a pointer to the underlying c struct

Trait Implementations

impl Hash for GlyphSlot
[src]

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl PartialEq for GlyphSlot
[src]

fn eq(&self, __arg_0: &GlyphSlot) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &GlyphSlot) -> bool

This method tests for !=.

impl Eq for GlyphSlot
[src]

impl Clone for GlyphSlot
[src]

fn clone(&self) -> GlyphSlot

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl Copy for GlyphSlot
[src]