From 0b97c44122a465edfca516c46fc8353a12d83982 Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <[email protected]>
Date: Thu, 5 Sep 2024 03:28:33 +0000
Subject: [PATCH] headers: Add enum operators in d2d1.h

This fixes compiler error as following.

JUCE/modules/juce_graphics/native/juce_Direct2DResources_windows.cpp:56:81:
error: assigning to 'D2D1_PRESENT_OPTIONS' from incompatible type 'unsigned int'
56 |         hwndRenderTargetProps.presentOptions = 
D2D1_PRESENT_OPTIONS_IMMEDIATELY | D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS;
   |                                                
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Biswapriyo Nath <[email protected]>
---
 mingw-w64-headers/include/d2d1.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/mingw-w64-headers/include/d2d1.h b/mingw-w64-headers/include/d2d1.h
index 66f3ee4..f89b1ef 100644
--- a/mingw-w64-headers/include/d2d1.h
+++ b/mingw-w64-headers/include/d2d1.h
@@ -120,6 +120,8 @@ typedef enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS {
   D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_FORCE_DWORD      = 0xffffffff
 } D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS);
+
 typedef enum D2D1_DASH_STYLE {
   D2D1_DASH_STYLE_SOLID          = 0,
   D2D1_DASH_STYLE_DASH           = 1,
@@ -153,6 +155,8 @@ typedef enum D2D1_DRAW_TEXT_OPTIONS {
   D2D1_DRAW_TEXT_OPTIONS_FORCE_DWORD                   = 0xffffffff
 } D2D1_DRAW_TEXT_OPTIONS;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_DRAW_TEXT_OPTIONS);
+
 typedef enum D2D1_EXTEND_MODE {
   D2D1_EXTEND_MODE_CLAMP       = 0,
   D2D1_EXTEND_MODE_WRAP        = 1,
@@ -218,6 +222,8 @@ typedef enum D2D1_LAYER_OPTIONS {
   D2D1_LAYER_OPTIONS_FORCE_DWORD                = 0xffffffff
 } D2D1_LAYER_OPTIONS;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_LAYER_OPTIONS);
+
 typedef enum D2D1_LINE_JOIN {
   D2D1_LINE_JOIN_MITER            = 0,
   D2D1_LINE_JOIN_BEVEL            = 1,
@@ -240,6 +246,8 @@ typedef enum D2D1_PATH_SEGMENT {
   D2D1_PATH_SEGMENT_FORCE_DWORD             = 0xffffffff
 } D2D1_PATH_SEGMENT;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_PATH_SEGMENT);
+
 typedef enum D2D1_PRESENT_OPTIONS {
   D2D1_PRESENT_OPTIONS_NONE              = 0x00000000,
   D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS   = 0x00000001,
@@ -247,6 +255,8 @@ typedef enum D2D1_PRESENT_OPTIONS {
   D2D1_PRESENT_OPTIONS_FORCE_DWORD       = 0xffffffff
 } D2D1_PRESENT_OPTIONS;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_PRESENT_OPTIONS);
+
 typedef enum D2D1_RENDER_TARGET_TYPE {
   D2D1_RENDER_TARGET_TYPE_DEFAULT     = 0,
   D2D1_RENDER_TARGET_TYPE_SOFTWARE    = 1,
@@ -261,6 +271,8 @@ typedef enum D2D1_RENDER_TARGET_USAGE {
   D2D1_RENDER_TARGET_USAGE_FORCE_DWORD             = 0xffffffff
 } D2D1_RENDER_TARGET_USAGE;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_RENDER_TARGET_USAGE);
+
 typedef enum D2D1_SWEEP_DIRECTION {
   D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE   = 0,
   D2D1_SWEEP_DIRECTION_CLOCKWISE           = 1,
@@ -281,6 +293,8 @@ typedef enum D2D1_WINDOW_STATE {
   D2D1_WINDOW_STATE_FORCE_DWORD = 0xffffffff
 } D2D1_WINDOW_STATE;
 
+DEFINE_ENUM_FLAG_OPERATORS(D2D1_WINDOW_STATE);
+
 /* this is a hack so we can use forward declares in C (easier than reordering 
interfaces) */
 #if !defined(__cplusplus)
 #undef DECLARE_INTERFACE
-- 
2.46.0

_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to