I don't see a reason in keeping this compatibility code, It already won't work for C because of IDWriteFactory2 overloaded methods. Another reason is DWRITE_FONT_METRICS1 definition from dwrite_1.h, included from dwrite_2.h, which is also incompatible.
P.S. what's a deal with WINBOOL, should it be used everywhere? I see it's used inconsistently, at least in dwrite*.h headers.
From 970a4adc69390af731fab200ee8f751c5d95ef58 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov <nsi...@codeweavers.com> Date: Mon, 14 Jan 2019 23:40:05 +0300 Subject: [PATCH 1/2] headers: Remove C-compatibility parts from dwrite_2.h. Signed-off-by: Nikolay Sivov <nsi...@codeweavers.com> --- mingw-w64-headers/include/dwrite_2.h | 276 +-------------------------- 1 file changed, 2 insertions(+), 274 deletions(-) diff --git a/mingw-w64-headers/include/dwrite_2.h b/mingw-w64-headers/include/dwrite_2.h index c939297b..64828bcf 100644 --- a/mingw-w64-headers/include/dwrite_2.h +++ b/mingw-w64-headers/include/dwrite_2.h @@ -56,13 +56,6 @@ 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, @@ -87,13 +80,6 @@ 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, @@ -121,13 +107,6 @@ 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; @@ -145,24 +124,6 @@ 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 @@ -176,143 +137,6 @@ 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; @@ -339,10 +163,8 @@ DECLARE_INTERFACE_(IDWriteFactory2,IDWriteFactory1) 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, @@ -355,9 +177,7 @@ DECLARE_INTERFACE_(IDWriteFactory2,IDWriteFactory1) FLOAT baselineOriginY, IDWriteGlyphRunAnalysis **glyphRunAnalysis) PURE; -#ifdef __cplusplus using IDWriteFactory::CreateGlyphRunAnalysis; -#endif END_INTERFACE }; @@ -370,100 +190,6 @@ 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; @@ -487,6 +213,8 @@ DECLARE_INTERFACE_(IDWriteFontFace2,IDWriteFontFace1) DWRITE_GRID_FIT_MODE* gridFitMode ) PURE; + using IDWriteFontFace1::GetRecommendedRenderingMode; + END_INTERFACE }; -- 2.20.1
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public