23interface IDWriteFontFace3;
34/* already defined in d2d1.idl */
35typedef struct D2D1_GRADIENT_STOP D2D1_GRADIENT_STOP;
37typedef enum DWRITE_COLOR_COMPOSITE_MODE
39 DWRITE_COLOR_COMPOSITE_CLEAR,
40 DWRITE_COLOR_COMPOSITE_SRC,
41 DWRITE_COLOR_COMPOSITE_DEST,
42 DWRITE_COLOR_COMPOSITE_SRC_OVER,
43 DWRITE_COLOR_COMPOSITE_DEST_OVER,
44 DWRITE_COLOR_COMPOSITE_SRC_IN,
45 DWRITE_COLOR_COMPOSITE_DEST_IN,
46 DWRITE_COLOR_COMPOSITE_SRC_OUT,
47 DWRITE_COLOR_COMPOSITE_DEST_OUT,
48 DWRITE_COLOR_COMPOSITE_SRC_ATOP,
49 DWRITE_COLOR_COMPOSITE_DEST_ATOP,
50 DWRITE_COLOR_COMPOSITE_XOR,
51 DWRITE_COLOR_COMPOSITE_PLUS,
52 DWRITE_COLOR_COMPOSITE_SCREEN,
53 DWRITE_COLOR_COMPOSITE_OVERLAY,
54 DWRITE_COLOR_COMPOSITE_DARKEN,
55 DWRITE_COLOR_COMPOSITE_LIGHTEN,
56 DWRITE_COLOR_COMPOSITE_COLOR_DODGE,
57 DWRITE_COLOR_COMPOSITE_COLOR_BURN,
58 DWRITE_COLOR_COMPOSITE_HARD_LIGHT,
59 DWRITE_COLOR_COMPOSITE_SOFT_LIGHT,
60 DWRITE_COLOR_COMPOSITE_DIFFERENCE,
61 DWRITE_COLOR_COMPOSITE_EXCLUSION,
62 DWRITE_COLOR_COMPOSITE_MULTIPLY,
63 DWRITE_COLOR_COMPOSITE_HSL_HUE,
64 DWRITE_COLOR_COMPOSITE_HSL_SATURATION,
65 DWRITE_COLOR_COMPOSITE_HSL_COLOR,
66 DWRITE_COLOR_COMPOSITE_HSL_LUMINOSITY,
67} DWRITE_COLOR_COMPOSITE_MODE;
69typedef enum DWRITE_LOCALITY
71 DWRITE_LOCALITY_REMOTE,
72 DWRITE_LOCALITY_PARTIAL,
76typedef enum DWRITE_RENDERING_MODE1
78 DWRITE_RENDERING_MODE1_DEFAULT,
79 DWRITE_RENDERING_MODE1_ALIASED,
80 DWRITE_RENDERING_MODE1_GDI_CLASSIC,
81 DWRITE_RENDERING_MODE1_GDI_NATURAL,
82 DWRITE_RENDERING_MODE1_NATURAL,
83 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC,
84 DWRITE_RENDERING_MODE1_OUTLINE,
85 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED
86} DWRITE_RENDERING_MODE1;
88typedef enum DWRITE_FONT_PROPERTY_ID
90 DWRITE_FONT_PROPERTY_ID_NONE,
91 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME,
92 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME,
93 DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME,
94 DWRITE_FONT_PROPERTY_ID_FULL_NAME,
95 DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME,
96 DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME,
97 DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG,
98 DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG,
99 DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG,
100 DWRITE_FONT_PROPERTY_ID_WEIGHT,
101 DWRITE_FONT_PROPERTY_ID_STRETCH,
102 DWRITE_FONT_PROPERTY_ID_STYLE,
103 DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME,
104 DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1,
105 DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1,
106 DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME,
107 DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME,
108 DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME,
109} DWRITE_FONT_PROPERTY_ID;
111typedef struct DWRITE_FONT_PROPERTY
113 DWRITE_FONT_PROPERTY_ID propertyId;
114 WCHAR const *propertyValue;
115 WCHAR const *localeName;
116} DWRITE_FONT_PROPERTY;
118cpp_quote("#ifdef __cplusplus")
119cpp_quote("#define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast<DWRITE_FONT_AXIS_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)))")
121cpp_quote("#define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))")
124typedef enum DWRITE_FONT_AXIS_TAG
126 DWRITE_FONT_AXIS_TAG_WEIGHT = 0x74686777, /* 'wght' */
127 DWRITE_FONT_AXIS_TAG_WIDTH = 0x68746477, /* 'wdth' */
128 DWRITE_FONT_AXIS_TAG_SLANT = 0x746e6c73, /* 'slnt' */
129 DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = 0x7a73706f, /* 'opsz' */
130 DWRITE_FONT_AXIS_TAG_ITALIC = 0x6c617469, /* 'ital' */
131} DWRITE_FONT_AXIS_TAG;
133typedef enum DWRITE_FONT_SOURCE_TYPE
135 DWRITE_FONT_SOURCE_TYPE_UNKNOWN,
136 DWRITE_FONT_SOURCE_TYPE_PER_MACHINE,
137 DWRITE_FONT_SOURCE_TYPE_PER_USER,
138 DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE,
139 DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER
140} DWRITE_FONT_SOURCE_TYPE;
142typedef struct DWRITE_FONT_AXIS_VALUE
144 DWRITE_FONT_AXIS_TAG axisTag;
146} DWRITE_FONT_AXIS_VALUE;
148typedef struct DWRITE_FONT_AXIS_RANGE
150 DWRITE_FONT_AXIS_TAG axisTag;
153} DWRITE_FONT_AXIS_RANGE;
155typedef enum DWRITE_AUTOMATIC_FONT_AXES
157 DWRITE_AUTOMATIC_FONT_AXES_NONE,
158 DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE,
159} DWRITE_AUTOMATIC_FONT_AXES;
161typedef enum DWRITE_FONT_AXIS_ATTRIBUTES
163 DWRITE_FONT_AXIS_ATTRIBUTES_NONE,
164 DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE,
165 DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN,
166} DWRITE_FONT_AXIS_ATTRIBUTES;
168typedef enum DWRITE_FONT_FAMILY_MODEL
170 DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC,
171 DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE,
172} DWRITE_FONT_FAMILY_MODEL;
174typedef enum DWRITE_PAINT_TYPE
176 DWRITE_PAINT_TYPE_NONE,
177 DWRITE_PAINT_TYPE_LAYERS,
178 DWRITE_PAINT_TYPE_SOLID_GLYPH,
179 DWRITE_PAINT_TYPE_SOLID,
180 DWRITE_PAINT_TYPE_LINEAR_GRADIENT,
181 DWRITE_PAINT_TYPE_RADIAL_GRADIENT,
182 DWRITE_PAINT_TYPE_SWEEP_GRADIENT,
183 DWRITE_PAINT_TYPE_GLYPH,
184 DWRITE_PAINT_TYPE_COLOR_GLYPH,
185 DWRITE_PAINT_TYPE_TRANSFORM,
186 DWRITE_PAINT_TYPE_COMPOSITE,
189cpp_quote("#ifndef DWRITE_PAINT_FEATURE_LEVEL_DEFINED")
190cpp_quote("#define DWRITE_PAINT_FEATURE_LEVEL_DEFINED")
191typedef enum DWRITE_PAINT_FEATURE_LEVEL
193 DWRITE_PAINT_FEATURE_LEVEL_NONE = 0,
194 DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1,
195 DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2,
196} DWRITE_PAINT_FEATURE_LEVEL;
199typedef enum DWRITE_PAINT_ATTRIBUTES
201 DWRITE_PAINT_ATTRIBUTES_NONE = 0,
202 DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x01,
203 DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR = 0x02,
204} DWRITE_PAINT_ATTRIBUTES;
206cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DWRITE_PAINT_ATTRIBUTES)")
208typedef struct DWRITE_PAINT_COLOR
210 DWRITE_COLOR_F value;
211 UINT16 paletteEntryIndex;
212 float alphaMultiplier;
213 DWRITE_PAINT_ATTRIBUTES colorAttributes;
216typedef struct DWRITE_PAINT_ELEMENT
218 DWRITE_PAINT_TYPE paintType;
225 struct PAINT_SOLID_GLYPH
228 DWRITE_PAINT_COLOR color;
230 DWRITE_PAINT_COLOR solid;
231 struct PAINT_LINEAR_GRADIENT
234 UINT32 gradientStopCount;
242 struct PAINT_RADIAL_GRADIENT
245 UINT32 gradientStopCount;
253 struct PAINT_SWEEP_GRADIENT
256 UINT32 gradientStopCount;
266 struct PAINT_COLOR_GLYPH
271 DWRITE_MATRIX transform;
272 struct PAINT_COMPOSITE
274 DWRITE_COLOR_COMPOSITE_MODE mode;
277} DWRITE_PAINT_ELEMENT;
282 uuid(b06fe5b9-43ec-4393-881b-dbe4dc72fda7)
284interface IDWriteFontDownloadListener : IUnknown
286 void DownloadCompleted(
287 [in] IDWriteFontDownloadQueue *queue,
288 [in] IUnknown *context,
296 uuid(b71e6052-5aea-4fa3-832e-f60d431f7e91)
298interface IDWriteFontDownloadQueue : IUnknown
301 [in] IDWriteFontDownloadListener *listener,
304 HRESULT RemoveListener(
308 HRESULT BeginDownload(
309 [in] IUnknown *context
311 HRESULT CancelDownload();
312 UINT64 GetGenerationCount();
318 uuid(b7924baa-391b-412a-8c5c-e44cc2d867dc)
320interface IDWriteRenderingParams3 : IDWriteRenderingParams2
322 DWRITE_RENDERING_MODE1 GetRenderingMode1();
328 uuid(cfee3140-1157-47ca-8b85-31bfcf3f2d0e)
330interface IDWriteStringList : IUnknown
333 HRESULT GetLocaleNameLength(
337 HRESULT GetLocaleName(
342 HRESULT GetStringLength(
356 uuid(53585141-d9f8-4095-8321-d73cf6bd116b)
358interface IDWriteFontSet : IUnknown
360 UINT32 GetFontCount();
361 HRESULT GetFontFaceReference(
363 [out] IDWriteFontFaceReference **reference
365 HRESULT FindFontFaceReference(
366 [in] IDWriteFontFaceReference *reference,
370 HRESULT FindFontFace(
371 [in] IDWriteFontFace *fontface,
375 HRESULT GetPropertyValues__(
376 [in] DWRITE_FONT_PROPERTY_ID id,
377 [out] IDWriteStringList **values
379 HRESULT GetPropertyValues_(
380 [in] DWRITE_FONT_PROPERTY_ID id,
381 [in] WCHAR const *preferred_locales,
382 [out] IDWriteStringList **values
384 HRESULT GetPropertyValues(
386 [in] DWRITE_FONT_PROPERTY_ID id,
388 [out] IDWriteLocalizedStrings **values
390 HRESULT GetPropertyOccurrenceCount(
391 [in] DWRITE_FONT_PROPERTY const *property,
394 HRESULT GetMatchingFonts_(
395 [in] WCHAR const *family,
396 [in] DWRITE_FONT_WEIGHT weight,
397 [in] DWRITE_FONT_STRETCH stretch,
398 [in] DWRITE_FONT_STYLE style,
399 [out] IDWriteFontSet **fontset
401 HRESULT GetMatchingFonts(
402 [in] DWRITE_FONT_PROPERTY const *props,
404 [out] IDWriteFontSet **fontset
411 uuid(1f803a76-6871-48e8-987f-b975551c50f2)
413interface IDWriteFontResource : IUnknown
416 [out] IDWriteFontFile **fontfile
418 UINT32 GetFontFaceIndex();
419 UINT32 GetFontAxisCount();
420 HRESULT GetDefaultFontAxisValues(
421 [out] DWRITE_FONT_AXIS_VALUE *values,
422 [in] UINT32 num_values
424 HRESULT GetFontAxisRanges(
425 [out] DWRITE_FONT_AXIS_RANGE *ranges,
426 [in] UINT32 num_ranges
428 DWRITE_FONT_AXIS_ATTRIBUTES GetFontAxisAttributes(
431 HRESULT GetAxisNames(
433 [out] IDWriteLocalizedStrings **names
435 UINT32 GetAxisValueNameCount(
438 HRESULT GetAxisValueNames(
440 [in] UINT32 axis_value,
441 [out] DWRITE_FONT_AXIS_RANGE *axis_range,
442 [out] IDWriteLocalizedStrings **names
444 BOOL HasVariations();
445 HRESULT CreateFontFace(
446 [in] DWRITE_FONT_SIMULATIONS simulations,
447 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
448 [in] UINT32 num_values,
449 [out] IDWriteFontFace5 **fontface
451 HRESULT CreateFontFaceReference(
452 [in] DWRITE_FONT_SIMULATIONS simulations,
453 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
454 [in] UINT32 num_values,
455 [out] IDWriteFontFaceReference1 **reference
462 uuid(7e9fda85-6c92-4053-bc47-7ae3530db4d3)
464interface IDWriteFontSet1 : IDWriteFontSet
466 HRESULT GetMatchingFonts(
467 [in] DWRITE_FONT_PROPERTY const *property,
468 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
469 [in] UINT32 num_values,
470 [out] IDWriteFontSet1 **fontset
472 HRESULT GetFirstFontResources(
473 [out] IDWriteFontSet1 **fontset
475 HRESULT GetFilteredFonts__(
476 [in] UINT32 const *indices,
477 [in] UINT32 num_indices,
478 [out] IDWriteFontSet1 **fontset
480 HRESULT GetFilteredFonts_(
481 [in] DWRITE_FONT_AXIS_RANGE const *axis_ranges,
482 [in] UINT32 num_ranges,
483 [in] BOOL select_any_range,
484 [out] IDWriteFontSet1 **fontset
486 HRESULT GetFilteredFonts(
487 [in] DWRITE_FONT_PROPERTY const *props,
488 [in] UINT32 num_properties,
489 [in] BOOL select_any_property,
490 [out] IDWriteFontSet1 **fontset
492 HRESULT GetFilteredFontIndices_(
493 [in] DWRITE_FONT_AXIS_RANGE const *ranges,
494 [in] UINT32 num_ranges,
495 [in] BOOL select_any_range,
496 [out] UINT32 *indices,
497 [in] UINT32 num_indices,
498 [out] UINT32 *actual_num_indices
500 HRESULT GetFilteredFontIndices(
501 [in] DWRITE_FONT_PROPERTY const *props,
502 [in] UINT32 num_properties,
503 [in] BOOL select_any_range,
504 [out] UINT32 *indices,
505 [in] UINT32 num_indices,
506 [out] UINT32 *actual_num_indices
508 HRESULT GetFontAxisRanges_(
509 [in] UINT32 font_index,
510 [out] DWRITE_FONT_AXIS_RANGE *axis_ranges,
511 [in] UINT32 num_ranges,
512 [out] UINT32 *actual_num_ranges
514 HRESULT GetFontAxisRanges(
515 [out] DWRITE_FONT_AXIS_RANGE *axis_ranges,
516 [in] UINT32 num_ranges,
517 [out] UINT32 *actual_num_ranges
519 HRESULT GetFontFaceReference(
521 [out] IDWriteFontFaceReference1 **reference
523 HRESULT CreateFontResource(
525 [out] IDWriteFontResource **resource
527 HRESULT CreateFontFace(
529 [out] IDWriteFontFace5 **fontface
531 DWRITE_LOCALITY GetFontLocality(
539 uuid(29748ed6-8c9c-4a6a-be0b-d912e8538944)
541interface IDWriteFont3 : IDWriteFont2
543 HRESULT CreateFontFace(
544 [out] IDWriteFontFace3 **fontface
547 [in] IDWriteFont *font
549 HRESULT GetFontFaceReference(
550 [out] IDWriteFontFaceReference **reference
553 [in] UINT32 character
555 DWRITE_LOCALITY GetLocality();
561 uuid(da20d8ef-812a-4c43-9802-62ec4abd7adf)
563interface IDWriteFontFamily1 : IDWriteFontFamily
565 DWRITE_LOCALITY GetFontLocality(
570 [out] IDWriteFont3 **font
572 HRESULT GetFontFaceReference(
574 [out] IDWriteFontFaceReference **reference
581 uuid(3ed49e77-a398-4261-b9cf-c126c2131ef3)
583interface IDWriteFontFamily2 : IDWriteFontFamily1
585 HRESULT GetMatchingFonts(
586 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
587 [in] UINT32 num_values,
588 [out] IDWriteFontList2 **fontlist
591 [out] IDWriteFontSet1 **fontset
598 uuid(53585141-d9f8-4095-8321-d73cf6bd116c)
600interface IDWriteFontCollection1 : IDWriteFontCollection
603 [out] IDWriteFontSet **fontset
605 HRESULT GetFontFamily(
607 [out] IDWriteFontFamily1 **family
614 uuid(514039c6-4617-4064-bf8b-92ea83e506e0)
616interface IDWriteFontCollection2 : IDWriteFontCollection1
618 HRESULT GetFontFamily(
620 [out] IDWriteFontFamily2 **family
622 HRESULT GetMatchingFonts(
623 [in] const WCHAR *familyname,
624 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
625 [in] UINT32 num_values,
626 [out] IDWriteFontList2 **fontlist
628 DWRITE_FONT_FAMILY_MODEL GetFontFamilyModel();
630 [out] IDWriteFontSet1 **fontset
637 uuid(a4d055a6-f9e3-4e25-93b7-9e309f3af8e9)
639interface IDWriteFontCollection3 : IDWriteFontCollection2
641 HANDLE GetExpirationEvent();
647 uuid(5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd)
649interface IDWriteFontFaceReference : IUnknown
651 HRESULT CreateFontFace(
652 [out] IDWriteFontFace3 **fontface
654 HRESULT CreateFontFaceWithSimulations(
655 [in] DWRITE_FONT_SIMULATIONS simulations,
656 [out] IDWriteFontFace3 **fontface
659 [in] IDWriteFontFaceReference *reference
661 UINT32 GetFontFaceIndex();
662 DWRITE_FONT_SIMULATIONS GetSimulations();
664 [out] IDWriteFontFile **fontfile
666 UINT64 GetLocalFileSize();
667 UINT64 GetFileSize();
669 [out] FILETIME *writetime
671 DWRITE_LOCALITY GetLocality();
672 HRESULT EnqueueFontDownloadRequest();
673 HRESULT EnqueueCharacterDownloadRequest(
674 [in] WCHAR const *chars,
677 HRESULT EnqueueGlyphDownloadRequest(
678 [in] UINT16 const *glyphs,
681 HRESULT EnqueueFileFragmentDownloadRequest(
690 uuid(c081fe77-2fd1-41ac-a5a3-34983c4ba61a)
692interface IDWriteFontFaceReference1 : IDWriteFontFaceReference
694 HRESULT CreateFontFace(
695 [out] IDWriteFontFace5 **fontface
697 UINT32 GetFontAxisValueCount();
698 HRESULT GetFontAxisValues(
699 [out] DWRITE_FONT_AXIS_VALUE *values,
700 [in] UINT32 num_values
707 uuid(da20d8ef-812a-4c43-9802-62ec4abd7ade)
709interface IDWriteFontList1 : IDWriteFontList
711 DWRITE_LOCALITY GetFontLocality(
716 [out] IDWriteFont3 **font
718 HRESULT GetFontFaceReference(
720 [out] IDWriteFontFaceReference **reference
727 uuid(c0763a34-77af-445a-b735-08c37b0a5bf5)
729interface IDWriteFontList2 : IDWriteFontList1
732 [out] IDWriteFontSet1 **fontset
739 uuid(dc7ead19-e54c-43af-b2da-4e2b79ba3f7f)
741interface IDWriteFontSet2 : IDWriteFontSet1
743 HANDLE GetExpirationEvent();
749 uuid(7c073ef2-a7f4-4045-8c32-8ab8ae640f90)
751interface IDWriteFontSet3 : IDWriteFontSet2
753 DWRITE_FONT_SOURCE_TYPE GetFontSourceType(
756 UINT32 GetFontSourceNameLength(
759 HRESULT GetFontSourceName(
762 [in] UINT32 buffer_size
769 uuid(eec175fc-bea9-4c86-8b53-ccbdd7df0c82)
771interface IDWriteFontSet4 : IDWriteFontSet3
773 UINT32 ConvertWeightStretchStyleToFontAxisValues(
774 [in] DWRITE_FONT_AXIS_VALUE const *input_axis_values,
775 [in] UINT32 input_axis_count,
776 [in] DWRITE_FONT_WEIGHT weight,
777 [in] DWRITE_FONT_STRETCH stretch,
778 [in] DWRITE_FONT_STYLE style,
780 [out] DWRITE_FONT_AXIS_VALUE *output_axis_values
782 HRESULT GetMatchingFonts(
783 [in] WCHAR const *family_name,
784 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
785 [in] UINT32 axis_value_count,
786 [in] DWRITE_FONT_SIMULATIONS allowed_simulations,
787 [out] IDWriteFontSet4 **fonts
794 uuid(d37d7598-09be-4222-a236-2081341cc1f2)
796interface IDWriteFontFace3 : IDWriteFontFace2
798 HRESULT GetFontFaceReference(
799 [out] IDWriteFontFaceReference **reference
802 [out] DWRITE_PANOSE *panose
804 DWRITE_FONT_WEIGHT GetWeight();
805 DWRITE_FONT_STRETCH GetStretch();
806 DWRITE_FONT_STYLE GetStyle();
807 HRESULT GetFamilyNames(
808 [out] IDWriteLocalizedStrings **names
810 HRESULT GetFaceNames(
811 [out] IDWriteLocalizedStrings **names
813 HRESULT GetInformationalStrings(
814 [in] DWRITE_INFORMATIONAL_STRING_ID stringid,
815 [out] IDWriteLocalizedStrings **strings,
819 [in] UINT32 character
821 HRESULT GetRecommendedRenderingMode(
825 [in] DWRITE_MATRIX const *transform,
826 [in] BOOL is_sideways,
827 [in] DWRITE_OUTLINE_THRESHOLD threshold,
828 [in] DWRITE_MEASURING_MODE measuring_mode,
829 [in] IDWriteRenderingParams *params,
830 [out] DWRITE_RENDERING_MODE1 *rendering_mode,
831 [out] DWRITE_GRID_FIT_MODE *gridfit_mode
833 BOOL IsCharacterLocal(
834 [in] UINT32 character
839 HRESULT AreCharactersLocal(
840 [in] WCHAR const *characters,
842 [in] BOOL enqueue_if_not,
843 [out] BOOL *are_local
845 HRESULT AreGlyphsLocal(
846 [in] UINT16 const *glyphs,
848 [in] BOOL enqueue_if_not,
849 [out] BOOL *are_local
854typedef struct DWRITE_LINE_METRICS1
857 UINT32 trailingWhitespaceLength;
858 UINT32 newlineLength;
864} DWRITE_LINE_METRICS1;
866typedef enum DWRITE_FONT_LINE_GAP_USAGE
868 DWRITE_FONT_LINE_GAP_USAGE_DEFAULT,
869 DWRITE_FONT_LINE_GAP_USAGE_DISABLED,
870 DWRITE_FONT_LINE_GAP_USAGE_ENABLED
871} DWRITE_FONT_LINE_GAP_USAGE;
873typedef struct DWRITE_LINE_SPACING
875 DWRITE_LINE_SPACING_METHOD method;
879 DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage;
880} DWRITE_LINE_SPACING;
885 uuid(f67e0edd-9e3d-4ecc-8c32-4183253dfe70)
887interface IDWriteTextFormat2 : IDWriteTextFormat1
889 HRESULT SetLineSpacing(
890 [in] DWRITE_LINE_SPACING const *spacing
892 HRESULT GetLineSpacing(
893 [out] DWRITE_LINE_SPACING *spacing
900 uuid(6d3b5641-e550-430d-a85b-b7bf48a93427)
902interface IDWriteTextFormat3 : IDWriteTextFormat2
904 HRESULT SetFontAxisValues(
905 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
906 [in] UINT32 num_values
908 UINT32 GetFontAxisValueCount();
909 HRESULT GetFontAxisValues(
910 [out] DWRITE_FONT_AXIS_VALUE *axis_values,
911 [in] UINT32 num_values
913 DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes();
914 HRESULT SetAutomaticFontAxes(
915 [in] DWRITE_AUTOMATIC_FONT_AXES axes
922 uuid(07ddcd52-020e-4de8-ac33-6c953d83f92d)
924interface IDWriteTextLayout3 : IDWriteTextLayout2
926 HRESULT InvalidateLayout();
927 HRESULT SetLineSpacing(
928 [in] DWRITE_LINE_SPACING const *spacing
930 HRESULT GetLineSpacing(
931 [out] DWRITE_LINE_SPACING *spacing
933 HRESULT GetLineMetrics(
934 [out] DWRITE_LINE_METRICS1 *metrics,
935 [in] UINT32 max_count,
943 uuid(05a9bf42-223f-4441-b5fb-8263685f55e9)
945interface IDWriteTextLayout4 : IDWriteTextLayout3
947 HRESULT SetFontAxisValues(
948 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
949 [in] UINT32 num_values,
950 [in] DWRITE_TEXT_RANGE range
952 UINT32 GetFontAxisValueCount(
955 HRESULT GetFontAxisValues(
957 [out] DWRITE_FONT_AXIS_VALUE *values,
958 [in] UINT32 num_values,
959 [out] DWRITE_TEXT_RANGE *range
961 DWRITE_AUTOMATIC_FONT_AXES GetAutomaticFontAxes();
962 HRESULT SetAutomaticFontAxes(
963 [in] DWRITE_AUTOMATIC_FONT_AXES axes
970 uuid(2397599d-dd0d-4681-bd6a-f4f31eaade77)
972interface IDWriteFontFallback1 : IDWriteFontFallback
974 HRESULT MapCharacters(
975 [in] IDWriteTextAnalysisSource *source,
978 [in] IDWriteFontCollection *base_collection,
979 [in] const WCHAR *familyname,
980 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
981 [in] UINT32 num_values,
982 [out] UINT32 *mapped_length,
984 [out] IDWriteFontFace5 **fontface
991 uuid(4556be70-3abd-4f70-90be-421780a6f515)
993interface IDWriteGdiInterop1 : IDWriteGdiInterop
995 HRESULT CreateFontFromLOGFONT(
996 [in] LOGFONTW const *logfont,
997 [in] IDWriteFontCollection *collection,
998 [out] IDWriteFont **font
1001 /* GetFontSignature() methods are listed in reversed order to make
1002 resulting vtable order compatible. */
1003 HRESULT GetFontSignature_(
1004 [in] IDWriteFontFace *fontface,
1005 [out] FONTSIGNATURE *fontsig
1007 HRESULT GetFontSignature(
1008 [in] IDWriteFont *font,
1009 [out] FONTSIGNATURE *fontsig
1011 HRESULT GetMatchingFontsByLOGFONT(
1012 [in] LOGFONTW const *logfont,
1013 [in] IDWriteFontSet *fontset,
1014 [out] IDWriteFontSet **subset
1021 uuid(2f642afe-9c68-4f40-b8be-457401afcb3d)
1023interface IDWriteFontSetBuilder : IUnknown
1025 HRESULT AddFontFaceReference_(
1026 [in] IDWriteFontFaceReference *ref,
1027 [in] DWRITE_FONT_PROPERTY const *props,
1028 [in] UINT32 prop_count
1030 HRESULT AddFontFaceReference(
1031 [in] IDWriteFontFaceReference *ref);
1033 [in] IDWriteFontSet *fontset
1035 HRESULT CreateFontSet(
1036 [out] IDWriteFontSet **fontset
1043 uuid(3ff7715f-3cdc-4dc6-9b72-ec5621dccafd)
1045interface IDWriteFontSetBuilder1 : IDWriteFontSetBuilder
1047 HRESULT AddFontFile(
1048 [in] IDWriteFontFile *file
1055 uuid(ee5ba612-b131-463c-8f4f-3189b9401e45)
1057interface IDWriteFontSetBuilder2 : IDWriteFontSetBuilder1
1060 [in] IDWriteFontFile *fontfile,
1061 [in] UINT32 face_index,
1062 [in] DWRITE_FONT_SIMULATIONS simulations,
1063 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
1064 [in] UINT32 num_values,
1065 [in] DWRITE_FONT_AXIS_RANGE const *axis_ranges,
1066 [in] UINT32 num_ranges,
1067 [in] DWRITE_FONT_PROPERTY const *props,
1068 [in] UINT32 num_properties
1070 HRESULT AddFontFile(
1071 [in] const WCHAR *filepath
1078 uuid(9a1b41c3-d3bb-466a-87fc-fe67556a3b65)
1080interface IDWriteFactory3 : IDWriteFactory2
1082 HRESULT CreateGlyphRunAnalysis(
1083 [in] DWRITE_GLYPH_RUN const *run,
1084 [in] DWRITE_MATRIX const *transform,
1085 [in] DWRITE_RENDERING_MODE1 rendering_mode,
1086 [in] DWRITE_MEASURING_MODE measuring_mode,
1087 [in] DWRITE_GRID_FIT_MODE gridfit_mode,
1088 [in] DWRITE_TEXT_ANTIALIAS_MODE antialias_mode,
1089 [in] FLOAT origin_x,
1090 [in] FLOAT origin_y,
1091 [out] IDWriteGlyphRunAnalysis **analysis
1093 HRESULT CreateCustomRenderingParams(
1095 [in] FLOAT enhanced_contrast,
1096 [in] FLOAT grayscale_enhanced_contrast,
1097 [in] FLOAT cleartype_level,
1098 [in] DWRITE_PIXEL_GEOMETRY pixel_geometry,
1099 [in] DWRITE_RENDERING_MODE1 rendering_mode,
1100 [in] DWRITE_GRID_FIT_MODE gridfit_mode,
1101 [out] IDWriteRenderingParams3 **params
1103 /* CreateFontFaceReference methods are listed in reversed order to make
1104 resulting vtable order compatible. */
1105 HRESULT CreateFontFaceReference_(
1106 [in] IDWriteFontFile *file,
1108 [in] DWRITE_FONT_SIMULATIONS simulations,
1109 [out] IDWriteFontFaceReference **reference
1111 HRESULT CreateFontFaceReference(
1112 [in] WCHAR const *path,
1113 [in] FILETIME const *writetime,
1115 [in] DWRITE_FONT_SIMULATIONS simulations,
1116 [out] IDWriteFontFaceReference **reference
1118 HRESULT GetSystemFontSet(
1119 [out] IDWriteFontSet **fontset
1121 HRESULT CreateFontSetBuilder(
1122 [out] IDWriteFontSetBuilder **builder
1124 HRESULT CreateFontCollectionFromFontSet(
1125 [in] IDWriteFontSet *fontset,
1126 [out] IDWriteFontCollection1 **collection
1128 HRESULT GetSystemFontCollection(
1129 [in] BOOL include_downloadable,
1130 [out] IDWriteFontCollection1 **collection,
1131 [in] BOOL check_for_updates
1133 HRESULT GetFontDownloadQueue(
1134 [out] IDWriteFontDownloadQueue **queue
1138typedef struct DWRITE_GLYPH_IMAGE_DATA
1140 void const *imageData;
1141 UINT32 imageDataSize;
1142 UINT32 uniqueDataId;
1144 D2D1_SIZE_U pixelSize;
1145 D2D1_POINT_2L horizontalLeftOrigin;
1146 D2D1_POINT_2L horizontalRightOrigin;
1147 D2D1_POINT_2L verticalTopOrigin;
1148 D2D1_POINT_2L verticalBottomOrigin;
1149} DWRITE_GLYPH_IMAGE_DATA;
1154 uuid(27f2a904-4eb8-441d-9678-0563f53e3e2f)
1156interface IDWriteFontFace4 : IDWriteFontFace3
1158 HRESULT GetGlyphImageFormats_(
1160 [in] UINT32 ppem_first,
1161 [in] UINT32 ppem_last,
1162 [out] DWRITE_GLYPH_IMAGE_FORMATS *formats
1164 DWRITE_GLYPH_IMAGE_FORMATS GetGlyphImageFormats();
1165 HRESULT GetGlyphImageData(
1168 [in] DWRITE_GLYPH_IMAGE_FORMATS format,
1169 [out] DWRITE_GLYPH_IMAGE_DATA *data,
1170 [out] void **context
1172 void ReleaseGlyphImageData(
1180 uuid(98eff3a5-b667-479a-b145-e2fa5b9fdc29)
1182interface IDWriteFontFace5 : IDWriteFontFace4
1184 UINT32 GetFontAxisValueCount();
1185 HRESULT GetFontAxisValues(
1186 [out] DWRITE_FONT_AXIS_VALUE *values,
1187 [in] UINT32 value_count);
1188 BOOL HasVariations();
1189 HRESULT GetFontResource(
1190 [out] IDWriteFontResource **resource
1193 [in] IDWriteFontFace *fontface
1200 uuid(c4b1fe1b-6e84-47d5-b54c-a597981b06ad)
1202interface IDWriteFontFace6 : IDWriteFontFace5
1204 HRESULT GetFamilyNames(
1205 [in] DWRITE_FONT_FAMILY_MODEL font_family_model,
1206 [out] IDWriteLocalizedStrings **names
1208 HRESULT GetFaceNames(
1209 [in] DWRITE_FONT_FAMILY_MODEL font_family_model,
1210 [out] IDWriteLocalizedStrings **names
1217 uuid(8128e912-3b97-42a5-ab6c-24aad3a86e54)
1219interface IDWritePaintReader : IUnknown
1221 HRESULT SetCurrentGlyph(
1222 [in] UINT32 glyph_index,
1223 [out] DWRITE_PAINT_ELEMENT *paint_element,
1224 [in] UINT32 struct_size,
1225 [out] D2D_RECT_F *clip_box,
1226 [out, defaultvalue(NULL)] DWRITE_PAINT_ATTRIBUTES *glyph_attributes
1228 HRESULT SetTextColor(
1229 [in] DWRITE_COLOR_F const *text_color
1231 HRESULT SetColorPaletteIndex(
1232 [in] UINT32 color_palette_index
1234 HRESULT SetCustomColorPalette(
1235 [in] DWRITE_COLOR_F const *palette_entries,
1236 [in] UINT32 palette_entry_count
1238 HRESULT MoveToFirstChild(
1239 [out] DWRITE_PAINT_ELEMENT *paint_element,
1240 [in] UINT32 struct_size
1242 HRESULT MoveToNextSibling(
1243 [out] DWRITE_PAINT_ELEMENT *paint_element,
1244 [in] UINT32 struct_size
1246 HRESULT MoveToParent(void);
1247 HRESULT GetGradientStops(
1248 [in] UINT32 first_gradient_stop_index,
1249 [in] UINT32 gradient_stop_count,
1250 [out] D2D1_GRADIENT_STOP *gradient_stops
1252 HRESULT GetGradientStopColors(
1253 [in] UINT32 first_gradient_stop_index,
1254 [in] UINT32 gradient_stop_count,
1255 [out] DWRITE_PAINT_COLOR *gradient_stop_colors
1262 uuid(3945b85b-bc95-40f7-b72c-8b73bfc7e13b)
1264interface IDWriteFontFace7 : IDWriteFontFace6
1266 DWRITE_PAINT_FEATURE_LEVEL GetPaintFeatureLevel(
1267 [in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format
1269 HRESULT CreatePaintReader(
1270 [in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,
1271 [in] DWRITE_PAINT_FEATURE_LEVEL paint_feature_level,
1272 [out] IDWritePaintReader **paint_reader
1276typedef struct DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1;
1278cpp_quote("struct DWRITE_COLOR_GLYPH_RUN1")
1280cpp_quote(" DWRITE_GLYPH_RUN glyphRun;")
1281cpp_quote(" DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription;")
1282cpp_quote(" FLOAT baselineOriginX;")
1283cpp_quote(" FLOAT baselineOriginY;")
1284cpp_quote(" DWRITE_COLOR_F runColor;")
1285cpp_quote(" UINT16 paletteIndex;")
1286cpp_quote("#ifdef _WIN64")
1287cpp_quote(" UINT32 _pad;")
1289cpp_quote(" DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;")
1290cpp_quote(" DWRITE_MEASURING_MODE measuringMode;")
1296 uuid(7c5f86da-c7a1-4f05-b8e1-55a179fe5a35)
1298interface IDWriteColorGlyphRunEnumerator1 : IDWriteColorGlyphRunEnumerator
1300 HRESULT GetCurrentRun(
1301 [out] DWRITE_COLOR_GLYPH_RUN1 const **run
1308 uuid(4b0b5bd3-0797-4549-8ac5-fe915cc53856)
1310interface IDWriteFactory4 : IDWriteFactory3
1312 HRESULT TranslateColorGlyphRun(
1313 [in] D2D1_POINT_2F baseline_origin,
1314 [in] DWRITE_GLYPH_RUN const *run,
1315 [in] DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc,
1316 [in] DWRITE_GLYPH_IMAGE_FORMATS desired_formats,
1317 [in] DWRITE_MEASURING_MODE measuring_mode,
1318 [in] DWRITE_MATRIX const *transform,
1319 [in] UINT32 palette,
1320 [out] IDWriteColorGlyphRunEnumerator1 **layers
1322 HRESULT ComputeGlyphOrigins_(
1323 [in] DWRITE_GLYPH_RUN const *run,
1324 [in] D2D1_POINT_2F baseline_origin,
1325 [out] D2D1_POINT_2F *origins
1327 HRESULT ComputeGlyphOrigins(
1328 [in] DWRITE_GLYPH_RUN const *run,
1329 [in] DWRITE_MEASURING_MODE measuring_mode,
1330 [in] D2D1_POINT_2F baseline_origin,
1331 [in] DWRITE_MATRIX const *transform,
1332 [out] D2D1_POINT_2F *origins
1339 uuid(ce25f8fd-863b-4d13-9651-c1f88dc73fe2)
1341interface IDWriteAsyncResult : IUnknown
1343 HANDLE GetWaitHandle();
1344 HRESULT GetResult();
1347typedef struct DWRITE_FILE_FRAGMENT
1350 UINT64 fragmentSize;
1351} DWRITE_FILE_FRAGMENT;
1356 uuid(4db3757a-2c72-4ed9-b2b6-1ababe1aff9c)
1358interface IDWriteRemoteFontFileStream : IDWriteFontFileStream
1360 HRESULT GetLocalFileSize(
1363 HRESULT GetFileFragmentLocality(
1366 [out] BOOL *is_local,
1367 [out] UINT64 *partial_size
1369 DWRITE_LOCALITY GetLocality();
1370 HRESULT BeginDownload(
1371 [in] GUID const *operation_id,
1372 [in] DWRITE_FILE_FRAGMENT const *fragments,
1373 [in] UINT32 fragment_count,
1374 [out] IDWriteAsyncResult **async_result
1378typedef enum DWRITE_CONTAINER_TYPE
1380 DWRITE_CONTAINER_TYPE_UNKNOWN,
1381 DWRITE_CONTAINER_TYPE_WOFF,
1382 DWRITE_CONTAINER_TYPE_WOFF2,
1383} DWRITE_CONTAINER_TYPE;
1388 uuid(68648c83-6ede-46c0-ab46-20083a887fde)
1390interface IDWriteRemoteFontFileLoader : IDWriteFontFileLoader
1392 HRESULT CreateRemoteStreamFromKey(
1393 [in] void const *key,
1394 [in] UINT32 key_size,
1395 [out] IDWriteRemoteFontFileStream **stream
1397 HRESULT GetLocalityFromKey(
1398 [in] void const *key,
1399 [in] UINT32 key_size,
1400 [out] DWRITE_LOCALITY *locality
1402 HRESULT CreateFontFileReferenceFromUrl(
1403 [in] IDWriteFactory *factory,
1404 [in] WCHAR const *base_url,
1405 [in] WCHAR const *file_url,
1406 [out] IDWriteFontFile **fontfile
1413 uuid(dc102f47-a12d-4b1c-822d-9e117e33043f)
1415interface IDWriteInMemoryFontFileLoader : IDWriteFontFileLoader
1417 HRESULT CreateInMemoryFontFileReference(
1418 [in] IDWriteFactory *factory,
1419 [in] void const *data,
1420 [in] UINT32 data_size,
1421 [in] IUnknown *owner,
1422 [out] IDWriteFontFile **fontfile
1424 UINT32 GetFileCount();
1430 uuid(958db99a-be2a-4f09-af7d-65189803d1d3)
1432interface IDWriteFactory5 : IDWriteFactory4
1434 HRESULT CreateFontSetBuilder(
1435 [out] IDWriteFontSetBuilder1 **fontset_builder
1437 HRESULT CreateInMemoryFontFileLoader(
1438 [out] IDWriteInMemoryFontFileLoader **loader
1440 HRESULT CreateHttpFontFileLoader(
1441 [in] WCHAR const *referrer_url,
1442 [in] WCHAR const *extra_headers,
1443 [out] IDWriteRemoteFontFileLoader **loader
1445 DWRITE_CONTAINER_TYPE AnalyzeContainerType(
1446 [in] void const *data,
1447 [in] UINT32 data_size
1449 HRESULT UnpackFontFile(
1450 [in] DWRITE_CONTAINER_TYPE container_type,
1451 [in] void const *data,
1452 [in] UINT32 data_size,
1453 [out] IDWriteFontFileStream **stream
1460 uuid(f3744d80-21f7-42eb-b35d-995bc72fc223)
1462interface IDWriteFactory6 : IDWriteFactory5
1464 HRESULT CreateFontFaceReference(
1465 [in] IDWriteFontFile *file,
1466 [in] UINT32 face_index,
1467 [in] DWRITE_FONT_SIMULATIONS simulations,
1468 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
1469 [in] UINT32 num_axis,
1470 [out] IDWriteFontFaceReference1 **face_ref
1472 HRESULT CreateFontResource(
1473 [in] IDWriteFontFile *file,
1474 [in] UINT32 face_index,
1475 [out] IDWriteFontResource **resource
1477 HRESULT GetSystemFontSet(
1478 [in] BOOL include_downloadable,
1479 [out] IDWriteFontSet1 **fontset
1481 HRESULT GetSystemFontCollection(
1482 [in] BOOL include_downloadable,
1483 [in] DWRITE_FONT_FAMILY_MODEL family_model,
1484 [out] IDWriteFontCollection2 **collection
1486 HRESULT CreateFontCollectionFromFontSet(
1487 [in] IDWriteFontSet *fontset,
1488 [in] DWRITE_FONT_FAMILY_MODEL family_model,
1489 [out] IDWriteFontCollection2 **collection
1491 HRESULT CreateFontSetBuilder(
1492 [out] IDWriteFontSetBuilder2 **builder
1494 HRESULT CreateTextFormat(
1495 [in] const WCHAR *familyname,
1496 [in] IDWriteFontCollection *collection,
1497 [in] DWRITE_FONT_AXIS_VALUE const *axis_values,
1498 [in] UINT32 num_axis,
1499 [in] FLOAT fontsize,
1500 [in] const WCHAR *localename,
1501 [out] IDWriteTextFormat3 **format
1508 uuid(35d0e0b3-9076-4d2e-a016-a91b568a06b4)
1510interface IDWriteFactory7 : IDWriteFactory6
1512 HRESULT GetSystemFontSet(
1513 [in] BOOL include_downloadable,
1514 [out] IDWriteFontSet2 **fontset
1516 HRESULT GetSystemFontCollection(
1517 [in] BOOL include_downloadable,
1518 [in] DWRITE_FONT_FAMILY_MODEL family_model,
1519 [out] IDWriteFontCollection3 **collection
1526 uuid(ee0a7fb5-def4-4c23-a454-c9c7dc878398)
1528interface IDWriteFactory8 : IDWriteFactory7
1530 HRESULT TranslateColorGlyphRun(
1531 [in] D2D1_POINT_2F origin,
1532 [in] DWRITE_GLYPH_RUN const *glyph_run,
1533 [in] DWRITE_GLYPH_RUN_DESCRIPTION const *glyph_run_desc,
1534 [in] DWRITE_GLYPH_IMAGE_FORMATS image_formats,
1535 [in] DWRITE_PAINT_FEATURE_LEVEL feature_level,
1536 [in] DWRITE_MEASURING_MODE measuring_mode,
1537 [in] DWRITE_MATRIX const *world_and_dpi_transform,
1538 [in] UINT32 palette_index,
1539 [out] IDWriteColorGlyphRunEnumerator1 **enumerator);
1542typedef struct DWRITE_BITMAP_DATA_BGRA32
1547} DWRITE_BITMAP_DATA_BGRA32;
1552 uuid(c553a742-fc01-44da-a66e-b8b9ed6c3995)
1554interface IDWriteBitmapRenderTarget2 : IDWriteBitmapRenderTarget1
1556 HRESULT GetBitmapData([out] DWRITE_BITMAP_DATA_BGRA32 *bitmap_data);
1562 uuid(aeec37db-c337-40f1-8e2a-9a41b167b238)
1564interface IDWriteBitmapRenderTarget3 : IDWriteBitmapRenderTarget2
1566 DWRITE_PAINT_FEATURE_LEVEL GetPaintFeatureLevel();
1567 HRESULT DrawPaintGlyphRun(
1568 [in] FLOAT origin_x,
1569 [in] FLOAT origin_y,
1570 [in] DWRITE_MEASURING_MODE measuring_mode,
1571 [in] DWRITE_GLYPH_RUN const *run,
1572 [in] DWRITE_GLYPH_IMAGE_FORMATS image_format,
1573 [in] COLORREF text_color,
1574 [in] UINT32 palette_index,
1575 [out] RECT *black_box);
1576 HRESULT DrawGlyphRunWithColorSupport(
1577 [in] FLOAT origin_x,
1578 [in] FLOAT origin_y,
1579 [in] DWRITE_MEASURING_MODE measuring_mode,
1580 [in] DWRITE_GLYPH_RUN const *run,
1581 [in] IDWriteRenderingParams *params,
1582 [in] COLORREF text_color,
1583 [in] UINT32 palette_index,
1584 [out] RECT *black_box);
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
struct FONTSIGNATURE FONTSIGNATURE