From 0835add95c1391164e52c551569a9c46a6fcd90c Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Fri, 18 Oct 2024 02:36:48 +0530 Subject: [PATCH] dwrite: Fix build with MinGW 11 DWRITE_GLYPH_IMAGE_FORMATS is now defined by dcommon.h In file included from C:/msys64/ucrt64/include/minwindef.h:163, from C:/msys64/ucrt64/include/windef.h:9, from C:/msys64/ucrt64/include/windows.h:69, from ..\src/cairo-mutex-impl-private.h:182, from ..\src/cairo-mutex-type-private.h:45, from ..\src/cairo-scaled-font-private.h:45, from ..\src/cairoint.h:415, from ../src/win32/cairo-dwrite-font.cpp:37: ../src/win32/dw-extra.h:26:1: error: redefinition of 'DWRITE_GLYPH_IMAGE_FORMATS operator|(DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_GLYPH_IMAGE_FORMATS)' 26 | DEFINE_ENUM_FLAG_OPERATORS(DWRITE_GLYPH_IMAGE_FORMATS); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ C:/msys64/ucrt64/include/dcommon.h:67:1: note: 'DWRITE_GLYPH_IMAGE_FORMATS operator|(DWRITE_GLYPH_IMAGE_FORMATS, DWRITE_GLYPH_IMAGE_FORMATS)' previously defined here 67 | DEFINE_ENUM_FLAG_OPERATORS(DWRITE_GLYPH_IMAGE_FORMATS) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ --- src/win32/cairo-dwrite-font.cpp | 4 ++-- src/win32/dw-extra.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/win32/cairo-dwrite-font.cpp b/src/win32/cairo-dwrite-font.cpp index b6931b367..f7d1c4767 100644 --- a/src/win32/cairo-dwrite-font.cpp +++ b/src/win32/cairo-dwrite-font.cpp @@ -1047,13 +1047,13 @@ _cairo_dwrite_scaled_font_init_glyph_color_surface(cairo_dwrite_scaled_font_t *s matrix = _cairo_dwrite_matrix_from_matrix(&scaled_font->mat); /* The list of glyph image formats this renderer is prepared to support. */ - DWRITE_GLYPH_IMAGE_FORMATS supported_formats = + DWRITE_GLYPH_IMAGE_FORMATS supported_formats = static_cast( DWRITE_GLYPH_IMAGE_FORMATS_COLR | DWRITE_GLYPH_IMAGE_FORMATS_SVG | DWRITE_GLYPH_IMAGE_FORMATS_PNG | DWRITE_GLYPH_IMAGE_FORMATS_JPEG | DWRITE_GLYPH_IMAGE_FORMATS_TIFF | - DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8; + DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8); RefPtr fontFace2; UINT32 palette_count = 0; diff --git a/src/win32/dw-extra.h b/src/win32/dw-extra.h index 424fb606d..a9daced21 100644 --- a/src/win32/dw-extra.h +++ b/src/win32/dw-extra.h @@ -23,6 +23,8 @@ struct DWRITE_COLOR_GLYPH_RUN1_WORKAROUND : DWRITE_COLOR_GLYPH_RUN typedef DWRITE_COLOR_GLYPH_RUN1 DWRITE_COLOR_GLYPH_RUN1_WORKAROUND; #endif +#if !defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 11 DEFINE_ENUM_FLAG_OPERATORS(DWRITE_GLYPH_IMAGE_FORMATS); +#endif #endif /* DWRITE_EXTRA_H */ -- GitLab