| /** |
| * 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_1_H_INCLUDED |
| #define DWRITE_1_H_INCLUDED |
| |
| #include <dwrite.h> |
| |
| enum DWRITE_OUTLINE_THRESHOLD { |
| DWRITE_OUTLINE_THRESHOLD_ANTIALIASED, |
| DWRITE_OUTLINE_THRESHOLD_ALIASED |
| }; |
| |
| enum DWRITE_TEXT_ANTIALIAS_MODE |
| { |
| DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE, |
| DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE |
| }; |
| |
| struct DWRITE_CARET_METRICS { |
| INT16 slopeRise; |
| INT16 slopeRun; |
| INT16 offset; |
| }; |
| |
| struct DWRITE_UNICODE_RANGE { |
| UINT32 first; |
| UINT32 last; |
| }; |
| |
| struct DWRITE_FONT_METRICS1 : public DWRITE_FONT_METRICS { |
| INT16 glyphBoxLeft; |
| INT16 glyphBoxTop; |
| INT16 glyphBoxRight; |
| INT16 glyphBoxBottom; |
| INT16 subscriptPositionX; |
| INT16 subscriptPositionY; |
| INT16 subscriptSizeX; |
| INT16 subscriptSizeY; |
| INT16 superscriptPositionX; |
| INT16 superscriptPositionY; |
| INT16 superscriptSizeX; |
| INT16 superscriptSizeY; |
| BOOL hasTypographicMetrics; |
| }; |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFontCollection |
| DECLARE_INTERFACE_(IDWriteFontFace1, IDWriteFontFace) |
| { |
| 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; |
| #endif |
| |
| /* IDWriteFontFace1 methods */ |
| STDMETHOD_(void, GetMetrics)(THIS_ DWRITE_FONT_METRICS*) 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); |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFontFace1, 0xa71efdb4,0x9fdb,0x4838,0xad,0x90,0xcf,0xc3,0xbe,0x8c,0x3d,0xaf); |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteRenderingParams1 |
| DECLARE_INTERFACE_(IDWriteRenderingParams1,IDWriteRenderingParams) |
| { |
| 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; |
| #endif |
| |
| /* IDWriteRenderingParams1 methods */ |
| STDMETHOD_(FLOAT, GetGrayscaleEnhancedContrast)(THIS) PURE; |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteRenderingParams1, 0x94413cf4,0xa6fc,0x4248,0x8b,0x50,0x66,0x74,0x34,0x8f,0xca,0xd3) |
| |
| #undef INTERFACE |
| #define INTERFACE IDWriteFactory1 |
| DECLARE_INTERFACE_(IDWriteFactory1,IDWriteFactory) |
| { |
| 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; |
| #endif |
| |
| /* 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; |
| |
| #ifdef __cplusplus |
| using IDWriteFactory::CreateCustomRenderingParams; |
| #endif |
| |
| END_INTERFACE |
| }; |
| |
| __CRT_UUID_DECL(IDWriteFactory1, 0x30572f99,0xdac6,0x41db,0xa1,0x6e,0x04,0x86,0x30,0x7e,0x60,0x6a) |
| |
| #endif /* DWRITE_1_H_INCLUDED */ |