| 1 | 
 /* | 
 
 
 
 
 
 | 2 | 
  * Copyright 2012 Nikolay Sivov for CodeWeavers | 
 
 
 
 
 
 | 3 | 
  * | 
 
 
 
 
 
 | 4 | 
  * This library is free software; you can redistribute it and/or | 
 
 
 
 
 
 | 5 | 
  * modify it under the terms of the GNU Lesser General Public | 
 
 
 
 
 
 | 6 | 
  * License as published by the Free Software Foundation; either | 
 
 
 
 
 
 | 7 | 
  * version 2.1 of the License, or (at your option) any later version. | 
 
 
 
 
 
 | 8 | 
  * | 
 
 
 
 
 
 | 9 | 
  * This library is distributed in the hope that it will be useful, | 
 
 
 
 
 
 | 10 | 
  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 
 
 
 
 
 | 11 | 
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 
 
 
 
 
 | 12 | 
  * Lesser General Public License for more details. | 
 
 
 
 
 
 | 13 | 
  * | 
 
 
 
 
 
 | 14 | 
  * You should have received a copy of the GNU Lesser General Public | 
 
 
 
 
 
 | 15 | 
  * License along with this library; if not, write to the Free Software | 
 
 
 
 
 
 | 16 | 
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 
 
 
 
 
 | 17 | 
  */ | 
 
 
 
 
 
 | 18 | 
  | 
 
 
 
 
 
 | 19 | 
 import "unknwn.idl"; | 
 
 
 
 
 
 | 20 | 
 import "dcommon.idl"; | 
 
 
 
 
 
 | 21 | 
  | 
 
 
 
 
 
 | 22 | 
 interface IDWriteFactory; | 
 
 
 
 
 
 | 23 | 
 interface IDWriteFontCollection; | 
 
 
 
 
 
 | 24 | 
 interface IDWriteFontFamily; | 
 
 
 
 
 
 | 25 | 
 interface IDWriteFontFace; | 
 
 
 
 
 
 | 26 | 
 interface IDWriteInlineObject; | 
 
 
 
 
 
 | 27 | 
  | 
 
 
 
 
 
 | 28 | 
 interface ID2D1SimplifiedGeometrySink; | 
 
 
 
 
 
 | 29 | 
 typedef ID2D1SimplifiedGeometrySink IDWriteGeometrySink; | 
 
 
 
 
 
 | 30 | 
  | 
 
 
 
 
 
 | 31 | 
 cpp_quote("#ifndef _WINDEF_") | 
 
 
 
 
 
 | 32 | 
 /* already defined in windef.h but needed for WIDL */ | 
 
 
 
 
 
 | 33 | 
 typedef void *HMONITOR; | 
 
 
 
 
 
 | 34 | 
 cpp_quote("#endif /* _WINDEF_ */") | 
 
 
 
 
 
 | 35 | 
  | 
 
 
 
 
 
 | 36 | 
 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") | 
 
 
 
 
 
 | 37 | 
 cpp_quote("#undef GetGlyphIndices") | 
 
 
 
 
 
 | 38 | 
 cpp_quote("#endif") | 
 
 
 
 
 
 | 39 | 
  | 
 
 
 
 
 
 | 40 | 
 typedef enum DWRITE_FACTORY_TYPE | 
 
 
 
 
 
 | 41 | 
 { | 
 
 
 
 
 
 | 42 | 
     DWRITE_FACTORY_TYPE_SHARED, | 
 
 
 
 
 
 | 43 | 
     DWRITE_FACTORY_TYPE_ISOLATED | 
 
 
 
 
 
 | 44 | 
 } DWRITE_FACTORY_TYPE; | 
 
 
 
 
 
 | 45 | 
  | 
 
 
 
 
 
 | 46 | 
 typedef enum DWRITE_FONT_FILE_TYPE | 
 
 
 
 
 
 | 47 | 
 { | 
 
 
 
 
 
 | 48 | 
     DWRITE_FONT_FILE_TYPE_UNKNOWN, | 
 
 
 
 
 
 | 49 | 
     DWRITE_FONT_FILE_TYPE_CFF, | 
 
 
 
 
 
 | 50 | 
     DWRITE_FONT_FILE_TYPE_TRUETYPE, | 
 
 
 
 
 
 | 51 | 
     DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, | 
 
 
 
 
 
 | 52 | 
     DWRITE_FONT_FILE_TYPE_TYPE1_PFM, | 
 
 
 
 
 
 | 53 | 
     DWRITE_FONT_FILE_TYPE_TYPE1_PFB, | 
 
 
 
 
 
 | 54 | 
     DWRITE_FONT_FILE_TYPE_VECTOR, | 
 
 
 
 
 
 | 55 | 
     DWRITE_FONT_FILE_TYPE_BITMAP, | 
 
 
 
 
 
 | 56 | 
     DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION | 
 
 
 
 
 
 | 57 | 
 } DWRITE_FONT_FILE_TYPE; | 
 
 
 
 
 
 | 58 | 
  | 
 
 
 
 
 
 | 59 | 
 typedef enum DWRITE_FONT_FACE_TYPE | 
 
 
 
 
 
 | 60 | 
 { | 
 
 
 
 
 
 | 61 | 
     DWRITE_FONT_FACE_TYPE_CFF, | 
 
 
 
 
 
 | 62 | 
     DWRITE_FONT_FACE_TYPE_TRUETYPE, | 
 
 
 
 
 
 | 63 | 
     DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, | 
 
 
 
 
 
 | 64 | 
     DWRITE_FONT_FACE_TYPE_TYPE1, | 
 
 
 
 
 
 | 65 | 
     DWRITE_FONT_FACE_TYPE_VECTOR, | 
 
 
 
 
 
 | 66 | 
     DWRITE_FONT_FACE_TYPE_BITMAP, | 
 
 
 
 
 
 | 67 | 
     DWRITE_FONT_FACE_TYPE_UNKNOWN, | 
 
 
 
 
 
 | 68 | 
     DWRITE_FONT_FACE_TYPE_RAW_CFF, | 
 
 
 
 
 
 | 69 | 
     DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION | 
 
 
 
 
 
 | 70 | 
 } DWRITE_FONT_FACE_TYPE; | 
 
 
 
 
 
 | 71 | 
  | 
 
 
 
 
 
 | 72 | 
 typedef enum DWRITE_FONT_WEIGHT | 
 
 
 
 
 
 | 73 | 
 { | 
 
 
 
 
 
 | 74 | 
     DWRITE_FONT_WEIGHT_THIN = 100, | 
 
 
 
 
 
 | 75 | 
     DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, | 
 
 
 
 
 
 | 76 | 
     DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, | 
 
 
 
 
 
 | 77 | 
     DWRITE_FONT_WEIGHT_LIGHT = 300, | 
 
 
 
 
 
 | 78 | 
     DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350, | 
 
 
 
 
 
 | 79 | 
     DWRITE_FONT_WEIGHT_NORMAL = 400, | 
 
 
 
 
 
 | 80 | 
     DWRITE_FONT_WEIGHT_REGULAR = 400, | 
 
 
 
 
 
 | 81 | 
     DWRITE_FONT_WEIGHT_MEDIUM = 500, | 
 
 
 
 
 
 | 82 | 
     DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, | 
 
 
 
 
 
 | 83 | 
     DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, | 
 
 
 
 
 
 | 84 | 
     DWRITE_FONT_WEIGHT_BOLD = 700, | 
 
 
 
 
 
 | 85 | 
     DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, | 
 
 
 
 
 
 | 86 | 
     DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, | 
 
 
 
 
 
 | 87 | 
     DWRITE_FONT_WEIGHT_BLACK = 900, | 
 
 
 
 
 
 | 88 | 
     DWRITE_FONT_WEIGHT_HEAVY = 900, | 
 
 
 
 
 
 | 89 | 
     DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, | 
 
 
 
 
 
 | 90 | 
     DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950 | 
 
 
 
 
 
 | 91 | 
 } DWRITE_FONT_WEIGHT; | 
 
 
 
 
 
 | 92 | 
  | 
 
 
 
 
 
 | 93 | 
 typedef enum DWRITE_FONT_STRETCH | 
 
 
 
 
 
 | 94 | 
 { | 
 
 
 
 
 
 | 95 | 
     DWRITE_FONT_STRETCH_UNDEFINED = 0, | 
 
 
 
 
 
 | 96 | 
     DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, | 
 
 
 
 
 
 | 97 | 
     DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, | 
 
 
 
 
 
 | 98 | 
     DWRITE_FONT_STRETCH_CONDENSED = 3, | 
 
 
 
 
 
 | 99 | 
     DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, | 
 
 
 
 
 
 | 100 | 
     DWRITE_FONT_STRETCH_NORMAL = 5, | 
 
 
 
 
 
 | 101 | 
     DWRITE_FONT_STRETCH_MEDIUM = 5, | 
 
 
 
 
 
 | 102 | 
     DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, | 
 
 
 
 
 
 | 103 | 
     DWRITE_FONT_STRETCH_EXPANDED = 7, | 
 
 
 
 
 
 | 104 | 
     DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, | 
 
 
 
 
 
 | 105 | 
     DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9 | 
 
 
 
 
 
 | 106 | 
 } DWRITE_FONT_STRETCH; | 
 
 
 
 
 
 | 107 | 
  | 
 
 
 
 
 
 | 108 | 
 typedef enum DWRITE_FONT_STYLE | 
 
 
 
 
 
 | 109 | 
 { | 
 
 
 
 
 
 | 110 | 
     DWRITE_FONT_STYLE_NORMAL, | 
 
 
 
 
 
 | 111 | 
     DWRITE_FONT_STYLE_OBLIQUE, | 
 
 
 
 
 
 | 112 | 
     DWRITE_FONT_STYLE_ITALIC | 
 
 
 
 
 
 | 113 | 
 } DWRITE_FONT_STYLE; | 
 
 
 
 
 
 | 114 | 
  | 
 
 
 
 
 
 | 115 | 
 typedef enum DWRITE_INFORMATIONAL_STRING_ID | 
 
 
 
 
 
 | 116 | 
 { | 
 
 
 
 
 
 | 117 | 
     DWRITE_INFORMATIONAL_STRING_NONE, | 
 
 
 
 
 
 | 118 | 
     DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, | 
 
 
 
 
 
 | 119 | 
     DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, | 
 
 
 
 
 
 | 120 | 
     DWRITE_INFORMATIONAL_STRING_TRADEMARK, | 
 
 
 
 
 
 | 121 | 
     DWRITE_INFORMATIONAL_STRING_MANUFACTURER, | 
 
 
 
 
 
 | 122 | 
     DWRITE_INFORMATIONAL_STRING_DESIGNER, | 
 
 
 
 
 
 | 123 | 
     DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, | 
 
 
 
 
 
 | 124 | 
     DWRITE_INFORMATIONAL_STRING_DESCRIPTION, | 
 
 
 
 
 
 | 125 | 
     DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, | 
 
 
 
 
 
 | 126 | 
     DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, | 
 
 
 
 
 
 | 127 | 
     DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, | 
 
 
 
 
 
 | 128 | 
     DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, | 
 
 
 
 
 
 | 129 | 
     DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, | 
 
 
 
 
 
 | 130 | 
     DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, | 
 
 
 
 
 
 | 131 | 
     DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, | 
 
 
 
 
 
 | 132 | 
     DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT, | 
 
 
 
 
 
 | 133 | 
     DWRITE_INFORMATIONAL_STRING_FULL_NAME, | 
 
 
 
 
 
 | 134 | 
     DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME, | 
 
 
 
 
 
 | 135 | 
     DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME, | 
 
 
 
 
 
 | 136 | 
     DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, | 
 
 
 
 
 
 | 137 | 
     DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG, | 
 
 
 
 
 
 | 138 | 
     DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG, | 
 
 
 
 
 
 | 139 | 
     DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, | 
 
 
 
 
 
 | 140 | 
     DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, | 
 
 
 
 
 
 | 141 | 
     DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME = DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, | 
 
 
 
 
 
 | 142 | 
 } DWRITE_INFORMATIONAL_STRING_ID; | 
 
 
 
 
 
 | 143 | 
  | 
 
 
 
 
 
 | 144 | 
 typedef enum DWRITE_FONT_SIMULATIONS | 
 
 
 
 
 
 | 145 | 
 { | 
 
 
 
 
 
 | 146 | 
     DWRITE_FONT_SIMULATIONS_NONE, | 
 
 
 
 
 
 | 147 | 
     DWRITE_FONT_SIMULATIONS_BOLD, | 
 
 
 
 
 
 | 148 | 
     DWRITE_FONT_SIMULATIONS_OBLIQUE | 
 
 
 
 
 
 | 149 | 
 } DWRITE_FONT_SIMULATIONS; | 
 
 
 
 
 
 | 150 | 
 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_SIMULATIONS);") | 
 
 
 
 
 
 | 151 | 
  | 
 
 
 
 
 
 | 152 | 
 typedef enum DWRITE_PIXEL_GEOMETRY | 
 
 
 
 
 
 | 153 | 
 { | 
 
 
 
 
 
 | 154 | 
     DWRITE_PIXEL_GEOMETRY_FLAT, | 
 
 
 
 
 
 | 155 | 
     DWRITE_PIXEL_GEOMETRY_RGB, | 
 
 
 
 
 
 | 156 | 
     DWRITE_PIXEL_GEOMETRY_BGR | 
 
 
 
 
 
 | 157 | 
 } DWRITE_PIXEL_GEOMETRY; | 
 
 
 
 
 
 | 158 | 
  | 
 
 
 
 
 
 | 159 | 
 typedef enum DWRITE_RENDERING_MODE | 
 
 
 
 
 
 | 160 | 
 { | 
 
 
 
 
 
 | 161 | 
     DWRITE_RENDERING_MODE_DEFAULT, | 
 
 
 
 
 
 | 162 | 
     DWRITE_RENDERING_MODE_ALIASED, | 
 
 
 
 
 
 | 163 | 
     DWRITE_RENDERING_MODE_GDI_CLASSIC, | 
 
 
 
 
 
 | 164 | 
     DWRITE_RENDERING_MODE_GDI_NATURAL, | 
 
 
 
 
 
 | 165 | 
     DWRITE_RENDERING_MODE_NATURAL, | 
 
 
 
 
 
 | 166 | 
     DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, | 
 
 
 
 
 
 | 167 | 
     DWRITE_RENDERING_MODE_OUTLINE, | 
 
 
 
 
 
 | 168 | 
     DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, | 
 
 
 
 
 
 | 169 | 
     DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, | 
 
 
 
 
 
 | 170 | 
     DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL, | 
 
 
 
 
 
 | 171 | 
     DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC | 
 
 
 
 
 
 | 172 | 
 } DWRITE_RENDERING_MODE; | 
 
 
 
 
 
 | 173 | 
  | 
 
 
 
 
 
 | 174 | 
 typedef enum DWRITE_TEXT_ALIGNMENT | 
 
 
 
 
 
 | 175 | 
 { | 
 
 
 
 
 
 | 176 | 
     DWRITE_TEXT_ALIGNMENT_LEADING, | 
 
 
 
 
 
 | 177 | 
     DWRITE_TEXT_ALIGNMENT_TRAILING, | 
 
 
 
 
 
 | 178 | 
     DWRITE_TEXT_ALIGNMENT_CENTER, | 
 
 
 
 
 
 | 179 | 
     DWRITE_TEXT_ALIGNMENT_JUSTIFIED | 
 
 
 
 
 
 | 180 | 
 } DWRITE_TEXT_ALIGNMENT; | 
 
 
 
 
 
 | 181 | 
  | 
 
 
 
 
 
 | 182 | 
 typedef enum DWRITE_PARAGRAPH_ALIGNMENT | 
 
 
 
 
 
 | 183 | 
 { | 
 
 
 
 
 
 | 184 | 
     DWRITE_PARAGRAPH_ALIGNMENT_NEAR, | 
 
 
 
 
 
 | 185 | 
     DWRITE_PARAGRAPH_ALIGNMENT_FAR, | 
 
 
 
 
 
 | 186 | 
     DWRITE_PARAGRAPH_ALIGNMENT_CENTER | 
 
 
 
 
 
 | 187 | 
 } DWRITE_PARAGRAPH_ALIGNMENT; | 
 
 
 
 
 
 | 188 | 
  | 
 
 
 
 
 
 | 189 | 
 typedef enum DWRITE_WORD_WRAPPING | 
 
 
 
 
 
 | 190 | 
 { | 
 
 
 
 
 
 | 191 | 
     DWRITE_WORD_WRAPPING_WRAP, | 
 
 
 
 
 
 | 192 | 
     DWRITE_WORD_WRAPPING_NO_WRAP, | 
 
 
 
 
 
 | 193 | 
     DWRITE_WORD_WRAPPING_EMERGENCY_BREAK, | 
 
 
 
 
 
 | 194 | 
     DWRITE_WORD_WRAPPING_WHOLE_WORD, | 
 
 
 
 
 
 | 195 | 
     DWRITE_WORD_WRAPPING_CHARACTER | 
 
 
 
 
 
 | 196 | 
 } DWRITE_WORD_WRAPPING; | 
 
 
 
 
 
 | 197 | 
  | 
 
 
 
 
 
 | 198 | 
 typedef enum DWRITE_READING_DIRECTION | 
 
 
 
 
 
 | 199 | 
 { | 
 
 
 
 
 
 | 200 | 
     DWRITE_READING_DIRECTION_LEFT_TO_RIGHT, | 
 
 
 
 
 
 | 201 | 
     DWRITE_READING_DIRECTION_RIGHT_TO_LEFT, | 
 
 
 
 
 
 | 202 | 
     DWRITE_READING_DIRECTION_TOP_TO_BOTTOM, | 
 
 
 
 
 
 | 203 | 
     DWRITE_READING_DIRECTION_BOTTOM_TO_TOP | 
 
 
 
 
 
 | 204 | 
 } DWRITE_READING_DIRECTION; | 
 
 
 
 
 
 | 205 | 
  | 
 
 
 
 
 
 | 206 | 
 typedef enum DWRITE_FLOW_DIRECTION | 
 
 
 
 
 
 | 207 | 
 { | 
 
 
 
 
 
 | 208 | 
     DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM, | 
 
 
 
 
 
 | 209 | 
     DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP, | 
 
 
 
 
 
 | 210 | 
     DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT, | 
 
 
 
 
 
 | 211 | 
     DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT | 
 
 
 
 
 
 | 212 | 
 } DWRITE_FLOW_DIRECTION; | 
 
 
 
 
 
 | 213 | 
  | 
 
 
 
 
 
 | 214 | 
 typedef enum DWRITE_TRIMMING_GRANULARITY | 
 
 
 
 
 
 | 215 | 
 { | 
 
 
 
 
 
 | 216 | 
     DWRITE_TRIMMING_GRANULARITY_NONE, | 
 
 
 
 
 
 | 217 | 
     DWRITE_TRIMMING_GRANULARITY_CHARACTER, | 
 
 
 
 
 
 | 218 | 
     DWRITE_TRIMMING_GRANULARITY_WORD | 
 
 
 
 
 
 | 219 | 
 } DWRITE_TRIMMING_GRANULARITY; | 
 
 
 
 
 
 | 220 | 
  | 
 
 
 
 
 
 | 221 | 
 typedef enum DWRITE_BREAK_CONDITION | 
 
 
 
 
 
 | 222 | 
 { | 
 
 
 
 
 
 | 223 | 
     DWRITE_BREAK_CONDITION_NEUTRAL, | 
 
 
 
 
 
 | 224 | 
     DWRITE_BREAK_CONDITION_CAN_BREAK, | 
 
 
 
 
 
 | 225 | 
     DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, | 
 
 
 
 
 
 | 226 | 
     DWRITE_BREAK_CONDITION_MUST_BREAK | 
 
 
 
 
 
 | 227 | 
 } DWRITE_BREAK_CONDITION; | 
 
 
 
 
 
 | 228 | 
  | 
 
 
 
 
 
 | 229 | 
 typedef enum DWRITE_LINE_SPACING_METHOD | 
 
 
 
 
 
 | 230 | 
 { | 
 
 
 
 
 
 | 231 | 
     DWRITE_LINE_SPACING_METHOD_DEFAULT, | 
 
 
 
 
 
 | 232 | 
     DWRITE_LINE_SPACING_METHOD_UNIFORM, | 
 
 
 
 
 
 | 233 | 
     DWRITE_LINE_SPACING_METHOD_PROPORTIONAL | 
 
 
 
 
 
 | 234 | 
 } DWRITE_LINE_SPACING_METHOD; | 
 
 
 
 
 
 | 235 | 
  | 
 
 
 
 
 
 | 236 | 
 cpp_quote("#define DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d) ( \\") | 
 
 
 
 
 
 | 237 | 
 cpp_quote("    ((UINT32)(UINT8)(d) << 24) | \\") | 
 
 
 
 
 
 | 238 | 
 cpp_quote("    ((UINT32)(UINT8)(c) << 16) | \\") | 
 
 
 
 
 
 | 239 | 
 cpp_quote("    ((UINT32)(UINT8)(b) <<  8) | \\") | 
 
 
 
 
 
 | 240 | 
 cpp_quote("     (UINT32)(UINT8)(a))") | 
 
 
 
 
 
 | 241 | 
  | 
 
 
 
 
 
 | 242 | 
 typedef enum DWRITE_FONT_FEATURE_TAG | 
 
 
 
 
 
 | 243 | 
 { | 
 
 
 
 
 
 | 244 | 
     DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS           = 0x63726661, /* 'afrc' */ | 
 
 
 
 
 
 | 245 | 
     DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS   = 0x63703263, /* 'c2pc' */ | 
 
 
 
 
 
 | 246 | 
     DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS    = 0x63733263, /* 'c2sc' */ | 
 
 
 
 
 
 | 247 | 
     DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES           = 0x746c6163, /* 'calt' */ | 
 
 
 
 
 
 | 248 | 
     DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS            = 0x65736163, /* 'case' */ | 
 
 
 
 
 
 | 249 | 
     DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, /* 'ccmp' */ | 
 
 
 
 
 
 | 250 | 
     DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES            = 0x67696c63, /* 'clig' */ | 
 
 
 
 
 
 | 251 | 
     DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING                 = 0x70737063, /* 'cpsp' */ | 
 
 
 
 
 
 | 252 | 
     DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH                = 0x68777363, /* 'cswh' */ | 
 
 
 
 
 
 | 253 | 
     DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING             = 0x73727563, /* 'curs' */ | 
 
 
 
 
 
 | 254 | 
     DWRITE_FONT_FEATURE_TAG_DEFAULT                         = 0x746c6664, /* 'dflt' */ | 
 
 
 
 
 
 | 255 | 
     DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES         = 0x67696c64, /* 'dlig' */ | 
 
 
 
 
 
 | 256 | 
     DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS                    = 0x74707865, /* 'expt' */ | 
 
 
 
 
 
 | 257 | 
     DWRITE_FONT_FEATURE_TAG_FRACTIONS                       = 0x63617266, /* 'frac' */ | 
 
 
 
 
 
 | 258 | 
     DWRITE_FONT_FEATURE_TAG_FULL_WIDTH                      = 0x64697766, /* 'fwid' */ | 
 
 
 
 
 
 | 259 | 
     DWRITE_FONT_FEATURE_TAG_HALF_FORMS                      = 0x666c6168, /* 'half' */ | 
 
 
 
 
 
 | 260 | 
     DWRITE_FONT_FEATURE_TAG_HALANT_FORMS                    = 0x6e6c6168, /* 'haln' */ | 
 
 
 
 
 
 | 261 | 
     DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH            = 0x746c6168, /* 'halt' */ | 
 
 
 
 
 
 | 262 | 
     DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS                = 0x74736968, /* 'hist' */ | 
 
 
 
 
 
 | 263 | 
     DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES      = 0x616e6b68, /* 'hkna' */ | 
 
 
 
 
 
 | 264 | 
     DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES            = 0x67696c68, /* 'hlig' */ | 
 
 
 
 
 
 | 265 | 
     DWRITE_FONT_FEATURE_TAG_HALF_WIDTH                      = 0x64697768, /* 'hwid' */ | 
 
 
 
 
 
 | 266 | 
     DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS                = 0x6f6a6f68, /* 'hojo' */ | 
 
 
 
 
 
 | 267 | 
     DWRITE_FONT_FEATURE_TAG_JIS04_FORMS                     = 0x3430706a, /* 'jp04' */ | 
 
 
 
 
 
 | 268 | 
     DWRITE_FONT_FEATURE_TAG_JIS78_FORMS                     = 0x3837706a, /* 'jp78' */ | 
 
 
 
 
 
 | 269 | 
     DWRITE_FONT_FEATURE_TAG_JIS83_FORMS                     = 0x3338706a, /* 'jp83' */ | 
 
 
 
 
 
 | 270 | 
     DWRITE_FONT_FEATURE_TAG_JIS90_FORMS                     = 0x3039706a, /* 'jp90' */ | 
 
 
 
 
 
 | 271 | 
     DWRITE_FONT_FEATURE_TAG_KERNING                         = 0x6e72656b, /* 'kern' */ | 
 
 
 
 
 
 | 272 | 
     DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES              = 0x6167696c, /* 'liga' */ | 
 
 
 
 
 
 | 273 | 
     DWRITE_FONT_FEATURE_TAG_LINING_FIGURES                  = 0x6d756e6c, /* 'lnum' */ | 
 
 
 
 
 
 | 274 | 
     DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS                 = 0x6c636f6c, /* 'locl' */ | 
 
 
 
 
 
 | 275 | 
     DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING                = 0x6b72616d, /* 'mark' */ | 
 
 
 
 
 
 | 276 | 
     DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK              = 0x6b72676d, /* 'mgrk' */ | 
 
 
 
 
 
 | 277 | 
     DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING        = 0x6b6d6b6d, /* 'mkmk' */ | 
 
 
 
 
 
 | 278 | 
     DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS      = 0x746c616e, /* 'nalt' */ | 
 
 
 
 
 
 | 279 | 
     DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS                 = 0x6b636c6e, /* 'nlck' */ | 
 
 
 
 
 
 | 280 | 
     DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES               = 0x6d756e6f, /* 'onum' */ | 
 
 
 
 
 
 | 281 | 
     DWRITE_FONT_FEATURE_TAG_ORDINALS                        = 0x6e64726f, /* 'ordn' */ | 
 
 
 
 
 
 | 282 | 
     DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH    = 0x746c6170, /* 'palt' */ | 
 
 
 
 
 
 | 283 | 
     DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS                 = 0x70616370, /* 'pcap' */ | 
 
 
 
 
 
 | 284 | 
     DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES            = 0x6d756e70, /* 'pnum' */ | 
 
 
 
 
 
 | 285 | 
     DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS             = 0x64697770, /* 'pwid' */ | 
 
 
 
 
 
 | 286 | 
     DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS                  = 0x64697771, /* 'qwid' */ | 
 
 
 
 
 
 | 287 | 
     DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES              = 0x67696c72, /* 'rlig' */ | 
 
 
 
 
 
 | 288 | 
     DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS             = 0x79627572, /* 'ruby' */ | 
 
 
 
 
 
 | 289 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES            = 0x746c6173, /* 'salt' */ | 
 
 
 
 
 
 | 290 | 
     DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS            = 0x666e6973, /* 'sinf' */ | 
 
 
 
 
 
 | 291 | 
     DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS                  = 0x70636d73, /* 'smcp' */ | 
 
 
 
 
 
 | 292 | 
     DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS                = 0x6c706d73, /* 'smpl' */ | 
 
 
 
 
 
 | 293 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1                 = 0x31307373, /* 'ss01' */ | 
 
 
 
 
 
 | 294 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2                 = 0x32307373, /* 'ss02' */ | 
 
 
 
 
 
 | 295 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3                 = 0x33307373, /* 'ss03' */ | 
 
 
 
 
 
 | 296 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4                 = 0x34307373, /* 'ss04' */ | 
 
 
 
 
 
 | 297 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5                 = 0x35307373, /* 'ss05' */ | 
 
 
 
 
 
 | 298 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6                 = 0x36307373, /* 'ss06' */ | 
 
 
 
 
 
 | 299 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7                 = 0x37307373, /* 'ss07' */ | 
 
 
 
 
 
 | 300 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8                 = 0x38307373, /* 'ss08' */ | 
 
 
 
 
 
 | 301 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9                 = 0x39307373, /* 'ss09' */ | 
 
 
 
 
 
 | 302 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10                = 0x30317373, /* 'ss10' */ | 
 
 
 
 
 
 | 303 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11                = 0x31317373, /* 'ss11' */ | 
 
 
 
 
 
 | 304 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12                = 0x32317373, /* 'ss12' */ | 
 
 
 
 
 
 | 305 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13                = 0x33317373, /* 'ss13' */ | 
 
 
 
 
 
 | 306 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14                = 0x34317373, /* 'ss14' */ | 
 
 
 
 
 
 | 307 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15                = 0x35317373, /* 'ss15' */ | 
 
 
 
 
 
 | 308 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16                = 0x36317373, /* 'ss16' */ | 
 
 
 
 
 
 | 309 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17                = 0x37317373, /* 'ss17' */ | 
 
 
 
 
 
 | 310 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18                = 0x38317373, /* 'ss18' */ | 
 
 
 
 
 
 | 311 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19                = 0x39317373, /* 'ss19' */ | 
 
 
 
 
 
 | 312 | 
     DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20                = 0x30327373, /* 'ss20' */ | 
 
 
 
 
 
 | 313 | 
     DWRITE_FONT_FEATURE_TAG_SUBSCRIPT                       = 0x73627573, /* 'subs' */ | 
 
 
 
 
 
 | 314 | 
     DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT                     = 0x73707573, /* 'sups' */ | 
 
 
 
 
 
 | 315 | 
     DWRITE_FONT_FEATURE_TAG_SWASH                           = 0x68737773, /* 'swsh' */ | 
 
 
 
 
 
 | 316 | 
     DWRITE_FONT_FEATURE_TAG_TITLING                         = 0x6c746974, /* 'titl' */ | 
 
 
 
 
 
 | 317 | 
     DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS          = 0x6d616e74, /* 'tnam' */ | 
 
 
 
 
 
 | 318 | 
     DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES                 = 0x6d756e74, /* 'tnum' */ | 
 
 
 
 
 
 | 319 | 
     DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS               = 0x64617274, /* 'trad' */ | 
 
 
 
 
 
 | 320 | 
     DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS                    = 0x64697774, /* 'twid' */ | 
 
 
 
 
 
 | 321 | 
     DWRITE_FONT_FEATURE_TAG_UNICASE                         = 0x63696e75, /* 'unic' */ | 
 
 
 
 
 
 | 322 | 
     DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING                = 0x74726576, /* 'vert' */ | 
 
 
 
 
 
 | 323 | 
     DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION= 0x32747276, /* 'vrt2' */ | 
 
 
 
 
 
 | 324 | 
     DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO                    = 0x6f72657a, /* 'zero' */ | 
 
 
 
 
 
 | 325 | 
 } DWRITE_FONT_FEATURE_TAG; | 
 
 
 
 
 
 | 326 | 
  | 
 
 
 
 
 
 | 327 | 
 typedef enum DWRITE_SCRIPT_SHAPES | 
 
 
 
 
 
 | 328 | 
 { | 
 
 
 
 
 
 | 329 | 
     DWRITE_SCRIPT_SHAPES_DEFAULT = 0, | 
 
 
 
 
 
 | 330 | 
     DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1 | 
 
 
 
 
 
 | 331 | 
 } DWRITE_SCRIPT_SHAPES; | 
 
 
 
 
 
 | 332 | 
 cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DWRITE_SCRIPT_SHAPES);") | 
 
 
 
 
 
 | 333 | 
  | 
 
 
 
 
 
 | 334 | 
 typedef enum DWRITE_NUMBER_SUBSTITUTION_METHOD | 
 
 
 
 
 
 | 335 | 
 { | 
 
 
 
 
 
 | 336 | 
     DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE, | 
 
 
 
 
 
 | 337 | 
     DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, | 
 
 
 
 
 
 | 338 | 
     DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, | 
 
 
 
 
 
 | 339 | 
     DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, | 
 
 
 
 
 
 | 340 | 
     DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL | 
 
 
 
 
 
 | 341 | 
 } DWRITE_NUMBER_SUBSTITUTION_METHOD; | 
 
 
 
 
 
 | 342 | 
  | 
 
 
 
 
 
 | 343 | 
 cpp_quote("#define DWRITE_ALPHA_MAX 255") | 
 
 
 
 
 
 | 344 | 
  | 
 
 
 
 
 
 | 345 | 
 typedef enum DWRITE_TEXTURE_TYPE | 
 
 
 
 
 
 | 346 | 
 { | 
 
 
 
 
 
 | 347 | 
     DWRITE_TEXTURE_ALIASED_1x1, | 
 
 
 
 
 
 | 348 | 
     DWRITE_TEXTURE_CLEARTYPE_3x1 | 
 
 
 
 
 
 | 349 | 
 } DWRITE_TEXTURE_TYPE; | 
 
 
 
 
 
 | 350 | 
  | 
 
 
 
 
 
 | 351 | 
 typedef struct DWRITE_FONT_METRICS | 
 
 
 
 
 
 | 352 | 
 { | 
 
 
 
 
 
 | 353 | 
     UINT16 designUnitsPerEm; | 
 
 
 
 
 
 | 354 | 
     UINT16 ascent; | 
 
 
 
 
 
 | 355 | 
     UINT16 descent; | 
 
 
 
 
 
 | 356 | 
     INT16 lineGap; | 
 
 
 
 
 
 | 357 | 
     UINT16 capHeight; | 
 
 
 
 
 
 | 358 | 
     UINT16 xHeight; | 
 
 
 
 
 
 | 359 | 
     INT16 underlinePosition; | 
 
 
 
 
 
 | 360 | 
     UINT16 underlineThickness; | 
 
 
 
 
 
 | 361 | 
     INT16 strikethroughPosition; | 
 
 
 
 
 
 | 362 | 
     UINT16 strikethroughThickness; | 
 
 
 
 
 
 | 363 | 
 } DWRITE_FONT_METRICS; | 
 
 
 
 
 
 | 364 | 
  | 
 
 
 
 
 
 | 365 | 
 typedef struct DWRITE_GLYPH_METRICS | 
 
 
 
 
 
 | 366 | 
 { | 
 
 
 
 
 
 | 367 | 
     INT32 leftSideBearing; | 
 
 
 
 
 
 | 368 | 
     UINT32 advanceWidth; | 
 
 
 
 
 
 | 369 | 
     INT32 rightSideBearing; | 
 
 
 
 
 
 | 370 | 
     INT32 topSideBearing; | 
 
 
 
 
 
 | 371 | 
     UINT32 advanceHeight; | 
 
 
 
 
 
 | 372 | 
     INT32 bottomSideBearing; | 
 
 
 
 
 
 | 373 | 
     INT32 verticalOriginY; | 
 
 
 
 
 
 | 374 | 
 } DWRITE_GLYPH_METRICS; | 
 
 
 
 
 
 | 375 | 
  | 
 
 
 
 
 
 | 376 | 
 typedef struct DWRITE_GLYPH_OFFSET | 
 
 
 
 
 
 | 377 | 
 { | 
 
 
 
 
 
 | 378 | 
     FLOAT advanceOffset; | 
 
 
 
 
 
 | 379 | 
     FLOAT ascenderOffset; | 
 
 
 
 
 
 | 380 | 
 } DWRITE_GLYPH_OFFSET; | 
 
 
 
 
 
 | 381 | 
  | 
 
 
 
 
 
 | 382 | 
 typedef struct DWRITE_MATRIX | 
 
 
 
 
 
 | 383 | 
 { | 
 
 
 
 
 
 | 384 | 
     FLOAT m11; | 
 
 
 
 
 
 | 385 | 
     FLOAT m12; | 
 
 
 
 
 
 | 386 | 
     FLOAT m21; | 
 
 
 
 
 
 | 387 | 
     FLOAT m22; | 
 
 
 
 
 
 | 388 | 
     FLOAT dx; | 
 
 
 
 
 
 | 389 | 
     FLOAT dy; | 
 
 
 
 
 
 | 390 | 
 } DWRITE_MATRIX; | 
 
 
 
 
 
 | 391 | 
  | 
 
 
 
 
 
 | 392 | 
 typedef struct DWRITE_TRIMMING | 
 
 
 
 
 
 | 393 | 
 { | 
 
 
 
 
 
 | 394 | 
     DWRITE_TRIMMING_GRANULARITY granularity; | 
 
 
 
 
 
 | 395 | 
     UINT32 delimiter; | 
 
 
 
 
 
 | 396 | 
     UINT32 delimiterCount; | 
 
 
 
 
 
 | 397 | 
 } DWRITE_TRIMMING; | 
 
 
 
 
 
 | 398 | 
  | 
 
 
 
 
 
 | 399 | 
 cpp_quote("#ifndef __d2d1_h__") | 
 
 
 
 
 
 | 400 | 
 typedef struct DWRITE_GLYPH_RUN DWRITE_GLYPH_RUN; | 
 
 
 
 
 
 | 401 | 
 cpp_quote("#endif /* __d2d1_h__ */") | 
 
 
 
 
 
 | 402 | 
  | 
 
 
 
 
 
 | 403 | 
 struct DWRITE_GLYPH_RUN | 
 
 
 
 
 
 | 404 | 
 { | 
 
 
 
 
 
 | 405 | 
     IDWriteFontFace* fontFace; | 
 
 
 
 
 
 | 406 | 
     FLOAT fontEmSize; | 
 
 
 
 
 
 | 407 | 
     UINT32 glyphCount; | 
 
 
 
 
 
 | 408 | 
     UINT16 const* glyphIndices; | 
 
 
 
 
 
 | 409 | 
     FLOAT const* glyphAdvances; | 
 
 
 
 
 
 | 410 | 
     DWRITE_GLYPH_OFFSET const* glyphOffsets; | 
 
 
 
 
 
 | 411 | 
     BOOL isSideways; | 
 
 
 
 
 
 | 412 | 
     UINT32 bidiLevel; | 
 
 
 
 
 
 | 413 | 
 }; | 
 
 
 
 
 
 | 414 | 
  | 
 
 
 
 
 
 | 415 | 
 cpp_quote("#ifndef __d2d1_1_h__") | 
 
 
 
 
 
 | 416 | 
 typedef struct DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION; | 
 
 
 
 
 
 | 417 | 
 cpp_quote("#endif /* __d2d1_1_h__ */") | 
 
 
 
 
 
 | 418 | 
  | 
 
 
 
 
 
 | 419 | 
 struct DWRITE_GLYPH_RUN_DESCRIPTION | 
 
 
 
 
 
 | 420 | 
 { | 
 
 
 
 
 
 | 421 | 
     WCHAR const* localeName; | 
 
 
 
 
 
 | 422 | 
     WCHAR const* string; | 
 
 
 
 
 
 | 423 | 
     UINT32 stringLength; | 
 
 
 
 
 
 | 424 | 
     UINT16 const* clusterMap; | 
 
 
 
 
 
 | 425 | 
     UINT32 textPosition; | 
 
 
 
 
 
 | 426 | 
 }; | 
 
 
 
 
 
 | 427 | 
  | 
 
 
 
 
 
 | 428 | 
 typedef struct DWRITE_UNDERLINE | 
 
 
 
 
 
 | 429 | 
 { | 
 
 
 
 
 
 | 430 | 
     FLOAT width; | 
 
 
 
 
 
 | 431 | 
     FLOAT thickness; | 
 
 
 
 
 
 | 432 | 
     FLOAT offset; | 
 
 
 
 
 
 | 433 | 
     FLOAT runHeight; | 
 
 
 
 
 
 | 434 | 
     DWRITE_READING_DIRECTION readingDirection; | 
 
 
 
 
 
 | 435 | 
     DWRITE_FLOW_DIRECTION flowDirection; | 
 
 
 
 
 
 | 436 | 
     WCHAR const* localeName; | 
 
 
 
 
 
 | 437 | 
     DWRITE_MEASURING_MODE measuringMode; | 
 
 
 
 
 
 | 438 | 
 } DWRITE_UNDERLINE; | 
 
 
 
 
 
 | 439 | 
  | 
 
 
 
 
 
 | 440 | 
 typedef struct DWRITE_STRIKETHROUGH | 
 
 
 
 
 
 | 441 | 
 { | 
 
 
 
 
 
 | 442 | 
     FLOAT width; | 
 
 
 
 
 
 | 443 | 
     FLOAT thickness; | 
 
 
 
 
 
 | 444 | 
     FLOAT offset; | 
 
 
 
 
 
 | 445 | 
     DWRITE_READING_DIRECTION readingDirection; | 
 
 
 
 
 
 | 446 | 
     DWRITE_FLOW_DIRECTION flowDirection; | 
 
 
 
 
 
 | 447 | 
     WCHAR const* localeName; | 
 
 
 
 
 
 | 448 | 
     DWRITE_MEASURING_MODE measuringMode; | 
 
 
 
 
 
 | 449 | 
 } DWRITE_STRIKETHROUGH; | 
 
 
 
 
 
 | 450 | 
  | 
 
 
 
 
 
 | 451 | 
 typedef struct DWRITE_INLINE_OBJECT_METRICS | 
 
 
 
 
 
 | 452 | 
 { | 
 
 
 
 
 
 | 453 | 
     FLOAT width; | 
 
 
 
 
 
 | 454 | 
     FLOAT height; | 
 
 
 
 
 
 | 455 | 
     FLOAT baseline; | 
 
 
 
 
 
 | 456 | 
     BOOL  supportsSideways; | 
 
 
 
 
 
 | 457 | 
 } DWRITE_INLINE_OBJECT_METRICS; | 
 
 
 
 
 
 | 458 | 
  | 
 
 
 
 
 
 | 459 | 
 typedef struct DWRITE_OVERHANG_METRICS | 
 
 
 
 
 
 | 460 | 
 { | 
 
 
 
 
 
 | 461 | 
     FLOAT left; | 
 
 
 
 
 
 | 462 | 
     FLOAT top; | 
 
 
 
 
 
 | 463 | 
     FLOAT right; | 
 
 
 
 
 
 | 464 | 
     FLOAT bottom; | 
 
 
 
 
 
 | 465 | 
 } DWRITE_OVERHANG_METRICS; | 
 
 
 
 
 
 | 466 | 
  | 
 
 
 
 
 
 | 467 | 
 typedef struct DWRITE_FONT_FEATURE | 
 
 
 
 
 
 | 468 | 
 { | 
 
 
 
 
 
 | 469 | 
     DWRITE_FONT_FEATURE_TAG nameTag; | 
 
 
 
 
 
 | 470 | 
     UINT32 parameter; | 
 
 
 
 
 
 | 471 | 
 } DWRITE_FONT_FEATURE; | 
 
 
 
 
 
 | 472 | 
  | 
 
 
 
 
 
 | 473 | 
 typedef struct DWRITE_TEXT_RANGE | 
 
 
 
 
 
 | 474 | 
 { | 
 
 
 
 
 
 | 475 | 
     UINT32 startPosition; | 
 
 
 
 
 
 | 476 | 
     UINT32 length; | 
 
 
 
 
 
 | 477 | 
 } DWRITE_TEXT_RANGE; | 
 
 
 
 
 
 | 478 | 
  | 
 
 
 
 
 
 | 479 | 
 typedef struct DWRITE_LINE_METRICS | 
 
 
 
 
 
 | 480 | 
 { | 
 
 
 
 
 
 | 481 | 
     UINT32 length; | 
 
 
 
 
 
 | 482 | 
     UINT32 trailingWhitespaceLength; | 
 
 
 
 
 
 | 483 | 
     UINT32 newlineLength; | 
 
 
 
 
 
 | 484 | 
     FLOAT height; | 
 
 
 
 
 
 | 485 | 
     FLOAT baseline; | 
 
 
 
 
 
 | 486 | 
     BOOL isTrimmed; | 
 
 
 
 
 
 | 487 | 
 } DWRITE_LINE_METRICS; | 
 
 
 
 
 
 | 488 | 
  | 
 
 
 
 
 
 | 489 | 
 typedef struct DWRITE_TEXT_METRICS | 
 
 
 
 
 
 | 490 | 
 { | 
 
 
 
 
 
 | 491 | 
     FLOAT left; | 
 
 
 
 
 
 | 492 | 
     FLOAT top; | 
 
 
 
 
 
 | 493 | 
     FLOAT width; | 
 
 
 
 
 
 | 494 | 
     FLOAT widthIncludingTrailingWhitespace; | 
 
 
 
 
 
 | 495 | 
     FLOAT height; | 
 
 
 
 
 
 | 496 | 
     FLOAT layoutWidth; | 
 
 
 
 
 
 | 497 | 
     FLOAT layoutHeight; | 
 
 
 
 
 
 | 498 | 
     UINT32 maxBidiReorderingDepth; | 
 
 
 
 
 
 | 499 | 
     UINT32 lineCount; | 
 
 
 
 
 
 | 500 | 
 } DWRITE_TEXT_METRICS; | 
 
 
 
 
 
 | 501 | 
  | 
 
 
 
 
 
 | 502 | 
 typedef struct DWRITE_CLUSTER_METRICS | 
 
 
 
 
 
 | 503 | 
 { | 
 
 
 
 
 
 | 504 | 
     FLOAT width; | 
 
 
 
 
 
 | 505 | 
     UINT16 length; | 
 
 
 
 
 
 | 506 | 
     UINT16 canWrapLineAfter : 1; | 
 
 
 
 
 
 | 507 | 
     UINT16 isWhitespace : 1; | 
 
 
 
 
 
 | 508 | 
     UINT16 isNewline : 1; | 
 
 
 
 
 
 | 509 | 
     UINT16 isSoftHyphen : 1; | 
 
 
 
 
 
 | 510 | 
     UINT16 isRightToLeft : 1; | 
 
 
 
 
 
 | 511 | 
     UINT16 padding : 11; | 
 
 
 
 
 
 | 512 | 
 } DWRITE_CLUSTER_METRICS; | 
 
 
 
 
 
 | 513 | 
  | 
 
 
 
 
 
 | 514 | 
 typedef struct DWRITE_HIT_TEST_METRICS | 
 
 
 
 
 
 | 515 | 
 { | 
 
 
 
 
 
 | 516 | 
     UINT32 textPosition; | 
 
 
 
 
 
 | 517 | 
     UINT32 length; | 
 
 
 
 
 
 | 518 | 
     FLOAT left; | 
 
 
 
 
 
 | 519 | 
     FLOAT top; | 
 
 
 
 
 
 | 520 | 
     FLOAT width; | 
 
 
 
 
 
 | 521 | 
     FLOAT height; | 
 
 
 
 
 
 | 522 | 
     UINT32 bidiLevel; | 
 
 
 
 
 
 | 523 | 
     BOOL isText; | 
 
 
 
 
 
 | 524 | 
     BOOL isTrimmed; | 
 
 
 
 
 
 | 525 | 
 } DWRITE_HIT_TEST_METRICS; | 
 
 
 
 
 
 | 526 | 
  | 
 
 
 
 
 
 | 527 | 
 typedef struct DWRITE_SCRIPT_ANALYSIS | 
 
 
 
 
 
 | 528 | 
 { | 
 
 
 
 
 
 | 529 | 
     UINT16 script; | 
 
 
 
 
 
 | 530 | 
     DWRITE_SCRIPT_SHAPES shapes; | 
 
 
 
 
 
 | 531 | 
 } DWRITE_SCRIPT_ANALYSIS; | 
 
 
 
 
 
 | 532 | 
  | 
 
 
 
 
 
 | 533 | 
 typedef struct DWRITE_LINE_BREAKPOINT | 
 
 
 
 
 
 | 534 | 
 { | 
 
 
 
 
 
 | 535 | 
     UINT8 breakConditionBefore : 2; | 
 
 
 
 
 
 | 536 | 
     UINT8 breakConditionAfter : 2; | 
 
 
 
 
 
 | 537 | 
     UINT8 isWhitespace : 1; | 
 
 
 
 
 
 | 538 | 
     UINT8 isSoftHyphen : 1; | 
 
 
 
 
 
 | 539 | 
     UINT8 padding : 2; | 
 
 
 
 
 
 | 540 | 
 } DWRITE_LINE_BREAKPOINT; | 
 
 
 
 
 
 | 541 | 
  | 
 
 
 
 
 
 | 542 | 
 typedef struct DWRITE_TYPOGRAPHIC_FEATURES | 
 
 
 
 
 
 | 543 | 
 { | 
 
 
 
 
 
 | 544 | 
     DWRITE_FONT_FEATURE* features; | 
 
 
 
 
 
 | 545 | 
     UINT32 featureCount; | 
 
 
 
 
 
 | 546 | 
 } DWRITE_TYPOGRAPHIC_FEATURES; | 
 
 
 
 
 
 | 547 | 
  | 
 
 
 
 
 
 | 548 | 
 typedef struct DWRITE_SHAPING_TEXT_PROPERTIES | 
 
 
 
 
 
 | 549 | 
 { | 
 
 
 
 
 
 | 550 | 
     UINT16 isShapedAlone : 1; | 
 
 
 
 
 
 | 551 | 
     UINT16 reserved1 : 1; | 
 
 
 
 
 
 | 552 | 
     UINT16 canBreakShapingAfter : 1; | 
 
 
 
 
 
 | 553 | 
     UINT16 reserved : 13; | 
 
 
 
 
 
 | 554 | 
 } DWRITE_SHAPING_TEXT_PROPERTIES; | 
 
 
 
 
 
 | 555 | 
  | 
 
 
 
 
 
 | 556 | 
 typedef struct DWRITE_SHAPING_GLYPH_PROPERTIES | 
 
 
 
 
 
 | 557 | 
 { | 
 
 
 
 
 
 | 558 | 
     UINT16 justification : 4; | 
 
 
 
 
 
 | 559 | 
     UINT16 isClusterStart : 1; | 
 
 
 
 
 
 | 560 | 
     UINT16 isDiacritic : 1; | 
 
 
 
 
 
 | 561 | 
     UINT16 isZeroWidthSpace : 1; | 
 
 
 
 
 
 | 562 | 
     UINT16 reserved : 9; | 
 
 
 
 
 
 | 563 | 
 } DWRITE_SHAPING_GLYPH_PROPERTIES; | 
 
 
 
 
 
 | 564 | 
  | 
 
 
 
 
 
 | 565 | 
 [ | 
 
 
 
 
 
 | 566 | 
 local, | 
 
 
 
 
 
 | 567 | 
 object, | 
 
 
 
 
 
 | 568 | 
 uuid(6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0) | 
 
 
 
 
 
 | 569 | 
 ] | 
 
 
 
 
 
 | 570 | 
 interface IDWriteFontFileStream : IUnknown | 
 
 
 
 
 
 | 571 | 
 { | 
 
 
 
 
 
 | 572 | 
     HRESULT ReadFileFragment( | 
 
 
 
 
 
 | 573 | 
         void const **fragment_start, | 
 
 
 
 
 
 | 574 | 
         UINT64 offset, | 
 
 
 
 
 
 | 575 | 
         UINT64 fragment_size, | 
 
 
 
 
 
 | 576 | 
         void **fragment_context); | 
 
 
 
 
 
 | 577 | 
  | 
 
 
 
 
 
 | 578 | 
     void ReleaseFileFragment(void *fragment_context); | 
 
 
 
 
 
 | 579 | 
     HRESULT GetFileSize(UINT64 *size); | 
 
 
 
 
 
 | 580 | 
     HRESULT GetLastWriteTime(UINT64 *last_writetime); | 
 
 
 
 
 
 | 581 | 
 } | 
 
 
 
 
 
 | 582 | 
  | 
 
 
 
 
 
 | 583 | 
 [ | 
 
 
 
 
 
 | 584 | 
 local, | 
 
 
 
 
 
 | 585 | 
 object, | 
 
 
 
 
 
 | 586 | 
 uuid(727cad4e-d6af-4c9e-8a08-d695b11caa49) | 
 
 
 
 
 
 | 587 | 
 ] | 
 
 
 
 
 
 | 588 | 
 interface IDWriteFontFileLoader : IUnknown | 
 
 
 
 
 
 | 589 | 
 { | 
 
 
 
 
 
 | 590 | 
     HRESULT CreateStreamFromKey( | 
 
 
 
 
 
 | 591 | 
         void const *key, | 
 
 
 
 
 
 | 592 | 
         UINT32 key_size, | 
 
 
 
 
 
 | 593 | 
         IDWriteFontFileStream **stream); | 
 
 
 
 
 
 | 594 | 
 } | 
 
 
 
 
 
 | 595 | 
  | 
 
 
 
 
 
 | 596 | 
 [ | 
 
 
 
 
 
 | 597 | 
 local, | 
 
 
 
 
 
 | 598 | 
 object, | 
 
 
 
 
 
 | 599 | 
 uuid(b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2) | 
 
 
 
 
 
 | 600 | 
 ] | 
 
 
 
 
 
 | 601 | 
 interface IDWriteLocalFontFileLoader : IDWriteFontFileLoader | 
 
 
 
 
 
 | 602 | 
 { | 
 
 
 
 
 
 | 603 | 
     HRESULT GetFilePathLengthFromKey(void const *key, UINT32 key_size, UINT32 *length); | 
 
 
 
 
 
 | 604 | 
     HRESULT GetFilePathFromKey(void const *key, UINT32 key_size, WCHAR *path, UINT32 length); | 
 
 
 
 
 
 | 605 | 
     HRESULT GetLastWriteTimeFromKey(void const *key, UINT32 key_size, FILETIME *writetime); | 
 
 
 
 
 
 | 606 | 
 } | 
 
 
 
 
 
 | 607 | 
  | 
 
 
 
 
 
 | 608 | 
 [ | 
 
 
 
 
 
 | 609 | 
 local, | 
 
 
 
 
 
 | 610 | 
 object, | 
 
 
 
 
 
 | 611 | 
 uuid(739d886a-cef5-47dc-8769-1a8b41bebbb0) | 
 
 
 
 
 
 | 612 | 
 ] | 
 
 
 
 
 
 | 613 | 
 interface IDWriteFontFile : IUnknown | 
 
 
 
 
 
 | 614 | 
 { | 
 
 
 
 
 
 | 615 | 
     HRESULT GetReferenceKey( | 
 
 
 
 
 
 | 616 | 
         void const **key, | 
 
 
 
 
 
 | 617 | 
         UINT32 *key_size); | 
 
 
 
 
 
 | 618 | 
  | 
 
 
 
 
 
 | 619 | 
     HRESULT GetLoader(IDWriteFontFileLoader **loader); | 
 
 
 
 
 
 | 620 | 
  | 
 
 
 
 
 
 | 621 | 
     HRESULT Analyze( | 
 
 
 
 
 
 | 622 | 
         BOOL *is_supported_fonttype, | 
 
 
 
 
 
 | 623 | 
         DWRITE_FONT_FILE_TYPE *file_type, | 
 
 
 
 
 
 | 624 | 
         DWRITE_FONT_FACE_TYPE *face_type, | 
 
 
 
 
 
 | 625 | 
         UINT32 *faces_num); | 
 
 
 
 
 
 | 626 | 
 } | 
 
 
 
 
 
 | 627 | 
  | 
 
 
 
 
 
 | 628 | 
 [ | 
 
 
 
 
 
 | 629 | 
 local, | 
 
 
 
 
 
 | 630 | 
 object, | 
 
 
 
 
 
 | 631 | 
 uuid(72755049-5ff7-435d-8348-4be97cfa6c7c) | 
 
 
 
 
 
 | 632 | 
 ] | 
 
 
 
 
 
 | 633 | 
 interface IDWriteFontFileEnumerator : IUnknown | 
 
 
 
 
 
 | 634 | 
 { | 
 
 
 
 
 
 | 635 | 
     HRESULT MoveNext(BOOL *has_current_file); | 
 
 
 
 
 
 | 636 | 
     HRESULT GetCurrentFontFile(IDWriteFontFile **font_file); | 
 
 
 
 
 
 | 637 | 
 } | 
 
 
 
 
 
 | 638 | 
  | 
 
 
 
 
 
 | 639 | 
 [ | 
 
 
 
 
 
 | 640 | 
 local, | 
 
 
 
 
 
 | 641 | 
 object, | 
 
 
 
 
 
 | 642 | 
 uuid(cca920e4-52f0-492b-bfa8-29c72ee0a468) | 
 
 
 
 
 
 | 643 | 
 ] | 
 
 
 
 
 
 | 644 | 
 interface IDWriteFontCollectionLoader : IUnknown | 
 
 
 
 
 
 | 645 | 
 { | 
 
 
 
 
 
 | 646 | 
     HRESULT CreateEnumeratorFromKey( | 
 
 
 
 
 
 | 647 | 
         IDWriteFactory* factory, | 
 
 
 
 
 
 | 648 | 
         void const* key, | 
 
 
 
 
 
 | 649 | 
         UINT32 key_size, | 
 
 
 
 
 
 | 650 | 
         IDWriteFontFileEnumerator **enumerator); | 
 
 
 
 
 
 | 651 | 
 } | 
 
 
 
 
 
 | 652 | 
  | 
 
 
 
 
 
 | 653 | 
 [ | 
 
 
 
 
 
 | 654 | 
 local, | 
 
 
 
 
 
 | 655 | 
 object, | 
 
 
 
 
 
 | 656 | 
 uuid(08256209-099a-4b34-b86d-c22b110e7771) | 
 
 
 
 
 
 | 657 | 
 ] | 
 
 
 
 
 
 | 658 | 
 interface IDWriteLocalizedStrings : IUnknown | 
 
 
 
 
 
 | 659 | 
 { | 
 
 
 
 
 
 | 660 | 
     UINT32 GetCount(); | 
 
 
 
 
 
 | 661 | 
  | 
 
 
 
 
 
 | 662 | 
     HRESULT FindLocaleName( | 
 
 
 
 
 
 | 663 | 
         WCHAR const *locale_name, | 
 
 
 
 
 
 | 664 | 
         UINT32 *index, | 
 
 
 
 
 
 | 665 | 
         BOOL *exists); | 
 
 
 
 
 
 | 666 | 
  | 
 
 
 
 
 
 | 667 | 
     HRESULT GetLocaleNameLength(UINT32 index, UINT32 *length); | 
 
 
 
 
 
 | 668 | 
     HRESULT GetLocaleName(UINT32 index, WCHAR *locale_name, UINT32 size); | 
 
 
 
 
 
 | 669 | 
     HRESULT GetStringLength(UINT32 index, UINT32 *length); | 
 
 
 
 
 
 | 670 | 
     HRESULT GetString(UINT32 index, WCHAR *buffer, UINT32 size); | 
 
 
 
 
 
 | 671 | 
 } | 
 
 
 
 
 
 | 672 | 
  | 
 
 
 
 
 
 | 673 | 
 [ | 
 
 
 
 
 
 | 674 | 
 local, | 
 
 
 
 
 
 | 675 | 
 object, | 
 
 
 
 
 
 | 676 | 
 uuid(2f0da53a-2add-47cd-82ee-d9ec34688e75) | 
 
 
 
 
 
 | 677 | 
 ] | 
 
 
 
 
 
 | 678 | 
 interface IDWriteRenderingParams : IUnknown | 
 
 
 
 
 
 | 679 | 
 { | 
 
 
 
 
 
 | 680 | 
     FLOAT GetGamma(); | 
 
 
 
 
 
 | 681 | 
     FLOAT GetEnhancedContrast(); | 
 
 
 
 
 
 | 682 | 
     FLOAT GetClearTypeLevel(); | 
 
 
 
 
 
 | 683 | 
     DWRITE_PIXEL_GEOMETRY GetPixelGeometry(); | 
 
 
 
 
 
 | 684 | 
     DWRITE_RENDERING_MODE GetRenderingMode(); | 
 
 
 
 
 
 | 685 | 
 } | 
 
 
 
 
 
 | 686 | 
  | 
 
 
 
 
 
 | 687 | 
 [ | 
 
 
 
 
 
 | 688 | 
 local, | 
 
 
 
 
 
 | 689 | 
 object, | 
 
 
 
 
 
 | 690 | 
 uuid(5f49804d-7024-4d43-bfa9-d25984f53849) | 
 
 
 
 
 
 | 691 | 
 ] | 
 
 
 
 
 
 | 692 | 
 interface IDWriteFontFace : IUnknown | 
 
 
 
 
 
 | 693 | 
 { | 
 
 
 
 
 
 | 694 | 
     DWRITE_FONT_FACE_TYPE GetType(); | 
 
 
 
 
 
 | 695 | 
     HRESULT GetFiles(UINT32 *number_of_files, IDWriteFontFile **fontfiles); | 
 
 
 
 
 
 | 696 | 
     UINT32 GetIndex(); | 
 
 
 
 
 
 | 697 | 
     DWRITE_FONT_SIMULATIONS GetSimulations(); | 
 
 
 
 
 
 | 698 | 
     BOOL IsSymbolFont(); | 
 
 
 
 
 
 | 699 | 
     void GetMetrics(DWRITE_FONT_METRICS *metrics); | 
 
 
 
 
 
 | 700 | 
     UINT16 GetGlyphCount(); | 
 
 
 
 
 
 | 701 | 
  | 
 
 
 
 
 
 | 702 | 
     HRESULT GetDesignGlyphMetrics( | 
 
 
 
 
 
 | 703 | 
         UINT16 const *glyph_indices, | 
 
 
 
 
 
 | 704 | 
         UINT32 glyph_count, | 
 
 
 
 
 
 | 705 | 
         DWRITE_GLYPH_METRICS *metrics, | 
 
 
 
 
 
 | 706 | 
         [defaultvalue(FALSE)] BOOL is_sideways); | 
 
 
 
 
 
 | 707 | 
  | 
 
 
 
 
 
 | 708 | 
     HRESULT GetGlyphIndices( | 
 
 
 
 
 
 | 709 | 
         UINT32 const *codepoints, | 
 
 
 
 
 
 | 710 | 
         UINT32 count, | 
 
 
 
 
 
 | 711 | 
         UINT16 *glyph_indices); | 
 
 
 
 
 
 | 712 | 
  | 
 
 
 
 
 
 | 713 | 
     HRESULT TryGetFontTable( | 
 
 
 
 
 
 | 714 | 
         UINT32 table_tag, | 
 
 
 
 
 
 | 715 | 
         const void **table_data, | 
 
 
 
 
 
 | 716 | 
         UINT32 *table_size, | 
 
 
 
 
 
 | 717 | 
         void **context, | 
 
 
 
 
 
 | 718 | 
         BOOL *exists); | 
 
 
 
 
 
 | 719 | 
  | 
 
 
 
 
 
 | 720 | 
     void ReleaseFontTable(void *table_context); | 
 
 
 
 
 
 | 721 | 
  | 
 
 
 
 
 
 | 722 | 
     HRESULT GetGlyphRunOutline( | 
 
 
 
 
 
 | 723 | 
         FLOAT emSize, | 
 
 
 
 
 
 | 724 | 
         UINT16 const *glyph_indices, | 
 
 
 
 
 
 | 725 | 
         FLOAT const* glyph_advances, | 
 
 
 
 
 
 | 726 | 
         DWRITE_GLYPH_OFFSET const *glyph_offsets, | 
 
 
 
 
 
 | 727 | 
         UINT32 glyph_count, | 
 
 
 
 
 
 | 728 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 729 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 730 | 
         IDWriteGeometrySink *geometrysink); | 
 
 
 
 
 
 | 731 | 
  | 
 
 
 
 
 
 | 732 | 
     HRESULT GetRecommendedRenderingMode( | 
 
 
 
 
 
 | 733 | 
         FLOAT emSize, | 
 
 
 
 
 
 | 734 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 735 | 
         DWRITE_MEASURING_MODE mode, | 
 
 
 
 
 
 | 736 | 
         IDWriteRenderingParams* params, | 
 
 
 
 
 
 | 737 | 
         DWRITE_RENDERING_MODE* rendering_mode); | 
 
 
 
 
 
 | 738 | 
  | 
 
 
 
 
 
 | 739 | 
     HRESULT GetGdiCompatibleMetrics( | 
 
 
 
 
 
 | 740 | 
         FLOAT emSize, | 
 
 
 
 
 
 | 741 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 742 | 
         DWRITE_MATRIX const *transform, | 
 
 
 
 
 
 | 743 | 
         DWRITE_FONT_METRICS *metrics); | 
 
 
 
 
 
 | 744 | 
  | 
 
 
 
 
 
 | 745 | 
     HRESULT GetGdiCompatibleGlyphMetrics( | 
 
 
 
 
 
 | 746 | 
         FLOAT emSize, | 
 
 
 
 
 
 | 747 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 748 | 
         DWRITE_MATRIX const *transform, | 
 
 
 
 
 
 | 749 | 
         BOOL use_gdi_natural, | 
 
 
 
 
 
 | 750 | 
         UINT16 const *glyph_indices, | 
 
 
 
 
 
 | 751 | 
         UINT32 glyph_count, | 
 
 
 
 
 
 | 752 | 
         DWRITE_GLYPH_METRICS *metrics, | 
 
 
 
 
 
 | 753 | 
         [defaultvalue(FALSE)] BOOL is_sideways); | 
 
 
 
 
 
 | 754 | 
 } | 
 
 
 
 
 
 | 755 | 
  | 
 
 
 
 
 
 | 756 | 
 [ | 
 
 
 
 
 
 | 757 | 
 local, | 
 
 
 
 
 
 | 758 | 
 object, | 
 
 
 
 
 
 | 759 | 
 uuid(acd16696-8c14-4f5d-877e-fe3fc1d32737) | 
 
 
 
 
 
 | 760 | 
 ] | 
 
 
 
 
 
 | 761 | 
 interface IDWriteFont : IUnknown | 
 
 
 
 
 
 | 762 | 
 { | 
 
 
 
 
 
 | 763 | 
     HRESULT GetFontFamily(IDWriteFontFamily **family); | 
 
 
 
 
 
 | 764 | 
     DWRITE_FONT_WEIGHT GetWeight(); | 
 
 
 
 
 
 | 765 | 
     DWRITE_FONT_STRETCH GetStretch(); | 
 
 
 
 
 
 | 766 | 
     DWRITE_FONT_STYLE GetStyle(); | 
 
 
 
 
 
 | 767 | 
     BOOL IsSymbolFont(); | 
 
 
 
 
 
 | 768 | 
  | 
 
 
 
 
 
 | 769 | 
     HRESULT GetFaceNames(IDWriteLocalizedStrings **names); | 
 
 
 
 
 
 | 770 | 
     HRESULT GetInformationalStrings( | 
 
 
 
 
 
 | 771 | 
         DWRITE_INFORMATIONAL_STRING_ID stringid, | 
 
 
 
 
 
 | 772 | 
         IDWriteLocalizedStrings **strings, | 
 
 
 
 
 
 | 773 | 
         BOOL *exists); | 
 
 
 
 
 
 | 774 | 
  | 
 
 
 
 
 
 | 775 | 
     DWRITE_FONT_SIMULATIONS GetSimulations(); | 
 
 
 
 
 
 | 776 | 
     void GetMetrics(DWRITE_FONT_METRICS *metrics); | 
 
 
 
 
 
 | 777 | 
     HRESULT HasCharacter(UINT32 value, BOOL *exists); | 
 
 
 
 
 
 | 778 | 
     HRESULT CreateFontFace(IDWriteFontFace **face); | 
 
 
 
 
 
 | 779 | 
 } | 
 
 
 
 
 
 | 780 | 
  | 
 
 
 
 
 
 | 781 | 
 [ | 
 
 
 
 
 
 | 782 | 
 local, | 
 
 
 
 
 
 | 783 | 
 object, | 
 
 
 
 
 
 | 784 | 
 uuid(1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb) | 
 
 
 
 
 
 | 785 | 
 ] | 
 
 
 
 
 
 | 786 | 
 interface IDWriteFontList : IUnknown | 
 
 
 
 
 
 | 787 | 
 { | 
 
 
 
 
 
 | 788 | 
     HRESULT GetFontCollection(IDWriteFontCollection **collection); | 
 
 
 
 
 
 | 789 | 
     UINT32 GetFontCount(); | 
 
 
 
 
 
 | 790 | 
     HRESULT GetFont(UINT32 index, IDWriteFont **font); | 
 
 
 
 
 
 | 791 | 
 } | 
 
 
 
 
 
 | 792 | 
  | 
 
 
 
 
 
 | 793 | 
 [ | 
 
 
 
 
 
 | 794 | 
 local, | 
 
 
 
 
 
 | 795 | 
 object, | 
 
 
 
 
 
 | 796 | 
 uuid(da20d8ef-812a-4c43-9802-62ec4abd7add) | 
 
 
 
 
 
 | 797 | 
 ] | 
 
 
 
 
 
 | 798 | 
 interface IDWriteFontFamily : IDWriteFontList | 
 
 
 
 
 
 | 799 | 
 { | 
 
 
 
 
 
 | 800 | 
     HRESULT GetFamilyNames(IDWriteLocalizedStrings **names); | 
 
 
 
 
 
 | 801 | 
  | 
 
 
 
 
 
 | 802 | 
     HRESULT GetFirstMatchingFont( | 
 
 
 
 
 
 | 803 | 
         DWRITE_FONT_WEIGHT weight, | 
 
 
 
 
 
 | 804 | 
         DWRITE_FONT_STRETCH stretch, | 
 
 
 
 
 
 | 805 | 
         DWRITE_FONT_STYLE style, | 
 
 
 
 
 
 | 806 | 
         IDWriteFont **font); | 
 
 
 
 
 
 | 807 | 
  | 
 
 
 
 
 
 | 808 | 
     HRESULT GetMatchingFonts( | 
 
 
 
 
 
 | 809 | 
         DWRITE_FONT_WEIGHT weight, | 
 
 
 
 
 
 | 810 | 
         DWRITE_FONT_STRETCH stretch, | 
 
 
 
 
 
 | 811 | 
         DWRITE_FONT_STYLE style, | 
 
 
 
 
 
 | 812 | 
         IDWriteFontList **fonts); | 
 
 
 
 
 
 | 813 | 
 } | 
 
 
 
 
 
 | 814 | 
  | 
 
 
 
 
 
 | 815 | 
 [ | 
 
 
 
 
 
 | 816 | 
 local, | 
 
 
 
 
 
 | 817 | 
 object, | 
 
 
 
 
 
 | 818 | 
 uuid(a84cee02-3eea-4eee-a827-87c1a02a0fcc) | 
 
 
 
 
 
 | 819 | 
 ] | 
 
 
 
 
 
 | 820 | 
 interface IDWriteFontCollection : IUnknown | 
 
 
 
 
 
 | 821 | 
 { | 
 
 
 
 
 
 | 822 | 
     UINT32 GetFontFamilyCount(); | 
 
 
 
 
 
 | 823 | 
     HRESULT GetFontFamily(UINT32 index, IDWriteFontFamily **family); | 
 
 
 
 
 
 | 824 | 
     HRESULT FindFamilyName(WCHAR const *name, UINT32 *index, BOOL *exists); | 
 
 
 
 
 
 | 825 | 
     HRESULT GetFontFromFontFace(IDWriteFontFace *face, IDWriteFont **font); | 
 
 
 
 
 
 | 826 | 
 } | 
 
 
 
 
 
 | 827 | 
  | 
 
 
 
 
 
 | 828 | 
 [ | 
 
 
 
 
 
 | 829 | 
 local, | 
 
 
 
 
 
 | 830 | 
 object, | 
 
 
 
 
 
 | 831 | 
 uuid(eaf3a2da-ecf4-4d24-b644-b34f6842024b) | 
 
 
 
 
 
 | 832 | 
 ] | 
 
 
 
 
 
 | 833 | 
 interface IDWritePixelSnapping : IUnknown | 
 
 
 
 
 
 | 834 | 
 { | 
 
 
 
 
 
 | 835 | 
     HRESULT IsPixelSnappingDisabled( | 
 
 
 
 
 
 | 836 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 837 | 
         BOOL *disabled); | 
 
 
 
 
 
 | 838 | 
  | 
 
 
 
 
 
 | 839 | 
     HRESULT GetCurrentTransform( | 
 
 
 
 
 
 | 840 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 841 | 
         DWRITE_MATRIX *transform); | 
 
 
 
 
 
 | 842 | 
  | 
 
 
 
 
 
 | 843 | 
     HRESULT GetPixelsPerDip( | 
 
 
 
 
 
 | 844 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 845 | 
         FLOAT *pixels_per_dip); | 
 
 
 
 
 
 | 846 | 
 } | 
 
 
 
 
 
 | 847 | 
  | 
 
 
 
 
 
 | 848 | 
 [ | 
 
 
 
 
 
 | 849 | 
 local, | 
 
 
 
 
 
 | 850 | 
 object, | 
 
 
 
 
 
 | 851 | 
 uuid(ef8a8135-5cc6-45fe-8825-c5a0724eb819) | 
 
 
 
 
 
 | 852 | 
 ] | 
 
 
 
 
 
 | 853 | 
 interface IDWriteTextRenderer : IDWritePixelSnapping | 
 
 
 
 
 
 | 854 | 
 { | 
 
 
 
 
 
 | 855 | 
     HRESULT DrawGlyphRun( | 
 
 
 
 
 
 | 856 | 
         void* client_drawingcontext, | 
 
 
 
 
 
 | 857 | 
         FLOAT baselineOriginX, | 
 
 
 
 
 
 | 858 | 
         FLOAT baselineOriginY, | 
 
 
 
 
 
 | 859 | 
         DWRITE_MEASURING_MODE mode, | 
 
 
 
 
 
 | 860 | 
         DWRITE_GLYPH_RUN const *glyph_run, | 
 
 
 
 
 
 | 861 | 
         DWRITE_GLYPH_RUN_DESCRIPTION const *run_descr, | 
 
 
 
 
 
 | 862 | 
         IUnknown *drawing_effect); | 
 
 
 
 
 
 | 863 | 
  | 
 
 
 
 
 
 | 864 | 
     HRESULT DrawUnderline( | 
 
 
 
 
 
 | 865 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 866 | 
         FLOAT baselineOriginX, | 
 
 
 
 
 
 | 867 | 
         FLOAT baselineOriginY, | 
 
 
 
 
 
 | 868 | 
         DWRITE_UNDERLINE const* underline, | 
 
 
 
 
 
 | 869 | 
         IUnknown *drawing_effect); | 
 
 
 
 
 
 | 870 | 
  | 
 
 
 
 
 
 | 871 | 
     HRESULT DrawStrikethrough( | 
 
 
 
 
 
 | 872 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 873 | 
         FLOAT baselineOriginX, | 
 
 
 
 
 
 | 874 | 
         FLOAT baselineOriginY, | 
 
 
 
 
 
 | 875 | 
         DWRITE_STRIKETHROUGH const* strikethrough, | 
 
 
 
 
 
 | 876 | 
         IUnknown *drawing_effect); | 
 
 
 
 
 
 | 877 | 
  | 
 
 
 
 
 
 | 878 | 
     HRESULT DrawInlineObject( | 
 
 
 
 
 
 | 879 | 
         void *client_drawingcontext, | 
 
 
 
 
 
 | 880 | 
         FLOAT originX, | 
 
 
 
 
 
 | 881 | 
         FLOAT originY, | 
 
 
 
 
 
 | 882 | 
         IDWriteInlineObject *object, | 
 
 
 
 
 
 | 883 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 884 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 885 | 
         IUnknown *drawing_effect); | 
 
 
 
 
 
 | 886 | 
 } | 
 
 
 
 
 
 | 887 | 
  | 
 
 
 
 
 
 | 888 | 
 [ | 
 
 
 
 
 
 | 889 | 
 local, | 
 
 
 
 
 
 | 890 | 
 object, | 
 
 
 
 
 
 | 891 | 
 uuid(8339fde3-106f-47ab-8373-1c6295eb10b3) | 
 
 
 
 
 
 | 892 | 
 ] | 
 
 
 
 
 
 | 893 | 
 interface IDWriteInlineObject : IUnknown | 
 
 
 
 
 
 | 894 | 
 { | 
 
 
 
 
 
 | 895 | 
     HRESULT Draw( | 
 
 
 
 
 
 | 896 | 
         void* client_drawingontext, | 
 
 
 
 
 
 | 897 | 
         IDWriteTextRenderer* renderer, | 
 
 
 
 
 
 | 898 | 
         FLOAT originX, | 
 
 
 
 
 
 | 899 | 
         FLOAT originY, | 
 
 
 
 
 
 | 900 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 901 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 902 | 
         IUnknown *drawing_effect); | 
 
 
 
 
 
 | 903 | 
  | 
 
 
 
 
 
 | 904 | 
     HRESULT GetMetrics(DWRITE_INLINE_OBJECT_METRICS *metrics); | 
 
 
 
 
 
 | 905 | 
     HRESULT GetOverhangMetrics(DWRITE_OVERHANG_METRICS *overhangs); | 
 
 
 
 
 
 | 906 | 
     HRESULT GetBreakConditions( | 
 
 
 
 
 
 | 907 | 
         DWRITE_BREAK_CONDITION* condition_before, | 
 
 
 
 
 
 | 908 | 
         DWRITE_BREAK_CONDITION* condition_after); | 
 
 
 
 
 
 | 909 | 
 } | 
 
 
 
 
 
 | 910 | 
  | 
 
 
 
 
 
 | 911 | 
 [ | 
 
 
 
 
 
 | 912 | 
 local, | 
 
 
 
 
 
 | 913 | 
 object, | 
 
 
 
 
 
 | 914 | 
 uuid(9c906818-31d7-4fd3-a151-7c5e225db55a) | 
 
 
 
 
 
 | 915 | 
 ] | 
 
 
 
 
 
 | 916 | 
 interface IDWriteTextFormat : IUnknown | 
 
 
 
 
 
 | 917 | 
 { | 
 
 
 
 
 
 | 918 | 
     HRESULT SetTextAlignment(DWRITE_TEXT_ALIGNMENT alignment); | 
 
 
 
 
 
 | 919 | 
     HRESULT SetParagraphAlignment(DWRITE_PARAGRAPH_ALIGNMENT alignment); | 
 
 
 
 
 
 | 920 | 
     HRESULT SetWordWrapping(DWRITE_WORD_WRAPPING wrapping); | 
 
 
 
 
 
 | 921 | 
     HRESULT SetReadingDirection(DWRITE_READING_DIRECTION direction); | 
 
 
 
 
 
 | 922 | 
     HRESULT SetFlowDirection(DWRITE_FLOW_DIRECTION direction); | 
 
 
 
 
 
 | 923 | 
     HRESULT SetIncrementalTabStop(FLOAT tabstop); | 
 
 
 
 
 
 | 924 | 
     HRESULT SetTrimming(DWRITE_TRIMMING const *trimming, IDWriteInlineObject *trimming_sign); | 
 
 
 
 
 
 | 925 | 
     HRESULT SetLineSpacing(DWRITE_LINE_SPACING_METHOD spacing, FLOAT line_spacing, FLOAT baseline); | 
 
 
 
 
 
 | 926 | 
     DWRITE_TEXT_ALIGNMENT GetTextAlignment(); | 
 
 
 
 
 
 | 927 | 
     DWRITE_PARAGRAPH_ALIGNMENT GetParagraphAlignment(); | 
 
 
 
 
 
 | 928 | 
     DWRITE_WORD_WRAPPING GetWordWrapping(); | 
 
 
 
 
 
 | 929 | 
     DWRITE_READING_DIRECTION GetReadingDirection(); | 
 
 
 
 
 
 | 930 | 
     DWRITE_FLOW_DIRECTION GetFlowDirection(); | 
 
 
 
 
 
 | 931 | 
     FLOAT GetIncrementalTabStop(); | 
 
 
 
 
 
 | 932 | 
     HRESULT GetTrimming(DWRITE_TRIMMING *options, IDWriteInlineObject **trimming_sign); | 
 
 
 
 
 
 | 933 | 
  | 
 
 
 
 
 
 | 934 | 
     HRESULT GetLineSpacing( | 
 
 
 
 
 
 | 935 | 
         DWRITE_LINE_SPACING_METHOD *method, | 
 
 
 
 
 
 | 936 | 
         FLOAT *spacing, | 
 
 
 
 
 
 | 937 | 
         FLOAT *baseline); | 
 
 
 
 
 
 | 938 | 
  | 
 
 
 
 
 
 | 939 | 
     HRESULT GetFontCollection(IDWriteFontCollection **collection); | 
 
 
 
 
 
 | 940 | 
     UINT32 GetFontFamilyNameLength(); | 
 
 
 
 
 
 | 941 | 
     HRESULT GetFontFamilyName(WCHAR *name, UINT32 size); | 
 
 
 
 
 
 | 942 | 
     DWRITE_FONT_WEIGHT GetFontWeight(); | 
 
 
 
 
 
 | 943 | 
     DWRITE_FONT_STYLE GetFontStyle(); | 
 
 
 
 
 
 | 944 | 
     DWRITE_FONT_STRETCH GetFontStretch(); | 
 
 
 
 
 
 | 945 | 
     FLOAT GetFontSize(); | 
 
 
 
 
 
 | 946 | 
     UINT32 GetLocaleNameLength(); | 
 
 
 
 
 
 | 947 | 
     HRESULT GetLocaleName(WCHAR *name, UINT32 size); | 
 
 
 
 
 
 | 948 | 
 } | 
 
 
 
 
 
 | 949 | 
  | 
 
 
 
 
 
 | 950 | 
 [ | 
 
 
 
 
 
 | 951 | 
 local, | 
 
 
 
 
 
 | 952 | 
 object, | 
 
 
 
 
 
 | 953 | 
 uuid(55f1112b-1dc2-4b3c-9541-f46894ed85b6) | 
 
 
 
 
 
 | 954 | 
 ] | 
 
 
 
 
 
 | 955 | 
 interface IDWriteTypography : IUnknown | 
 
 
 
 
 
 | 956 | 
 { | 
 
 
 
 
 
 | 957 | 
     HRESULT AddFontFeature(DWRITE_FONT_FEATURE feature); | 
 
 
 
 
 
 | 958 | 
     UINT32 GetFontFeatureCount(); | 
 
 
 
 
 
 | 959 | 
     HRESULT GetFontFeature(UINT32 index, DWRITE_FONT_FEATURE *feature); | 
 
 
 
 
 
 | 960 | 
 } | 
 
 
 
 
 
 | 961 | 
  | 
 
 
 
 
 
 | 962 | 
 [ | 
 
 
 
 
 
 | 963 | 
 local, | 
 
 
 
 
 
 | 964 | 
 object, | 
 
 
 
 
 
 | 965 | 
 uuid(5e5a32a3-8dff-4773-9ff6-0696eab77267) | 
 
 
 
 
 
 | 966 | 
 ] | 
 
 
 
 
 
 | 967 | 
 interface IDWriteBitmapRenderTarget : IUnknown | 
 
 
 
 
 
 | 968 | 
 { | 
 
 
 
 
 
 | 969 | 
     HRESULT DrawGlyphRun( | 
 
 
 
 
 
 | 970 | 
         FLOAT baselineOriginX, | 
 
 
 
 
 
 | 971 | 
         FLOAT baselineOriginY, | 
 
 
 
 
 
 | 972 | 
         DWRITE_MEASURING_MODE measuring_mode, | 
 
 
 
 
 
 | 973 | 
         DWRITE_GLYPH_RUN const* glyph_run, | 
 
 
 
 
 
 | 974 | 
         IDWriteRenderingParams* params, | 
 
 
 
 
 
 | 975 | 
         COLORREF textColor, | 
 
 
 
 
 
 | 976 | 
         [defaultvalue(NULL)] RECT *blackbox_rect); | 
 
 
 
 
 
 | 977 | 
  | 
 
 
 
 
 
 | 978 | 
     HDC GetMemoryDC(); | 
 
 
 
 
 
 | 979 | 
     FLOAT GetPixelsPerDip(); | 
 
 
 
 
 
 | 980 | 
     HRESULT SetPixelsPerDip(FLOAT pixels_per_dip); | 
 
 
 
 
 
 | 981 | 
     HRESULT GetCurrentTransform(DWRITE_MATRIX *transform); | 
 
 
 
 
 
 | 982 | 
     HRESULT SetCurrentTransform(DWRITE_MATRIX const *transform); | 
 
 
 
 
 
 | 983 | 
     HRESULT GetSize(SIZE *size); | 
 
 
 
 
 
 | 984 | 
     HRESULT Resize(UINT32 width, UINT32 height); | 
 
 
 
 
 
 | 985 | 
 } | 
 
 
 
 
 
 | 986 | 
  | 
 
 
 
 
 
 | 987 | 
 cpp_quote("#ifndef _WINGDI_") | 
 
 
 
 
 
 | 988 | 
 /* already defined in wingdi.h but needed for WIDL */ | 
 
 
 
 
 
 | 989 | 
 #define LF_FACESIZE     32 | 
 
 
 
 
 
 | 990 | 
  | 
 
 
 
 
 
 | 991 | 
     typedef struct tagLOGFONTW | 
 
 
 
 
 
 | 992 | 
     { | 
 
 
 
 
 
 | 993 | 
         LONG   lfHeight; | 
 
 
 
 
 
 | 994 | 
         LONG   lfWidth; | 
 
 
 
 
 
 | 995 | 
         LONG   lfEscapement; | 
 
 
 
 
 
 | 996 | 
         LONG   lfOrientation; | 
 
 
 
 
 
 | 997 | 
         LONG   lfWeight; | 
 
 
 
 
 
 | 998 | 
         BYTE   lfItalic; | 
 
 
 
 
 
 | 999 | 
         BYTE   lfUnderline; | 
 
 
 
 
 
 | 1000 | 
         BYTE   lfStrikeOut; | 
 
 
 
 
 
 | 1001 | 
         BYTE   lfCharSet; | 
 
 
 
 
 
 | 1002 | 
         BYTE   lfOutPrecision; | 
 
 
 
 
 
 | 1003 | 
         BYTE   lfClipPrecision; | 
 
 
 
 
 
 | 1004 | 
         BYTE   lfQuality; | 
 
 
 
 
 
 | 1005 | 
         BYTE   lfPitchAndFamily; | 
 
 
 
 
 
 | 1006 | 
         WCHAR  lfFaceName[LF_FACESIZE]; | 
 
 
 
 
 
 | 1007 | 
     } LOGFONTW, *PLOGFONTW, *LPLOGFONTW; | 
 
 
 
 
 
 | 1008 | 
 cpp_quote("#endif /* _WINGDI_ */") | 
 
 
 
 
 
 | 1009 | 
  | 
 
 
 
 
 
 | 1010 | 
 [ | 
 
 
 
 
 
 | 1011 | 
 local, | 
 
 
 
 
 
 | 1012 | 
 object, | 
 
 
 
 
 
 | 1013 | 
 uuid(1edd9491-9853-4299-898f-6432983b6f3a) | 
 
 
 
 
 
 | 1014 | 
 ] | 
 
 
 
 
 
 | 1015 | 
 interface IDWriteGdiInterop : IUnknown | 
 
 
 
 
 
 | 1016 | 
 { | 
 
 
 
 
 
 | 1017 | 
     HRESULT CreateFontFromLOGFONT(LOGFONTW const *logfont, IDWriteFont **font); | 
 
 
 
 
 
 | 1018 | 
     HRESULT ConvertFontToLOGFONT( | 
 
 
 
 
 
 | 1019 | 
         IDWriteFont* font, | 
 
 
 
 
 
 | 1020 | 
         LOGFONTW* logfont, | 
 
 
 
 
 
 | 1021 | 
         BOOL *is_systemfont); | 
 
 
 
 
 
 | 1022 | 
  | 
 
 
 
 
 
 | 1023 | 
     HRESULT ConvertFontFaceToLOGFONT(IDWriteFontFace* font, LOGFONTW* logfont); | 
 
 
 
 
 
 | 1024 | 
     HRESULT CreateFontFaceFromHdc(HDC hdc, IDWriteFontFace **fontface); | 
 
 
 
 
 
 | 1025 | 
     HRESULT CreateBitmapRenderTarget(HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget **target); | 
 
 
 
 
 
 | 1026 | 
 } | 
 
 
 
 
 
 | 1027 | 
  | 
 
 
 
 
 
 | 1028 | 
 [ | 
 
 
 
 
 
 | 1029 | 
 local, | 
 
 
 
 
 
 | 1030 | 
 object, | 
 
 
 
 
 
 | 1031 | 
 uuid(53737037-6d14-410b-9bfe-0b182bb70961) | 
 
 
 
 
 
 | 1032 | 
 ] | 
 
 
 
 
 
 | 1033 | 
 interface IDWriteTextLayout : IDWriteTextFormat | 
 
 
 
 
 
 | 1034 | 
 { | 
 
 
 
 
 
 | 1035 | 
     HRESULT SetMaxWidth(FLOAT maxWidth); | 
 
 
 
 
 
 | 1036 | 
     HRESULT SetMaxHeight(FLOAT maxHeight); | 
 
 
 
 
 
 | 1037 | 
     HRESULT SetFontCollection(IDWriteFontCollection* collection, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1038 | 
     HRESULT SetFontFamilyName(WCHAR const *name, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1039 | 
     HRESULT SetFontWeight(DWRITE_FONT_WEIGHT weight, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1040 | 
     HRESULT SetFontStyle(DWRITE_FONT_STYLE style, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1041 | 
     HRESULT SetFontStretch(DWRITE_FONT_STRETCH stretch, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1042 | 
     HRESULT SetFontSize(FLOAT size, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1043 | 
     HRESULT SetUnderline(BOOL underline, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1044 | 
     HRESULT SetStrikethrough(BOOL strikethrough, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1045 | 
     HRESULT SetDrawingEffect(IUnknown* effect, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1046 | 
     HRESULT SetInlineObject(IDWriteInlineObject *object, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1047 | 
     HRESULT SetTypography(IDWriteTypography* typography, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1048 | 
     HRESULT SetLocaleName(WCHAR const* locale, DWRITE_TEXT_RANGE range); | 
 
 
 
 
 
 | 1049 | 
  | 
 
 
 
 
 
 | 1050 | 
     FLOAT GetMaxWidth(); | 
 
 
 
 
 
 | 1051 | 
     FLOAT GetMaxHeight(); | 
 
 
 
 
 
 | 1052 | 
     HRESULT GetFontCollection( | 
 
 
 
 
 
 | 1053 | 
         UINT32 pos, | 
 
 
 
 
 
 | 1054 | 
         IDWriteFontCollection** collection, | 
 
 
 
 
 
 | 1055 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1056 | 
  | 
 
 
 
 
 
 | 1057 | 
     HRESULT GetFontFamilyNameLength( | 
 
 
 
 
 
 | 1058 | 
         UINT32 pos, | 
 
 
 
 
 
 | 1059 | 
         UINT32* len, | 
 
 
 
 
 
 | 1060 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1061 | 
  | 
 
 
 
 
 
 | 1062 | 
     HRESULT GetFontFamilyName( | 
 
 
 
 
 
 | 1063 | 
         UINT32 position, | 
 
 
 
 
 
 | 1064 | 
         WCHAR* name, | 
 
 
 
 
 
 | 1065 | 
         UINT32 name_size, | 
 
 
 
 
 
 | 1066 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1067 | 
  | 
 
 
 
 
 
 | 1068 | 
     HRESULT GetFontWeight( | 
 
 
 
 
 
 | 1069 | 
         UINT32 position, | 
 
 
 
 
 
 | 1070 | 
         DWRITE_FONT_WEIGHT *weight, | 
 
 
 
 
 
 | 1071 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1072 | 
  | 
 
 
 
 
 
 | 1073 | 
     HRESULT GetFontStyle( | 
 
 
 
 
 
 | 1074 | 
         UINT32 currentPosition, | 
 
 
 
 
 
 | 1075 | 
         DWRITE_FONT_STYLE *style, | 
 
 
 
 
 
 | 1076 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1077 | 
  | 
 
 
 
 
 
 | 1078 | 
     HRESULT GetFontStretch( | 
 
 
 
 
 
 | 1079 | 
         UINT32 position, | 
 
 
 
 
 
 | 1080 | 
         DWRITE_FONT_STRETCH *stretch, | 
 
 
 
 
 
 | 1081 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1082 | 
  | 
 
 
 
 
 
 | 1083 | 
     HRESULT GetFontSize( | 
 
 
 
 
 
 | 1084 | 
         UINT32 position, | 
 
 
 
 
 
 | 1085 | 
         FLOAT *size, | 
 
 
 
 
 
 | 1086 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1087 | 
  | 
 
 
 
 
 
 | 1088 | 
     HRESULT GetUnderline( | 
 
 
 
 
 
 | 1089 | 
         UINT32 position, | 
 
 
 
 
 
 | 1090 | 
         BOOL *has_underline, | 
 
 
 
 
 
 | 1091 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1092 | 
  | 
 
 
 
 
 
 | 1093 | 
     HRESULT GetStrikethrough( | 
 
 
 
 
 
 | 1094 | 
         UINT32 position, | 
 
 
 
 
 
 | 1095 | 
         BOOL *has_strikethrough, | 
 
 
 
 
 
 | 1096 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1097 | 
  | 
 
 
 
 
 
 | 1098 | 
     HRESULT GetDrawingEffect( | 
 
 
 
 
 
 | 1099 | 
         UINT32 position, | 
 
 
 
 
 
 | 1100 | 
         IUnknown **effect, | 
 
 
 
 
 
 | 1101 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1102 | 
  | 
 
 
 
 
 
 | 1103 | 
     HRESULT GetInlineObject( | 
 
 
 
 
 
 | 1104 | 
         UINT32 position, | 
 
 
 
 
 
 | 1105 | 
         IDWriteInlineObject **object, | 
 
 
 
 
 
 | 1106 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1107 | 
  | 
 
 
 
 
 
 | 1108 | 
     HRESULT GetTypography( | 
 
 
 
 
 
 | 1109 | 
         UINT32 position, | 
 
 
 
 
 
 | 1110 | 
         IDWriteTypography** typography, | 
 
 
 
 
 
 | 1111 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1112 | 
  | 
 
 
 
 
 
 | 1113 | 
     HRESULT GetLocaleNameLength( | 
 
 
 
 
 
 | 1114 | 
         UINT32 position, | 
 
 
 
 
 
 | 1115 | 
         UINT32* length, | 
 
 
 
 
 
 | 1116 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1117 | 
  | 
 
 
 
 
 
 | 1118 | 
     HRESULT GetLocaleName( | 
 
 
 
 
 
 | 1119 | 
         UINT32 position, | 
 
 
 
 
 
 | 1120 | 
         WCHAR* name, | 
 
 
 
 
 
 | 1121 | 
         UINT32 name_size, | 
 
 
 
 
 
 | 1122 | 
         [defaultvalue(NULL)] DWRITE_TEXT_RANGE *range); | 
 
 
 
 
 
 | 1123 | 
  | 
 
 
 
 
 
 | 1124 | 
     HRESULT Draw( | 
 
 
 
 
 
 | 1125 | 
         void *context, | 
 
 
 
 
 
 | 1126 | 
         IDWriteTextRenderer* renderer, | 
 
 
 
 
 
 | 1127 | 
         FLOAT originX, | 
 
 
 
 
 
 | 1128 | 
         FLOAT originY); | 
 
 
 
 
 
 | 1129 | 
  | 
 
 
 
 
 
 | 1130 | 
     HRESULT GetLineMetrics( | 
 
 
 
 
 
 | 1131 | 
         DWRITE_LINE_METRICS *metrics, | 
 
 
 
 
 
 | 1132 | 
         UINT32 max_count, | 
 
 
 
 
 
 | 1133 | 
         UINT32 *actual_count); | 
 
 
 
 
 
 | 1134 | 
  | 
 
 
 
 
 
 | 1135 | 
     HRESULT GetMetrics(DWRITE_TEXT_METRICS *metrics); | 
 
 
 
 
 
 | 1136 | 
     HRESULT GetOverhangMetrics(DWRITE_OVERHANG_METRICS *overhangs); | 
 
 
 
 
 
 | 1137 | 
     HRESULT GetClusterMetrics( | 
 
 
 
 
 
 | 1138 | 
         DWRITE_CLUSTER_METRICS *metrics, | 
 
 
 
 
 
 | 1139 | 
         UINT32 max_count, | 
 
 
 
 
 
 | 1140 | 
         UINT32* act_count); | 
 
 
 
 
 
 | 1141 | 
  | 
 
 
 
 
 
 | 1142 | 
     HRESULT DetermineMinWidth(FLOAT* min_width); | 
 
 
 
 
 
 | 1143 | 
     HRESULT HitTestPoint( | 
 
 
 
 
 
 | 1144 | 
         FLOAT pointX, | 
 
 
 
 
 
 | 1145 | 
         FLOAT pointY, | 
 
 
 
 
 
 | 1146 | 
         BOOL* is_trailinghit, | 
 
 
 
 
 
 | 1147 | 
         BOOL* is_inside, | 
 
 
 
 
 
 | 1148 | 
         DWRITE_HIT_TEST_METRICS *metrics); | 
 
 
 
 
 
 | 1149 | 
  | 
 
 
 
 
 
 | 1150 | 
     HRESULT HitTestTextPosition( | 
 
 
 
 
 
 | 1151 | 
         UINT32 textPosition, | 
 
 
 
 
 
 | 1152 | 
         BOOL is_trailinghit, | 
 
 
 
 
 
 | 1153 | 
         FLOAT* pointX, | 
 
 
 
 
 
 | 1154 | 
         FLOAT* pointY, | 
 
 
 
 
 
 | 1155 | 
         DWRITE_HIT_TEST_METRICS *metrics); | 
 
 
 
 
 
 | 1156 | 
  | 
 
 
 
 
 
 | 1157 | 
     HRESULT HitTestTextRange( | 
 
 
 
 
 
 | 1158 | 
         UINT32 textPosition, | 
 
 
 
 
 
 | 1159 | 
         UINT32 textLength, | 
 
 
 
 
 
 | 1160 | 
         FLOAT originX, | 
 
 
 
 
 
 | 1161 | 
         FLOAT originY, | 
 
 
 
 
 
 | 1162 | 
         DWRITE_HIT_TEST_METRICS *metrics, | 
 
 
 
 
 
 | 1163 | 
         UINT32 max_metricscount, | 
 
 
 
 
 
 | 1164 | 
         UINT32* actual_metricscount); | 
 
 
 
 
 
 | 1165 | 
 } | 
 
 
 
 
 
 | 1166 | 
  | 
 
 
 
 
 
 | 1167 | 
 [ | 
 
 
 
 
 
 | 1168 | 
 local, | 
 
 
 
 
 
 | 1169 | 
 object, | 
 
 
 
 
 
 | 1170 | 
 uuid(14885cc9-bab0-4f90-b6ed-5c366a2cd03d) | 
 
 
 
 
 
 | 1171 | 
 ] | 
 
 
 
 
 
 | 1172 | 
 interface IDWriteNumberSubstitution : IUnknown | 
 
 
 
 
 
 | 1173 | 
 { | 
 
 
 
 
 
 | 1174 | 
 } | 
 
 
 
 
 
 | 1175 | 
  | 
 
 
 
 
 
 | 1176 | 
 [ | 
 
 
 
 
 
 | 1177 | 
 local, | 
 
 
 
 
 
 | 1178 | 
 object, | 
 
 
 
 
 
 | 1179 | 
 uuid(688e1a58-5094-47c8-adc8-fbcea60ae92b) | 
 
 
 
 
 
 | 1180 | 
 ] | 
 
 
 
 
 
 | 1181 | 
 interface IDWriteTextAnalysisSource : IUnknown | 
 
 
 
 
 
 | 1182 | 
 { | 
 
 
 
 
 
 | 1183 | 
     HRESULT GetTextAtPosition( | 
 
 
 
 
 
 | 1184 | 
         UINT32 position, | 
 
 
 
 
 
 | 1185 | 
         WCHAR const** text, | 
 
 
 
 
 
 | 1186 | 
         UINT32* text_len); | 
 
 
 
 
 
 | 1187 | 
  | 
 
 
 
 
 
 | 1188 | 
     HRESULT GetTextBeforePosition( | 
 
 
 
 
 
 | 1189 | 
         UINT32 position, | 
 
 
 
 
 
 | 1190 | 
         WCHAR const** text, | 
 
 
 
 
 
 | 1191 | 
         UINT32* text_len); | 
 
 
 
 
 
 | 1192 | 
  | 
 
 
 
 
 
 | 1193 | 
     DWRITE_READING_DIRECTION GetParagraphReadingDirection(); | 
 
 
 
 
 
 | 1194 | 
     HRESULT GetLocaleName( | 
 
 
 
 
 
 | 1195 | 
         UINT32 position, | 
 
 
 
 
 
 | 1196 | 
         UINT32* text_len, | 
 
 
 
 
 
 | 1197 | 
         WCHAR const** locale); | 
 
 
 
 
 
 | 1198 | 
  | 
 
 
 
 
 
 | 1199 | 
     HRESULT GetNumberSubstitution( | 
 
 
 
 
 
 | 1200 | 
         UINT32 position, | 
 
 
 
 
 
 | 1201 | 
         UINT32* text_len, | 
 
 
 
 
 
 | 1202 | 
         IDWriteNumberSubstitution **substitution); | 
 
 
 
 
 
 | 1203 | 
 } | 
 
 
 
 
 
 | 1204 | 
  | 
 
 
 
 
 
 | 1205 | 
 [ | 
 
 
 
 
 
 | 1206 | 
 local, | 
 
 
 
 
 
 | 1207 | 
 object, | 
 
 
 
 
 
 | 1208 | 
 uuid(5810cd44-0ca0-4701-b3fa-bec5182ae4f6) | 
 
 
 
 
 
 | 1209 | 
 ] | 
 
 
 
 
 
 | 1210 | 
 interface IDWriteTextAnalysisSink : IUnknown | 
 
 
 
 
 
 | 1211 | 
 { | 
 
 
 
 
 
 | 1212 | 
     HRESULT SetScriptAnalysis( | 
 
 
 
 
 
 | 1213 | 
         UINT32 position, | 
 
 
 
 
 
 | 1214 | 
         UINT32 length, | 
 
 
 
 
 
 | 1215 | 
         DWRITE_SCRIPT_ANALYSIS const* scriptanalysis); | 
 
 
 
 
 
 | 1216 | 
  | 
 
 
 
 
 
 | 1217 | 
     HRESULT SetLineBreakpoints( | 
 
 
 
 
 
 | 1218 | 
         UINT32 position, | 
 
 
 
 
 
 | 1219 | 
         UINT32 length, | 
 
 
 
 
 
 | 1220 | 
         DWRITE_LINE_BREAKPOINT const* breakpoints); | 
 
 
 
 
 
 | 1221 | 
  | 
 
 
 
 
 
 | 1222 | 
     HRESULT SetBidiLevel( | 
 
 
 
 
 
 | 1223 | 
         UINT32 position, | 
 
 
 
 
 
 | 1224 | 
         UINT32 length, | 
 
 
 
 
 
 | 1225 | 
         UINT8 explicitLevel, | 
 
 
 
 
 
 | 1226 | 
         UINT8 resolvedLevel); | 
 
 
 
 
 
 | 1227 | 
  | 
 
 
 
 
 
 | 1228 | 
     HRESULT SetNumberSubstitution( | 
 
 
 
 
 
 | 1229 | 
         UINT32 position, | 
 
 
 
 
 
 | 1230 | 
         UINT32 length, | 
 
 
 
 
 
 | 1231 | 
         IDWriteNumberSubstitution* substitution); | 
 
 
 
 
 
 | 1232 | 
 } | 
 
 
 
 
 
 | 1233 | 
  | 
 
 
 
 
 
 | 1234 | 
 [ | 
 
 
 
 
 
 | 1235 | 
 local, | 
 
 
 
 
 
 | 1236 | 
 object, | 
 
 
 
 
 
 | 1237 | 
 uuid(b7e6163e-7f46-43b4-84b3-e4e6249c365d) | 
 
 
 
 
 
 | 1238 | 
 ] | 
 
 
 
 
 
 | 1239 | 
 interface IDWriteTextAnalyzer : IUnknown | 
 
 
 
 
 
 | 1240 | 
 { | 
 
 
 
 
 
 | 1241 | 
     HRESULT AnalyzeScript( | 
 
 
 
 
 
 | 1242 | 
         IDWriteTextAnalysisSource* source, | 
 
 
 
 
 
 | 1243 | 
         UINT32 position, | 
 
 
 
 
 
 | 1244 | 
         UINT32 length, | 
 
 
 
 
 
 | 1245 | 
         IDWriteTextAnalysisSink* sink); | 
 
 
 
 
 
 | 1246 | 
  | 
 
 
 
 
 
 | 1247 | 
     HRESULT AnalyzeBidi( | 
 
 
 
 
 
 | 1248 | 
         IDWriteTextAnalysisSource* source, | 
 
 
 
 
 
 | 1249 | 
         UINT32 position, | 
 
 
 
 
 
 | 1250 | 
         UINT32 length, | 
 
 
 
 
 
 | 1251 | 
         IDWriteTextAnalysisSink* sink); | 
 
 
 
 
 
 | 1252 | 
  | 
 
 
 
 
 
 | 1253 | 
     HRESULT AnalyzeNumberSubstitution( | 
 
 
 
 
 
 | 1254 | 
         IDWriteTextAnalysisSource* source, | 
 
 
 
 
 
 | 1255 | 
         UINT32 position, | 
 
 
 
 
 
 | 1256 | 
         UINT32 length, | 
 
 
 
 
 
 | 1257 | 
         IDWriteTextAnalysisSink* sink); | 
 
 
 
 
 
 | 1258 | 
  | 
 
 
 
 
 
 | 1259 | 
     HRESULT AnalyzeLineBreakpoints( | 
 
 
 
 
 
 | 1260 | 
         IDWriteTextAnalysisSource* source, | 
 
 
 
 
 
 | 1261 | 
         UINT32 position, | 
 
 
 
 
 
 | 1262 | 
         UINT32 length, | 
 
 
 
 
 
 | 1263 | 
         IDWriteTextAnalysisSink* sink); | 
 
 
 
 
 
 | 1264 | 
  | 
 
 
 
 
 
 | 1265 | 
     HRESULT GetGlyphs( | 
 
 
 
 
 
 | 1266 | 
         WCHAR const* text, | 
 
 
 
 
 
 | 1267 | 
         UINT32 length, | 
 
 
 
 
 
 | 1268 | 
         IDWriteFontFace* font_face, | 
 
 
 
 
 
 | 1269 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 1270 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 1271 | 
         DWRITE_SCRIPT_ANALYSIS const* analysis, | 
 
 
 
 
 
 | 1272 | 
         WCHAR const* locale, | 
 
 
 
 
 
 | 1273 | 
         IDWriteNumberSubstitution* substitution, | 
 
 
 
 
 
 | 1274 | 
         DWRITE_TYPOGRAPHIC_FEATURES const** features, | 
 
 
 
 
 
 | 1275 | 
         UINT32 const* feature_range_len, | 
 
 
 
 
 
 | 1276 | 
         UINT32 feature_ranges, | 
 
 
 
 
 
 | 1277 | 
         UINT32 max_glyph_count, | 
 
 
 
 
 
 | 1278 | 
         UINT16* clustermap, | 
 
 
 
 
 
 | 1279 | 
         DWRITE_SHAPING_TEXT_PROPERTIES* text_props, | 
 
 
 
 
 
 | 1280 | 
         UINT16* glyph_indices, | 
 
 
 
 
 
 | 1281 | 
         DWRITE_SHAPING_GLYPH_PROPERTIES* glyph_props, | 
 
 
 
 
 
 | 1282 | 
         UINT32* actual_glyph_count); | 
 
 
 
 
 
 | 1283 | 
  | 
 
 
 
 
 
 | 1284 | 
     HRESULT GetGlyphPlacements( | 
 
 
 
 
 
 | 1285 | 
         WCHAR const* text, | 
 
 
 
 
 
 | 1286 | 
         UINT16 const* clustermap, | 
 
 
 
 
 
 | 1287 | 
         DWRITE_SHAPING_TEXT_PROPERTIES* props, | 
 
 
 
 
 
 | 1288 | 
         UINT32 text_len, | 
 
 
 
 
 
 | 1289 | 
         UINT16 const* glyph_indices, | 
 
 
 
 
 
 | 1290 | 
         DWRITE_SHAPING_GLYPH_PROPERTIES const* glyph_props, | 
 
 
 
 
 
 | 1291 | 
         UINT32 glyph_count, | 
 
 
 
 
 
 | 1292 | 
         IDWriteFontFace * font_face, | 
 
 
 
 
 
 | 1293 | 
         FLOAT fontEmSize, | 
 
 
 
 
 
 | 1294 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 1295 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 1296 | 
         DWRITE_SCRIPT_ANALYSIS const* analysis, | 
 
 
 
 
 
 | 1297 | 
         WCHAR const* locale, | 
 
 
 
 
 
 | 1298 | 
         DWRITE_TYPOGRAPHIC_FEATURES const** features, | 
 
 
 
 
 
 | 1299 | 
         UINT32 const* feature_range_len, | 
 
 
 
 
 
 | 1300 | 
         UINT32 feature_ranges, | 
 
 
 
 
 
 | 1301 | 
         FLOAT* glyph_advances, | 
 
 
 
 
 
 | 1302 | 
         DWRITE_GLYPH_OFFSET* glyph_offsets); | 
 
 
 
 
 
 | 1303 | 
  | 
 
 
 
 
 
 | 1304 | 
     HRESULT GetGdiCompatibleGlyphPlacements( | 
 
 
 
 
 
 | 1305 | 
         WCHAR const* text, | 
 
 
 
 
 
 | 1306 | 
         UINT16 const* clustermap, | 
 
 
 
 
 
 | 1307 | 
         DWRITE_SHAPING_TEXT_PROPERTIES* props, | 
 
 
 
 
 
 | 1308 | 
         UINT32 text_len, | 
 
 
 
 
 
 | 1309 | 
         UINT16 const* glyph_indices, | 
 
 
 
 
 
 | 1310 | 
         DWRITE_SHAPING_GLYPH_PROPERTIES const* glyph_props, | 
 
 
 
 
 
 | 1311 | 
         UINT32 glyph_count, | 
 
 
 
 
 
 | 1312 | 
         IDWriteFontFace * font_face, | 
 
 
 
 
 
 | 1313 | 
         FLOAT fontEmSize, | 
 
 
 
 
 
 | 1314 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 1315 | 
         DWRITE_MATRIX const* transform, | 
 
 
 
 
 
 | 1316 | 
         BOOL use_gdi_natural, | 
 
 
 
 
 
 | 1317 | 
         BOOL is_sideways, | 
 
 
 
 
 
 | 1318 | 
         BOOL is_rtl, | 
 
 
 
 
 
 | 1319 | 
         DWRITE_SCRIPT_ANALYSIS const* analysis, | 
 
 
 
 
 
 | 1320 | 
         WCHAR const* locale, | 
 
 
 
 
 
 | 1321 | 
         DWRITE_TYPOGRAPHIC_FEATURES const** features, | 
 
 
 
 
 
 | 1322 | 
         UINT32 const* feature_range_lengths, | 
 
 
 
 
 
 | 1323 | 
         UINT32 feature_ranges, | 
 
 
 
 
 
 | 1324 | 
         FLOAT* glyph_advances, | 
 
 
 
 
 
 | 1325 | 
         DWRITE_GLYPH_OFFSET* glyph_offsets); | 
 
 
 
 
 
 | 1326 | 
 } | 
 
 
 
 
 
 | 1327 | 
  | 
 
 
 
 
 
 | 1328 | 
 [ | 
 
 
 
 
 
 | 1329 | 
 local, | 
 
 
 
 
 
 | 1330 | 
 object, | 
 
 
 
 
 
 | 1331 | 
 uuid(7d97dbf7-e085-42d4-81e3-6a883bded118) | 
 
 
 
 
 
 | 1332 | 
 ] | 
 
 
 
 
 
 | 1333 | 
 interface IDWriteGlyphRunAnalysis : IUnknown | 
 
 
 
 
 
 | 1334 | 
 { | 
 
 
 
 
 
 | 1335 | 
     HRESULT GetAlphaTextureBounds(DWRITE_TEXTURE_TYPE type, RECT* bounds); | 
 
 
 
 
 
 | 1336 | 
     HRESULT CreateAlphaTexture(DWRITE_TEXTURE_TYPE type, RECT const* bounds, BYTE* alphaValues, UINT32 bufferSize); | 
 
 
 
 
 
 | 1337 | 
     HRESULT GetAlphaBlendParams( | 
 
 
 
 
 
 | 1338 | 
         IDWriteRenderingParams* renderingParams, | 
 
 
 
 
 
 | 1339 | 
         FLOAT* blendGamma, | 
 
 
 
 
 
 | 1340 | 
         FLOAT* blendEnhancedContrast, | 
 
 
 
 
 
 | 1341 | 
         FLOAT* blendClearTypeLevel); | 
 
 
 
 
 
 | 1342 | 
 } | 
 
 
 
 
 
 | 1343 | 
  | 
 
 
 
 
 
 | 1344 | 
 [ | 
 
 
 
 
 
 | 1345 | 
 local, | 
 
 
 
 
 
 | 1346 | 
 object, | 
 
 
 
 
 
 | 1347 | 
 uuid(b859ee5a-d838-4b5b-a2e8-1adc7d93db48) | 
 
 
 
 
 
 | 1348 | 
 ] | 
 
 
 
 
 
 | 1349 | 
 interface IDWriteFactory : IUnknown | 
 
 
 
 
 
 | 1350 | 
 { | 
 
 
 
 
 
 | 1351 | 
     HRESULT GetSystemFontCollection(IDWriteFontCollection **collection, | 
 
 
 
 
 
 | 1352 | 
                                     [defaultvalue(FALSE)] BOOL check_for_updates); | 
 
 
 
 
 
 | 1353 | 
  | 
 
 
 
 
 
 | 1354 | 
     HRESULT CreateCustomFontCollection( | 
 
 
 
 
 
 | 1355 | 
         IDWriteFontCollectionLoader *loader, | 
 
 
 
 
 
 | 1356 | 
         void const *key, | 
 
 
 
 
 
 | 1357 | 
         UINT32 key_size, | 
 
 
 
 
 
 | 1358 | 
         IDWriteFontCollection **collection); | 
 
 
 
 
 
 | 1359 | 
  | 
 
 
 
 
 
 | 1360 | 
     HRESULT RegisterFontCollectionLoader(IDWriteFontCollectionLoader *loader); | 
 
 
 
 
 
 | 1361 | 
  | 
 
 
 
 
 
 | 1362 | 
     HRESULT UnregisterFontCollectionLoader(IDWriteFontCollectionLoader *loader); | 
 
 
 
 
 
 | 1363 | 
  | 
 
 
 
 
 
 | 1364 | 
     HRESULT CreateFontFileReference( | 
 
 
 
 
 
 | 1365 | 
         WCHAR const *path, | 
 
 
 
 
 
 | 1366 | 
         FILETIME const *writetime, | 
 
 
 
 
 
 | 1367 | 
         IDWriteFontFile **font_file); | 
 
 
 
 
 
 | 1368 | 
  | 
 
 
 
 
 
 | 1369 | 
     HRESULT CreateCustomFontFileReference( | 
 
 
 
 
 
 | 1370 | 
         void const *reference_key, | 
 
 
 
 
 
 | 1371 | 
         UINT32 key_size, | 
 
 
 
 
 
 | 1372 | 
         IDWriteFontFileLoader *loader, | 
 
 
 
 
 
 | 1373 | 
         IDWriteFontFile **font_file); | 
 
 
 
 
 
 | 1374 | 
  | 
 
 
 
 
 
 | 1375 | 
     HRESULT CreateFontFace( | 
 
 
 
 
 
 | 1376 | 
         DWRITE_FONT_FACE_TYPE facetype, | 
 
 
 
 
 
 | 1377 | 
         UINT32 files_number, | 
 
 
 
 
 
 | 1378 | 
         IDWriteFontFile* const* font_files, | 
 
 
 
 
 
 | 1379 | 
         UINT32 index, | 
 
 
 
 
 
 | 1380 | 
         DWRITE_FONT_SIMULATIONS sim_flags, | 
 
 
 
 
 
 | 1381 | 
         IDWriteFontFace **font_face); | 
 
 
 
 
 
 | 1382 | 
  | 
 
 
 
 
 
 | 1383 | 
     HRESULT CreateRenderingParams(IDWriteRenderingParams **params); | 
 
 
 
 
 
 | 1384 | 
  | 
 
 
 
 
 
 | 1385 | 
     HRESULT CreateMonitorRenderingParams( | 
 
 
 
 
 
 | 1386 | 
         HMONITOR monitor, | 
 
 
 
 
 
 | 1387 | 
         IDWriteRenderingParams **params); | 
 
 
 
 
 
 | 1388 | 
  | 
 
 
 
 
 
 | 1389 | 
     HRESULT CreateCustomRenderingParams( | 
 
 
 
 
 
 | 1390 | 
         FLOAT gamma, | 
 
 
 
 
 
 | 1391 | 
         FLOAT enhancedContrast, | 
 
 
 
 
 
 | 1392 | 
         FLOAT cleartype_level, | 
 
 
 
 
 
 | 1393 | 
         DWRITE_PIXEL_GEOMETRY geometry, | 
 
 
 
 
 
 | 1394 | 
         DWRITE_RENDERING_MODE mode, | 
 
 
 
 
 
 | 1395 | 
         IDWriteRenderingParams **params); | 
 
 
 
 
 
 | 1396 | 
  | 
 
 
 
 
 
 | 1397 | 
     HRESULT RegisterFontFileLoader(IDWriteFontFileLoader *loader); | 
 
 
 
 
 
 | 1398 | 
  | 
 
 
 
 
 
 | 1399 | 
     HRESULT UnregisterFontFileLoader(IDWriteFontFileLoader *loader); | 
 
 
 
 
 
 | 1400 | 
  | 
 
 
 
 
 
 | 1401 | 
     HRESULT CreateTextFormat( | 
 
 
 
 
 
 | 1402 | 
         WCHAR const* family_name, | 
 
 
 
 
 
 | 1403 | 
         IDWriteFontCollection *collection, | 
 
 
 
 
 
 | 1404 | 
         DWRITE_FONT_WEIGHT weight, | 
 
 
 
 
 
 | 1405 | 
         DWRITE_FONT_STYLE style, | 
 
 
 
 
 
 | 1406 | 
         DWRITE_FONT_STRETCH stretch, | 
 
 
 
 
 
 | 1407 | 
         FLOAT size, | 
 
 
 
 
 
 | 1408 | 
         WCHAR const *locale, | 
 
 
 
 
 
 | 1409 | 
         IDWriteTextFormat **format); | 
 
 
 
 
 
 | 1410 | 
  | 
 
 
 
 
 
 | 1411 | 
     HRESULT CreateTypography(IDWriteTypography **typography); | 
 
 
 
 
 
 | 1412 | 
  | 
 
 
 
 
 
 | 1413 | 
     HRESULT GetGdiInterop(IDWriteGdiInterop **gdi_interop); | 
 
 
 
 
 
 | 1414 | 
  | 
 
 
 
 
 
 | 1415 | 
     HRESULT CreateTextLayout( | 
 
 
 
 
 
 | 1416 | 
         WCHAR const* string, | 
 
 
 
 
 
 | 1417 | 
         UINT32 len, | 
 
 
 
 
 
 | 1418 | 
         IDWriteTextFormat *format, | 
 
 
 
 
 
 | 1419 | 
         FLOAT max_width, | 
 
 
 
 
 
 | 1420 | 
         FLOAT max_height, | 
 
 
 
 
 
 | 1421 | 
         IDWriteTextLayout **layout); | 
 
 
 
 
 
 | 1422 | 
  | 
 
 
 
 
 
 | 1423 | 
     HRESULT CreateGdiCompatibleTextLayout( | 
 
 
 
 
 
 | 1424 | 
         WCHAR const* string, | 
 
 
 
 
 
 | 1425 | 
         UINT32 len, | 
 
 
 
 
 
 | 1426 | 
         IDWriteTextFormat *format, | 
 
 
 
 
 
 | 1427 | 
         FLOAT layout_width, | 
 
 
 
 
 
 | 1428 | 
         FLOAT layout_height, | 
 
 
 
 
 
 | 1429 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 1430 | 
         DWRITE_MATRIX const* transform, | 
 
 
 
 
 
 | 1431 | 
         BOOL use_gdi_natural, | 
 
 
 
 
 
 | 1432 | 
         IDWriteTextLayout **layout); | 
 
 
 
 
 
 | 1433 | 
  | 
 
 
 
 
 
 | 1434 | 
     HRESULT CreateEllipsisTrimmingSign( | 
 
 
 
 
 
 | 1435 | 
         IDWriteTextFormat *format, | 
 
 
 
 
 
 | 1436 | 
         IDWriteInlineObject **trimming_sign); | 
 
 
 
 
 
 | 1437 | 
  | 
 
 
 
 
 
 | 1438 | 
     HRESULT CreateTextAnalyzer(IDWriteTextAnalyzer **analyzer); | 
 
 
 
 
 
 | 1439 | 
  | 
 
 
 
 
 
 | 1440 | 
     HRESULT CreateNumberSubstitution( | 
 
 
 
 
 
 | 1441 | 
         DWRITE_NUMBER_SUBSTITUTION_METHOD method, | 
 
 
 
 
 
 | 1442 | 
         WCHAR const* locale, | 
 
 
 
 
 
 | 1443 | 
         BOOL ignore_user_override, | 
 
 
 
 
 
 | 1444 | 
         IDWriteNumberSubstitution **substitution); | 
 
 
 
 
 
 | 1445 | 
  | 
 
 
 
 
 
 | 1446 | 
     HRESULT CreateGlyphRunAnalysis( | 
 
 
 
 
 
 | 1447 | 
         DWRITE_GLYPH_RUN const *glyph_run, | 
 
 
 
 
 
 | 1448 | 
         FLOAT pixels_per_dip, | 
 
 
 
 
 
 | 1449 | 
         DWRITE_MATRIX const* transform, | 
 
 
 
 
 
 | 1450 | 
         DWRITE_RENDERING_MODE rendering_mode, | 
 
 
 
 
 
 | 1451 | 
         DWRITE_MEASURING_MODE measuring_mode, | 
 
 
 
 
 
 | 1452 | 
         FLOAT baseline_x, | 
 
 
 
 
 
 | 1453 | 
         FLOAT baseline_y, | 
 
 
 
 
 
 | 1454 | 
         IDWriteGlyphRunAnalysis **analysis); | 
 
 
 
 
 
 | 1455 | 
 } | 
 
 
 
 
 
 | 1456 | 
  | 
 
 
 
 
 
 | 1457 | 
 cpp_quote("HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE,REFIID,IUnknown**);") | 
 
 
 
 
 
 | 1458 | 
  | 
 
 
 
 
 
 | 1459 | 
 /* error codes */ | 
 
 
 
 
 
 | 1460 | 
 cpp_quote("#define FACILITY_DWRITE 0x898") | 
 
 
 
 
 
 | 1461 | 
 cpp_quote("#define DWRITE_ERR_BASE 0x5000") | 
 
 
 
 
 
 | 1462 | 
 cpp_quote("#define MAKE_DWRITE_HR(severity, code) MAKE_HRESULT(severity, FACILITY_DWRITE, (DWRITE_ERR_BASE + code))") | 
 
 
 
 
 
 | 1463 | 
 cpp_quote("#define MAKE_DWRITE_HR_ERR(code) MAKE_DWRITE_HR(SEVERITY_ERROR, code)") |