Huw Davies : gdi32/tests: Add tests for hatched brushes.
Alexandre Julliard
julliard at winehq.org
Fri Jun 17 13:13:48 CDT 2011
Module: wine
Branch: master
Commit: cd3281a0de648de0d85dce9fd9b93fc87ccdf065
URL: http://source.winehq.org/git/wine.git/?a=commit;h=cd3281a0de648de0d85dce9fd9b93fc87ccdf065
Author: Huw Davies <huw at codeweavers.com>
Date: Fri Jun 17 12:45:37 2011 +0100
gdi32/tests: Add tests for hatched brushes.
---
dlls/gdi32/tests/dib.c | 42 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/dlls/gdi32/tests/dib.c b/dlls/gdi32/tests/dib.c
index 86e4fee..a3e6f25 100644
--- a/dlls/gdi32/tests/dib.c
+++ b/dlls/gdi32/tests/dib.c
@@ -101,6 +101,8 @@ static const char *sha1_graphics_a8r8g8b8[] =
"e2a8eef4aeda3a0f6c950075acba38f1f9e0814d",
"8b66f14d51ecdeea12bc993302bb9b7d3ec085a1",
"7da9dd3d40d44d92deb9883fb7110443c2d5769a",
+ "e358efb1c11172e40855de620bdb8a8e545cd790",
+ "9e0c2596c6ecb4f1bc97b18ec3ca493d37626608",
NULL
};
@@ -131,6 +133,8 @@ static const char *sha1_graphics_a8b8g8r8[] =
"4851c5b7d5bc18590e787c0c218a592ef504e738",
"9aa506e3df33e0d5298755aa4144e10eb4b5adcf",
"abdf003699364fe45fab7dc61e67c606d0063b40",
+ "89abaadff4e68c738cf9251c51e3609564843381",
+ "f6aa3f907f620b9f3493f03cb3b4b292df3a9545",
NULL
};
@@ -161,6 +165,8 @@ static const char *sha1_graphics_24[] =
"b4df692ac70a5f9f303270df4641ab014c6cbf46",
"8bc3128ba47891366fd7b02fde7ca19100e64b9f",
"e649e00efe7fea1eb8b17f7867fe089e5270c44b",
+ "a0bffbbfb0adf6f188479c88da04e25d76ab4822",
+ "92a1ab214dd8027c407814420449119466c92840",
NULL
};
@@ -191,6 +197,8 @@ static const char *sha1_graphics_r5g5b5[] =
"3a50ce21b3563a604b4fc9f247a30f5a981f1ba6",
"d7d97e28ed316f6596c737eb83baa5948d86b673",
"ecc2991277d7314f55b00e0f284ae3703aeef81e",
+ "656bf3b7121bcd620a0a3ad488f0d66604824577",
+ "d7d8493b5fa7a3a8323d6ac84245093a79f052c1",
NULL
};
@@ -221,6 +229,8 @@ static const char *sha1_graphics_r4g4b4[] =
"d591232bbc2592462c819a9486750f64180518fd",
"0e183a4c30b3da345129cffe33fe0fc593d8666b",
"f14d9a4bd8a365b7c8f068a0dad481b6eb2b178b",
+ "8933450132bf949ba4bc28626968425b5ed2867d",
+ "9928a8f28a66c00069a124f7171b248817005763",
NULL
};
@@ -251,6 +261,8 @@ static const char *sha1_graphics_8[] =
"1f13ea0034db4b0ffa4ddcff9664fd892058f9cd",
"3caf512cfddfd463d0750cfe3cadb58548eb2ae8",
"4e5e7d5fd64818b2b3d3e793c88f603b699d2f0f",
+ "c4efce8f7ed2d380ea5dc6fe1ef8448a27827532",
+ "bdc0a354635b879871077c5b712570e469863c99",
NULL
};
@@ -281,6 +293,8 @@ static const char *sha1_graphics_4[] =
"39c16648cf6c261be71a33cec41867f28e119b94",
"26ad5116562e7b58c76a26eaf521e2e40899e944",
"1bcc54eaf8e3c2b7c59ecccb23c240181d7ba8b8",
+ "4f827ca6927f15191588456f985bf29d2a3b3c24",
+ "e7de769c3d12ea9dd223bef4881c578823bec67e",
NULL
};
@@ -318,6 +332,8 @@ static const char *sha1_graphics_1[] =
"d1e6091caa4482d3142df3b958606c41ebf4698e",
"07c1116d8286fb665a1005de220eadc3d5999aaf",
"4afb0649488f6e6f7d3a2b8bf438d82f2c88f4d1",
+ "f2fe295317e795a88edd0b2c52618b8cb0e7f2ce",
+ "ffc78c075d4be66806f6c59180772d5eed963dc0",
NULL
};
@@ -519,8 +535,8 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
{
DWORD dib_size = get_dib_size(bmi);
HPEN solid_pen, dashed_pen, orig_pen;
- HBRUSH solid_brush, dib_brush, orig_brush;
- INT i, y;
+ HBRUSH solid_brush, dib_brush, hatch_brush, orig_brush;
+ INT i, y, hatch_style;
HRGN hrgn, hrgn2;
BYTE dib_brush_buf[sizeof(BITMAPINFO) + 256 * sizeof(RGBQUAD) + 16 * 16 * sizeof(DWORD)]; /* Enough for 16 x 16 at 32 bpp */
BITMAPINFO *brush_bi = (BITMAPINFO*)dib_brush_buf;
@@ -957,6 +973,28 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
pSetLayout(hdc, LAYOUT_LTR);
}
+ for(i = 0, y = 10; i < 256; i++)
+ {
+ BOOL ret;
+
+ if(!rop_uses_src(rop3[i]))
+ {
+ for(hatch_style = HS_HORIZONTAL; hatch_style <= HS_DIAGCROSS; hatch_style++)
+ {
+ hatch_brush = CreateHatchBrush(hatch_style, RGB(0xff, 0, 0));
+ SelectObject(hdc, hatch_brush);
+ ret = PatBlt(hdc, 10 + i + 30 * hatch_style, y, 20, 20, rop3[i]);
+ ok(ret, "got FALSE for %x\n", rop3[i]);
+ SelectObject(hdc, orig_brush);
+ DeleteObject(hatch_brush);
+ }
+ y += 25;
+ }
+ }
+
+ compare_hash_broken_todo(bmi, bits, sha1, "hatch brushes", 1, FALSE); /* nt4 is different */
+ memset(bits, 0xcc, dib_size);
+
SelectObject(hdc, orig_brush);
SelectObject(hdc, orig_pen);
DeleteObject(hrgn);
More information about the wine-cvs
mailing list