1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! Mappings for the content of dwrite_3.h
8 use shared
::basetsd
::{UINT16, UINT32, UINT64}
;
9 use shared
::minwindef
::{BOOL, FILETIME, FLOAT}
;
10 use um
::dcommon
::{DWRITE_GLYPH_IMAGE_DATA, DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_MEASURING_MODE}
;
12 DWRITE_FONT_SIMULATIONS
, DWRITE_FONT_STRETCH
, DWRITE_FONT_STYLE
, DWRITE_FONT_WEIGHT
,
13 DWRITE_GLYPH_RUN
, DWRITE_INFORMATIONAL_STRING_ID
, DWRITE_LINE_SPACING_METHOD
, DWRITE_MATRIX
,
14 DWRITE_PIXEL_GEOMETRY
, DWRITE_RENDERING_MODE_ALIASED
, DWRITE_RENDERING_MODE_DEFAULT
,
15 DWRITE_RENDERING_MODE_GDI_CLASSIC
, DWRITE_RENDERING_MODE_GDI_NATURAL
,
16 DWRITE_RENDERING_MODE_NATURAL
, DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
,
17 DWRITE_RENDERING_MODE_OUTLINE
, IDWriteFont
, IDWriteFontCollection
, IDWriteFontCollectionVtbl
,
18 IDWriteFontFace
, IDWriteFontFamily
, IDWriteFontFamilyVtbl
, IDWriteFontFile
, IDWriteFontList
,
19 IDWriteFontListVtbl
, IDWriteGdiInterop
, IDWriteGdiInteropVtbl
, IDWriteGlyphRunAnalysis
,
20 IDWriteLocalizedStrings
, IDWriteRenderingParams
,
22 use um
::dwrite_1
::{DWRITE_OUTLINE_THRESHOLD, DWRITE_PANOSE, DWRITE_TEXT_ANTIALIAS_MODE}
;
24 DWRITE_GRID_FIT_MODE
, IDWriteFactory2
, IDWriteFactory2Vtbl
, IDWriteFont2
, IDWriteFont2Vtbl
,
25 IDWriteFontFace2
, IDWriteFontFace2Vtbl
, IDWriteRenderingParams2
, IDWriteRenderingParams2Vtbl
,
26 IDWriteTextFormat1
, IDWriteTextFormat1Vtbl
, IDWriteTextLayout2
, IDWriteTextLayout2Vtbl
,
28 use um
::unknwnbase
::{IUnknown, IUnknownVtbl}
;
29 use um
::wingdi
::{FONTSIGNATURE, LOGFONTW}
;
30 use um
::winnt
::{HRESULT, WCHAR}
;
31 pub const DWRITE_E_REMOTEFONT
: HRESULT
= 0x8898500D;
32 pub const DWRITE_E_DOWNLOADCANCELLED
: HRESULT
= 0x8898500E;
33 pub const DWRITE_E_DOWNLOADFAILED
: HRESULT
= 0x8898500F;
34 pub const DWRITE_E_TOOMANYDOWNLOADS
: HRESULT
= 0x88985010;
35 ENUM
!{enum DWRITE_FONT_PROPERTY_ID
{
36 DWRITE_FONT_PROPERTY_ID_NONE
,
37 DWRITE_FONT_PROPERTY_ID_FAMILY_NAME
,
38 DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME
,
39 DWRITE_FONT_PROPERTY_ID_FACE_NAME
,
40 DWRITE_FONT_PROPERTY_ID_FULL_NAME
,
41 DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME
,
42 DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME
,
43 DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG
,
44 DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG
,
45 DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG
,
46 DWRITE_FONT_PROPERTY_ID_WEIGHT
,
47 DWRITE_FONT_PROPERTY_ID_STRETCH
,
48 DWRITE_FONT_PROPERTY_ID_STYLE
,
49 DWRITE_FONT_PROPERTY_ID_TOTAL
,
51 STRUCT
!{struct DWRITE_FONT_PROPERTY
{
52 propertyId
: DWRITE_FONT_PROPERTY_ID
,
53 propertyValue
: *const WCHAR
,
54 localeName
: *const WCHAR
,
56 ENUM
!{enum DWRITE_LOCALITY
{
57 DWRITE_LOCALITY_REMOTE
,
58 DWRITE_LOCALITY_PARTIAL
,
59 DWRITE_LOCALITY_LOCAL
,
61 ENUM
!{enum DWRITE_RENDERING_MODE1
{
62 DWRITE_RENDERING_MODE1_DEFAULT
= DWRITE_RENDERING_MODE_DEFAULT
,
63 DWRITE_RENDERING_MODE1_ALIASED
= DWRITE_RENDERING_MODE_ALIASED
,
64 DWRITE_RENDERING_MODE1_GDI_CLASSIC
= DWRITE_RENDERING_MODE_GDI_CLASSIC
,
65 DWRITE_RENDERING_MODE1_GDI_NATURAL
= DWRITE_RENDERING_MODE_GDI_NATURAL
,
66 DWRITE_RENDERING_MODE1_NATURAL
= DWRITE_RENDERING_MODE_NATURAL
,
67 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC
= DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC
,
68 DWRITE_RENDERING_MODE1_OUTLINE
= DWRITE_RENDERING_MODE_OUTLINE
,
69 DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED
,
71 RIDL
!{#[uuid(0xb7924baa, 0x391b, 0x412a, 0x8c, 0x5c, 0xe4, 0x4c, 0xc2, 0xd8, 0x67, 0xdc)]
72 interface
IDWriteRenderingParams3(IDWriteRenderingParams3Vtbl
):
73 IDWriteRenderingParams2(IDWriteRenderingParams2Vtbl
) {
74 fn GetRenderingMode1() -> DWRITE_RENDERING_MODE1
,
76 RIDL
!{#[uuid(0x9a1b41c3, 0xd3bb, 0x466a, 0x87, 0xfc, 0xfe, 0x67, 0x55, 0x6a, 0x3b, 0x65)]
77 interface
IDWriteFactory3(IDWriteFactory3Vtbl
): IDWriteFactory2(IDWriteFactory2Vtbl
) {
78 fn CreateGlyphRunAnalysis(
79 glyphRun
: *const DWRITE_GLYPH_RUN
,
80 transform
: *const DWRITE_MATRIX
,
81 renderingMode
: DWRITE_RENDERING_MODE1
,
82 measuringMode
: DWRITE_MEASURING_MODE
,
83 gridFitMode
: DWRITE_GRID_FIT_MODE
,
84 antialiasMode
: DWRITE_TEXT_ANTIALIAS_MODE
,
85 baselineOriginX
: FLOAT
,
86 baselineOriginY
: FLOAT
,
87 glyphRunAnalysis
: *mut *mut IDWriteGlyphRunAnalysis
,
89 fn CreateCustomRenderingParams(
91 enhancedContrast
: FLOAT
,
92 grayscaleEnhancedContrast
: FLOAT
,
93 clearTypeLevel
: FLOAT
,
94 pixelGeometry
: DWRITE_PIXEL_GEOMETRY
,
95 renderingMode
: DWRITE_RENDERING_MODE1
,
96 gridFitMode
: DWRITE_GRID_FIT_MODE
,
97 renderingParams
: *mut *mut IDWriteRenderingParams3
,
99 fn CreateFontFaceReference_2(
100 fontFile
: *mut IDWriteFontFile
,
102 fontSimulations
: DWRITE_FONT_SIMULATIONS
,
103 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
105 fn CreateFontFaceReference_1(
106 filePath
: *const WCHAR
,
107 lastWriteTime
: *const FILETIME
,
109 fontSimulations
: DWRITE_FONT_SIMULATIONS
,
110 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
113 fontSet
: *mut *mut IDWriteFontSet
,
115 fn CreateFontSetBuilder(
116 fontSetBuilder
: *mut *mut IDWriteFontSetBuilder
,
118 fn CreateFontCollectionFromFontSet(
119 fontSet
: *mut IDWriteFontSet
,
120 fontCollection
: *mut *mut IDWriteFontCollection1
,
122 fn GetSystemFontCollection(
123 includeDownloadableFonts
: BOOL
,
124 fontCollection
: *mut *mut IDWriteFontCollection1
,
125 checkForUpdates
: BOOL
,
127 fn GetFontDownloadQueue(
128 fontDownloadQueue
: *mut *mut IDWriteFontDownloadQueue
,
131 RIDL
!{#[uuid(0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6b)]
132 interface
IDWriteFontSet(IDWriteFontSetVtbl
): IUnknown(IUnknownVtbl
) {
133 fn GetFontCount() -> UINT32
,
134 fn GetFontFaceReference(
136 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
138 fn FindFontFaceReference(
139 fontFaceReference
: *mut IDWriteFontFaceReference
,
140 listIndex
: *mut UINT32
,
144 fontFace
: *mut IDWriteFontFace
,
145 listIndex
: *mut UINT32
,
148 fn GetPropertyValues_3(
149 propertyID
: DWRITE_FONT_PROPERTY_ID
,
150 values
: *mut *mut IDWriteStringList
,
152 fn GetPropertyValues_2(
153 propertyID
: DWRITE_FONT_PROPERTY_ID
,
154 preferredLocaleNames
: *const WCHAR
,
155 values
: *mut *mut IDWriteStringList
,
157 fn GetPropertyValues_1(
159 propertyId
: DWRITE_FONT_PROPERTY_ID
,
161 values
: *mut *mut IDWriteLocalizedStrings
,
163 fn GetPropertyOccurrenceCount(
164 property
: *const DWRITE_FONT_PROPERTY
,
165 propertyOccurrenceCount
: *mut UINT32
,
167 fn GetMatchingFonts_2(
168 familyName
: *const WCHAR
,
169 fontWeight
: DWRITE_FONT_WEIGHT
,
170 fontStretch
: DWRITE_FONT_STRETCH
,
171 fontStyle
: DWRITE_FONT_STYLE
,
172 filteredSet
: *mut *mut IDWriteFontSet
,
174 fn GetMatchingFonts_1(
175 properties
: *const DWRITE_FONT_PROPERTY
,
176 propertyCount
: UINT32
,
177 filteredSet
: *mut *mut IDWriteFontSet
,
180 RIDL
!{#[uuid(0x2f642afe, 0x9c68, 0x4f40, 0xb8, 0xbe, 0x45, 0x74, 0x01, 0xaf, 0xcb, 0x3d)]
181 interface
IDWriteFontSetBuilder(IDWriteFontSetBuilderVtbl
): IUnknown(IUnknownVtbl
) {
182 fn AddFontFaceReference_2(
183 fontFaceReference
: *mut IDWriteFontFaceReference
,
184 properties
: *const DWRITE_FONT_PROPERTY
,
185 propertyCount
: UINT32
,
187 fn AddFontFaceReference_1(
188 fontFaceReference
: *mut IDWriteFontFaceReference
,
191 fontSet
: *mut IDWriteFontSet
,
194 fontSet
: *mut *mut IDWriteFontSet
,
197 RIDL
!{#[uuid(0x53585141, 0xd9f8, 0x4095, 0x83, 0x21, 0xd7, 0x3c, 0xf6, 0xbd, 0x11, 0x6c)]
198 interface
IDWriteFontCollection1(IDWriteFontCollection1Vtbl
):
199 IDWriteFontCollection(IDWriteFontCollectionVtbl
) {
201 fontSet
: *mut *mut IDWriteFontSet
,
205 fontFamily
: *mut *mut IDWriteFontFamily1
,
208 RIDL
!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xdf)]
209 interface
IDWriteFontFamily1(IDWriteFontFamily1Vtbl
):
210 IDWriteFontFamily(IDWriteFontFamilyVtbl
) {
213 ) -> DWRITE_LOCALITY
,
216 font
: *mut *mut IDWriteFont3
,
218 fn GetFontFaceReference(
220 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
223 RIDL
!{#[uuid(0xda20d8ef, 0x812a, 0x4c43, 0x98, 0x02, 0x62, 0xec, 0x4a, 0xbd, 0x7a, 0xde)]
224 interface
IDWriteFontList1(IDWriteFontList1Vtbl
): IDWriteFontList(IDWriteFontListVtbl
) {
227 ) -> DWRITE_LOCALITY
,
230 font
: *mut *mut IDWriteFont3
,
232 fn GetFontFaceReference(
234 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
237 RIDL
!{#[uuid(0x5e7fa7ca, 0xdde3, 0x424c, 0x89, 0xf0, 0x9f, 0xcd, 0x6f, 0xed, 0x58, 0xcd)]
238 interface
IDWriteFontFaceReference(IDWriteFontFaceReferenceVtbl
):
239 IUnknown(IUnknownVtbl
) {
241 fontFace
: *mut *mut IDWriteFontFace3
,
243 fn CreateFontFaceWithSimulations(
244 fontFaceSimulationFlags
: DWRITE_FONT_SIMULATIONS
,
245 fontFace
: *mut *mut IDWriteFontFace3
,
248 fontFaceReference
: *mut IDWriteFontFaceReference
,
250 fn GetFontFaceIndex() -> UINT32
,
251 fn GetSimulations() -> DWRITE_FONT_SIMULATIONS
,
253 fontFile
: *mut *mut IDWriteFontFile
,
255 fn GetLocalFileSize() -> UINT64
,
256 fn GetFileSize() -> UINT64
,
258 lastWriteTime
: *mut FILETIME
,
260 fn GetLocality() -> DWRITE_LOCALITY
,
261 fn EnqueueFontDownloadRequest() -> HRESULT
,
262 fn EnqueueCharacterDownloadRequest(
263 characters
: *const WCHAR
,
264 characterCount
: UINT32
,
266 fn EnqueueGlyphDownloadRequest(
267 glyphIndices
: *const UINT16
,
270 fn EnqueueFileFragmentDownloadRequest(
272 fragmentSize
: UINT64
,
275 RIDL
!{#[uuid(0x29748ed6, 0x8c9c, 0x4a6a, 0xbe, 0x0b, 0xd9, 0x12, 0xe8, 0x53, 0x89, 0x44)]
276 interface
IDWriteFont3(IDWriteFont3Vtbl
): IDWriteFont2(IDWriteFont2Vtbl
) {
278 fontFace
: *mut *mut IDWriteFontFace3
,
281 font
: *mut IDWriteFont
,
283 fn GetFontFaceReference(
284 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
287 unicodeValue
: UINT32
,
289 fn GetLocality() -> DWRITE_LOCALITY
,
291 RIDL
!{#[uuid(0xd37d7598, 0x09be, 0x4222, 0xa2, 0x36, 0x20, 0x81, 0x34, 0x1c, 0xc1, 0xf2)]
292 interface
IDWriteFontFace3(IDWriteFontFace3Vtbl
):
293 IDWriteFontFace2(IDWriteFontFace2Vtbl
) {
294 fn GetFontFaceReference(
295 fontFaceReference
: *mut *mut IDWriteFontFaceReference
,
298 panose
: *mut DWRITE_PANOSE
,
300 fn GetWeight() -> DWRITE_FONT_WEIGHT
,
301 fn GetStretch() -> DWRITE_FONT_STRETCH
,
302 fn GetStyle() -> DWRITE_FONT_STYLE
,
304 names
: *mut *mut IDWriteLocalizedStrings
,
307 names
: *mut *mut IDWriteLocalizedStrings
,
309 fn GetInformationalStrings(
310 informationalStringID
: DWRITE_INFORMATIONAL_STRING_ID
,
311 informationalStrings
: *mut *mut IDWriteLocalizedStrings
,
315 unicodeValue
: UINT32
,
317 fn GetRecommendedRenderingMode(
321 transform
: *const DWRITE_MATRIX
,
323 outlineThreshold
: DWRITE_OUTLINE_THRESHOLD
,
324 measuringMode
: DWRITE_MEASURING_MODE
,
325 renderingParams
: *mut IDWriteRenderingParams
,
326 renderingMode
: *mut DWRITE_RENDERING_MODE1
,
327 gridFitMode
: *mut DWRITE_GRID_FIT_MODE
,
330 unicodeValue
: UINT32
,
335 fn AreCharactersLocal(
336 characters
: *const WCHAR
,
337 characterCount
: UINT32
,
338 enqueueIfNotLocal
: BOOL
,
342 glyphIndices
: *const UINT16
,
344 enqueueIfNotLocal
: BOOL
,
348 RIDL
!{#[uuid(0xcfee3140, 0x1157, 0x47ca, 0x8b, 0x85, 0x31, 0xbf, 0xcf, 0x3f, 0x2d, 0x0e)]
349 interface
IDWriteStringList(IDWriteStringListVtbl
): IUnknown(IUnknownVtbl
) {
350 fn GetCount() -> UINT32
,
351 fn GetLocaleNameLength(
357 localeName
: *mut WCHAR
,
366 stringBuffer
: *mut WCHAR
,
367 stringBufferSize
: UINT32
,
370 RIDL
!{#[uuid(0xb06fe5b9, 0x43ec, 0x4393, 0x88, 0x1b, 0xdb, 0xe4, 0xdc, 0x72, 0xfd, 0xa7)]
371 interface
IDWriteFontDownloadListener(IDWriteFontDownloadListenerVtbl
):
372 IUnknown(IUnknownVtbl
) {
373 fn DownloadCompleted(
374 downloadQueue
: *mut IDWriteFontDownloadQueue
,
375 context
: *mut IUnknown
,
376 downloadResult
: HRESULT
,
379 RIDL
!{#[uuid(0xb71e6052, 0x5aea, 0x4fa3, 0x83, 0x2e, 0xf6, 0x0d, 0x43, 0x1f, 0x7e, 0x91)]
380 interface
IDWriteFontDownloadQueue(IDWriteFontDownloadQueueVtbl
):
381 IUnknown(IUnknownVtbl
) {
383 listener
: *mut IDWriteFontDownloadListener
,
389 fn IsEmpty() -> BOOL
,
391 context
: *mut IUnknown
,
393 fn CancelDownload() -> HRESULT
,
394 fn GetGenerationCount() -> UINT64
,
396 RIDL
!{#[uuid(0x4556be70, 0x3abd, 0x4f70, 0x90, 0xbe, 0x42, 0x17, 0x80, 0xa6, 0xf5, 0x15)]
397 interface
IDWriteGdiInterop1(IDWriteGdiInterop1Vtbl
):
398 IDWriteGdiInterop(IDWriteGdiInteropVtbl
) {
399 fn CreateFontFromLOGFONT(
400 logFont
: *const LOGFONTW
,
401 fontCollection
: *mut IDWriteFontCollection
,
402 font
: *mut *mut IDWriteFont
,
404 fn GetFontSignature_2(
405 fontFace
: *mut IDWriteFontFace
,
406 fontSignature
: *mut FONTSIGNATURE
,
408 fn GetFontSignature_1(
409 font
: *mut IDWriteFont
,
410 fontSignature
: *mut FONTSIGNATURE
,
412 fn GetMatchingFontsByLOGFONT(
413 logFont
: *const LOGFONTW
,
414 fontSet
: *mut IDWriteFontSet
,
415 filteredSet
: *mut *mut IDWriteFontSet
,
418 STRUCT
!{struct DWRITE_LINE_METRICS1
{
420 trailingWhitespaceLength
: UINT32
,
421 newlineLength
: UINT32
,
425 leadingBefore
: FLOAT
,
428 ENUM
!{enum DWRITE_FONT_LINE_GAP_USAGE
{
429 DWRITE_FONT_LINE_GAP_USAGE_DEFAULT
,
430 DWRITE_FONT_LINE_GAP_USAGE_DISABLED
,
431 DWRITE_FONT_LINE_GAP_USAGE_ENABLED
,
433 STRUCT
!{struct DWRITE_LINE_SPACING
{
434 method
: DWRITE_LINE_SPACING_METHOD
,
437 leadingBefore
: FLOAT
,
438 fontLineGapUsage
: DWRITE_FONT_LINE_GAP_USAGE
,
440 RIDL
!{#[uuid(0xf67e0edd, 0x9e3d, 0x4ecc, 0x8c, 0x32, 0x41, 0x83, 0x25, 0x3d, 0xfe, 0x70)]
441 interface
IDWriteTextFormat2(IDWriteTextFormat2Vtbl
):
442 IDWriteTextFormat1(IDWriteTextFormat1Vtbl
) {
444 lineSpacingOptions
: *const DWRITE_LINE_SPACING
,
447 lineSpacingOptions
: *mut DWRITE_LINE_SPACING
,
450 RIDL
!{#[uuid(0x07ddcd52, 0x020e, 0x4de8, 0xac, 0x33, 0x6c, 0x95, 0x3d, 0x83, 0xf9, 0x2d)]
451 interface
IDWriteTextLayout3(IDWriteTextLayout3Vtbl
):
452 IDWriteTextLayout2(IDWriteTextLayout2Vtbl
) {
453 fn InvalidateLayout() -> HRESULT
,
455 lineSpacingOptions
: *const DWRITE_LINE_SPACING
,
458 lineSpacingOptions
: *mut DWRITE_LINE_SPACING
,
461 lineMetrics
: *mut DWRITE_LINE_METRICS1
,
462 maxLineCount
: UINT32
,
463 actualLineCount
: *mut UINT32
,
466 RIDL
!{#[uuid(0x27f2a904, 0x4eb8, 0x441d, 0x96, 0x78, 0x05, 0x63, 0xf5, 0x3e, 0x3e, 0x2f)]
467 interface
IDWriteFontFace4(IDWriteFontFace4Vtbl
): IDWriteFontFace3(IDWriteFontFace3Vtbl
) {
468 fn GetGlyphImageFormats_2(
472 formats
: *mut DWRITE_GLYPH_IMAGE_FORMATS
,
474 fn GetGlyphImageFormats_1() -> DWRITE_GLYPH_IMAGE_FORMATS
,
475 fn GetGlyphImageData(
478 format
: DWRITE_GLYPH_IMAGE_FORMATS
,
479 data
: *mut DWRITE_GLYPH_IMAGE_DATA
,
480 context
: *mut *mut c_void
,
482 fn ReleaseGlyphImageData(
483 context
: *mut c_void
,
486 ENUM
!{enum DWRITE_FONT_AXIS_TAG
{
487 DWRITE_FONT_AXIS_TAG_WEIGHT
= 0x74686777,
488 DWRITE_FONT_AXIS_TAG_WIDTH
= 0x68746477,
489 DWRITE_FONT_AXIS_TAG_SLANT
= 0x746e6c73,
490 DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE
= 0x7a73706f,
491 DWRITE_FONT_AXIS_TAG_ITALIC
= 0x6c617469,
493 STRUCT
!{struct DWRITE_FONT_AXIS_VALUE
{
494 axisTag
: DWRITE_FONT_AXIS_TAG
,
497 STRUCT
!{struct DWRITE_FONT_AXIS_RANGE
{
498 axisTag
: DWRITE_FONT_AXIS_TAG
,
502 ENUM
!{enum DWRITE_FONT_AXIS_ATTRIBUTES
{
503 DWRITE_FONT_AXIS_ATTRIBUTES_NONE
,
504 DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE
,
505 DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN
,
507 RIDL
!{#[uuid(0x98eff3a5, 0xb667, 0x479a, 0xb1, 0x45, 0xe2, 0xfa, 0x5b, 0x9f, 0xdc, 0x29)]
508 interface
IDWriteFontFace5(IDWriteFontFace5Vtbl
): IDWriteFontFace4(IDWriteFontFace4Vtbl
) {
509 fn GetFontAxisValueCount() -> UINT32
,
510 fn GetFontAxisValues(
511 values
: *mut DWRITE_FONT_AXIS_VALUE
,
514 fn HasVariations() -> BOOL
,
516 resource
: *mut *mut IDWriteFontResource
,
519 fontFace
: *mut IDWriteFontFace
,
522 RIDL
!{#[uuid(0xc081fe77, 0x2fd1, 0x41ac, 0xa5, 0xa3, 0x34, 0x98, 0x3c, 0x4b, 0xa6, 0x1a)]
523 interface
IDWriteFontFaceReference1(IDWriteFontFaceReference1Vtbl
):
524 IDWriteFontFaceReference(IDWriteFontFaceReferenceVtbl
) {
526 fontFace
: *mut *mut IDWriteFontFace5
,
528 fn GetFontAxisValueCount() -> UINT32
,
529 fn GetFontAxisValues(
530 values
: *mut DWRITE_FONT_AXIS_VALUE
,
534 RIDL
!{#[uuid(0x1f803a76, 0x6871, 0x48e8, 0x98, 0x7f, 0xb9, 0x75, 0x55, 0x1c, 0x50, 0xf2)]
535 interface
IDWriteFontResource(IDWriteFontResourceVtbl
): IUnknown(IUnknownVtbl
) {
537 fontFile
: *mut *mut IDWriteFontFile
,
539 fn GetFontFaceIndex() -> UINT32
,
540 fn GetFontAxisCount() -> UINT32
,
541 fn GetDefaultFontAxisValues(
542 values
: *const DWRITE_FONT_AXIS_VALUE
,
545 fn GetFontAxisRanges(
546 ranges
: *const DWRITE_FONT_AXIS_RANGE
,
549 fn GetFontAxisAttributes(
551 ) -> DWRITE_FONT_AXIS_ATTRIBUTES
,
554 names
: *mut *mut IDWriteLocalizedStrings
,
556 fn GetAxisValueNameCount(
559 fn GetAxisValueNames(
562 axisRange
: *mut DWRITE_FONT_AXIS_RANGE
,
563 names
: *mut *mut IDWriteLocalizedStrings
,
565 fn HasVariations() -> BOOL
,
567 simulations
: DWRITE_FONT_SIMULATIONS
,
568 axisValues
: *const DWRITE_FONT_AXIS_VALUE
,
570 fontFace
: *mut *mut IDWriteFontFace5
,
572 fn CreateFontFaceReference(
573 simulations
: DWRITE_FONT_SIMULATIONS
,
574 axisValues
: *const DWRITE_FONT_AXIS_VALUE
,
576 reference
: *mut *mut IDWriteFontFaceReference1
,