| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| #ifndef DWRITE_3_H_INCLUDED |
| #define DWRITE_3_H_INCLUDED |
| |
| #include <dwrite_2.h> |
| |
| #define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) \ |
| (static_cast<DWRITE_FONT_AXIS_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) |
| |
| enum DWRITE_RENDERING_MODE1 { |
| DWRITE_RENDERING_MODE1_DEFAULT = DWRITE_RENDERING_MODE_DEFAULT, |
| DWRITE_RENDERING_MODE1_ALIASED = DWRITE_RENDERING_MODE_ALIASED, |
| DWRITE_RENDERING_MODE1_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, |
| DWRITE_RENDERING_MODE1_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, |
| DWRITE_RENDERING_MODE1_NATURAL = DWRITE_RENDERING_MODE_NATURAL, |
| DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, |
| DWRITE_RENDERING_MODE1_OUTLINE = DWRITE_RENDERING_MODE_OUTLINE, |
| DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED |
| }; |
| |
| enum DWRITE_FONT_AXIS_TAG : UINT32 { |
| DWRITE_FONT_AXIS_TAG_WEIGHT = DWRITE_MAKE_FONT_AXIS_TAG('w','g','h','t'), |
| DWRITE_FONT_AXIS_TAG_WIDTH = DWRITE_MAKE_FONT_AXIS_TAG('w','d','t','h'), |
| DWRITE_FONT_AXIS_TAG_SLANT = DWRITE_MAKE_FONT_AXIS_TAG('s','l','n','t'), |
| DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = DWRITE_MAKE_FONT_AXIS_TAG('o','p','s','z'), |
| DWRITE_FONT_AXIS_TAG_ITALIC = DWRITE_MAKE_FONT_AXIS_TAG('i','t','a','l') |
| }; |
| |
| enum DWRITE_FONT_AXIS_ATTRIBUTES { |
| DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0x0000, |
| DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 0x0001, |
| DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 0x0002 |
| }; |
| |
| struct DWRITE_GLYPH_IMAGE_DATA { |
| void const *imageData; |
| UINT32 imageDataSize; |
| UINT32 uniqueDataId; |
| UINT32 pixelsPerEm; |
| D2D1_SIZE_U pixelSize; |
| D2D1_POINT_2L horizontalLeftOrigin; |
| D2D1_POINT_2L horizontalRightOrigin; |
| D2D1_POINT_2L verticalTopOrigin; |
| D2D1_POINT_2L verticalBottomOrigin; |
| }; |
| |
| struct DWRITE_FONT_AXIS_VALUE { |
| DWRITE_FONT_AXIS_TAG axisTag; |
| FLOAT value; |
| }; |
| |
| struct DWRITE_FONT_AXIS_RANGE { |
| DWRITE_FONT_AXIS_TAG axisTag; |
| FLOAT minValue; |
| FLOAT maxValue; |
| }; |
| |
| interface IDWriteFontResource; |
| interface IDWriteFontFaceReference1; |
| interface IDWriteFontFaceReference; |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFace3 |
| DECLARE_INTERFACE_(IDWriteFontFace3,IDWriteFontFace2) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IDWriteFontFace methods */ |
| STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE; |
| |
| STDMETHOD(GetFiles)(THIS_ |
| UINT32 *numberOfFiles, |
| IDWriteFontFile **fontFiles) PURE; |
| |
| STDMETHOD_(UINT32, GetIndex)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; |
| STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE; |
| |
| STDMETHOD_(void, GetMetrics)(THIS_ |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD_(UINT16, GetGlyphCount)(THIS) PURE; |
| |
| STDMETHOD(GetDesignGlyphMetrics)(THIS_ |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| STDMETHOD(GetGlyphIndices)(THIS_ |
| UINT32 const *codePoints, |
| UINT32 codePointCount, |
| UINT16 *glyphIndices) PURE; |
| |
| STDMETHOD(TryGetFontTable)(THIS_ |
| UINT32 openTypeTableTag, |
| const void **tableData, |
| UINT32 *tableSize, |
| void **tableContext, |
| WINBOOL *exists) PURE; |
| |
| STDMETHOD_(void, ReleaseFontTable)(THIS_ |
| void *tableContext) PURE; |
| |
| STDMETHOD(GetGlyphRunOutline)(THIS_ |
| FLOAT emSize, |
| UINT16 const *glyphIndices, |
| FLOAT const *glyphAdvances, |
| DWRITE_GLYPH_OFFSET const *glyphOffsets, |
| UINT32 glyphCount, |
| WINBOOL isSideways, |
| WINBOOL isRightToLeft, |
| IDWriteGeometrySink *geometrySink) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE *renderingMode) PURE; |
| |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD(GetGdiCompatibleGlyphMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| WINBOOL useGdiNatural, |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| /* IDWriteFontFace1 methods */ |
| STDMETHOD_(void, GetMetrics)(THIS_ DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD_(void, GetCaretMetrics)(THIS_ DWRITE_CARET_METRICS*) PURE; |
| STDMETHOD(GetUnicodeRanges)(THIS_ UINT32, DWRITE_UNICODE_RANGE*,UINT32*) PURE; |
| STDMETHOD_(BOOL, IsMonospacedFont)(THIS) PURE; |
| STDMETHOD(GetDesignGlyphAdvances)(THIS_ UINT32,UINT16 const*,INT32*,BOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| STDMETHOD(GetGdiCompatibleGlyphAdvances)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL,BOOL,UINT32, |
| UINT16 const*,INT32*) PURE; |
| STDMETHOD(GetKerningPairAdjustments)(THIS_ UINT32,UINT16 const*,INT32*) PURE; |
| STDMETHOD_(BOOL, HasKerningPairs)(THIS); |
| STDMETHOD(GetRecommendedRenderingMode)(FLOAT,FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL, |
| DWRITE_OUTLINE_THRESHOLD,DWRITE_MEASURING_MODE,DWRITE_RENDERING_MODE*) PURE; |
| STDMETHOD(GetVerticalGlyphVariants)(THIS_ UINT32,UINT16 const*,UINT16*); |
| STDMETHOD_(BOOL, HasVerticalGlyphVariants)(THIS); |
| |
| /* IDWriteFontFace2 methods */ |
| STDMETHOD_(BOOL, IsColorFont)(THIS) PURE; |
| STDMETHOD_(UINT32, GetColorPaletteCount)(THIS) PURE; |
| STDMETHOD_(UINT32, GetPaletteEntryCount)(THIS) PURE; |
| STDMETHOD(GetPaletteEntries)(THIS_ |
| UINT32 colorPaletteIndex, |
| UINT32 firstEntryIndex, |
| UINT32 entryCount, |
| DWRITE_COLOR_F* paletteEntries |
| ) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT fontEmSize, |
| FLOAT dpiX, |
| FLOAT dpiY, |
| DWRITE_MATRIX const* transform, |
| BOOL isSideways, |
| DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams* renderingParams, |
| DWRITE_RENDERING_MODE* renderingMode, |
| DWRITE_GRID_FIT_MODE* gridFitMode |
| ) PURE; |
| #endif |
| |
| /* IDWriteFontFace3 methods */ |
| STDMETHOD(GetFontFaceReference)(THIS_ IDWriteFontFaceReference **fontFaceReference) PURE; |
| STDMETHOD_(void, GetPanose)(THIS_ DWRITE_PANOSE *panose) PURE; |
| STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE; |
| STDMETHOD(GetFamilyNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetFaceNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetInformationalStrings)(THIS_ DWRITE_INFORMATIONAL_STRING_ID informationalStringID, |
| IDWriteLocalizedStrings **informationalStrings, BOOL *exists) PURE; |
| STDMETHOD_(BOOL, HasCharacter)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, |
| DWRITE_MATRIX const *transform, BOOL isSideways, DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE1 *renderingMode, DWRITE_GRID_FIT_MODE *gridFitMode) PURE; |
| |
| #ifdef __cplusplus |
| using IDWriteFontFace2::GetRecommendedRenderingMode; |
| #endif |
| |
| STDMETHOD_(BOOL, IsCharacterLocal)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD_(BOOL, IsGlyphLocal)(THIS_ UINT16 glyphId) PURE; |
| STDMETHOD(AreCharactersLocal)(THIS_ WCHAR const *characters, UINT32 characterCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| STDMETHOD(AreGlyphsLocal)(THIS_ UINT16 const *glyphIndices, UINT32 glyphCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFace3, 0xd37d7598,0x09be,0x4222,0xa2,0x36,0x20,0x81,0x34,0x1c,0xc1,0xf2) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFace4 |
| DECLARE_INTERFACE_(IDWriteFontFace4,IDWriteFontFace3) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IDWriteFontFace methods */ |
| STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE; |
| |
| STDMETHOD(GetFiles)(THIS_ |
| UINT32 *numberOfFiles, |
| IDWriteFontFile **fontFiles) PURE; |
| |
| STDMETHOD_(UINT32, GetIndex)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; |
| STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE; |
| |
| STDMETHOD_(void, GetMetrics)(THIS_ |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD_(UINT16, GetGlyphCount)(THIS) PURE; |
| |
| STDMETHOD(GetDesignGlyphMetrics)(THIS_ |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| STDMETHOD(GetGlyphIndices)(THIS_ |
| UINT32 const *codePoints, |
| UINT32 codePointCount, |
| UINT16 *glyphIndices) PURE; |
| |
| STDMETHOD(TryGetFontTable)(THIS_ |
| UINT32 openTypeTableTag, |
| const void **tableData, |
| UINT32 *tableSize, |
| void **tableContext, |
| WINBOOL *exists) PURE; |
| |
| STDMETHOD_(void, ReleaseFontTable)(THIS_ |
| void *tableContext) PURE; |
| |
| STDMETHOD(GetGlyphRunOutline)(THIS_ |
| FLOAT emSize, |
| UINT16 const *glyphIndices, |
| FLOAT const *glyphAdvances, |
| DWRITE_GLYPH_OFFSET const *glyphOffsets, |
| UINT32 glyphCount, |
| WINBOOL isSideways, |
| WINBOOL isRightToLeft, |
| IDWriteGeometrySink *geometrySink) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE *renderingMode) PURE; |
| |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD(GetGdiCompatibleGlyphMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| WINBOOL useGdiNatural, |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| /* IDWriteFontFace1 methods */ |
| STDMETHOD_(void, GetMetrics)(THIS_ DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD_(void, GetCaretMetrics)(THIS_ DWRITE_CARET_METRICS*) PURE; |
| STDMETHOD(GetUnicodeRanges)(THIS_ UINT32, DWRITE_UNICODE_RANGE*,UINT32*) PURE; |
| STDMETHOD_(BOOL, IsMonospacedFont)(THIS) PURE; |
| STDMETHOD(GetDesignGlyphAdvances)(THIS_ UINT32,UINT16 const*,INT32*,BOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| STDMETHOD(GetGdiCompatibleGlyphAdvances)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL,BOOL,UINT32, |
| UINT16 const*,INT32*) PURE; |
| STDMETHOD(GetKerningPairAdjustments)(THIS_ UINT32,UINT16 const*,INT32*) PURE; |
| STDMETHOD_(BOOL, HasKerningPairs)(THIS); |
| STDMETHOD(GetRecommendedRenderingMode)(FLOAT,FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL, |
| DWRITE_OUTLINE_THRESHOLD,DWRITE_MEASURING_MODE,DWRITE_RENDERING_MODE*) PURE; |
| STDMETHOD(GetVerticalGlyphVariants)(THIS_ UINT32,UINT16 const*,UINT16*); |
| STDMETHOD_(BOOL, HasVerticalGlyphVariants)(THIS); |
| |
| /* IDWriteFontFace2 methods */ |
| STDMETHOD_(BOOL, IsColorFont)(THIS) PURE; |
| STDMETHOD_(UINT32, GetColorPaletteCount)(THIS) PURE; |
| STDMETHOD_(UINT32, GetPaletteEntryCount)(THIS) PURE; |
| STDMETHOD(GetPaletteEntries)(THIS_ |
| UINT32 colorPaletteIndex, |
| UINT32 firstEntryIndex, |
| UINT32 entryCount, |
| DWRITE_COLOR_F* paletteEntries |
| ) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT fontEmSize, |
| FLOAT dpiX, |
| FLOAT dpiY, |
| DWRITE_MATRIX const* transform, |
| BOOL isSideways, |
| DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams* renderingParams, |
| DWRITE_RENDERING_MODE* renderingMode, |
| DWRITE_GRID_FIT_MODE* gridFitMode |
| ) PURE; |
| |
| /* IDWriteFontFace3 methods */ |
| STDMETHOD(GetFontFaceReference)(THIS_ IDWriteFontFaceReference **fontFaceReference) PURE; |
| STDMETHOD_(void, GetPanose)(THIS_ DWRITE_PANOSE *panose) PURE; |
| STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE; |
| STDMETHOD(GetFamilyNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetFaceNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetInformationalStrings)(THIS_ DWRITE_INFORMATIONAL_STRING_ID informationalStringID, |
| IDWriteLocalizedStrings **informationalStrings, BOOL *exists) PURE; |
| STDMETHOD_(BOOL, HasCharacter)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, |
| DWRITE_MATRIX const *transform, BOOL isSideways, DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE1 *renderingMode, DWRITE_GRID_FIT_MODE *gridFitMode) PURE; |
| STDMETHOD_(BOOL, IsCharacterLocal)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD_(BOOL, IsGlyphLocal)(THIS_ UINT16 glyphId) PURE; |
| STDMETHOD(AreCharactersLocal)(THIS_ WCHAR const *characters, UINT32 characterCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| STDMETHOD(AreGlyphsLocal)(THIS_ UINT16 const *glyphIndices, UINT32 glyphCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| #endif |
| |
| /* IDWriteFontFace4 methods */ |
| STDMETHOD_(DWRITE_GLYPH_IMAGE_FORMATS, GetGlyphImageFormats)(THIS) PURE; |
| STDMETHOD(GetGlyphImageFormats)(THIS_ UINT16 glyphId, UINT32 pixelsPerEmFirst, |
| UINT32 pixelsPerEmLast, DWRITE_GLYPH_IMAGE_FORMATS *glyphImageFormats) PURE; |
| STDMETHOD(GetGlyphImageData)(THIS_ UINT16 glyphId, UINT32 pixelsPerEm, |
| DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat, DWRITE_GLYPH_IMAGE_DATA *glyphData, |
| void **glyphDataContext) PURE; |
| STDMETHOD_(void, ReleaseGlyphImageData)(THIS_ void *glyphDataContext) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFace4, 0x27f2a904,0x4eb8,0x441d,0x96,0x78,0x05,0x63,0xf5,0x3e,0x3e,0x2f) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFace5 |
| DECLARE_INTERFACE_(IDWriteFontFace5,IDWriteFontFace4) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IDWriteFontFace methods */ |
| STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)(THIS) PURE; |
| |
| STDMETHOD(GetFiles)(THIS_ |
| UINT32 *numberOfFiles, |
| IDWriteFontFile **fontFiles) PURE; |
| |
| STDMETHOD_(UINT32, GetIndex)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)(THIS) PURE; |
| STDMETHOD_(WINBOOL, IsSymbolFont)(THIS) PURE; |
| |
| STDMETHOD_(void, GetMetrics)(THIS_ |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD_(UINT16, GetGlyphCount)(THIS) PURE; |
| |
| STDMETHOD(GetDesignGlyphMetrics)(THIS_ |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| STDMETHOD(GetGlyphIndices)(THIS_ |
| UINT32 const *codePoints, |
| UINT32 codePointCount, |
| UINT16 *glyphIndices) PURE; |
| |
| STDMETHOD(TryGetFontTable)(THIS_ |
| UINT32 openTypeTableTag, |
| const void **tableData, |
| UINT32 *tableSize, |
| void **tableContext, |
| WINBOOL *exists) PURE; |
| |
| STDMETHOD_(void, ReleaseFontTable)(THIS_ |
| void *tableContext) PURE; |
| |
| STDMETHOD(GetGlyphRunOutline)(THIS_ |
| FLOAT emSize, |
| UINT16 const *glyphIndices, |
| FLOAT const *glyphAdvances, |
| DWRITE_GLYPH_OFFSET const *glyphOffsets, |
| UINT32 glyphCount, |
| WINBOOL isSideways, |
| WINBOOL isRightToLeft, |
| IDWriteGeometrySink *geometrySink) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE *renderingMode) PURE; |
| |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| DWRITE_FONT_METRICS *fontFaceMetrics) PURE; |
| |
| STDMETHOD(GetGdiCompatibleGlyphMetrics)(THIS_ |
| FLOAT emSize, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| WINBOOL useGdiNatural, |
| UINT16 const *glyphIndices, |
| UINT32 glyphCount, |
| DWRITE_GLYPH_METRICS *glyphMetrics, |
| WINBOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| /* IDWriteFontFace1 methods */ |
| STDMETHOD_(void, GetMetrics)(THIS_ DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD(GetGdiCompatibleMetrics)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,DWRITE_FONT_METRICS1*) PURE; |
| STDMETHOD_(void, GetCaretMetrics)(THIS_ DWRITE_CARET_METRICS*) PURE; |
| STDMETHOD(GetUnicodeRanges)(THIS_ UINT32, DWRITE_UNICODE_RANGE*,UINT32*) PURE; |
| STDMETHOD_(BOOL, IsMonospacedFont)(THIS) PURE; |
| STDMETHOD(GetDesignGlyphAdvances)(THIS_ UINT32,UINT16 const*,INT32*,BOOL isSideways __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| STDMETHOD(GetGdiCompatibleGlyphAdvances)(THIS_ FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL,BOOL,UINT32, |
| UINT16 const*,INT32*) PURE; |
| STDMETHOD(GetKerningPairAdjustments)(THIS_ UINT32,UINT16 const*,INT32*) PURE; |
| STDMETHOD_(BOOL, HasKerningPairs)(THIS); |
| STDMETHOD(GetRecommendedRenderingMode)(FLOAT,FLOAT,FLOAT,DWRITE_MATRIX const*,BOOL, |
| DWRITE_OUTLINE_THRESHOLD,DWRITE_MEASURING_MODE,DWRITE_RENDERING_MODE*) PURE; |
| STDMETHOD(GetVerticalGlyphVariants)(THIS_ UINT32,UINT16 const*,UINT16*); |
| STDMETHOD_(BOOL, HasVerticalGlyphVariants)(THIS); |
| |
| /* IDWriteFontFace2 methods */ |
| STDMETHOD_(BOOL, IsColorFont)(THIS) PURE; |
| STDMETHOD_(UINT32, GetColorPaletteCount)(THIS) PURE; |
| STDMETHOD_(UINT32, GetPaletteEntryCount)(THIS) PURE; |
| STDMETHOD(GetPaletteEntries)(THIS_ |
| UINT32 colorPaletteIndex, |
| UINT32 firstEntryIndex, |
| UINT32 entryCount, |
| DWRITE_COLOR_F* paletteEntries |
| ) PURE; |
| |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ |
| FLOAT fontEmSize, |
| FLOAT dpiX, |
| FLOAT dpiY, |
| DWRITE_MATRIX const* transform, |
| BOOL isSideways, |
| DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, |
| IDWriteRenderingParams* renderingParams, |
| DWRITE_RENDERING_MODE* renderingMode, |
| DWRITE_GRID_FIT_MODE* gridFitMode |
| ) PURE; |
| |
| /* IDWriteFontFace3 methods */ |
| STDMETHOD(GetFontFaceReference)(THIS_ IDWriteFontFaceReference **fontFaceReference) PURE; |
| STDMETHOD_(void, GetPanose)(THIS_ DWRITE_PANOSE *panose) PURE; |
| STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)(THIS) PURE; |
| STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)(THIS) PURE; |
| STDMETHOD(GetFamilyNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetFaceNames)(THIS_ IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD(GetInformationalStrings)(THIS_ DWRITE_INFORMATIONAL_STRING_ID informationalStringID, |
| IDWriteLocalizedStrings **informationalStrings, BOOL *exists) PURE; |
| STDMETHOD_(BOOL, HasCharacter)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD(GetRecommendedRenderingMode)(THIS_ FLOAT fontEmSize, FLOAT dpiX, FLOAT dpiY, |
| DWRITE_MATRIX const *transform, BOOL isSideways, DWRITE_OUTLINE_THRESHOLD outlineThreshold, |
| DWRITE_MEASURING_MODE measuringMode, IDWriteRenderingParams *renderingParams, |
| DWRITE_RENDERING_MODE1 *renderingMode, DWRITE_GRID_FIT_MODE *gridFitMode) PURE; |
| STDMETHOD_(BOOL, IsCharacterLocal)(THIS_ UINT32 unicodeValue) PURE; |
| STDMETHOD_(BOOL, IsGlyphLocal)(THIS_ UINT16 glyphId) PURE; |
| STDMETHOD(AreCharactersLocal)(THIS_ WCHAR const *characters, UINT32 characterCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| STDMETHOD(AreGlyphsLocal)(THIS_ UINT16 const *glyphIndices, UINT32 glyphCount, |
| BOOL enqueueIfNotLocal, BOOL *isLocal) PURE; |
| |
| /* IDWriteFontFace4 methods */ |
| STDMETHOD_(DWRITE_GLYPH_IMAGE_FORMATS, GetGlyphImageFormats)(THIS) PURE; |
| STDMETHOD(GetGlyphImageFormats)(THIS_ UINT16 glyphId, UINT32 pixelsPerEmFirst, |
| UINT32 pixelsPerEmLast, DWRITE_GLYPH_IMAGE_FORMATS *glyphImageFormats) PURE; |
| STDMETHOD(GetGlyphImageData)(THIS_ UINT16 glyphId, UINT32 pixelsPerEm, |
| DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat, DWRITE_GLYPH_IMAGE_DATA *glyphData, |
| void **glyphDataContext) PURE; |
| STDMETHOD_(void, ReleaseGlyphImageData)(THIS_ void *glyphDataContext) PURE; |
| #endif |
| |
| /* IDWriteFontFace5 methods */ |
| STDMETHOD_(UINT32, GetFontAxisValueCount)(THIS) PURE; |
| STDMETHOD(GetFontAxisValues)(THIS_ DWRITE_FONT_AXIS_VALUE *fontAxisValues, |
| UINT32 fontAxisValueCount) PURE; |
| STDMETHOD_(BOOL, HasVariations)(THIS) PURE; |
| STDMETHOD(GetFontResource)(THIS_ IDWriteFontResource **fontResource) PURE; |
| STDMETHOD_(BOOL, Equals)(THIS_ IDWriteFontFace *fontFace) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFace5, 0x98eff3a5,0xb667,0x479a,0xb1,0x45,0xe2,0xfa,0x5b,0x9f,0xdc,0x29) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontResource |
| DECLARE_INTERFACE_(IDWriteFontResource,IUnknown) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| #endif |
| |
| STDMETHOD(GetFontFile)(THIS_ IDWriteFontFile **fontFile) PURE; |
| STDMETHOD_(UINT32, GetFontFaceIndex)(THIS) PURE; |
| STDMETHOD_(UINT32, GetFontAxisCount)(THIS) PURE; |
| STDMETHOD(GetDefaultFontAxisValues)(THIS_ DWRITE_FONT_AXIS_VALUE *fontAxisValues, |
| UINT32 fontAxisValueCount) PURE; |
| STDMETHOD(GetFontAxisRanges)(THIS_ DWRITE_FONT_AXIS_RANGE *fontAxisRanges, |
| UINT32 fontAxisRangeCount) PURE; |
| STDMETHOD_(DWRITE_FONT_AXIS_ATTRIBUTES, GetFontAxisAttributes)(THIS_ UINT32 axisIndex) PURE; |
| STDMETHOD(GetAxisNames)(THIS_ UINT32 axisIndex, IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD_(UINT32, GetAxisValueNameCount)(THIS_ UINT32 axisIndex) PURE; |
| STDMETHOD(GetAxisValueNames)(THIS_ UINT32 axisIndex, UINT32 axisValueIndex, |
| DWRITE_FONT_AXIS_RANGE* fontAxisRange, IDWriteLocalizedStrings **names) PURE; |
| STDMETHOD_(BOOL, HasVariations)(THIS) PURE; |
| STDMETHOD(CreateFontFace)(THIS_ DWRITE_FONT_SIMULATIONS fontSimulations, |
| DWRITE_FONT_AXIS_VALUE const *fontAxisValues, UINT32 fontAxisValueCount, |
| IDWriteFontFace5 **fontFace) PURE; |
| STDMETHOD(CreateFontFaceReference)(THIS_ DWRITE_FONT_SIMULATIONS fontSimulations, |
| DWRITE_FONT_AXIS_VALUE const *fontAxisValues, UINT32 fontAxisValueCount, |
| IDWriteFontFaceReference1 **fontFaceReference) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontResource, 0x1f803a76,0x6871,0x48e8,0x98,0x7f,0xb9,0x75,0x55,0x1c,0x50,0xf2) |
| |
| |
| #endif /* DWRITE_3_H_INCLUDED */ |