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

Reply via email to