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;