[PATCH 5/5] d2d1: Implement d2d_d3d_render_target_GetSize().
Henri Verbeet
hverbeet at codeweavers.com
Thu Sep 4 01:14:31 CDT 2014
---
dlls/d2d1/render_target.c | 23 +++++++++++++++++++++--
include/d2d1.idl | 2 +-
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/dlls/d2d1/render_target.c b/dlls/d2d1/render_target.c
index 5d5253e..cee327f 100644
--- a/dlls/d2d1/render_target.c
+++ b/dlls/d2d1/render_target.c
@@ -485,14 +485,33 @@ static void STDMETHODCALLTYPE d2d_d3d_render_target_GetDpi(ID2D1RenderTarget *if
*dpi_y = render_target->dpi_y;
}
+static void d2d_d3d_render_target_get_size(const struct d2d_d3d_render_target *render_target, D2D1_SIZE_F *size)
+{
+ size->width = render_target->pixel_size.width / (render_target->dpi_x / 96.0f);
+ size->height = render_target->pixel_size.height / (render_target->dpi_y / 96.0f);
+}
+#if defined _MSC_VER
static D2D1_SIZE_F STDMETHODCALLTYPE d2d_d3d_render_target_GetSize(ID2D1RenderTarget *iface)
{
- static const D2D1_SIZE_F size = {0.0f, 0.0f};
+ struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
+ D2D1_SIZE_F size;
- FIXME("iface %p stub!\n", iface);
+ TRACE("iface %p.\n", iface);
+
+ d2d_d3d_render_target_get_size(render_target, &size);
return size;
}
+#else
+static void STDMETHODCALLTYPE d2d_d3d_render_target_GetSize(ID2D1RenderTarget *iface, D2D1_SIZE_F *size)
+{
+ struct d2d_d3d_render_target *render_target = impl_from_ID2D1RenderTarget(iface);
+
+ TRACE("iface %p.\n", iface);
+
+ d2d_d3d_render_target_get_size(render_target, size);
+}
+#endif
static void d2d_d3d_render_target_get_pixel_size(const struct d2d_d3d_render_target *render_target,
D2D1_SIZE_U *pixel_size)
diff --git a/include/d2d1.idl b/include/d2d1.idl
index 5901a8b..97b25e7 100644
--- a/include/d2d1.idl
+++ b/include/d2d1.idl
@@ -1113,7 +1113,7 @@ interface ID2D1RenderTarget : ID2D1Resource
[out] float *dpi_x,
[out] float *dpi_y
);
- D2D1_SIZE_F GetSize();
+ [aggregate_return] D2D1_SIZE_F GetSize();
[aggregate_return] D2D1_SIZE_U GetPixelSize();
UINT32 GetMaximumBitmapSize();
BOOL IsSupported(
--
1.7.10.4
More information about the wine-patches
mailing list