Explicit aggregate returns for new D2D methods
Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/d2d1_3.h b/mingw-w64-headers/include/d2d1_3.h
index fbef408..18e233d 100644
--- a/mingw-w64-headers/include/d2d1_3.h
+++ b/mingw-w64-headers/include/d2d1_3.h
@@ -188,7 +188,16 @@
interface ID2D1Ink : public ID2D1Resource
{
STDMETHOD_(void, SetStartPoint)(const D2D1_INK_POINT *start_point) PURE;
+#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
STDMETHOD_(D2D1_INK_POINT, GetStartPoint)() const PURE;
+#else
+ virtual D2D1_INK_POINT* STDMETHODCALLTYPE GetStartPoint(D2D1_INK_POINT*) const = 0;
+ D2D1_INK_POINT STDMETHODCALLTYPE GetStartPoint() const {
+ D2D1_INK_POINT __ret;
+ GetStartPoint(&__ret);
+ return __ret;
+ }
+#endif
STDMETHOD(AddSegments)(const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segments_count) PURE;
STDMETHOD(RemoveSegmentsAtEnd)(UINT32 segments_count) PURE;
STDMETHOD(SetSegments)(UINT32 start_segment, const D2D1_INK_BEZIER_SEGMENT *segments, UINT32 segments_count) PURE;
diff --git a/mingw-w64-headers/include/d2d1svg.h b/mingw-w64-headers/include/d2d1svg.h
index 348e26b..a0cf009 100644
--- a/mingw-w64-headers/include/d2d1svg.h
+++ b/mingw-w64-headers/include/d2d1svg.h
@@ -422,7 +422,16 @@
interface ID2D1SvgDocument : public ID2D1Resource
{
STDMETHOD(SetViewportSize)(D2D1_SIZE_F viewport_size) PURE;
+#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
STDMETHOD_(D2D1_SIZE_F, GetViewportSize)() const PURE;
+#else
+ virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetViewportSize(D2D1_SIZE_F*) const = 0;
+ D2D1_SIZE_F STDMETHODCALLTYPE GetViewportSize() const {
+ D2D1_SIZE_F __ret;
+ GetViewportSize(&__ret);
+ return __ret;
+ }
+#endif
STDMETHOD(SetRoot)(ID2D1SvgElement *root) PURE;
STDMETHOD_(void, GetRoot)(ID2D1SvgElement **root) PURE;
STDMETHOD(FindElementById)(PCWSTR id, ID2D1SvgElement **svg_element) PURE;