| /* | |
| * Copyright 2012 Nikolay Sivov for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| import "unknwn.idl"; | |
| import "dcommon.idl"; | |
| interface IDWriteFactory; | |
| interface IDWriteFontCollection; | |
| interface IDWriteFontFamily; | |
| interface IDWriteFontFace; | |
| interface IDWriteInlineObject; | |
| interface ID2D1SimplifiedGeometrySink; | |
| typedef ID2D1SimplifiedGeometrySink IDWriteGeometrySink; | |
| cpp_quote("#ifndef _WINDEF_") | |
| /* already defined in windef.h but needed for WIDL */ | |
| typedef void *HMONITOR; | |
| cpp_quote("#endif /* _WINDEF_ */") | |
| cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") | |
| cpp_quote("#undef GetGlyphIndices") | |
| cpp_quote("#endif") | |
| typedef enum DWRITE_FACTORY_TYPE | |
| { | |
| DWRITE_FACTORY_TYPE_SHARED, | |
| DWRITE_FACTORY_TYPE_ISOLATED | |
| } DWRITE_FACTORY_TYPE; | |
| typedef enum DWRITE_FONT_FILE_TYPE | |
| { | |
| DWRITE_FONT_FILE_TYPE_UNKNOWN, | |
| DWRITE_FONT_FILE_TYPE_CFF, | |
| DWRITE_FONT_FILE_TYPE_TRUETYPE, | |
| DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, | |
| DWRITE_FONT_FILE_TYPE_TYPE1_PFM, | |
| DWRITE_FONT_FILE_TYPE_TYPE1_PFB, | |
| DWRITE_FONT_FILE_TYPE_VECTOR, | |
| DWRITE_FONT_FILE_TYPE_BITMAP, | |
| DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION | |
| } DWRITE_FONT_FILE_TYPE; | |
| typedef enum DWRITE_FONT_FACE_TYPE | |
| { | |
| DWRITE_FONT_FACE_TYPE_CFF, | |
| DWRITE_FONT_FACE_TYPE_TRUETYPE, | |
| DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, | |
| DWRITE_FONT_FACE_TYPE_TYPE1, | |
| DWRITE_FONT_FACE_TYPE_VECTOR, | |
| DWRITE_FONT_FACE_TYPE_BITMAP, | |
| DWRITE_FONT_FACE_TYPE_UNKNOWN, | |
| DWRITE_FONT_FACE_TYPE_RAW_CFF, | |
| DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION | |
| } DWRITE_FONT_FACE_TYPE; | |
| typedef enum DWRITE_FONT_WEIGHT | |
| { | |
| DWRITE_FONT_WEIGHT_THIN = 100, | |
| DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, | |
| DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, | |
| DWRITE_FONT_WEIGHT_LIGHT = 300, | |
| DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350, | |
| DWRITE_FONT_WEIGHT_NORMAL = 400, | |
| DWRITE_FONT_WEIGHT_REGULAR = 400, | |
| DWRITE_FONT_WEIGHT_MEDIUM = 500, | |
| DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, | |
| DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, | |
| DWRITE_FONT_WEIGHT_BOLD = 700, | |
| DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, | |
| DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, | |
| DWRITE_FONT_WEIGHT_BLACK = 900, | |
| DWRITE_FONT_WEIGHT_HEAVY = 900, | |
| DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, | |
| DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950 | |
| } DWRITE_FONT_WEIGHT; | |
| typedef enum DWRITE_FONT_STRETCH | |
| { | |
| DWRITE_FONT_STRETCH_UNDEFINED = 0, | |
| DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, | |
| DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, | |
| DWRITE_FONT_STRETCH_CONDENSED = 3, | |
| DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, | |
| DWRITE_FONT_STRETCH_NORMAL = 5, | |
| DWRITE_FONT_STRETCH_MEDIUM = 5, | |
| DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, | |
| DWRITE_FONT_STRETCH_EXPANDED = 7, | |
| DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, | |
| DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9 | |
| } DWRITE_FONT_STRETCH; | |
| typedef enum DWRITE_FONT_STYLE | |
| { | |
| DWRITE_FONT_STYLE_NORMAL, | |
| DWRITE_FONT_STYLE_OBLIQUE, | |
| DWRITE_FONT_STYLE_ITALIC | |
| } DWRITE_FONT_STYLE; | |
| typedef enum DWRITE_INFORMATIONAL_STRING_ID | |
| { | |
| DWRITE_INFORMATIONAL_STRING_NONE, | |
| DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, | |
| DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, | |
| DWRITE_INFORMATIONAL_STRING_TRADEMARK, | |
| DWRITE_INFORMATIONAL_STRING_MANUFACTURER, | |
| DWRITE_INFORMATIONAL_STRING_DESIGNER, | |
| DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, | |
| DWRITE_INFORMATIONAL_STRING_DESCRIPTION, | |
| DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, | |
| DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, | |
| DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, | |
| DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT, | |
| DWRITE_INFORMATIONAL_STRING_FULL_NAME, | |
| DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME, | |
| DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME, | |
| DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, | |
| DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG, | |
| DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG, | |
| DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, | |
| DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME = DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, | |
| } DWRITE_INFORMATIONAL_STRING_ID; | |
| typedef enum DWRITE_FONT_SIMULATIONS | |
| { | |
| DWRITE_FONT_SIMULATIONS_NONE, | |
| DWRITE_FONT_SIMULATIONS_BOLD, | |
| DWRITE_FONT_SIMULATIONS_OBLIQUE | |
| } DWRITE_FONT_SIMULATIONS; | |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_SIMULATIONS);") | |
| typedef enum DWRITE_PIXEL_GEOMETRY | |
| { | |
| DWRITE_PIXEL_GEOMETRY_FLAT, | |
| DWRITE_PIXEL_GEOMETRY_RGB, | |
| DWRITE_PIXEL_GEOMETRY_BGR | |
| } DWRITE_PIXEL_GEOMETRY; | |
| typedef enum DWRITE_RENDERING_MODE | |
| { | |
| DWRITE_RENDERING_MODE_DEFAULT, | |
| DWRITE_RENDERING_MODE_ALIASED, | |
| DWRITE_RENDERING_MODE_GDI_CLASSIC, | |
| DWRITE_RENDERING_MODE_GDI_NATURAL, | |
| DWRITE_RENDERING_MODE_NATURAL, | |
| DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, | |
| DWRITE_RENDERING_MODE_OUTLINE, | |
| DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, | |
| DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, | |
| DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL, | |
| DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC | |
| } DWRITE_RENDERING_MODE; | |
| typedef enum DWRITE_TEXT_ALIGNMENT | |
| { | |
| DWRITE_TEXT_ALIGNMENT_LEADING, | |
| DWRITE_TEXT_ALIGNMENT_TRAILING, | |
| DWRITE_TEXT_ALIGNMENT_CENTER, | |
| DWRITE_TEXT_ALIGNMENT_JUSTIFIED | |
| } DWRITE_TEXT_ALIGNMENT; | |
| typedef enum DWRITE_PARAGRAPH_ALIGNMENT | |
| { | |
| DWRITE_PARAGRAPH_ALIGNMENT_NEAR, | |
| DWRITE_PARAGRAPH_ALIGNMENT_FAR, | |
| DWRITE_PARAGRAPH_ALIGNMENT_CENTER | |
| } DWRITE_PARAGRAPH_ALIGNMENT; | |
| typedef enum DWRITE_WORD_WRAPPING | |
| { | |
| DWRITE_WORD_WRAPPING_WRAP, | |
| DWRITE_WORD_WRAPPING_NO_WRAP, | |
| DWRITE_WORD_WRAPPING_EMERGENCY_BREAK, | |
| DWRITE_WORD_WRAPPING_WHOLE_WORD, | |
| DWRITE_WORD_WRAPPING_CHARACTER | |
| } DWRITE_WORD_WRAPPING; | |
| typedef enum DWRITE_READING_DIRECTION | |
| { | |
| DWRITE_READING_DIRECTION_LEFT_TO_RIGHT, | |
| DWRITE_READING_DIRECTION_RIGHT_TO_LEFT, | |
| DWRITE_READING_DIRECTION_TOP_TO_BOTTOM, | |
| DWRITE_READING_DIRECTION_BOTTOM_TO_TOP | |
| } DWRITE_READING_DIRECTION; | |
| typedef enum DWRITE_FLOW_DIRECTION | |
| { | |
| DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM, | |
| DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP, | |
| DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT, | |
| DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT | |
| } DWRITE_FLOW_DIRECTION; | |
| typedef enum DWRITE_TRIMMING_GRANULARITY | |
| { | |
| DWRITE_TRIMMING_GRANULARITY_NONE, | |
| DWRITE_TRIMMING_GRANULARITY_CHARACTER, | |
| DWRITE_TRIMMING_GRANULARITY_WORD | |
| } DWRITE_TRIMMING_GRANULARITY; | |
| typedef enum DWRITE_BREAK_CONDITION | |
| { | |
| DWRITE_BREAK_CONDITION_NEUTRAL, | |
| DWRITE_BREAK_CONDITION_CAN_BREAK, | |
| DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, | |
| DWRITE_BREAK_CONDITION_MUST_BREAK | |
| } DWRITE_BREAK_CONDITION; | |
| typedef enum DWRITE_LINE_SPACING_METHOD | |
| { | |
| DWRITE_LINE_SPACING_METHOD_DEFAULT, | |
| DWRITE_LINE_SPACING_METHOD_UNIFORM, | |
| DWRITE_LINE_SPACING_METHOD_PROPORTIONAL | |
| } DWRITE_LINE_SPACING_METHOD; | |
| cpp_quote("#define DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d) ( \\") | |
| cpp_quote(" ((UINT32)(UINT8)(d) << 24) | \\") | |
| cpp_quote(" ((UINT32)(UINT8)(c) << 16) | \\") | |
| cpp_quote(" ((UINT32)(UINT8)(b) << 8) | \\") | |
| cpp_quote(" (UINT32)(UINT8)(a))") | |
| typedef enum DWRITE_FONT_FEATURE_TAG | |
| { | |
| DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, /* 'afrc' */ | |
| DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, /* 'c2pc' */ | |
| DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, /* 'c2sc' */ | |
| DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, /* 'calt' */ | |
| DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, /* 'case' */ | |
| DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, /* 'ccmp' */ | |
| DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, /* 'clig' */ | |
| DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, /* 'cpsp' */ | |
| DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, /* 'cswh' */ | |
| DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, /* 'curs' */ | |
| DWRITE_FONT_FEATURE_TAG_DEFAULT = 0x746c6664, /* 'dflt' */ | |
| DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, /* 'dlig' */ | |
| DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, /* 'expt' */ | |
| DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, /* 'frac' */ | |
| DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, /* 'fwid' */ | |
| DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, /* 'half' */ | |
| DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, /* 'haln' */ | |
| DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, /* 'halt' */ | |
| DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, /* 'hist' */ | |
| DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, /* 'hkna' */ | |
| DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, /* 'hlig' */ | |
| DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, /* 'hwid' */ | |
| DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, /* 'hojo' */ | |
| DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, /* 'jp04' */ | |
| DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, /* 'jp78' */ | |
| DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, /* 'jp83' */ | |
| DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, /* 'jp90' */ | |
| DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, /* 'kern' */ | |
| DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, /* 'liga' */ | |
| DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, /* 'lnum' */ | |
| DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, /* 'locl' */ | |
| DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, /* 'mark' */ | |
| DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, /* 'mgrk' */ | |
| DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, /* 'mkmk' */ | |
| DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, /* 'nalt' */ | |
| DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, /* 'nlck' */ | |
| DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, /* 'onum' */ | |
| DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, /* 'ordn' */ | |
| DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, /* 'palt' */ | |
| DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, /* 'pcap' */ | |
| DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, /* 'pnum' */ | |
| DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, /* 'pwid' */ | |
| DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, /* 'qwid' */ | |
| DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, /* 'rlig' */ | |
| DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, /* 'ruby' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, /* 'salt' */ | |
| DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, /* 'sinf' */ | |
| DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, /* 'smcp' */ | |
| DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, /* 'smpl' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, /* 'ss01' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, /* 'ss02' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, /* 'ss03' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, /* 'ss04' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, /* 'ss05' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, /* 'ss06' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, /* 'ss07' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, /* 'ss08' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, /* 'ss09' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, /* 'ss10' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, /* 'ss11' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, /* 'ss12' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, /* 'ss13' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, /* 'ss14' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, /* 'ss15' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, /* 'ss16' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, /* 'ss17' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, /* 'ss18' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, /* 'ss19' */ | |
| DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, /* 'ss20' */ | |
| DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, /* 'subs' */ | |
| DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, /* 'sups' */ | |
| DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, /* 'swsh' */ | |
| DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, /* 'titl' */ | |
| DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, /* 'tnam' */ | |
| DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, /* 'tnum' */ | |
| DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, /* 'trad' */ | |
| DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, /* 'twid' */ | |
| DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, /* 'unic' */ | |
| DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = 0x74726576, /* 'vert' */ | |
| DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION= 0x32747276, /* 'vrt2' */ | |
| DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a, /* 'zero' */ | |
| } DWRITE_FONT_FEATURE_TAG; | |
| typedef enum DWRITE_SCRIPT_SHAPES | |
| { | |
| DWRITE_SCRIPT_SHAPES_DEFAULT = 0, | |
| DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1 | |
| } DWRITE_SCRIPT_SHAPES; | |
| cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DWRITE_SCRIPT_SHAPES);") | |
| typedef enum DWRITE_NUMBER_SUBSTITUTION_METHOD | |
| { | |
| DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE, | |
| DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, | |
| DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, | |
| DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, | |
| DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL | |
| } DWRITE_NUMBER_SUBSTITUTION_METHOD; | |
| cpp_quote("#define DWRITE_ALPHA_MAX 255") | |
| typedef enum DWRITE_TEXTURE_TYPE | |
| { | |
| DWRITE_TEXTURE_ALIASED_1x1, | |
| DWRITE_TEXTURE_CLEARTYPE_3x1 | |
| } DWRITE_TEXTURE_TYPE; | |
| typedef struct DWRITE_FONT_METRICS | |
| { | |
| UINT16 designUnitsPerEm; | |
| UINT16 ascent; | |
| UINT16 descent; | |
| INT16 lineGap; | |
| UINT16 capHeight; | |
| UINT16 xHeight; | |
| INT16 underlinePosition; | |
| UINT16 underlineThickness; | |
| INT16 strikethroughPosition; | |
| UINT16 strikethroughThickness; | |
| } DWRITE_FONT_METRICS; | |
| typedef struct DWRITE_GLYPH_METRICS | |
| { | |
| INT32 leftSideBearing; | |
| UINT32 advanceWidth; | |
| INT32 rightSideBearing; | |
| INT32 topSideBearing; | |
| UINT32 advanceHeight; | |
| INT32 bottomSideBearing; | |
| INT32 verticalOriginY; | |
| } DWRITE_GLYPH_METRICS; | |
| typedef struct DWRITE_GLYPH_OFFSET | |
| { | |
| FLOAT advanceOffset; | |
| FLOAT ascenderOffset; | |
| } DWRITE_GLYPH_OFFSET; | |
| typedef struct DWRITE_MATRIX | |
| { | |
| FLOAT m11; | |
| FLOAT m12; | |
| FLOAT m21; | |
| FLOAT m22; | |
| FLOAT dx; | |
| FLOAT dy; | |
| } DWRITE_MATRIX; | |
| typedef struct DWRITE_TRIMMING | |
| { | |
| DWRITE_TRIMMING_GRANULARITY granularity; | |
| UINT32 delimiter; | |
| UINT32 delimiterCount; | |
| } DWRITE_TRIMMING; | |
| cpp_quote("#ifndef __d2d1_h__") | |
| typedef struct DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN; | |
| cpp_quote("#endif /* __d2d1_h__ */") | |
| struct DWRITE_GLYPH_RUN | |
| { | |
| IDWriteFontFace* fontFace; | |
| FLOAT fontEmSize; | |
| UINT32 glyphCount; | |
| UINT16 const* glyphIndices; | |
| FLOAT const* glyphAdvances; | |
| DWRITE_GLYPH_OFFSET const* glyphOffsets; | |
| BOOL isSideways; | |
| UINT32 bidiLevel; | |
| }; | |
| cpp_quote("#ifndef __d2d1_1_h__") | |
| typedef struct DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION; | |
| cpp_quote("#endif /* __d2d1_1_h__ */") | |
| struct DWRITE_GLYPH_RUN_DESCRIPTION | |
| { | |
| WCHAR const* localeName; | |
| WCHAR const* string; | |
| UINT32 stringLength; | |
| UINT16 const* clusterMap; | |
| UINT32 textPosition; | |
| }; | |
| typedef struct DWRITE_UNDERLINE | |
| { | |
| FLOAT width; | |
| FLOAT thickness; | |
| FLOAT offset; | |
| FLOAT runHeight; | |
| DWRITE_READING_DIRECTION readingDirection; | |
| DWRITE_FLOW_DIRECTION flowDirection; | |
| WCHAR const* localeName; | |
| DWRITE_MEASURING_MODE measuringMode; | |
| } DWRITE_UNDERLINE; | |
| typedef struct DWRITE_STRIKETHROUGH | |
| { | |
| FLOAT width; | |
| FLOAT thickness; | |
| FLOAT offset; | |
| DWRITE_READING_DIRECTION readingDirection; | |
| DWRITE_FLOW_DIRECTION flowDirection; | |
| WCHAR const* localeName; | |
| DWRITE_MEASURING_MODE measuringMode; | |
| } DWRITE_STRIKETHROUGH; | |
| typedef struct DWRITE_INLINE_OBJECT_METRICS | |
| { | |
| FLOAT width; | |
| FLOAT height; | |
| FLOAT baseline; | |
| BOOL supportsSideways; | |
| } DWRITE_INLINE_OBJECT_METRICS; | |
| typedef struct DWRITE_OVERHANG_METRICS | |
| { | |
| FLOAT left; | |
| FLOAT top; | |
| FLOAT right; | |
| FLOAT bottom; | |
| } DWRITE_OVERHANG_METRICS; | |
| typedef struct DWRITE_FONT_FEATURE | |
| { | |
| DWRITE_FONT_FEATURE_TAG nameTag; | |
| UINT32 parameter; | |
| } DWRITE_FONT_FEATURE; | |
| typedef struct DWRITE_TEXT_RANGE | |
| { | |
| UINT32 startPosition; | |
| UINT32 length; | |
| } DWRITE_TEXT_RANGE; | |
| typedef struct DWRITE_LINE_METRICS | |
| { | |
| UINT32 length; | |
| UINT32 trailingWhitespaceLength; | |
| UINT32 newlineLength; | |
| FLOAT height; | |
| FLOAT baseline; | |
| BOOL isTrimmed; | |
| } DWRITE_LINE_METRICS; | |
| typedef struct DWRITE_TEXT_METRICS | |
| { | |
| FLOAT left; | |
| FLOAT top; | |
| FLOAT width; | |
| FLOAT widthIncludingTrailingWhitespace; | |
| FLOAT height; | |
| FLOAT layoutWidth; | |
| FLOAT layoutHeight; | |
| UINT32 maxBidiReorderingDepth; | |
| UINT32 lineCount; | |
| } DWRITE_TEXT_METRICS; | |
| typedef struct DWRITE_CLUSTER_METRICS | |
| { | |
| FLOAT width; | |
| UINT16 length; | |
| UINT16 canWrapLineAfter : 1; | |
| UINT16 isWhitespace : 1; | |
| UINT16 isNewline : 1; | |
| UINT16 isSoftHyphen : 1; | |
| UINT16 isRightToLeft : 1; | |
| UINT16 padding : 11; | |
| } DWRITE_CLUSTER_METRICS; | |
| typedef struct DWRITE_HIT_TEST_METRICS | |
| { | |
| UINT32 textPosition; | |
| UINT32 length; | |
| FLOAT left; | |
| FLOAT top; | |
| FLOAT width; | |
| FLOAT height; | |
| UINT32 bidiLevel; | |
| BOOL isText; | |
| BOOL isTrimmed; | |
| } DWRITE_HIT_TEST_METRICS; | |
| typedef struct DWRITE_SCRIPT_ANALYSIS | |
| { | |
| UINT16 script; | |
| DWRITE_SCRIPT_SHAPES shapes; | |
| } DWRITE_SCRIPT_ANALYSIS; | |
| typedef struct DWRITE_LINE_BREAKPOINT | |
| { | |
| UINT8 breakConditionBefore : 2; | |
| UINT8 breakConditionAfter : 2; | |
| UINT8 isWhitespace : 1; | |
| UINT8 isSoftHyphen : 1; | |
| UINT8 padding : 2; | |
| } DWRITE_LINE_BREAKPOINT; | |
| typedef struct DWRITE_TYPOGRAPHIC_FEATURES | |
| { | |
| DWRITE_FONT_FEATURE* features; | |
| UINT32 featureCount; | |
| } DWRITE_TYPOGRAPHIC_FEATURES; | |
| typedef struct DWRITE_SHAPING_TEXT_PROPERTIES | |
| { | |
| UINT16 isShapedAlone : 1; | |
| UINT16 reserved1 : 1; | |
| UINT16 canBreakShapingAfter : 1; | |
| UINT16 reserved : 13; | |
| } DWRITE_SHAPING_TEXT_PROPERTIES; | |
| typedef struct DWRITE_SHAPING_GLYPH_PROPERTIES | |
| { | |
| UINT16 justification : 4; | |
| UINT16 isClusterStart : 1; | |
| UINT16 isDiacritic : 1; | |
| UINT16 isZeroWidthSpace : 1; | |
| UINT16 reserved : 9; | |
| } DWRITE_SHAPING_GLYPH_PROPERTIES; | |
| [ | |
| local, | |
| object, | |
| uuid(6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0) | |
| ] | |
| interface IDWriteFontFileStream : IUnknown | |
| { | |
| HRESULT ReadFileFragment( | |
| [out] void const **fragment_start, | |
| [in] UINT64 offset, | |
| [in] UINT64 fragment_size, | |
| [out] void **fragment_context | |
| ); | |
| void ReleaseFileFragment( | |
| [in] void *fragment_context | |
| ); | |
| HRESULT GetFileSize( | |
| [out] UINT64 *size | |
| ); | |
| HRESULT GetLastWriteTime( | |
| [out] UINT64 *last_writetime | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(727cad4e-d6af-4c9e-8a08-d695b11caa49) | |
| ] | |
| interface IDWriteFontFileLoader : IUnknown | |
| { | |
| HRESULT CreateStreamFromKey( | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] IDWriteFontFileStream **stream | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2) | |
| ] | |
| interface IDWriteLocalFontFileLoader : IDWriteFontFileLoader | |
| { | |
| HRESULT GetFilePathLengthFromKey( | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] UINT32 *length | |
| ); | |
| HRESULT GetFilePathFromKey( | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] WCHAR *path, | |
| [in] UINT32 length | |
| ); | |
| HRESULT GetLastWriteTimeFromKey( | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] FILETIME *writetime | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(739d886a-cef5-47dc-8769-1a8b41bebbb0) | |
| ] | |
| interface IDWriteFontFile : IUnknown | |
| { | |
| HRESULT GetReferenceKey( | |
| [out] void const **key, | |
| [out] UINT32 *key_size | |
| ); | |
| HRESULT GetLoader( | |
| [out] IDWriteFontFileLoader **loader | |
| ); | |
| HRESULT Analyze( | |
| [out] BOOL *is_supported_fonttype, | |
| [out] DWRITE_FONT_FILE_TYPE *file_type, | |
| [out] DWRITE_FONT_FACE_TYPE *face_type, | |
| [out] UINT32 *faces_num | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(72755049-5ff7-435d-8348-4be97cfa6c7c) | |
| ] | |
| interface IDWriteFontFileEnumerator : IUnknown | |
| { | |
| HRESULT MoveNext( | |
| [out] BOOL *has_current_file | |
| ); | |
| HRESULT GetCurrentFontFile( | |
| [out] IDWriteFontFile **font_file | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(cca920e4-52f0-492b-bfa8-29c72ee0a468) | |
| ] | |
| interface IDWriteFontCollectionLoader : IUnknown | |
| { | |
| HRESULT CreateEnumeratorFromKey( | |
| [in] IDWriteFactory *factory, | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] IDWriteFontFileEnumerator **enumerator | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(08256209-099a-4b34-b86d-c22b110e7771) | |
| ] | |
| interface IDWriteLocalizedStrings : IUnknown | |
| { | |
| UINT32 GetCount(); | |
| HRESULT FindLocaleName( | |
| [in] WCHAR const *locale_name, | |
| [out] UINT32 *index, | |
| [out] BOOL *exists | |
| ); | |
| HRESULT GetLocaleNameLength( | |
| [in] UINT32 index, | |
| [out] UINT32 *length | |
| ); | |
| HRESULT GetLocaleName( | |
| [in] UINT32 index, | |
| [out] WCHAR *locale_name, | |
| [in] UINT32 size | |
| ); | |
| HRESULT GetStringLength( | |
| [in] UINT32 index, | |
| [out] UINT32 *length | |
| ); | |
| HRESULT GetString( | |
| [in] UINT32 index, | |
| [out] WCHAR *buffer, | |
| [in] UINT32 size | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(2f0da53a-2add-47cd-82ee-d9ec34688e75) | |
| ] | |
| interface IDWriteRenderingParams : IUnknown | |
| { | |
| FLOAT GetGamma(); | |
| FLOAT GetEnhancedContrast(); | |
| FLOAT GetClearTypeLevel(); | |
| DWRITE_PIXEL_GEOMETRY GetPixelGeometry(); | |
| DWRITE_RENDERING_MODE GetRenderingMode(); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(5f49804d-7024-4d43-bfa9-d25984f53849) | |
| ] | |
| interface IDWriteFontFace : IUnknown | |
| { | |
| DWRITE_FONT_FACE_TYPE GetType(); | |
| HRESULT GetFiles( | |
| [out] UINT32 *number_of_files, | |
| [out] IDWriteFontFile **fontfiles | |
| ); | |
| UINT32 GetIndex(); | |
| DWRITE_FONT_SIMULATIONS GetSimulations(); | |
| BOOL IsSymbolFont(); | |
| void GetMetrics( | |
| [out] DWRITE_FONT_METRICS *metrics | |
| ); | |
| UINT16 GetGlyphCount(); | |
| HRESULT GetDesignGlyphMetrics( | |
| [in] UINT16 const *glyph_indices, | |
| [in] UINT32 glyph_count, | |
| [out] DWRITE_GLYPH_METRICS *metrics, | |
| [in, defaultvalue(FALSE)] BOOL is_sideways | |
| ); | |
| HRESULT GetGlyphIndices( | |
| [in] UINT32 const *codepoints, | |
| [in] UINT32 count, | |
| [out] UINT16 *glyph_indices | |
| ); | |
| HRESULT TryGetFontTable( | |
| [in] UINT32 table_tag, | |
| [out] const void **table_data, | |
| [out] UINT32 *table_size, | |
| [out] void **context, | |
| [out] BOOL *exists | |
| ); | |
| void ReleaseFontTable( | |
| [in] void *table_context | |
| ); | |
| HRESULT GetGlyphRunOutline( | |
| [in] FLOAT emSize, | |
| [in] UINT16 const *glyph_indices, | |
| [in] FLOAT const* glyph_advances, | |
| [in] DWRITE_GLYPH_OFFSET const *glyph_offsets, | |
| [in] UINT32 glyph_count, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] IDWriteGeometrySink *geometrysink | |
| ); | |
| HRESULT GetRecommendedRenderingMode( | |
| [in] FLOAT emSize, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MEASURING_MODE mode, | |
| [in] IDWriteRenderingParams *params, | |
| [out] DWRITE_RENDERING_MODE *rendering_mode | |
| ); | |
| HRESULT GetGdiCompatibleMetrics( | |
| [in] FLOAT emSize, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MATRIX const *transform, | |
| [out] DWRITE_FONT_METRICS *metrics | |
| ); | |
| HRESULT GetGdiCompatibleGlyphMetrics( | |
| [in] FLOAT emSize, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MATRIX const *transform, | |
| [in] BOOL use_gdi_natural, | |
| [in] UINT16 const *glyph_indices, | |
| [in] UINT32 glyph_count, | |
| [out] DWRITE_GLYPH_METRICS *metrics, | |
| [in, defaultvalue(FALSE)] BOOL is_sideways | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(acd16696-8c14-4f5d-877e-fe3fc1d32737) | |
| ] | |
| interface IDWriteFont : IUnknown | |
| { | |
| HRESULT GetFontFamily( | |
| [out] IDWriteFontFamily **family | |
| ); | |
| DWRITE_FONT_WEIGHT GetWeight(); | |
| DWRITE_FONT_STRETCH GetStretch(); | |
| DWRITE_FONT_STYLE GetStyle(); | |
| BOOL IsSymbolFont(); | |
| HRESULT GetFaceNames( | |
| [out] IDWriteLocalizedStrings **names | |
| ); | |
| HRESULT GetInformationalStrings( | |
| [in] DWRITE_INFORMATIONAL_STRING_ID stringid, | |
| [out] IDWriteLocalizedStrings **strings, | |
| [out] BOOL *exists | |
| ); | |
| DWRITE_FONT_SIMULATIONS GetSimulations(); | |
| void GetMetrics( | |
| [out] DWRITE_FONT_METRICS *metrics | |
| ); | |
| HRESULT HasCharacter( | |
| [in] UINT32 value, | |
| [out] BOOL *exists | |
| ); | |
| HRESULT CreateFontFace( | |
| [out] IDWriteFontFace **face | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb) | |
| ] | |
| interface IDWriteFontList : IUnknown | |
| { | |
| HRESULT GetFontCollection( | |
| [out] IDWriteFontCollection **collection | |
| ); | |
| UINT32 GetFontCount(); | |
| HRESULT GetFont( | |
| [in] UINT32 index, | |
| [out] IDWriteFont **font | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(da20d8ef-812a-4c43-9802-62ec4abd7add) | |
| ] | |
| interface IDWriteFontFamily : IDWriteFontList | |
| { | |
| HRESULT GetFamilyNames( | |
| [out] IDWriteLocalizedStrings **names | |
| ); | |
| HRESULT GetFirstMatchingFont( | |
| [in] DWRITE_FONT_WEIGHT weight, | |
| [in] DWRITE_FONT_STRETCH stretch, | |
| [in] DWRITE_FONT_STYLE style, | |
| [out] IDWriteFont **font | |
| ); | |
| HRESULT GetMatchingFonts( | |
| [in] DWRITE_FONT_WEIGHT weight, | |
| [in] DWRITE_FONT_STRETCH stretch, | |
| [in] DWRITE_FONT_STYLE style, | |
| [out] IDWriteFontList **fonts | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(a84cee02-3eea-4eee-a827-87c1a02a0fcc) | |
| ] | |
| interface IDWriteFontCollection : IUnknown | |
| { | |
| UINT32 GetFontFamilyCount(); | |
| HRESULT GetFontFamily( | |
| [in] UINT32 index, | |
| [out] IDWriteFontFamily **family | |
| ); | |
| HRESULT FindFamilyName( | |
| [in] WCHAR const *name, | |
| [out] UINT32 *index, | |
| [out] BOOL *exists | |
| ); | |
| HRESULT GetFontFromFontFace( | |
| [in] IDWriteFontFace *face, | |
| [out] IDWriteFont **font | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(eaf3a2da-ecf4-4d24-b644-b34f6842024b) | |
| ] | |
| interface IDWritePixelSnapping : IUnknown | |
| { | |
| HRESULT IsPixelSnappingDisabled( | |
| [in] void *client_drawingcontext, | |
| [out] BOOL *disabled | |
| ); | |
| HRESULT GetCurrentTransform( | |
| [in] void *client_drawingcontext, | |
| [out] DWRITE_MATRIX *transform | |
| ); | |
| HRESULT GetPixelsPerDip( | |
| [in] void *client_drawingcontext, | |
| [out] FLOAT *pixels_per_dip | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(ef8a8135-5cc6-45fe-8825-c5a0724eb819) | |
| ] | |
| interface IDWriteTextRenderer : IDWritePixelSnapping | |
| { | |
| HRESULT DrawGlyphRun( | |
| [in] void *client_drawingcontext, | |
| [in] FLOAT baselineOriginX, | |
| [in] FLOAT baselineOriginY, | |
| [in] DWRITE_MEASURING_MODE mode, | |
| [in] DWRITE_GLYPH_RUN const *glyph_run, | |
| [in] DWRITE_GLYPH_RUN_DESCRIPTION const *run_descr, | |
| [in] IUnknown *drawing_effect | |
| ); | |
| HRESULT DrawUnderline( | |
| [in] void *client_drawingcontext, | |
| [in] FLOAT baselineOriginX, | |
| [in] FLOAT baselineOriginY, | |
| [in] DWRITE_UNDERLINE const *underline, | |
| [in] IUnknown *drawing_effect | |
| ); | |
| HRESULT DrawStrikethrough( | |
| [in] void *client_drawingcontext, | |
| [in] FLOAT baselineOriginX, | |
| [in] FLOAT baselineOriginY, | |
| [in] DWRITE_STRIKETHROUGH const *strikethrough, | |
| [in] IUnknown *drawing_effect | |
| ); | |
| HRESULT DrawInlineObject( | |
| [in] void *client_drawingcontext, | |
| [in] FLOAT originX, | |
| [in] FLOAT originY, | |
| [in] IDWriteInlineObject *object, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] IUnknown *drawing_effect | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(8339fde3-106f-47ab-8373-1c6295eb10b3) | |
| ] | |
| interface IDWriteInlineObject : IUnknown | |
| { | |
| HRESULT Draw( | |
| [in] void *client_drawingontext, | |
| [in] IDWriteTextRenderer *renderer, | |
| [in] FLOAT originX, | |
| [in] FLOAT originY, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] IUnknown *drawing_effect | |
| ); | |
| HRESULT GetMetrics( | |
| [out] DWRITE_INLINE_OBJECT_METRICS *metrics | |
| ); | |
| HRESULT GetOverhangMetrics( | |
| [out] DWRITE_OVERHANG_METRICS *overhangs | |
| ); | |
| HRESULT GetBreakConditions( | |
| [out] DWRITE_BREAK_CONDITION *condition_before, | |
| [out] DWRITE_BREAK_CONDITION *condition_after | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(9c906818-31d7-4fd3-a151-7c5e225db55a) | |
| ] | |
| interface IDWriteTextFormat : IUnknown | |
| { | |
| HRESULT SetTextAlignment( | |
| [in] DWRITE_TEXT_ALIGNMENT alignment | |
| ); | |
| HRESULT SetParagraphAlignment( | |
| [in] DWRITE_PARAGRAPH_ALIGNMENT alignment | |
| ); | |
| HRESULT SetWordWrapping( | |
| [in] DWRITE_WORD_WRAPPING wrapping | |
| ); | |
| HRESULT SetReadingDirection( | |
| [in] DWRITE_READING_DIRECTION direction | |
| ); | |
| HRESULT SetFlowDirection( | |
| [in] DWRITE_FLOW_DIRECTION direction | |
| ); | |
| HRESULT SetIncrementalTabStop( | |
| [in] FLOAT tabstop | |
| ); | |
| HRESULT SetTrimming( | |
| [in] DWRITE_TRIMMING const *trimming, | |
| [in] IDWriteInlineObject *trimming_sign | |
| ); | |
| HRESULT SetLineSpacing( | |
| [in] DWRITE_LINE_SPACING_METHOD spacing, | |
| [in] FLOAT line_spacing, | |
| [in] FLOAT baseline | |
| ); | |
| DWRITE_TEXT_ALIGNMENT GetTextAlignment(); | |
| DWRITE_PARAGRAPH_ALIGNMENT GetParagraphAlignment(); | |
| DWRITE_WORD_WRAPPING GetWordWrapping(); | |
| DWRITE_READING_DIRECTION GetReadingDirection(); | |
| DWRITE_FLOW_DIRECTION GetFlowDirection(); | |
| FLOAT GetIncrementalTabStop(); | |
| HRESULT GetTrimming( | |
| [out] DWRITE_TRIMMING *options, | |
| [out] IDWriteInlineObject **trimming_sign | |
| ); | |
| HRESULT GetLineSpacing( | |
| [out] DWRITE_LINE_SPACING_METHOD *method, | |
| [out] FLOAT *spacing, | |
| [out] FLOAT *baseline | |
| ); | |
| HRESULT GetFontCollection( | |
| [out] IDWriteFontCollection **collection | |
| ); | |
| UINT32 GetFontFamilyNameLength(); | |
| HRESULT GetFontFamilyName( | |
| [out] WCHAR *name, | |
| [in] UINT32 size | |
| ); | |
| DWRITE_FONT_WEIGHT GetFontWeight(); | |
| DWRITE_FONT_STYLE GetFontStyle(); | |
| DWRITE_FONT_STRETCH GetFontStretch(); | |
| FLOAT GetFontSize(); | |
| UINT32 GetLocaleNameLength(); | |
| HRESULT GetLocaleName( | |
| [out] WCHAR *name, | |
| [in] UINT32 size | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(55f1112b-1dc2-4b3c-9541-f46894ed85b6) | |
| ] | |
| interface IDWriteTypography : IUnknown | |
| { | |
| HRESULT AddFontFeature( | |
| [in] DWRITE_FONT_FEATURE feature | |
| ); | |
| UINT32 GetFontFeatureCount(); | |
| HRESULT GetFontFeature( | |
| [in] UINT32 index, | |
| [out] DWRITE_FONT_FEATURE *feature | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(5e5a32a3-8dff-4773-9ff6-0696eab77267) | |
| ] | |
| interface IDWriteBitmapRenderTarget : IUnknown | |
| { | |
| HRESULT DrawGlyphRun( | |
| [in] FLOAT baselineOriginX, | |
| [in] FLOAT baselineOriginY, | |
| [in] DWRITE_MEASURING_MODE measuring_mode, | |
| [in] DWRITE_GLYPH_RUN const *glyph_run, | |
| [in] IDWriteRenderingParams *params, | |
| [in] COLORREF textColor, | |
| [out, defaultvalue(NULL)] RECT *blackbox_rect | |
| ); | |
| HDC GetMemoryDC(); | |
| FLOAT GetPixelsPerDip(); | |
| HRESULT SetPixelsPerDip( | |
| [in] FLOAT pixels_per_dip | |
| ); | |
| HRESULT GetCurrentTransform( | |
| [out] DWRITE_MATRIX *transform | |
| ); | |
| HRESULT SetCurrentTransform( | |
| [in] DWRITE_MATRIX const *transform | |
| ); | |
| HRESULT GetSize( | |
| [out] SIZE *size | |
| ); | |
| HRESULT Resize( | |
| [in] UINT32 width, | |
| [in] UINT32 height | |
| ); | |
| } | |
| cpp_quote("#ifndef _WINGDI_") | |
| /* already defined in wingdi.h but needed for WIDL */ | |
| #define LF_FACESIZE 32 | |
| typedef struct tagLOGFONTW | |
| { | |
| LONG lfHeight; | |
| LONG lfWidth; | |
| LONG lfEscapement; | |
| LONG lfOrientation; | |
| LONG lfWeight; | |
| BYTE lfItalic; | |
| BYTE lfUnderline; | |
| BYTE lfStrikeOut; | |
| BYTE lfCharSet; | |
| BYTE lfOutPrecision; | |
| BYTE lfClipPrecision; | |
| BYTE lfQuality; | |
| BYTE lfPitchAndFamily; | |
| WCHAR lfFaceName[LF_FACESIZE]; | |
| } LOGFONTW, *PLOGFONTW, *LPLOGFONTW; | |
| cpp_quote("#endif /* _WINGDI_ */") | |
| [ | |
| local, | |
| object, | |
| uuid(1edd9491-9853-4299-898f-6432983b6f3a) | |
| ] | |
| interface IDWriteGdiInterop : IUnknown | |
| { | |
| HRESULT CreateFontFromLOGFONT( | |
| [in] LOGFONTW const *logfont, | |
| [out] IDWriteFont **font | |
| ); | |
| HRESULT ConvertFontToLOGFONT( | |
| [in] IDWriteFont *font, | |
| [out] LOGFONTW *logfont, | |
| [out] BOOL *is_systemfont | |
| ); | |
| HRESULT ConvertFontFaceToLOGFONT( | |
| [in] IDWriteFontFace *font, | |
| [out] LOGFONTW *logfont | |
| ); | |
| HRESULT CreateFontFaceFromHdc( | |
| [in] HDC hdc, | |
| [out] IDWriteFontFace **fontface | |
| ); | |
| HRESULT CreateBitmapRenderTarget( | |
| [in] HDC hdc, | |
| [in] UINT32 width, | |
| [in] UINT32 height, | |
| [out] IDWriteBitmapRenderTarget **target | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(53737037-6d14-410b-9bfe-0b182bb70961) | |
| ] | |
| interface IDWriteTextLayout : IDWriteTextFormat | |
| { | |
| HRESULT SetMaxWidth( | |
| [in] FLOAT maxWidth | |
| ); | |
| HRESULT SetMaxHeight( | |
| [in] FLOAT maxHeight | |
| ); | |
| HRESULT SetFontCollection( | |
| [in] IDWriteFontCollection *collection, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetFontFamilyName( | |
| [in] WCHAR const *name, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetFontWeight( | |
| [in] DWRITE_FONT_WEIGHT weight, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetFontStyle( | |
| [in] DWRITE_FONT_STYLE style, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetFontStretch( | |
| [in] DWRITE_FONT_STRETCH stretch, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetFontSize( | |
| [in] FLOAT size, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetUnderline( | |
| [in] BOOL underline, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetStrikethrough( | |
| [in] BOOL strikethrough, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetDrawingEffect( | |
| [in] IUnknown *effect, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetInlineObject( | |
| [in] IDWriteInlineObject *object, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetTypography( | |
| [in] IDWriteTypography *typography, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| HRESULT SetLocaleName( | |
| [in] WCHAR const *locale, | |
| [in] DWRITE_TEXT_RANGE range | |
| ); | |
| FLOAT GetMaxWidth(); | |
| FLOAT GetMaxHeight(); | |
| HRESULT GetFontCollection( | |
| [in] UINT32 pos, | |
| [out] IDWriteFontCollection **collection, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontFamilyNameLength( | |
| [in] UINT32 pos, | |
| [out] UINT32 *len, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontFamilyName( | |
| [in] UINT32 position, | |
| [out] WCHAR *name, | |
| [in] UINT32 name_size, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontWeight( | |
| [in] UINT32 position, | |
| [out] DWRITE_FONT_WEIGHT *weight, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontStyle( | |
| [in] UINT32 currentPosition, | |
| [out] DWRITE_FONT_STYLE *style, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontStretch( | |
| [in] UINT32 position, | |
| [out] DWRITE_FONT_STRETCH *stretch, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetFontSize( | |
| [in] UINT32 position, | |
| [out] FLOAT *size, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetUnderline( | |
| [in] UINT32 position, | |
| [out] BOOL *has_underline, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetStrikethrough( | |
| [in] UINT32 position, | |
| [out] BOOL *has_strikethrough, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetDrawingEffect( | |
| [in] UINT32 position, | |
| [out] IUnknown **effect, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetInlineObject( | |
| [in] UINT32 position, | |
| [out] IDWriteInlineObject **object, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetTypography( | |
| [in] UINT32 position, | |
| [out] IDWriteTypography **typography, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetLocaleNameLength( | |
| [in] UINT32 position, | |
| [out] UINT32 *length, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT GetLocaleName( | |
| [in] UINT32 position, | |
| [out] WCHAR *name, | |
| [in] UINT32 name_size, | |
| [out, defaultvalue(NULL)] DWRITE_TEXT_RANGE *range | |
| ); | |
| HRESULT Draw( | |
| [in] void *context, | |
| [in] IDWriteTextRenderer *renderer, | |
| [in] FLOAT originX, | |
| [in] FLOAT originY | |
| ); | |
| HRESULT GetLineMetrics( | |
| [out] DWRITE_LINE_METRICS *metrics, | |
| [in] UINT32 max_count, | |
| [out] UINT32 *actual_count | |
| ); | |
| HRESULT GetMetrics( | |
| [out] DWRITE_TEXT_METRICS *metrics | |
| ); | |
| HRESULT GetOverhangMetrics( | |
| [out] DWRITE_OVERHANG_METRICS *overhangs | |
| ); | |
| HRESULT GetClusterMetrics( | |
| [out] DWRITE_CLUSTER_METRICS *metrics, | |
| [in] UINT32 max_count, | |
| [out] UINT32* act_count | |
| ); | |
| HRESULT DetermineMinWidth( | |
| [out] FLOAT *min_width | |
| ); | |
| HRESULT HitTestPoint( | |
| [in] FLOAT pointX, | |
| [in] FLOAT pointY, | |
| [out] BOOL *is_trailinghit, | |
| [out] BOOL *is_inside, | |
| [out] DWRITE_HIT_TEST_METRICS *metrics | |
| ); | |
| HRESULT HitTestTextPosition( | |
| [in] UINT32 textPosition, | |
| [in] BOOL is_trailinghit, | |
| [out] FLOAT *pointX, | |
| [out] FLOAT *pointY, | |
| [out] DWRITE_HIT_TEST_METRICS *metrics | |
| ); | |
| HRESULT HitTestTextRange( | |
| [in] UINT32 textPosition, | |
| [in] UINT32 textLength, | |
| [in] FLOAT originX, | |
| [in] FLOAT originY, | |
| [out] DWRITE_HIT_TEST_METRICS *metrics, | |
| [in] UINT32 max_metricscount, | |
| [out] UINT32 *actual_metricscount | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(14885cc9-bab0-4f90-b6ed-5c366a2cd03d) | |
| ] | |
| interface IDWriteNumberSubstitution : IUnknown | |
| { | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(688e1a58-5094-47c8-adc8-fbcea60ae92b) | |
| ] | |
| interface IDWriteTextAnalysisSource : IUnknown | |
| { | |
| HRESULT GetTextAtPosition( | |
| [in] UINT32 position, | |
| [out] WCHAR const **text, | |
| [out] UINT32 *text_len | |
| ); | |
| HRESULT GetTextBeforePosition( | |
| [in] UINT32 position, | |
| [out] WCHAR const **text, | |
| [out] UINT32* text_len | |
| ); | |
| DWRITE_READING_DIRECTION GetParagraphReadingDirection(); | |
| HRESULT GetLocaleName( | |
| [in] UINT32 position, | |
| [out] UINT32 *text_len, | |
| [out] WCHAR const **locale | |
| ); | |
| HRESULT GetNumberSubstitution( | |
| [in] UINT32 position, | |
| [out] UINT32 *text_len, | |
| [out] IDWriteNumberSubstitution **substitution | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(5810cd44-0ca0-4701-b3fa-bec5182ae4f6) | |
| ] | |
| interface IDWriteTextAnalysisSink : IUnknown | |
| { | |
| HRESULT SetScriptAnalysis( | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] DWRITE_SCRIPT_ANALYSIS const* scriptanalysis | |
| ); | |
| HRESULT SetLineBreakpoints( | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] DWRITE_LINE_BREAKPOINT const* breakpoints | |
| ); | |
| HRESULT SetBidiLevel( | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] UINT8 explicitLevel, | |
| [in] UINT8 resolvedLevel | |
| ); | |
| HRESULT SetNumberSubstitution( | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] IDWriteNumberSubstitution *substitution | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(b7e6163e-7f46-43b4-84b3-e4e6249c365d) | |
| ] | |
| interface IDWriteTextAnalyzer : IUnknown | |
| { | |
| HRESULT AnalyzeScript( | |
| [in] IDWriteTextAnalysisSource *source, | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] IDWriteTextAnalysisSink *sink | |
| ); | |
| HRESULT AnalyzeBidi( | |
| [in] IDWriteTextAnalysisSource *source, | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] IDWriteTextAnalysisSink *sink | |
| ); | |
| HRESULT AnalyzeNumberSubstitution( | |
| [in] IDWriteTextAnalysisSource *source, | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] IDWriteTextAnalysisSink *sink | |
| ); | |
| HRESULT AnalyzeLineBreakpoints( | |
| [in] IDWriteTextAnalysisSource *source, | |
| [in] UINT32 position, | |
| [in] UINT32 length, | |
| [in] IDWriteTextAnalysisSink *sink | |
| ); | |
| HRESULT GetGlyphs( | |
| [in] WCHAR const *text, | |
| [in] UINT32 length, | |
| [in] IDWriteFontFace *font_face, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] DWRITE_SCRIPT_ANALYSIS const *analysis, | |
| [in] WCHAR const *locale, | |
| [in] IDWriteNumberSubstitution *substitution, | |
| [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, | |
| [in] UINT32 const *feature_range_len, | |
| [in] UINT32 feature_ranges, | |
| [in] UINT32 max_glyph_count, | |
| [out] UINT16 *clustermap, | |
| [out] DWRITE_SHAPING_TEXT_PROPERTIES *text_props, | |
| [out] UINT16 *glyph_indices, | |
| [out] DWRITE_SHAPING_GLYPH_PROPERTIES *glyph_props, | |
| [out] UINT32 *actual_glyph_count | |
| ); | |
| HRESULT GetGlyphPlacements( | |
| [in] WCHAR const *text, | |
| [in] UINT16 const *clustermap, | |
| [in] DWRITE_SHAPING_TEXT_PROPERTIES* props, | |
| [in] UINT32 text_len, | |
| [in] UINT16 const *glyph_indices, | |
| [in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyph_props, | |
| [in] UINT32 glyph_count, | |
| [in] IDWriteFontFace *font_face, | |
| [in] FLOAT fontEmSize, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] DWRITE_SCRIPT_ANALYSIS const *analysis, | |
| [in] WCHAR const *locale, | |
| [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, | |
| [in] UINT32 const *feature_range_len, | |
| [in] UINT32 feature_ranges, | |
| [out] FLOAT *glyph_advances, | |
| [out] DWRITE_GLYPH_OFFSET *glyph_offsets | |
| ); | |
| HRESULT GetGdiCompatibleGlyphPlacements( | |
| [in] WCHAR const *text, | |
| [in] UINT16 const *clustermap, | |
| [in] DWRITE_SHAPING_TEXT_PROPERTIES *props, | |
| [in] UINT32 text_len, | |
| [in] UINT16 const *glyph_indices, | |
| [in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyph_props, | |
| [in] UINT32 glyph_count, | |
| [in] IDWriteFontFace * font_face, | |
| [in] FLOAT fontEmSize, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MATRIX const *transform, | |
| [in] BOOL use_gdi_natural, | |
| [in] BOOL is_sideways, | |
| [in] BOOL is_rtl, | |
| [in] DWRITE_SCRIPT_ANALYSIS const *analysis, | |
| [in] WCHAR const *locale, | |
| [in] DWRITE_TYPOGRAPHIC_FEATURES const **features, | |
| [in] UINT32 const* feature_range_lengths, | |
| [in] UINT32 feature_ranges, | |
| [out] FLOAT *glyph_advances, | |
| [out] DWRITE_GLYPH_OFFSET *glyph_offsets | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(7d97dbf7-e085-42d4-81e3-6a883bded118) | |
| ] | |
| interface IDWriteGlyphRunAnalysis : IUnknown | |
| { | |
| HRESULT GetAlphaTextureBounds( | |
| [in] DWRITE_TEXTURE_TYPE type, | |
| [out] RECT *bounds | |
| ); | |
| HRESULT CreateAlphaTexture( | |
| [in] DWRITE_TEXTURE_TYPE type, | |
| [in] RECT const *bounds, | |
| [in] BYTE *alphaValues, | |
| [in] UINT32 bufferSize | |
| ); | |
| HRESULT GetAlphaBlendParams( | |
| [in] IDWriteRenderingParams *renderingParams, | |
| [out] FLOAT *blendGamma, | |
| [out] FLOAT *blendEnhancedContrast, | |
| [out] FLOAT *blendClearTypeLevel | |
| ); | |
| } | |
| [ | |
| local, | |
| object, | |
| uuid(b859ee5a-d838-4b5b-a2e8-1adc7d93db48) | |
| ] | |
| interface IDWriteFactory : IUnknown | |
| { | |
| HRESULT GetSystemFontCollection( | |
| [out] IDWriteFontCollection **collection, | |
| [in, defaultvalue(FALSE)] BOOL check_for_updates | |
| ); | |
| HRESULT CreateCustomFontCollection( | |
| [in] IDWriteFontCollectionLoader *loader, | |
| [in] void const *key, | |
| [in] UINT32 key_size, | |
| [out] IDWriteFontCollection **collection | |
| ); | |
| HRESULT RegisterFontCollectionLoader( | |
| [in] IDWriteFontCollectionLoader *loader | |
| ); | |
| HRESULT UnregisterFontCollectionLoader( | |
| [in] IDWriteFontCollectionLoader *loader | |
| ); | |
| HRESULT CreateFontFileReference( | |
| [in] WCHAR const *path, | |
| [in] FILETIME const *writetime, | |
| [out] IDWriteFontFile **font_file | |
| ); | |
| HRESULT CreateCustomFontFileReference( | |
| [in] void const *reference_key, | |
| [in] UINT32 key_size, | |
| [in] IDWriteFontFileLoader *loader, | |
| [out] IDWriteFontFile **font_file | |
| ); | |
| HRESULT CreateFontFace( | |
| [in] DWRITE_FONT_FACE_TYPE facetype, | |
| [in] UINT32 files_number, | |
| [in] IDWriteFontFile *const *font_files, | |
| [in] UINT32 index, | |
| [in] DWRITE_FONT_SIMULATIONS sim_flags, | |
| [out] IDWriteFontFace **font_face | |
| ); | |
| HRESULT CreateRenderingParams( | |
| [out] IDWriteRenderingParams **params | |
| ); | |
| HRESULT CreateMonitorRenderingParams( | |
| [in] HMONITOR monitor, | |
| [out] IDWriteRenderingParams **params | |
| ); | |
| HRESULT CreateCustomRenderingParams( | |
| [in] FLOAT gamma, | |
| [in] FLOAT enhancedContrast, | |
| [in] FLOAT cleartype_level, | |
| [in] DWRITE_PIXEL_GEOMETRY geometry, | |
| [in] DWRITE_RENDERING_MODE mode, | |
| [out] IDWriteRenderingParams **params | |
| ); | |
| HRESULT RegisterFontFileLoader( | |
| [in] IDWriteFontFileLoader *loader | |
| ); | |
| HRESULT UnregisterFontFileLoader( | |
| [in] IDWriteFontFileLoader *loader | |
| ); | |
| HRESULT CreateTextFormat( | |
| [in] WCHAR const *family_name, | |
| [in] IDWriteFontCollection *collection, | |
| [in] DWRITE_FONT_WEIGHT weight, | |
| [in] DWRITE_FONT_STYLE style, | |
| [in] DWRITE_FONT_STRETCH stretch, | |
| [in] FLOAT size, | |
| [in] WCHAR const *locale, | |
| [out] IDWriteTextFormat **format | |
| ); | |
| HRESULT CreateTypography( | |
| [out] IDWriteTypography **typography | |
| ); | |
| HRESULT GetGdiInterop( | |
| [out] IDWriteGdiInterop **gdi_interop | |
| ); | |
| HRESULT CreateTextLayout( | |
| [in] WCHAR const* string, | |
| [in] UINT32 len, | |
| [in] IDWriteTextFormat *format, | |
| [in] FLOAT max_width, | |
| [in] FLOAT max_height, | |
| [out] IDWriteTextLayout **layout | |
| ); | |
| HRESULT CreateGdiCompatibleTextLayout( | |
| [in] WCHAR const *string, | |
| [in] UINT32 len, | |
| [in] IDWriteTextFormat *format, | |
| [in] FLOAT layout_width, | |
| [in] FLOAT layout_height, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MATRIX const *transform, | |
| [in] BOOL use_gdi_natural, | |
| [out] IDWriteTextLayout **layout | |
| ); | |
| HRESULT CreateEllipsisTrimmingSign( | |
| [in] IDWriteTextFormat *format, | |
| [out] IDWriteInlineObject **trimming_sign | |
| ); | |
| HRESULT CreateTextAnalyzer( | |
| [out] IDWriteTextAnalyzer **analyzer | |
| ); | |
| HRESULT CreateNumberSubstitution( | |
| [in] DWRITE_NUMBER_SUBSTITUTION_METHOD method, | |
| [in] WCHAR const* locale, | |
| [in] BOOL ignore_user_override, | |
| [out] IDWriteNumberSubstitution **substitution | |
| ); | |
| HRESULT CreateGlyphRunAnalysis( | |
| [in] DWRITE_GLYPH_RUN const *glyph_run, | |
| [in] FLOAT pixels_per_dip, | |
| [in] DWRITE_MATRIX const *transform, | |
| [in] DWRITE_RENDERING_MODE rendering_mode, | |
| [in] DWRITE_MEASURING_MODE measuring_mode, | |
| [in] FLOAT baseline_x, | |
| [in] FLOAT baseline_y, | |
| [out] IDWriteGlyphRunAnalysis **analysis | |
| ); | |
| } | |
| cpp_quote("HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE,REFIID,IUnknown**);") | |
| /* error codes */ | |
| cpp_quote("#define FACILITY_DWRITE 0x898") | |
| cpp_quote("#define DWRITE_ERR_BASE 0x5000") | |
| cpp_quote("#define MAKE_DWRITE_HR(severity, code) MAKE_HRESULT(severity, FACILITY_DWRITE, (DWRITE_ERR_BASE + code))") | |
| cpp_quote("#define MAKE_DWRITE_HR_ERR(code) MAKE_DWRITE_HR(SEVERITY_ERROR, code)") |