gdi32/tests: Add tests for 24 bpp brushes.

This commit is contained in:
Huw Davies 2011-06-01 09:41:42 +01:00 committed by Alexandre Julliard
parent 146ad997ba
commit cc4c252962
1 changed files with 44 additions and 6 deletions

View File

@ -93,6 +93,7 @@ static const char *sha1_graphics_a8r8g8b8[] =
"b2261353decda2712b83538ab434a49ce21f3172",
"ef654fedcb494dae79559f4db8b691ae2d522a3f",
"a694872f38e66a7ff471440c3e6a9310ef78328a",
"c311dd74325e8cebfc8529a6d24a6fa4ecb7137e",
"d7398de15b2837a58a62a701ca1b3384625afec4",
"a78b28472bb7ff480ddedd06b9cf2daa775fa7ae",
"5246ef357e7317b9d141a3294d300c195da76cb7",
@ -121,6 +122,7 @@ static const char *sha1_graphics_a8b8g8r8[] =
"1f1fc165a4dae7ba118ddccb58a279bfe3876b0a",
"66da15b6780a4ca3b3d2eb1d1dba4e30f7b74964",
"42fefefe4435570fa8038ec759140c66c76570e9",
"ca7e859647b9498b53fdd92543ad8aea98ff46f3",
"3369889a67d6c79a24ee15f7d14374f9995215e4",
"473a1fd07df800c87a5d3286b642ace10c61c6af",
"10cd25a0ed5cd8f978d7d68236f81d949b938e84",
@ -149,6 +151,7 @@ static const char *sha1_graphics_24[] =
"1036b91d93e31cd1d4740d0c8642e115e5a38188",
"3469776cc7d8f6fd3bce17a39eec0b4092294e49",
"1cb7f3fcf42c9ca47a0689195ced239a09d3c308",
"413a7989969c229dee4ab1798362f32f96cf0a10",
"0bb222e540b82720d4971e4a2fc626899af03e03",
"adc20832d8c43f1cf372d8392535492013cd2306",
"45649794dcbcabda487f66f7a80fc1bec79047a1",
@ -177,6 +180,7 @@ static const char *sha1_graphics_r5g5b5[] =
"449092689226a1172b6086ba1181d6b6d6499f26",
"5c636ffadec10fbe440b552fe6436f3dbc607dcf",
"4aac89fc18c128eddb69eea658272af53138a1cb",
"897d16f4d6a6ddad685d23ed7828d4f676539b75",
"9d21bcfdeaf1ca5d47eb823bdefc24d7a95f4f56",
"6daaf945a955928c5c124c880522ca4634fb2343",
"12a288390d16e1efa99d4185301de48a4d433b14",
@ -205,6 +209,7 @@ static const char *sha1_graphics_r4g4b4[] =
"25fcb75aa687aac35b8f72640889fe92413e00c5",
"dbc8d66b419880108793db91c05766c0c6efd86d",
"6092ccbab6b6e073c6ac8244d122f2cfc453aa38",
"e61a4f2657a444d8c49f84fb944f9f847667bf2b",
"32b6e0aa79b7e96cd0ab2da167f6463c011023a8",
"1d283aa4d2b2114f7809fe59357d590c7c779aa7",
"29640e2ddd2d3016da14507c3ce9b2ce32f39bb4",
@ -233,6 +238,7 @@ static const char *sha1_graphics_8[] =
"73e2859ce849f756f954718ce3c90f02e31712b6",
"196d832d283bf642d2e481e5452ca175f7902761",
"9552f48b88982633a44001227abb847dae4d06b0",
"6e375e1485a1e45ac6ab10af49645d5fb2e76dff",
"cfc67c325c7cdf96d90af9b3cceb8d0504cbb3b0",
"7262364067e03c7fa498af1d59d228d6c63b460e",
"5241241a355a667ef0834049adf4218e8b3f16b8",
@ -261,6 +267,7 @@ static const char *sha1_graphics_4[] =
"3b53d24178cfacba53103a44dfd5d072b15a6781",
"fa0d5f2d9419d8310fe4af7a290d13c5026c77de",
"5070ecae5085209508f7450d5f21c69737a178e9",
"d17f4358ae529f920960ed89e535902ee13b0033",
"0f44e12ecd1ea7e39433890443626d4fc35204a4",
"eb38683e812fd13dca971ba8f4cfd2b6820d3524",
"73bbc83f88f1aaa6df0158b63e70bb3165163163",
@ -435,7 +442,8 @@ static const RECT rectangles[] =
{200, 40, 210, 43} /* height == 3 */
};
static const BITMAPINFOHEADER dib_brush_header_32 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 32, BI_RGB, 0, 0, 0, 0, 0};
static const BITMAPINFOHEADER dib_brush_header_8888 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 32, BI_RGB, 0, 0, 0, 0, 0};
static const BITMAPINFOHEADER dib_brush_header_24 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 24, BI_RGB, 0, 0, 0, 0, 0};
static const BITMAPINFOHEADER dib_brush_header_555 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 16, BI_RGB, 0, 0, 0, 0, 0};
static const BITMAPINFOHEADER dib_brush_header_8 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 8, BI_RGB, 0, 0, 0, 0, 0};
static const BITMAPINFOHEADER dib_brush_header_4 = {sizeof(BITMAPINFOHEADER), 16, -16, 1, 4, BI_RGB, 0, 0, 0, 0, 0};
@ -618,9 +626,9 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
ExtSelectClipRgn(hdc, NULL, RGN_COPY);
/* DIB pattern brush */
/* 8888 DIB pattern brush */
brush_bi->bmiHeader = dib_brush_header_32;
brush_bi->bmiHeader = dib_brush_header_8888;
brush_bits = (BYTE*)brush_bi + sizeof(BITMAPINFOHEADER);
memset(brush_bits, 0, 16 * 16 * sizeof(DWORD));
brush_bits[2] = 0xff;
@ -645,13 +653,13 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
y += 25;
}
}
compare_hash(bmi, bits, sha1, "top-down dib brush patblt");
compare_hash(bmi, bits, sha1, "top-down 8888 dib brush patblt");
memset(bits, 0xcc, dib_size);
SelectObject(hdc, orig_brush);
DeleteObject(dib_brush);
/* Bottom-up DIB pattern brush */
/* 8888 bottom-up DIB pattern brush */
brush_bi->bmiHeader.biHeight = -brush_bi->bmiHeader.biHeight;
@ -675,9 +683,39 @@ static void draw_graphics(HDC hdc, BITMAPINFO *bmi, BYTE *bits, const char ***sh
y += 25;
}
}
compare_hash(bmi, bits, sha1, "bottom-up dib brush patblt");
compare_hash(bmi, bits, sha1, "bottom-up 8888 dib brush patblt");
memset(bits, 0xcc, dib_size);
/* 24 bpp dib pattern brush */
brush_bi->bmiHeader = dib_brush_header_24;
brush_bits = (BYTE*)brush_bi + sizeof(BITMAPINFOHEADER);
memset(brush_bits, 0, 16 * 16 * 3);
brush_bits[0] = brush_bits[3] = brush_bits[6] = brush_bits[8] = 0xff;
brush_bits[49] = brush_bits[52] = 0xff;
dib_brush = CreateDIBPatternBrushPt(brush_bi, DIB_RGB_COLORS);
SelectObject(hdc, dib_brush);
SetBrushOrgEx(hdc, 1, 1, NULL);
for(i = 0, y = 10; i < 256; i++)
{
BOOL ret;
if(!rop_uses_src(rop3[i]))
{
ret = PatBlt(hdc, 10 + i, y, 100, 20, rop3[i]);
ok(ret, "got FALSE for %x\n", rop3[i]);
y += 25;
}
}
compare_hash(bmi, bits, sha1, "top-down 24 bpp brush patblt");
memset(bits, 0xcc, dib_size);
SelectObject(hdc, orig_brush);
DeleteObject(dib_brush);
/* 555 dib pattern brush */
brush_bi->bmiHeader = dib_brush_header_555;