[PATCH 3/4] d2d1: Update to ID2D1BitmapBrush1.
Henri Verbeet
hverbeet at gmail.com
Mon Sep 17 06:20:48 CDT 2018
On 16 September 2018 at 20:21, Nikolay Sivov <nsivov at codeweavers.com> wrote:
> + switch (mode)
> + {
> + case D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR:
> + case D2D1_BITMAP_INTERPOLATION_MODE_LINEAR:
> + break;
> + default:
> + WARN("Unknown interpolation mode %#x.\n", mode);
> + return;
> + }
We indent case labels in d2d1.
> @@ -1242,7 +1300,7 @@ static void d2d_brush_bind_bitmap(struct d2d_brush *brush, ID3D10Device *device,
> {
> D3D10_SAMPLER_DESC sampler_desc;
>
> - if (brush->u.bitmap.interpolation_mode == D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR)
> + if (brush->u.bitmap.interpolation_mode == D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR)
> sampler_desc.Filter = D3D10_FILTER_MIN_MAG_MIP_POINT;
> else
> sampler_desc.Filter = D3D10_FILTER_MIN_MAG_MIP_LINEAR;
I think it would be helpful to print a FIXME for unimplemented
interpolation modes. Either here, or in SetInterpolationMode1().
> + ID2D1BitmapBrush1_SetInterpolationMode1(brush1, D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC);
> + interpolation_mode = ID2D1BitmapBrush1_GetInterpolationMode(brush1);
> + ok(interpolation_mode == D2D1_BITMAP_INTERPOLATION_MODE_LINEAR,
> + "Unexpected interpolation mode %#x.\n", interpolation_mode);
> +
> + interpolation_mode1 = ID2D1BitmapBrush1_GetInterpolationMode1(brush1);
> + ok(interpolation_mode1 == D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC,
> + "Unexpected interpolation mode %#x.\n", interpolation_mode1);
> +
> + ID2D1BitmapBrush1_SetInterpolationMode1(brush1, 100);
> + interpolation_mode1 = ID2D1BitmapBrush1_GetInterpolationMode1(brush1);
> + ok(interpolation_mode1 == D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC,
> + "Unexpected interpolation mode %#x.\n", interpolation_mode1);
> +
I think the choice of interpolation modes and ordering of these is a
little unfortunate. It's not clear from the test whether
"SetInterpolationMode1(..., 100);" is ignored as you'd expect, or
clamped to D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC.
More information about the wine-devel
mailing list