| /** |
| * 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_2_H_INCLUDED |
| #define DWRITE_2_H_INCLUDED |
| |
| #include <dwrite_1.h> |
| |
| typedef enum DWRITE_GRID_FIT_MODE |
| { |
| DWRITE_GRID_FIT_MODE_DEFAULT, |
| DWRITE_GRID_FIT_MODE_DISABLED, |
| DWRITE_GRID_FIT_MODE_ENABLED |
| } DWRITE_GRID_FIT_MODE; |
| |
| #ifndef D3DCOLORVALUE_DEFINED |
| #define D3DCOLORVALUE_DEFINED |
| typedef struct _D3DCOLORVALUE { |
| union { |
| FLOAT r; |
| FLOAT dvR; |
| } DUMMYUNIONNAME1; |
| union { |
| FLOAT g; |
| FLOAT dvG; |
| } DUMMYUNIONNAME2; |
| union { |
| FLOAT b; |
| FLOAT dvB; |
| } DUMMYUNIONNAME3; |
| union { |
| FLOAT a; |
| FLOAT dvA; |
| } DUMMYUNIONNAME4; |
| } D3DCOLORVALUE,*LPD3DCOLORVALUE; |
| #endif /* D3DCOLORVALUE_DEFINED */ |
| |
| typedef D3DCOLORVALUE DWRITE_COLOR_F; |
| |
| typedef struct DWRITE_COLOR_GLYPH_RUN |
| { |
| DWRITE_GLYPH_RUN glyphRun; |
| DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription; |
| FLOAT baselineOriginX; |
| FLOAT baselineOriginY; |
| DWRITE_COLOR_F runColor; |
| UINT16 paletteIndex; |
| } DWRITE_COLOR_GLYPH_RUN; |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFallback |
| DECLARE_INTERFACE_(IDWriteFontFallback,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(MapCharacters)(THIS_ |
| IDWriteTextAnalysisSource *analysisSource, |
| UINT32 textPosition, |
| UINT32 textLength, |
| IDWriteFontCollection *baseFontCollection, |
| wchar_t const *baseFamilyName, |
| DWRITE_FONT_WEIGHT baseWeight, |
| DWRITE_FONT_STYLE baseStyle, |
| DWRITE_FONT_STRETCH baseStretch, |
| UINT32 *mappedLength, |
| IDWriteFont **mappedFont, |
| FLOAT *scale) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFallback, 0xefa008f9,0xf7a1,0x48bf,0xb0,0x5c,0xf2,0x24,0x71,0x3c,0xc0,0xff) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFallbackBuilder |
| DECLARE_INTERFACE_(IDWriteFontFallbackBuilder,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(AddMapping)(THIS_ |
| DWRITE_UNICODE_RANGE const *ranges, |
| UINT32 rangesCount, |
| WCHAR const **targetFamilyNames, |
| UINT32 targetFamilyNamesCount, |
| IDWriteFontCollection *fontCollection __MINGW_DEF_ARG_VAL(NULL), |
| WCHAR const *localeName __MINGW_DEF_ARG_VAL(NULL), |
| WCHAR const *baseFamilyName __MINGW_DEF_ARG_VAL(NULL), |
| FLOAT scale __MINGW_DEF_ARG_VAL(1.0f)) PURE; |
| |
| STDMETHOD(AddMappings)(THIS_ |
| IDWriteFontFallback *fontFallback) PURE; |
| |
| STDMETHOD(CreateFontFallback)(THIS_ |
| IDWriteFontFallback **fontFallback) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFallbackBuilder, 0xfd882d06,0x8aba,0x4fb8,0xb8,0x49,0x8b,0xe8,0xb7,0x3e,0x14,0xde) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteColorGlyphRunEnumerator |
| DECLARE_INTERFACE_(IDWriteColorGlyphRunEnumerator,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(MoveNext)(THIS_ |
| BOOL *hasRun) PURE; |
| |
| STDMETHOD(GetCurrentRun)(THIS_ |
| DWRITE_COLOR_GLYPH_RUN const **colorGlyphRun) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteColorGlyphRunEnumerator, 0xd31fbe17,0xf157,0x41a2,0x8d,0x24,0xcb,0x77,0x9e,0x05,0x60,0xe8) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteRenderingParams2 |
| DECLARE_INTERFACE_(IDWriteRenderingParams2,IDWriteRenderingParams1) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IDWriteRenderingParams methods */ |
| STDMETHOD_(FLOAT, GetGamma)(THIS) PURE; |
| STDMETHOD_(FLOAT, GetEnhancedContrast)(THIS) PURE; |
| STDMETHOD_(FLOAT, GetClearTypeLevel)(THIS) PURE; |
| STDMETHOD_(DWRITE_PIXEL_GEOMETRY, GetPixelGeometry)(THIS) PURE; |
| STDMETHOD_(DWRITE_RENDERING_MODE, GetRenderingMode)(THIS) PURE; |
| |
| /* IDWriteRenderingParams1 methods */ |
| STDMETHOD_(FLOAT, GetGrayscaleEnhancedContrast)(THIS) PURE; |
| #endif |
| |
| /* IDWriteRenderingParams2 methods */ |
| STDMETHOD_(DWRITE_GRID_FIT_MODE, GetGridFitMode)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteRenderingParams2, 0xf9d711c3,0x9777,0x40ae,0x87,0xe8,0x3e,0x5a,0xf9,0xbf,0x09,0x48) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFactory2 |
| DECLARE_INTERFACE_(IDWriteFactory2,IDWriteFactory1) |
| { |
| BEGIN_INTERFACE |
| |
| #ifndef __cplusplus |
| /* IUnknown methods */ |
| STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; |
| STDMETHOD_(ULONG, AddRef)(THIS) PURE; |
| STDMETHOD_(ULONG, Release)(THIS) PURE; |
| |
| /* IDWriteFactory methods */ |
| STDMETHOD(GetSystemFontCollection)(THIS_ |
| IDWriteFontCollection **fontCollection, |
| WINBOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| STDMETHOD(CreateCustomFontCollection)(THIS_ |
| IDWriteFontCollectionLoader *collectionLoader, |
| void const *collectionKey, |
| UINT32 collectionKeySize, |
| IDWriteFontCollection **fontCollection) PURE; |
| |
| STDMETHOD(RegisterFontCollectionLoader)(THIS_ |
| IDWriteFontCollectionLoader *fontCollectionLoader) PURE; |
| |
| STDMETHOD(UnregisterFontCollectionLoader)(THIS_ |
| IDWriteFontCollectionLoader *fontCollectionLoader) PURE; |
| |
| STDMETHOD(CreateFontFileReference)(THIS_ |
| WCHAR const *filePath, |
| FILETIME const *lastWriteTime, |
| IDWriteFontFile **fontFile) PURE; |
| |
| STDMETHOD(CreateCustomFontFileReference)(THIS_ |
| void const *fontFileReferenceKey, |
| UINT32 fontFileReferenceKeySize, |
| IDWriteFontFileLoader *fontFileLoader, |
| IDWriteFontFile **fontFile) PURE; |
| |
| STDMETHOD(CreateFontFace)(THIS_ |
| DWRITE_FONT_FACE_TYPE fontFaceType, |
| UINT32 numberOfFiles, |
| IDWriteFontFile *const *fontFiles, |
| UINT32 faceIndex, |
| DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, |
| IDWriteFontFace **fontFace) PURE; |
| |
| STDMETHOD(CreateRenderingParams)(THIS_ |
| IDWriteRenderingParams **renderingParams) PURE; |
| |
| STDMETHOD(CreateMonitorRenderingParams)(THIS_ |
| HMONITOR monitor, |
| IDWriteRenderingParams **renderingParams) PURE; |
| |
| STDMETHOD(CreateCustomRenderingParams)(THIS_ |
| FLOAT gamma, |
| FLOAT enhancedContrast, |
| FLOAT clearTypeLevel, |
| DWRITE_PIXEL_GEOMETRY pixelGeometry, |
| DWRITE_RENDERING_MODE renderingMode, |
| IDWriteRenderingParams **renderingParams) PURE; |
| |
| STDMETHOD(RegisterFontFileLoader)(THIS_ |
| IDWriteFontFileLoader *fontFileLoader) PURE; |
| |
| STDMETHOD(UnregisterFontFileLoader)(THIS_ |
| IDWriteFontFileLoader *fontFileLoader) PURE; |
| |
| STDMETHOD(CreateTextFormat)(THIS_ |
| WCHAR const *fontFamilyName, |
| IDWriteFontCollection *fontCollection, |
| DWRITE_FONT_WEIGHT fontWeight, |
| DWRITE_FONT_STYLE fontStyle, |
| DWRITE_FONT_STRETCH fontStretch, |
| FLOAT fontSize, |
| WCHAR const *localeName, |
| IDWriteTextFormat **textFormat) PURE; |
| |
| STDMETHOD(CreateTypography)(THIS_ |
| IDWriteTypography **typography) PURE; |
| |
| STDMETHOD(GetGdiInterop)(THIS_ |
| IDWriteGdiInterop **gdiInterop) PURE; |
| |
| STDMETHOD(CreateTextLayout)(THIS_ |
| WCHAR const *string, |
| UINT32 stringLength, |
| IDWriteTextFormat *textFormat, |
| FLOAT maxWidth, |
| FLOAT maxHeight, |
| IDWriteTextLayout **textLayout) PURE; |
| |
| STDMETHOD(CreateGdiCompatibleTextLayout)(THIS_ |
| WCHAR const *string, |
| UINT32 stringLength, |
| IDWriteTextFormat *textFormat, |
| FLOAT layoutWidth, |
| FLOAT layoutHeight, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| WINBOOL useGdiNatural, |
| IDWriteTextLayout **textLayout) PURE; |
| |
| STDMETHOD(CreateEllipsisTrimmingSign)(THIS_ |
| IDWriteTextFormat *textFormat, |
| IDWriteInlineObject **trimmingSign) PURE; |
| |
| STDMETHOD(CreateTextAnalyzer)(THIS_ |
| IDWriteTextAnalyzer **textAnalyzer) PURE; |
| |
| STDMETHOD(CreateNumberSubstitution)(THIS_ |
| DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, |
| WCHAR const *localeName, |
| WINBOOL ignoreUserOverride, |
| IDWriteNumberSubstitution **numberSubstitution) PURE; |
| |
| STDMETHOD(CreateGlyphRunAnalysis)(THIS_ |
| DWRITE_GLYPH_RUN const *glyphRun, |
| FLOAT pixelsPerDip, |
| DWRITE_MATRIX const *transform, |
| DWRITE_RENDERING_MODE renderingMode, |
| DWRITE_MEASURING_MODE measuringMode, |
| FLOAT baselineOriginX, |
| FLOAT baselineOriginY, |
| IDWriteGlyphRunAnalysis **glyphRunAnalysis) PURE; |
| |
| /* IDWriteFactory1 methods */ |
| STDMETHOD(GetEudcFontCollection)(THIS_ |
| IDWriteFontCollection **fontCollection, |
| BOOL checkForUpdates __MINGW_DEF_ARG_VAL(FALSE)) PURE; |
| |
| STDMETHOD(CreateCustomRenderingParams)(THIS_ |
| FLOAT gamma, |
| FLOAT enhancedContrast, |
| FLOAT enhancedContrastGrayscale, |
| FLOAT clearTypeLevel, |
| DWRITE_PIXEL_GEOMETRY pixelGeometry, |
| DWRITE_RENDERING_MODE renderingMode, |
| IDWriteRenderingParams1 **renderingParams) PURE; |
| #endif |
| |
| /* IDWriteFactory2 methods */ |
| STDMETHOD(GetSystemFontFallback)(THIS_ |
| IDWriteFontFallback **fontFallback) PURE; |
| |
| STDMETHOD(CreateFontFallbackBuilder)(THIS_ |
| IDWriteFontFallbackBuilder **fontFallbackBuilder) PURE; |
| |
| STDMETHOD(TranslateColorGlyphRun)(THIS_ |
| FLOAT baselineOriginX, |
| FLOAT baselineOriginY, |
| DWRITE_GLYPH_RUN const *glyphRun, |
| DWRITE_GLYPH_RUN_DESCRIPTION const *glyphRunDescription, |
| DWRITE_MEASURING_MODE measuringMode, |
| DWRITE_MATRIX const *worldToDeviceTransform, |
| UINT32 colorPaletteIndex, |
| IDWriteColorGlyphRunEnumerator **colorLayers) PURE; |
| |
| STDMETHOD(CreateCustomRenderingParams)(THIS_ |
| FLOAT gamma, |
| FLOAT enhancedContrast, |
| FLOAT grayscaleEnhancedContrast, |
| FLOAT clearTypeLevel, |
| DWRITE_PIXEL_GEOMETRY pixelGeometry, |
| DWRITE_RENDERING_MODE renderingMode, |
| DWRITE_GRID_FIT_MODE gridFitMode, |
| IDWriteRenderingParams2 **renderingParams) PURE; |
| |
| #ifdef __cplusplus |
| using IDWriteFactory::CreateCustomRenderingParams; |
| using IDWriteFactory1::CreateCustomRenderingParams; |
| #endif |
| |
| STDMETHOD(CreateGlyphRunAnalysis)(THIS_ |
| DWRITE_GLYPH_RUN const *glyphRun, |
| DWRITE_MATRIX const *transform, |
| DWRITE_RENDERING_MODE renderingMode, |
| DWRITE_MEASURING_MODE measuringMode, |
| DWRITE_GRID_FIT_MODE gridFitMode, |
| DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, |
| FLOAT baselineOriginX, |
| FLOAT baselineOriginY, |
| IDWriteGlyphRunAnalysis **glyphRunAnalysis) PURE; |
| |
| #ifdef __cplusplus |
| using IDWriteFactory::CreateGlyphRunAnalysis; |
| #endif |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFactory2, 0x0439fc60,0xca44,0x4994,0x8d,0xee,0x3a,0x9a,0xf7,0xb7,0x32,0xec) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontFace2 |
| DECLARE_INTERFACE_(IDWriteFontFace2,IDWriteFontFace1) |
| { |
| 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); |
| #endif |
| |
| /* 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; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFace2, 0xd8b768ff,0x64bc,0x4e66,0x98,0x2b,0xec,0x8e,0x87,0xf6,0x93,0xf7) |
| |
| #endif /* DWRITE_2_H_INCLUDED */ |