gdiplus: In CompositingModeSourceCopy, fully transparent pixels are drawn black.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42585 Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com> Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b21881f53c
commit
99a171981c
@ -384,7 +384,12 @@ static GpStatus alpha_blend_bmp_pixels(GpGraphics *graphics, INT dst_x, INT dst_
|
|||||||
src_color = ((ARGB*)(src + src_stride * y))[x];
|
src_color = ((ARGB*)(src + src_stride * y))[x];
|
||||||
|
|
||||||
if (comp_mode == CompositingModeSourceCopy)
|
if (comp_mode == CompositingModeSourceCopy)
|
||||||
|
{
|
||||||
|
if (!(src_color & 0xff000000))
|
||||||
|
GdipBitmapSetPixel(dst_bitmap, x+dst_x, y+dst_y, 0);
|
||||||
|
else
|
||||||
GdipBitmapSetPixel(dst_bitmap, x+dst_x, y+dst_y, src_color);
|
GdipBitmapSetPixel(dst_bitmap, x+dst_x, y+dst_y, src_color);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!(src_color & 0xff000000))
|
if (!(src_color & 0xff000000))
|
||||||
|
@ -4491,7 +4491,7 @@ static void test_DrawImage_SourceCopy(void)
|
|||||||
expect(0, dst_pixels[0]);
|
expect(0, dst_pixels[0]);
|
||||||
expect(0xffff0000, dst_pixels[1]);
|
expect(0xffff0000, dst_pixels[1]);
|
||||||
expect(0, dst_pixels[2]);
|
expect(0, dst_pixels[2]);
|
||||||
todo_wine expect(0, dst_pixels[3]);
|
expect(0, dst_pixels[3]);
|
||||||
|
|
||||||
status = GdipDeleteGraphics(graphics);
|
status = GdipDeleteGraphics(graphics);
|
||||||
expect(Ok, status);
|
expect(Ok, status);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user