Re: [Mingw-w64-public] [PATCH] d2d1_1.h: Add C declaration for ID2D1Multithread

2020-05-13 Thread Ruslan Garipov

On 5/14/2020 10:52 AM, Ruslan Garipov wrote:


Signed-off-by: ‡Ruslan Garipov 
---
  mingw-w64-headers/include/d2d1_1.h | 20 +++-
  1 file changed, 19 insertions(+), 1 deletion(-)


I discussed my changes applying to D2D/DirectWrite headers with
Biswapriyo Nath.  He will sent his patches to Wine first, and mingw-w64
will consume those patches then...  For now I provide my own patches
(made manually, not via IDL files) just to have the patches in the
mingw-w64 tree.  So I won't have to apply the patches locally.  Later,
the headers will be changed by ones patched by Biswapriyo (derived from
IDL files).


___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] [PATCH] d2d1_1.h: Add C declaration for ID2D1Multithread

2020-05-13 Thread Ruslan Garipov


Signed-off-by: ‡Ruslan Garipov 
---
 mingw-w64-headers/include/d2d1_1.h | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)


diff --git a/mingw-w64-headers/include/d2d1_1.h b/mingw-w64-headers/include/d2d1_1.h
index 5c97245dcf..a4b710f0c2 100644
--- a/mingw-w64-headers/include/d2d1_1.h
+++ b/mingw-w64-headers/include/d2d1_1.h
@@ -1068,7 +1068,25 @@ interface ID2D1Multithread : public IUnknown
 #else
 
 typedef interface ID2D1Multithread ID2D1Multithread;
-/* FIXME: Add full C declaration */
+
+typedef struct ID2D1MultithreadVtbl {
+IUnknownVtbl Base;
+
+STDMETHOD_(BOOL, GetMultithreadProtected)(ID2D1Multithread *This) PURE;
+STDMETHOD_(void, Enter)(ID2D1Multithread *This) PURE;
+STDMETHOD_(void, Leave)(ID2D1Multithread *This) PURE;
+} ID2D1MultithreadVtbl;
+
+interface ID2D1Multithread {
+ID2D1MultithreadVtbl *lpVtbl;
+};
+
+#define ID2D1Multithread_QueryInterface(this,A,B) (this)->lpVtbl->Base.QueryInterface((IUnknown *)(this),A,B)
+#define ID2D1Multithread_AddRef(this) (this)->lpVtbl->Base.AddRef((IUnknown *)(this))
+#define ID2D1Multithread_Release(this) (this)->lpVtbl->Base.Release((IUnknown *)(this))
+#define ID2D1Mutlithread_GetMultithreadProtected(this) (this)->lpVtbl->GetMultihreadProtected(this)
+#define ID2D1Multithread_Enter(this) (this)->lpVtbl->Enter(this)
+#define ID2D1Multithread_Leave(this) (this)->lpVtbl->Leave(this)
 
 #endif
 

___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public