Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/winapi/src/um/   (Firefox Browser Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 11 kB image not shown  

Quelle  dwrite_2.rs

  Sprache: Rust
 

// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
//! Mappings for the content of dwrite_2.h
use ctypes::{c_void, wchar_t};
use shared::basetsd::{UINT16, UINT32, UINT8};
use shared::d3d9types::D3DCOLORVALUE;
use shared::minwindef::{BOOL, FLOAT};
use um::dcommon::DWRITE_MEASURING_MODE;
use um::dwrite::{
    DWRITE_FONT_FEATURE_TAG, DWRITE_FONT_STRETCH, DWRITE_FONT_STYLE, DWRITE_FONT_WEIGHT,
    DWRITE_GLYPH_RUN, DWRITE_GLYPH_RUN_DESCRIPTION, DWRITE_MATRIX, DWRITE_PIXEL_GEOMETRY,
    DWRITE_RENDERING_MODE, DWRITE_SCRIPT_ANALYSIS, DWRITE_STRIKETHROUGH, DWRITE_UNDERLINE,
    IDWriteFont, IDWriteFontCollection, IDWriteFontFace, IDWriteGlyphRunAnalysis,
    IDWriteInlineObject, IDWriteRenderingParams, IDWriteTextAnalysisSource, IDWriteTextFormat,
    IDWriteTextFormatVtbl, IDWriteTextRenderer, IDWriteTextRendererVtbl,
};
use um::dwrite_1::{
    DWRITE_GLYPH_ORIENTATION_ANGLE, DWRITE_OUTLINE_THRESHOLD, DWRITE_TEXT_ANTIALIAS_MODE,
    DWRITE_UNICODE_RANGE, DWRITE_VERTICAL_GLYPH_ORIENTATION, IDWriteFactory1,
    IDWriteFactory1Vtbl, IDWriteFont1, IDWriteFont1Vtbl, IDWriteFontFace1, IDWriteFontFace1Vtbl,
    IDWriteRenderingParams1, IDWriteRenderingParams1Vtbl, IDWriteTextAnalyzer1,
    IDWriteTextAnalyzer1Vtbl, IDWriteTextLayout1, IDWriteTextLayout1Vtbl,
};
use um::unknwnbase::{IUnknown, IUnknownVtbl};
use um::winnt::{HRESULT, WCHAR};
ENUM!{enum DWRITE_OPTICAL_ALIGNMENT {
    DWRITE_OPTICAL_ALIGNMENT_NONE = 0x0, // 0
    DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS = 0x1, // 1
}}
ENUM!{enum DWRITE_GRID_FIT_MODE {
    DWRITE_GRID_FIT_MODE_DEFAULT = 0x0, // 0
    DWRITE_GRID_FIT_MODE_DISABLED = 0x1, // 1
    DWRITE_GRID_FIT_MODE_ENABLED = 0x2, // 2
}}
STRUCT!{struct DWRITE_TEXT_METRICS1 {
    left: FLOAT,
    top: FLOAT,
    width: FLOAT,
    widthIncludingTrailingWhitespace: FLOAT,
    height: FLOAT,
    layoutWidth: FLOAT,
    layoutHeight: FLOAT,
    maxBidiReorderingDepth: UINT32,
    lineCount: UINT32,
    heightIncludingTrailingWhitespace: FLOAT,
}}
RIDL!{#[uuid(0xd3e0e934, 0x22a0, 0x427e, 0xaa, 0xe4, 0x7d, 0x95, 0x74, 0xb5, 0x9d, 0xb1)]
interface IDWriteTextRenderer1(IDWriteTextRenderer1Vtbl):
    IDWriteTextRenderer(IDWriteTextRendererVtbl) {
    fn DrawGlyphRun(
        clientDrawingContext: *mut c_void,
        baselineOriginX: FLOAT,
        baselineOriginY: FLOAT,
        orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE,
        measuringMode: DWRITE_MEASURING_MODE,
        glyphRun: *const DWRITE_GLYPH_RUN,
        glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION,
        clientDrawingEffect: *mut IUnknown,
    ) -> HRESULT,
    fn DrawUnderline(
        clientDrawingContext: *mut c_void,
        baselineOriginX: FLOAT,
        baselineOriginY: FLOAT,
        orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE,
        underline: *const DWRITE_UNDERLINE,
        clientDrawingEffect: *mut IUnknown,
    ) -> HRESULT,
    fn DrawStrikethrough(
        clientDrawingContext: *mut c_void,
        baselineOriginX: FLOAT,
        baselineOriginY: FLOAT,
        orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE,
        strikethrough: *const DWRITE_STRIKETHROUGH,
        clientDrawingEffect: *mut IUnknown,
    ) -> HRESULT,
    fn DrawInlineObject(
        clientDrawingContext: *mut c_void,
        originX: FLOAT,
        originY: FLOAT,
        orientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE,
        inlineObject: *mut IDWriteInlineObject,
        isSideways: BOOL,
        isRightToLeft: BOOL,
        clientDrawingEffect: *mut IUnknown,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x5f174b49, 0x0d8b, 0x4cfb, 0x8b, 0xca, 0xf1, 0xcc, 0xe9, 0xd0, 0x6c, 0x67)]
interface IDWriteTextFormat1(IDWriteTextFormat1Vtbl):
    IDWriteTextFormat(IDWriteTextFormatVtbl) {
    fn SetVerticalGlyphOrientation(
        glyphOrientation: DWRITE_VERTICAL_GLYPH_ORIENTATION,
    ) -> HRESULT,
    fn GetVerticalGlyphOrientation() -> DWRITE_VERTICAL_GLYPH_ORIENTATION,
    fn SetLastLineWrapping(
        isLastLineWrappingEnabled: BOOL,
    ) -> HRESULT,
    fn GetLastLineWrapping() -> BOOL,
    fn SetOpticalAlignment(
        opticalAlignment: DWRITE_OPTICAL_ALIGNMENT,
    ) -> HRESULT,
    fn GetOpticalAlignment() -> DWRITE_OPTICAL_ALIGNMENT,
    fn SetFontFallback(
        fontFallback: *mut IDWriteFontFallback,
    ) -> HRESULT,
    fn GetFontFallback(
        fontFallback: *mut *mut IDWriteFontFallback,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x1093c18f, 0x8d5e, 0x43f0, 0xb0, 0x64, 0x09, 0x17, 0x31, 0x1b, 0x52, 0x5e)]
interface IDWriteTextLayout2(IDWriteTextLayout2Vtbl):
    IDWriteTextLayout1(IDWriteTextLayout1Vtbl) {
    fn GetMetrics(
        textMetrics: *mut DWRITE_TEXT_METRICS1,
    ) -> HRESULT,
    fn SetVerticalGlyphOrientation(
        glyphOrientation: DWRITE_VERTICAL_GLYPH_ORIENTATION,
    ) -> HRESULT,
    fn GetVerticalGlyphOrientation() -> DWRITE_VERTICAL_GLYPH_ORIENTATION,
    fn SetLastLineWrapping(
        isLastLineWrappingEnabled: BOOL,
    ) -> HRESULT,
    fn GetLastLineWrapping() -> BOOL,
    fn SetOpticalAlignment(
        opticalAlignment: DWRITE_OPTICAL_ALIGNMENT,
    ) -> HRESULT,
    fn GetOpticalAlignment() -> DWRITE_OPTICAL_ALIGNMENT,
    fn SetFontFallback(
        fontFallback: *mut IDWriteFontFallback,
    ) -> HRESULT,
    fn GetFontFallback(
        fontFallback: *mut *mut IDWriteFontFallback,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0x553a9ff3, 0x5693, 0x4df7, 0xb5, 0x2b, 0x74, 0x80, 0x6f, 0x7f, 0x2e, 0xb9)]
interface IDWriteTextAnalyzer2(IDWriteTextAnalyzer2Vtbl):
    IDWriteTextAnalyzer1(IDWriteTextAnalyzer1Vtbl) {
    fn GetGlyphOrientationTransform(
        glyphOrientationAngle: DWRITE_GLYPH_ORIENTATION_ANGLE,
        isSideways: BOOL,
        originX: FLOAT,
        originY: FLOAT,
        transform: *mut DWRITE_MATRIX,
    ) -> HRESULT,
    fn GetTypographicFeatures(
        fontFace: *mut IDWriteFontFace,
        scriptAnalysis: DWRITE_SCRIPT_ANALYSIS,
        localeName: *const WCHAR,
        maxTagCount: UINT32,
        actualTagCount: *mut UINT32,
        tags: *mut DWRITE_FONT_FEATURE_TAG,
    ) -> HRESULT,
    fn CheckTypographicFeature(
        fontFace: *mut IDWriteFontFace,
        scriptAnalysis: DWRITE_SCRIPT_ANALYSIS,
        localeName: *const WCHAR,
        featureTag: DWRITE_FONT_FEATURE_TAG,
        glyphCount: UINT32,
        glyphIndices: *const UINT16,
        featureApplies: *mut UINT8,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xefa008f9, 0xf7a1, 0x48bf, 0xb0, 0x5c, 0xf2, 0x24, 0x71, 0x3c, 0xc0, 0xff)]
interface IDWriteFontFallback(IDWriteFontFallbackVtbl): IUnknown(IUnknownVtbl) {
    fn MapCharacters(
        analysisSource: *mut IDWriteTextAnalysisSource,
        textPosition: UINT32,
        textLength: UINT32,
        baseFontCollection: *mut IDWriteFontCollection,
        baseFamilyName: *mut wchar_t,
        baseWeight: DWRITE_FONT_WEIGHT,
        baseStyle: DWRITE_FONT_STYLE,
        baseStretch: DWRITE_FONT_STRETCH,
        mappedLength: *mut UINT32,
        mappedFont: *mut *mut IDWriteFont,
        scale: *mut FLOAT,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xfd882d06, 0x8aba, 0x4fb8, 0xb8, 0x49, 0x8b, 0xe8, 0xb7, 0x3e, 0x14, 0xde)]
interface IDWriteFontFallbackBuilder(IDWriteFontFallbackBuilderVtbl):
    IUnknown(IUnknownVtbl) {
    fn AddMapping(
        ranges: *const DWRITE_UNICODE_RANGE,
        rangesCount: UINT32,
        targetFamilyNames: *mut *const WCHAR,
        targetFamilyNamesCount: UINT32,
        fontCollection: *mut IDWriteFontCollection,
        localeName: *const WCHAR,
        baseFamilyName: *const WCHAR,
        scale: FLOAT,
    ) -> HRESULT,
    fn AddMappings(
        fontFallback: *mut IDWriteFontFallback,
    ) -> HRESULT,
    fn CreateFontFallback(
        fontFallback: *mut *mut IDWriteFontFallback,
    ) -> HRESULT,
}}
pub type DWRITE_COLOR_F = D3DCOLORVALUE;
RIDL!{#[uuid(0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44)]
interface IDWriteFont2(IDWriteFont2Vtbl): IDWriteFont1(IDWriteFont1Vtbl) {
    fn IsColorFont() -> BOOL,
}}
RIDL!{#[uuid(0xd8b768ff, 0x64bc, 0x4e66, 0x98, 0x2b, 0xec, 0x8e, 0x87, 0xf6, 0x93, 0xf7)]
interface IDWriteFontFace2(IDWriteFontFace2Vtbl):
    IDWriteFontFace1(IDWriteFontFace1Vtbl) {
    fn IsColorFont() -> BOOL,
    fn GetColorPaletteCount() -> UINT32,
    fn GetPaletteEntryCount() -> UINT32,
    fn GetPaletteEntries(
        colorPaletteIndex: UINT32,
        firstEntryIndex: UINT32,
        entryCount: UINT32,
        paletteEntries: *mut DWRITE_COLOR_F,
    ) -> HRESULT,
    fn GetRecommendedRenderingMode(
        fontEmSize: FLOAT,
        dpiX: FLOAT,
        dpiY: FLOAT,
        transform: *const DWRITE_MATRIX,
        isSideways: BOOL,
        outlineThreshold: DWRITE_OUTLINE_THRESHOLD,
        measuringMode: DWRITE_MEASURING_MODE,
        renderingParams: *mut IDWriteRenderingParams,
        renderingMode: *mut DWRITE_RENDERING_MODE,
        gridFitMode: *mut DWRITE_GRID_FIT_MODE,
    ) -> HRESULT,
}}
STRUCT!{struct DWRITE_COLOR_GLYPH_RUN {
    glyphRun: DWRITE_GLYPH_RUN,
    glyphRunDescription: *mut DWRITE_GLYPH_RUN_DESCRIPTION,
    baselineOriginX: FLOAT,
    baselineOriginY: FLOAT,
    runColor: DWRITE_COLOR_F,
    paletteIndex: UINT16,
}}
RIDL!{#[uuid(0xd31fbe17, 0xf157, 0x41a2, 0x8d, 0x24, 0xcb, 0x77, 0x9e, 0x05, 0x60, 0xe8)]
interface IDWriteColorGlyphRunEnumerator(IDWriteColorGlyphRunEnumeratorVtbl):
    IUnknown(IUnknownVtbl) {
    fn MoveNext(
        hasRun: *mut BOOL,
    ) -> HRESULT,
    fn GetCurrentRun(
        colorGlyphRun: *mut *const DWRITE_COLOR_GLYPH_RUN,
    ) -> HRESULT,
}}
RIDL!{#[uuid(0xf9d711c3, 0x9777, 0x40ae, 0x87, 0xe8, 0x3e, 0x5a, 0xf9, 0xbf, 0x09, 0x48)]
interface IDWriteRenderingParams2(IDWriteRenderingParams2Vtbl):
    IDWriteRenderingParams1(IDWriteRenderingParams1Vtbl) {
    fn GetGridFitMode() -> DWRITE_GRID_FIT_MODE,
}}
RIDL!{#[uuid(0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec)]
interface IDWriteFactory2(IDWriteFactory2Vtbl): IDWriteFactory1(IDWriteFactory1Vtbl) {
    fn GetSystemFontFallback(
        fontFallback: *mut *mut IDWriteFontFallback,
    ) -> HRESULT,
    fn CreateFontFallbackBuilder(
        fontFallbackBuilder: *mut *mut IDWriteFontFallbackBuilder,
    ) -> HRESULT,
    fn TranslateColorGlyphRun(
        baselineOriginX: FLOAT,
        baselineOriginY: FLOAT,
        glyphRun: *const DWRITE_GLYPH_RUN,
        glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION,
        measuringMode: DWRITE_MEASURING_MODE,
        worldToDeviceTransform: *const DWRITE_MATRIX,
        colorPaletteIndex: UINT32,
        colorLayers: *mut *mut IDWriteColorGlyphRunEnumerator,
    ) -> HRESULT,
    fn CreateCustomRenderingParams(
        gamma: FLOAT,
        enhancedContrast: FLOAT,
        grayscaleEnhancedContrast: FLOAT,
        clearTypeLevel: FLOAT,
        pixelGeometry: DWRITE_PIXEL_GEOMETRY,
        renderingMode: DWRITE_RENDERING_MODE,
        gridFitMode: DWRITE_GRID_FIT_MODE,
        renderingParams: *mut *mut IDWriteRenderingParams2,
    ) -> HRESULT,
    fn CreateGlyphRunAnalysis(
        glyphRun: *const DWRITE_GLYPH_RUN,
        transform: *const DWRITE_MATRIX,
        renderingMode: DWRITE_RENDERING_MODE,
        measuringMode: DWRITE_MEASURING_MODE,
        gridFitMode: DWRITE_GRID_FIT_MODE,
        antialiasMode: DWRITE_TEXT_ANTIALIAS_MODE,
        baselineOriginX: FLOAT,
        baselineOriginY: FLOAT,
        glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis,
    ) -> HRESULT,
}}

Messung V0.5 in Prozent
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-06-22) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.