From d41ee6e57497d14abe92688751b74a1240184629 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 29 Jan 2015 10:27:20 +0100 Subject: [PATCH] d2d1: Implement d2d_bitmap_brush_GetTransform(). --- dlls/d2d1/brush.c | 19 +++++++++++-------- dlls/d2d1/d2d1_private.h | 1 + 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c index 2986c27a9ac..ef708477827 100644 --- a/dlls/d2d1/brush.c +++ b/dlls/d2d1/brush.c @@ -147,9 +147,17 @@ HRESULT d2d_gradient_init(struct d2d_gradient *gradient, ID2D1RenderTarget *rend static void d2d_brush_init(struct d2d_brush *brush, ID2D1RenderTarget *render_target, enum d2d_brush_type type, const D2D1_BRUSH_PROPERTIES *desc, const struct ID2D1BrushVtbl *vtbl) { + static const D2D1_MATRIX_3X2_F identity = + { + 1.0f, 0.0f, + 0.0f, 1.0f, + 0.0f, 0.0f, + }; + brush->ID2D1Brush_iface.lpVtbl = vtbl; brush->refcount = 1; brush->opacity = desc ? desc->opacity : 1.0f; + brush->transform = desc ? desc->transform : identity; brush->type = type; } @@ -532,16 +540,11 @@ static float STDMETHODCALLTYPE d2d_bitmap_brush_GetOpacity(ID2D1BitmapBrush *ifa static void STDMETHODCALLTYPE d2d_bitmap_brush_GetTransform(ID2D1BitmapBrush *iface, D2D1_MATRIX_3X2_F *transform) { - static const D2D1_MATRIX_3X2_F identity = - { - 1.0f, 0.0f, - 0.0f, 1.0f, - 0.0f, 0.0f, - }; + struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface); - FIXME("iface %p, transform %p stub!\n", iface, transform); + TRACE("iface %p, transform %p.\n", iface, transform); - *transform = identity; + *transform = brush->transform; } static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeX(ID2D1BitmapBrush *iface, D2D1_EXTEND_MODE mode) diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h index 05e678c7062..e3cb98a20b5 100644 --- a/dlls/d2d1/d2d1_private.h +++ b/dlls/d2d1/d2d1_private.h @@ -109,6 +109,7 @@ struct d2d_brush LONG refcount; float opacity; + D2D1_MATRIX_3X2_F transform; enum d2d_brush_type type; union