pub trait IDWriteTextAnalyzer_Impl: Sized {
    // Required methods
    fn AnalyzeScript(
        &self,
        analysissource: Option<&IDWriteTextAnalysisSource>,
        textposition: u32,
        textlength: u32,
        analysissink: Option<&IDWriteTextAnalysisSink>,
    ) -> Result<()>;
    fn AnalyzeBidi(
        &self,
        analysissource: Option<&IDWriteTextAnalysisSource>,
        textposition: u32,
        textlength: u32,
        analysissink: Option<&IDWriteTextAnalysisSink>,
    ) -> Result<()>;
    fn AnalyzeNumberSubstitution(
        &self,
        analysissource: Option<&IDWriteTextAnalysisSource>,
        textposition: u32,
        textlength: u32,
        analysissink: Option<&IDWriteTextAnalysisSink>,
    ) -> Result<()>;
    fn AnalyzeLineBreakpoints(
        &self,
        analysissource: Option<&IDWriteTextAnalysisSource>,
        textposition: u32,
        textlength: u32,
        analysissink: Option<&IDWriteTextAnalysisSink>,
    ) -> Result<()>;
    fn GetGlyphs(
        &self,
        textstring: &PCWSTR,
        textlength: u32,
        fontface: Option<&IDWriteFontFace>,
        issideways: BOOL,
        isrighttoleft: BOOL,
        scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS,
        localename: &PCWSTR,
        numbersubstitution: Option<&IDWriteNumberSubstitution>,
        features: *const *const DWRITE_TYPOGRAPHIC_FEATURES,
        featurerangelengths: *const u32,
        featureranges: u32,
        maxglyphcount: u32,
        clustermap: *mut u16,
        textprops: *mut DWRITE_SHAPING_TEXT_PROPERTIES,
        glyphindices: *mut u16,
        glyphprops: *mut DWRITE_SHAPING_GLYPH_PROPERTIES,
        actualglyphcount: *mut u32,
    ) -> Result<()>;
    fn GetGlyphPlacements(
        &self,
        textstring: &PCWSTR,
        clustermap: *const u16,
        textprops: *mut DWRITE_SHAPING_TEXT_PROPERTIES,
        textlength: u32,
        glyphindices: *const u16,
        glyphprops: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
        glyphcount: u32,
        fontface: Option<&IDWriteFontFace>,
        fontemsize: f32,
        issideways: BOOL,
        isrighttoleft: BOOL,
        scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS,
        localename: &PCWSTR,
        features: *const *const DWRITE_TYPOGRAPHIC_FEATURES,
        featurerangelengths: *const u32,
        featureranges: u32,
        glyphadvances: *mut f32,
        glyphoffsets: *mut DWRITE_GLYPH_OFFSET,
    ) -> Result<()>;
    fn GetGdiCompatibleGlyphPlacements(
        &self,
        textstring: &PCWSTR,
        clustermap: *const u16,
        textprops: *const DWRITE_SHAPING_TEXT_PROPERTIES,
        textlength: u32,
        glyphindices: *const u16,
        glyphprops: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
        glyphcount: u32,
        fontface: Option<&IDWriteFontFace>,
        fontemsize: f32,
        pixelsperdip: f32,
        transform: *const DWRITE_MATRIX,
        usegdinatural: BOOL,
        issideways: BOOL,
        isrighttoleft: BOOL,
        scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS,
        localename: &PCWSTR,
        features: *const *const DWRITE_TYPOGRAPHIC_FEATURES,
        featurerangelengths: *const u32,
        featureranges: u32,
        glyphadvances: *mut f32,
        glyphoffsets: *mut DWRITE_GLYPH_OFFSET,
    ) -> Result<()>;
}

Required Methods§

fn AnalyzeScript( &self, analysissource: Option<&IDWriteTextAnalysisSource>, textposition: u32, textlength: u32, analysissink: Option<&IDWriteTextAnalysisSink>, ) -> Result<()>

fn AnalyzeBidi( &self, analysissource: Option<&IDWriteTextAnalysisSource>, textposition: u32, textlength: u32, analysissink: Option<&IDWriteTextAnalysisSink>, ) -> Result<()>

fn AnalyzeNumberSubstitution( &self, analysissource: Option<&IDWriteTextAnalysisSource>, textposition: u32, textlength: u32, analysissink: Option<&IDWriteTextAnalysisSink>, ) -> Result<()>

fn AnalyzeLineBreakpoints( &self, analysissource: Option<&IDWriteTextAnalysisSource>, textposition: u32, textlength: u32, analysissink: Option<&IDWriteTextAnalysisSink>, ) -> Result<()>

fn GetGlyphs( &self, textstring: &PCWSTR, textlength: u32, fontface: Option<&IDWriteFontFace>, issideways: BOOL, isrighttoleft: BOOL, scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS, localename: &PCWSTR, numbersubstitution: Option<&IDWriteNumberSubstitution>, features: *const *const DWRITE_TYPOGRAPHIC_FEATURES, featurerangelengths: *const u32, featureranges: u32, maxglyphcount: u32, clustermap: *mut u16, textprops: *mut DWRITE_SHAPING_TEXT_PROPERTIES, glyphindices: *mut u16, glyphprops: *mut DWRITE_SHAPING_GLYPH_PROPERTIES, actualglyphcount: *mut u32, ) -> Result<()>

fn GetGlyphPlacements( &self, textstring: &PCWSTR, clustermap: *const u16, textprops: *mut DWRITE_SHAPING_TEXT_PROPERTIES, textlength: u32, glyphindices: *const u16, glyphprops: *const DWRITE_SHAPING_GLYPH_PROPERTIES, glyphcount: u32, fontface: Option<&IDWriteFontFace>, fontemsize: f32, issideways: BOOL, isrighttoleft: BOOL, scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS, localename: &PCWSTR, features: *const *const DWRITE_TYPOGRAPHIC_FEATURES, featurerangelengths: *const u32, featureranges: u32, glyphadvances: *mut f32, glyphoffsets: *mut DWRITE_GLYPH_OFFSET, ) -> Result<()>

fn GetGdiCompatibleGlyphPlacements( &self, textstring: &PCWSTR, clustermap: *const u16, textprops: *const DWRITE_SHAPING_TEXT_PROPERTIES, textlength: u32, glyphindices: *const u16, glyphprops: *const DWRITE_SHAPING_GLYPH_PROPERTIES, glyphcount: u32, fontface: Option<&IDWriteFontFace>, fontemsize: f32, pixelsperdip: f32, transform: *const DWRITE_MATRIX, usegdinatural: BOOL, issideways: BOOL, isrighttoleft: BOOL, scriptanalysis: *const DWRITE_SCRIPT_ANALYSIS, localename: &PCWSTR, features: *const *const DWRITE_TYPOGRAPHIC_FEATURES, featurerangelengths: *const u32, featureranges: u32, glyphadvances: *mut f32, glyphoffsets: *mut DWRITE_GLYPH_OFFSET, ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§