[PATCH 2/5] d2d1: Add [aggregate_return] to ID2D1RenderTarget::GetPixelSize().

Henri Verbeet hverbeet at codeweavers.com
Thu Sep 4 01:14:28 CDT 2014


---
 dlls/d2d1/render_target.c |   21 ++++++++++++++++++++-
 include/d2d1.idl          |    2 +-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index 2c079a3..b8fcd58 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -481,14 +481,33 @@ static D2D1_SIZE_F STDMETHODCALLTYPE d2d_d3d_render_target_GetSize(ID2D1RenderTa
     return size;
 }
 
+static void d2d_d3d_render_target_get_pixel_size(const struct d2d_d3d_render_target *render_target,
+        D2D1_SIZE_U *pixel_size)
+{
+    *pixel_size = render_target->pixel_size;
+}
+#if defined _MSC_VER
 static D2D1_SIZE_U STDMETHODCALLTYPE d2d_d3d_render_target_GetPixelSize(ID2D1RenderTarget *iface)
 {
     struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
+    D2D1_SIZE_U size;
+
+    TRACE("iface %p.\n", iface);
+
+    d2d_d3d_render_target_get_pixel_size(render_target, &size);
+
+    return size;
+}
+#else
+static void STDMETHODCALLTYPE d2d_d3d_render_target_GetPixelSize(ID2D1RenderTarget *iface, D2D1_SIZE_U *size)
+{
+    struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
 
     TRACE("iface %p.\n", iface);
 
-    return render_target->pixel_size;
+    d2d_d3d_render_target_get_pixel_size(render_target, size);
 }
+#endif
 
 static UINT32 STDMETHODCALLTYPE d2d_d3d_render_target_GetMaximumBitmapSize(ID2D1RenderTarget *iface)
 {
diff --git a/include/d2d1.idl b/include/d2d1.idl
index 4637338..5901a8b 100644
--- a/include/d2d1.idl
+++ b/include/d2d1.idl
@@ -1114,7 +1114,7 @@ interface ID2D1RenderTarget : ID2D1Resource
         [out] float *dpi_y
     );
     D2D1_SIZE_F GetSize();
-    D2D1_SIZE_U GetPixelSize();
+    [aggregate_return] D2D1_SIZE_U GetPixelSize();
     UINT32 GetMaximumBitmapSize();
     BOOL IsSupported(
         [in] const D2D1_RENDER_TARGET_PROPERTIES *desc
-- 
1.7.10.4




More information about the wine-patches mailing list