/** * 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) #endif /* DWRITE_2_H_INCLUDED */