Trait IDWriteTextAnalyzer1_Impl
pub trait IDWriteTextAnalyzer1_Impl: IDWriteTextAnalyzer_Impl {
// Required methods
fn ApplyCharacterSpacing(
&self,
leadingspacing: f32,
trailingspacing: f32,
minimumadvancewidth: f32,
textlength: u32,
glyphcount: u32,
clustermap: *const u16,
glyphadvances: *const f32,
glyphoffsets: *const DWRITE_GLYPH_OFFSET,
glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
modifiedglyphadvances: *mut f32,
modifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET,
) -> Result<()>;
fn GetBaseline(
&self,
fontface: Ref<'_, IDWriteFontFace>,
baseline: DWRITE_BASELINE,
isvertical: BOOL,
issimulationallowed: BOOL,
scriptanalysis: &DWRITE_SCRIPT_ANALYSIS,
localename: &PCWSTR,
baselinecoordinate: *mut i32,
exists: *mut BOOL,
) -> Result<()>;
fn AnalyzeVerticalGlyphOrientation(
&self,
analysissource: Ref<'_, IDWriteTextAnalysisSource1>,
textposition: u32,
textlength: u32,
analysissink: Ref<'_, IDWriteTextAnalysisSink1>,
) -> Result<()>;
fn GetGlyphOrientationTransform(
&self,
glyphorientationangle: DWRITE_GLYPH_ORIENTATION_ANGLE,
issideways: BOOL,
transform: *mut DWRITE_MATRIX,
) -> Result<()>;
fn GetScriptProperties(
&self,
scriptanalysis: &DWRITE_SCRIPT_ANALYSIS,
scriptproperties: *mut DWRITE_SCRIPT_PROPERTIES,
) -> Result<()>;
fn GetTextComplexity(
&self,
textstring: &PCWSTR,
textlength: u32,
fontface: Ref<'_, IDWriteFontFace>,
istextsimple: *mut BOOL,
textlengthread: *mut u32,
glyphindices: *mut u16,
) -> Result<()>;
fn GetJustificationOpportunities(
&self,
fontface: Ref<'_, IDWriteFontFace>,
fontemsize: f32,
scriptanalysis: &DWRITE_SCRIPT_ANALYSIS,
textlength: u32,
glyphcount: u32,
textstring: &PCWSTR,
clustermap: *const u16,
glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
justificationopportunities: *mut DWRITE_JUSTIFICATION_OPPORTUNITY,
) -> Result<()>;
fn JustifyGlyphAdvances(
&self,
linewidth: f32,
glyphcount: u32,
justificationopportunities: *const DWRITE_JUSTIFICATION_OPPORTUNITY,
glyphadvances: *const f32,
glyphoffsets: *const DWRITE_GLYPH_OFFSET,
justifiedglyphadvances: *mut f32,
justifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET,
) -> Result<()>;
fn GetJustifiedGlyphs(
&self,
fontface: Ref<'_, IDWriteFontFace>,
fontemsize: f32,
scriptanalysis: &DWRITE_SCRIPT_ANALYSIS,
textlength: u32,
glyphcount: u32,
maxglyphcount: u32,
clustermap: *const u16,
glyphindices: *const u16,
glyphadvances: *const f32,
justifiedglyphadvances: *const f32,
justifiedglyphoffsets: *const DWRITE_GLYPH_OFFSET,
glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES,
actualglyphcount: *mut u32,
modifiedclustermap: *mut u16,
modifiedglyphindices: *mut u16,
modifiedglyphadvances: *mut f32,
modifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET,
) -> Result<()>;
}
Required Methods§
fn ApplyCharacterSpacing( &self, leadingspacing: f32, trailingspacing: f32, minimumadvancewidth: f32, textlength: u32, glyphcount: u32, clustermap: *const u16, glyphadvances: *const f32, glyphoffsets: *const DWRITE_GLYPH_OFFSET, glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, modifiedglyphadvances: *mut f32, modifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET, ) -> Result<()>
fn GetBaseline( &self, fontface: Ref<'_, IDWriteFontFace>, baseline: DWRITE_BASELINE, isvertical: BOOL, issimulationallowed: BOOL, scriptanalysis: &DWRITE_SCRIPT_ANALYSIS, localename: &PCWSTR, baselinecoordinate: *mut i32, exists: *mut BOOL, ) -> Result<()>
fn AnalyzeVerticalGlyphOrientation( &self, analysissource: Ref<'_, IDWriteTextAnalysisSource1>, textposition: u32, textlength: u32, analysissink: Ref<'_, IDWriteTextAnalysisSink1>, ) -> Result<()>
fn GetGlyphOrientationTransform( &self, glyphorientationangle: DWRITE_GLYPH_ORIENTATION_ANGLE, issideways: BOOL, transform: *mut DWRITE_MATRIX, ) -> Result<()>
fn GetScriptProperties( &self, scriptanalysis: &DWRITE_SCRIPT_ANALYSIS, scriptproperties: *mut DWRITE_SCRIPT_PROPERTIES, ) -> Result<()>
fn GetTextComplexity( &self, textstring: &PCWSTR, textlength: u32, fontface: Ref<'_, IDWriteFontFace>, istextsimple: *mut BOOL, textlengthread: *mut u32, glyphindices: *mut u16, ) -> Result<()>
fn GetJustificationOpportunities( &self, fontface: Ref<'_, IDWriteFontFace>, fontemsize: f32, scriptanalysis: &DWRITE_SCRIPT_ANALYSIS, textlength: u32, glyphcount: u32, textstring: &PCWSTR, clustermap: *const u16, glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, justificationopportunities: *mut DWRITE_JUSTIFICATION_OPPORTUNITY, ) -> Result<()>
fn JustifyGlyphAdvances( &self, linewidth: f32, glyphcount: u32, justificationopportunities: *const DWRITE_JUSTIFICATION_OPPORTUNITY, glyphadvances: *const f32, glyphoffsets: *const DWRITE_GLYPH_OFFSET, justifiedglyphadvances: *mut f32, justifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET, ) -> Result<()>
fn GetJustifiedGlyphs( &self, fontface: Ref<'_, IDWriteFontFace>, fontemsize: f32, scriptanalysis: &DWRITE_SCRIPT_ANALYSIS, textlength: u32, glyphcount: u32, maxglyphcount: u32, clustermap: *const u16, glyphindices: *const u16, glyphadvances: *const f32, justifiedglyphadvances: *const f32, justifiedglyphoffsets: *const DWRITE_GLYPH_OFFSET, glyphproperties: *const DWRITE_SHAPING_GLYPH_PROPERTIES, actualglyphcount: *mut u32, modifiedclustermap: *mut u16, modifiedglyphindices: *mut u16, modifiedglyphadvances: *mut f32, modifiedglyphoffsets: *mut DWRITE_GLYPH_OFFSET, ) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.