Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  dwrite_2.rs   Sprache: unbekannt

 
// 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,
}}

[ Dauer der Verarbeitung: 0.22 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge