gdiplus: Add a test for CompositingModeSourceCopy.
Vincent Povirk
madewokherd at gmail.com
Tue Oct 20 10:55:55 CDT 2015
-------------- next part --------------
From a7fef1f1659f721dc5a454cb97eec8317f9c1ea5 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent at codeweavers.com>
Date: Tue, 20 Oct 2015 10:43:12 -0500
Subject: [PATCH] gdiplus: Add a test for CompositingModeSourceCopy.
Signed-off-by: Vincent Povirk <vincent at codeweavers.com>
---
dlls/gdiplus/tests/image.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c
index 51b99a3..6c3d1e5 100644
--- a/dlls/gdiplus/tests/image.c
+++ b/dlls/gdiplus/tests/image.c
@@ -3998,6 +3998,50 @@ static void test_DrawImage(void)
expect(Ok, status);
}
+static void test_DrawImage_SourceCopy(void)
+{
+ DWORD dst_pixels[4] = { 0xffffffff, 0xffffffff,
+ 0xffffffff, 0xffffffff };
+ DWORD src_pixels[4] = { 0, 0xffff0000,
+ 0, 0xff00ff };
+
+ GpStatus status;
+ union
+ {
+ GpBitmap *bitmap;
+ GpImage *image;
+ } u1, u2;
+ GpGraphics *graphics;
+
+ status = GdipCreateBitmapFromScan0(2, 2, 8, PixelFormat32bppARGB, (BYTE*)dst_pixels, &u1.bitmap);
+ expect(Ok, status);
+
+ status = GdipCreateBitmapFromScan0(2, 2, 8, PixelFormat32bppARGB, (BYTE*)src_pixels, &u2.bitmap);
+ expect(Ok, status);
+ status = GdipGetImageGraphicsContext(u1.image, &graphics);
+ expect(Ok, status);
+ status = GdipSetInterpolationMode(graphics, InterpolationModeNearestNeighbor);
+ expect(Ok, status);
+
+ status = GdipSetCompositingMode(graphics, CompositingModeSourceCopy);
+ expect(Ok, status);
+
+ status = GdipDrawImageI(graphics, u2.image, 0, 0);
+ expect(Ok, status);
+
+ todo_wine expect(0, dst_pixels[0]);
+ expect(0xffff0000, dst_pixels[1]);
+ todo_wine expect(0, dst_pixels[2]);
+ todo_wine expect(0, dst_pixels[3]);
+
+ status = GdipDeleteGraphics(graphics);
+ expect(Ok, status);
+ status = GdipDisposeImage(u1.image);
+ expect(Ok, status);
+ status = GdipDisposeImage(u2.image);
+ expect(Ok, status);
+}
+
static void test_GdipDrawImagePointRect(void)
{
BYTE black_1x1[4] = { 0,0,0,0 };
@@ -4688,6 +4732,7 @@ START_TEST(image)
test_DrawImage_scale();
test_image_format();
test_DrawImage();
+ test_DrawImage_SourceCopy();
test_GdipDrawImagePointRect();
test_bitmapbits();
test_tiff_palette();
--
2.1.4
More information about the wine-patches
mailing list