Commit 0a02f346 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

d2d1: Implement d2d_bitmap_brush_SetExtendModeY().

parent b940f2fd
...@@ -569,7 +569,16 @@ static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeX(ID2D1BitmapBrush * ...@@ -569,7 +569,16 @@ static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeX(ID2D1BitmapBrush *
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeY(ID2D1BitmapBrush *iface, D2D1_EXTEND_MODE mode) static void STDMETHODCALLTYPE d2d_bitmap_brush_SetExtendModeY(ID2D1BitmapBrush *iface, D2D1_EXTEND_MODE mode)
{ {
FIXME("iface %p, mode %#x stub!\n", iface, mode); struct d2d_brush *brush = impl_from_ID2D1BitmapBrush(iface);
TRACE("iface %p, mode %#x.\n", iface, mode);
brush->u.bitmap.extend_mode_y = mode;
if (brush->u.bitmap.sampler_state)
{
ID3D10SamplerState_Release(brush->u.bitmap.sampler_state);
brush->u.bitmap.sampler_state = NULL;
}
} }
static void STDMETHODCALLTYPE d2d_bitmap_brush_SetInterpolationMode(ID2D1BitmapBrush *iface, static void STDMETHODCALLTYPE d2d_bitmap_brush_SetInterpolationMode(ID2D1BitmapBrush *iface,
...@@ -659,11 +668,13 @@ HRESULT d2d_bitmap_brush_init(struct d2d_brush *brush, struct d2d_d3d_render_tar ...@@ -659,11 +668,13 @@ HRESULT d2d_bitmap_brush_init(struct d2d_brush *brush, struct d2d_d3d_render_tar
if (bitmap_brush_desc) if (bitmap_brush_desc)
{ {
brush->u.bitmap.extend_mode_x = bitmap_brush_desc->extendModeX; brush->u.bitmap.extend_mode_x = bitmap_brush_desc->extendModeX;
brush->u.bitmap.extend_mode_y = bitmap_brush_desc->extendModeY;
brush->u.bitmap.interpolation_mode = bitmap_brush_desc->interpolationMode; brush->u.bitmap.interpolation_mode = bitmap_brush_desc->interpolationMode;
} }
else else
{ {
brush->u.bitmap.extend_mode_x = D2D1_EXTEND_MODE_CLAMP; brush->u.bitmap.extend_mode_x = D2D1_EXTEND_MODE_CLAMP;
brush->u.bitmap.extend_mode_y = D2D1_EXTEND_MODE_CLAMP;
brush->u.bitmap.interpolation_mode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR; brush->u.bitmap.interpolation_mode = D2D1_BITMAP_INTERPOLATION_MODE_LINEAR;
} }
...@@ -712,7 +723,7 @@ void d2d_brush_bind_resources(struct d2d_brush *brush, ID3D10Device *device) ...@@ -712,7 +723,7 @@ void d2d_brush_bind_resources(struct d2d_brush *brush, ID3D10Device *device)
else else
sampler_desc.Filter = D3D10_FILTER_MIN_MAG_MIP_LINEAR; sampler_desc.Filter = D3D10_FILTER_MIN_MAG_MIP_LINEAR;
sampler_desc.AddressU = texture_addres_mode_from_extend_mode(brush->u.bitmap.extend_mode_x); sampler_desc.AddressU = texture_addres_mode_from_extend_mode(brush->u.bitmap.extend_mode_x);
sampler_desc.AddressV = D3D10_TEXTURE_ADDRESS_CLAMP; sampler_desc.AddressV = texture_addres_mode_from_extend_mode(brush->u.bitmap.extend_mode_y);
sampler_desc.AddressW = D3D10_TEXTURE_ADDRESS_CLAMP; sampler_desc.AddressW = D3D10_TEXTURE_ADDRESS_CLAMP;
sampler_desc.MipLODBias = 0.0f; sampler_desc.MipLODBias = 0.0f;
sampler_desc.MaxAnisotropy = 0; sampler_desc.MaxAnisotropy = 0;
......
...@@ -126,6 +126,7 @@ struct d2d_brush ...@@ -126,6 +126,7 @@ struct d2d_brush
{ {
struct d2d_bitmap *bitmap; struct d2d_bitmap *bitmap;
D2D1_EXTEND_MODE extend_mode_x; D2D1_EXTEND_MODE extend_mode_x;
D2D1_EXTEND_MODE extend_mode_y;
D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode; D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode;
ID3D10SamplerState *sampler_state; ID3D10SamplerState *sampler_state;
} bitmap; } bitmap;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment