1530{
1534 HPEN solid_pen, dashed_pen, wide_pen, orig_pen;
1536 HBRUSH solid_brush, dib_brush, hatch_brush, orig_brush;
1546 BYTE *brush_bits, *src_bits;
1551 HPALETTE hpal, old_hpal;
1552
1555
1557
1560
1565
1566
1567 for(
i = 1;
i <= 16;
i++)
1568 {
1578 }
1580
1581
1583 for(
i = 0;
i < 16;
i++)
1584 {
1587
1590 }
1592
1594 {
1597 }
1599
1600
1603
1604 for(
i = 0,
y = 10;
i < 256;
i++)
1605 {
1607
1610 else
1611 {
1614 }
1615
1616 }
1618
1619
1627
1629 {
1632 }
1634
1636 {
1639 }
1641
1643 {
1646 }
1648
1649
1651 {
1655 }
1657
1658
1663
1665 {
1668 }
1670
1672 {
1675 }
1677
1679 {
1682 }
1684
1686 {
1689 }
1691
1693 {
1696 }
1698
1700
1702 {
1705 }
1707
1709
1710
1711
1715 brush_bits[2] = 0xff;
1716 brush_bits[6] = 0xff;
1717 brush_bits[14] = 0xff;
1718 brush_bits[65] = 0xff;
1719 brush_bits[69] = 0xff;
1720 brush_bits[72] = 0xff;
1721
1723
1726
1727 for(
i = 0,
y = 10;
i < 256;
i++)
1728 {
1730 {
1734 }
1735 }
1737
1740
1741
1742
1744
1746
1748
1749
1750
1751
1753
1754 for(
i = 0,
y = 10;
i < 256;
i++)
1755 {
1757 {
1761 }
1762 }
1764
1767
1768
1769
1772 memset(brush_bits, 0, 16 * 16 * 3);
1773 brush_bits[0] = brush_bits[3] = brush_bits[6] = brush_bits[8] = 0xff;
1774 brush_bits[49] = brush_bits[52] = 0xff;
1775
1777
1780
1781 for(
i = 0,
y = 10;
i < 256;
i++)
1782 {
1784 {
1788 }
1789 }
1791
1794
1795
1796
1799 memset(brush_bits, 0, 16 * 16 *
sizeof(
WORD));
1800 brush_bits[0] = brush_bits[1] = 0xff;
1801 brush_bits[32] = brush_bits[34] = 0x7c;
1802
1804
1807
1808 for(
i = 0,
y = 10;
i < 256;
i++)
1809 {
1811 {
1815 }
1816 }
1818
1821
1823
1824
1825
1829 brush_colors[0].rgbRed = 0xff;
1830 brush_colors[1].rgbRed = 0xff;
1831 brush_colors[1].rgbGreen = 0xff;
1832 brush_colors[1].rgbBlue = 0xff;
1833
1835 memset(brush_bits, 0, 16 * 16 *
sizeof(
BYTE));
1836 brush_bits[0] = brush_bits[1] = 1;
1837 brush_bits[16] = brush_bits[17] = 2;
1838 brush_bits[32] = brush_bits[33] = 6;
1839
1841
1844
1845 for(
i = 0,
y = 10;
i < 256;
i++)
1846 {
1848 {
1852 }
1853 }
1855
1858
1859
1860
1863
1866
1867 for(
i = 0,
y = 10;
i < 256;
i++)
1868 {
1870 {
1874 }
1875 }
1877
1880
1881
1882
1885 memset(brush_bits, 0, 16 * 4);
1886 brush_bits[0] = 0xf0;
1887 brush_bits[4] = 0xf0;
1888 brush_bits[8] = 0xf0;
1889
1892 for(
i = 0,
y = 10;
i < 256;
i++)
1893 {
1895 {
1899 }
1900 }
1901
1903
1906
1907
1908
1914 for(
i = 0,
y = 10;
i < 256;
i++)
1915 {
1919 {
1923 }
1924 }
1925
1927
1934
1935
1936
1939
1941 {
1943 }
1944
1947 {
1949 }
1950
1953
1954
1955
1958
1959
1960
1968
1969 for(
i = 0,
y = 10;
i < 256;
i++)
1970 {
1972 {
1974 {
1981 }
1983 }
1984 }
1985
1987
1988
1989
1991
1998
2006 else
2008
2015
2023 else
2025
2032
2039
2047 else
2049
2056
2057
2058
2059 memset( dib_src_buf, 0,
sizeof(dib_src_buf) );
2060 src_bi->bmiHeader.biSize =
sizeof(bmi->
bmiHeader);
2061 src_bi->bmiHeader.biHeight = 256;
2062 src_bi->bmiHeader.biWidth = 256;
2063 src_bi->bmiHeader.biBitCount = 32;
2064 src_bi->bmiHeader.biPlanes = 1;
2065 src_bi->bmiHeader.biCompression =
BI_RGB;
2068 for (
y = 0;
y < 256;
y++)
2069 for (
x = 0;
x < 256;
x++)
2070 {
2076 }
2077
2079
2080
2091
2094 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2096
2099 GdiAlphaBlend(
hdc, 50, 50, 256, 256, src_dc, 0, 0, 256, 256, blend );
2101
2102
2103
2104 src_bi->bmiHeader.biBitCount = 32;
2106 ((
DWORD *)src_bi->bmiColors)[0] = 0x3ff00000;
2107 ((
DWORD *)src_bi->bmiColors)[1] = 0x000ffc00;
2108 ((
DWORD *)src_bi->bmiColors)[2] = 0x000003ff;
2111 for (
y = 0;
y < 256;
y++)
2112 for (
x = 0;
x < 256;
x++)
2113 {
2114 WORD r = (7 *
x + 3 *
y) % 1024;
2115 WORD g = (11 *
x +
y / 3) % 1024;
2116 WORD b = (
x / 3 + 9 *
y) % 1024;
2117 ((
DWORD *)src_bits)[
y * 256 +
x] =
r << 20 |
g << 10 |
b;
2118 }
2119
2122
2123
2124
2125 src_bi->bmiHeader.biBitCount = 32;
2127 ((
DWORD *)src_bi->bmiColors)[0] = 0x00003f;
2128 ((
DWORD *)src_bi->bmiColors)[1] = 0x000fc0;
2129 ((
DWORD *)src_bi->bmiColors)[2] = 0x03f000;
2132 for (
y = 0;
y < 256;
y++)
2133 for (
x = 0;
x < 256;
x++)
2134 {
2137 BYTE b = (
x / 3 + 2 *
y) % 64;
2138 ((
DWORD *)src_bits)[
y * 256 +
x] =
r |
g << 6 |
b << 12;
2139 }
2140
2143
2144
2145
2146 src_bi->bmiHeader.biBitCount = 24;
2147 src_bi->bmiHeader.biCompression =
BI_RGB;
2150 for (
y = 0;
y < 256;
y++)
2151 for (
x = 0;
x < 256;
x++)
2152 {
2153 src_bits[(
y * 256 +
x) * 3 + 0] =
x + 3 *
y;
2154 src_bits[(
y * 256 +
x) * 3 + 1] = 2 *
x + 7 *
y;
2155 src_bits[(
y * 256 +
x) * 3 + 2] = 5 *
x + 12 *
y;
2156 }
2157
2160
2163 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2165
2166
2167
2168 src_bi->bmiHeader.biBitCount = 16;
2169 src_bi->bmiHeader.biCompression =
BI_RGB;
2172 for (
y = 0;
y < 256;
y++)
2173 for (
x = 0;
x < 256;
x++)
2174 ((
WORD *)src_bits)[
y * 256 +
x] =
x |
x << 4 |
x << 8 |
y << 3 |
y << 7;
2175
2178
2179
2180
2181 src_bi->bmiHeader.biBitCount = 16;
2183 ((
DWORD *)src_bi->bmiColors)[0] = 0x00000f;
2184 ((
DWORD *)src_bi->bmiColors)[1] = 0x0000f0;
2185 ((
DWORD *)src_bi->bmiColors)[2] = 0x000f00;
2188 for (
y = 0;
y < 256;
y++)
2189 for (
x = 0;
x < 256;
x++)
2190 ((
WORD *)src_bits)[
y * 256 +
x] =
x |
x << 4 |
x << 8 |
y << 3 |
y << 7;
2191
2194
2195
2196
2197 src_bi->bmiHeader.biBitCount = 8;
2198 src_bi->bmiHeader.biCompression =
BI_RGB;
2199 src_bi->bmiHeader.biClrUsed = 160;
2200 for (
i = 0;
i < 256;
i++) ((
DWORD *)src_bi->bmiColors)[
i] =
i | (
i * 3) << 8 | (
i / 2) << 16;
2203 for (
y = 0;
y < 256;
y++)
2204 for (
x = 0;
x < 256;
x++)
2205 src_bits[
y * 256 +
x] = 3 *
x + 5 *
y;
2206
2209
2212 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2214
2215
2216
2217 src_bi->bmiHeader.biBitCount = 4;
2218 src_bi->bmiHeader.biClrUsed = 12;
2219 for (
i = 0;
i < 16;
i++) ((
DWORD *)src_bi->bmiColors)[
i] =
i | (
i * 5) << 8 | (
i * 19) << 16;
2222 for (
y = 0;
y < 256;
y++)
2223 for (
x = 0;
x < 256;
x += 2)
2224 src_bits[(
y * 256 +
x) / 2] = 7 *
x + 3 *
y;
2225
2228
2229
2230
2231 src_bi->bmiHeader.biBitCount = 1;
2232 src_bi->bmiHeader.biClrUsed = 0;
2233 for (
i = 0;
i < 2;
i++) ((
DWORD *)src_bi->bmiColors)[
i] = (
i + 37) | (
i * 91) << 8 | (
i * 53) << 16;
2236 for (
y = 0;
y < 256;
y++)
2237 for (
x = 0;
x < 256;
x += 8)
2238 src_bits[(
y * 256 +
x) / 8] = 7 *
x + 3 *
y;
2239
2241
2248
2251 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2253
2254
2255
2258
2261 for (
i = 0;
i < 256;
i += 13)
2262 {
2266 }
2267 for (
i = 0;
i < 256;
i += 13)
2268 {
2272 }
2273 for (
i = 0;
i < 256;
i += 13)
2274 {
2278 }
2282
2284
2285
2286
2289
2290 for (
y = 0;
y < 16;
y++)
2291 for (
x = 0;
x < 16;
x++)
2294
2297
2299
2340
2343
2344
2345 src_bi->bmiHeader.biSize = sizeof(src_bi->bmiHeader);
2346 src_bi->bmiHeader.biWidth = 8;
2347 src_bi->bmiHeader.biHeight = 8;
2348 src_bi->bmiHeader.biPlanes = 1;
2349 src_bi->bmiHeader.biBitCount = 8;
2350 src_bi->bmiHeader.biCompression =
BI_RLE8;
2351 src_bi->bmiHeader.biClrUsed = 0;
2352 src_bi->bmiHeader.biSizeImage =
sizeof(
rle8_data);
2353
2354 for (
i = 0;
i < 256;
i++)
2355 {
2356 src_bi->bmiColors[
i].rgbRed =
i;
2357 src_bi->bmiColors[
i].rgbGreen =
i;
2358 src_bi->bmiColors[
i].rgbBlue =
i;
2359 src_bi->bmiColors[
i].rgbReserved = 0;
2360 }
2361
2362 StretchDIBits(
hdc, 10, 10, 7, 7, 0, 0, 7, 7,
rle8_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2363 StretchDIBits(
hdc, 100, 10, 7, 7, 0, 0, 7, 7,
rle8_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2364 StretchDIBits(
hdc, 200, 10, 7, 7, 0, 1, 7, 7,
rle8_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2365 StretchDIBits(
hdc, 300, 10, 7, 7, 1, 0, 7, 7,
rle8_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2366 StretchDIBits(
hdc, 400, 10, 16, 16, 0, 0, 8, 8,
rle8_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2368
2369
2370
2371 src_bi->bmiHeader.biWidth = 4;
2372 src_bi->bmiHeader.biHeight = 4;
2373 src_bi->bmiHeader.biPlanes = 1;
2374 src_bi->bmiHeader.biBitCount = 32;
2375 src_bi->bmiHeader.biCompression =
BI_RGB;
2376 src_bi->bmiHeader.biClrUsed = 0;
2377 src_bi->bmiHeader.biSizeImage = 0;
2378
2379 ret =
StretchDIBits(
hdc, 10, 10, 4, 4, 0, 0, 4, 4,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2381 ret =
StretchDIBits(
hdc, 20, 10, 4, 4, 0, 0, 4, 4,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2383 ret =
StretchDIBits(
hdc, 30, 10, 3, 3, 1, 1, 3, 3,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2385 ret =
StretchDIBits(
hdc, 40, 10, 3, 3, 1, 1, 3, 3,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2387 ret =
StretchDIBits(
hdc, 50, 10, -2, -2, 2, 3, -2, -2,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2389 ret =
StretchDIBits(
hdc, 60, 10, -2, -2, 2, 3, -2, -2,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2391
2392 src_bi->bmiHeader.biHeight = -4;
2393
2394 ret =
StretchDIBits(
hdc, 10, 100, 4, 4, 0, 0, 4, 4,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2396 ret =
StretchDIBits(
hdc, 20, 100, 4, 4, 0, 0, 4, 4,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2398 ret =
StretchDIBits(
hdc, 30, 100, 3, 3, 1, 1, 3, 3,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2400 ret =
StretchDIBits(
hdc, 40, 100, 3, 3, 1, 1, 3, 3,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2402 ret =
StretchDIBits(
hdc, 50, 100, -2, -2, 2, 3, -2, -2,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCCOPY );
2404 ret =
StretchDIBits(
hdc, 60, 100, -2, -2, 2, 3, -2, -2,
four_by_four_data, src_bi,
DIB_RGB_COLORS,
SRCAND );
2406
2408
2409
2410 for (
i = 0;
i < 256;
i++)
2411 {
2417 }
2418
2419
2420
2421
2424
2425
2428
2429
2432
2434
2435 for (
i = 0;
i < 256;
i++)
2436 {
2440 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2441
2444 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2445
2448 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2449
2452 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2453
2454 for (
j = 0;
j < 256;
j++)
2455 {
2458 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2459
2462 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2463 }
2464 }
2465
2467
2468
2469
2470 {
2472 {
2473 { 1, 1, 0xff00, 0x8000, 0x0000, 0x8000 },
2474 { 200, 200, 0x0000, 0x0000, 0xff00, 0xff00 },
2475 { 180, 180, 0x1234, 0x5678, 0x9abc, 0xdef0 },
2476 { 300, 300, 0xff00, 0xff00, 0xff00, 0x0000 }
2477 };
2479
2481 {
2482 { 250, 0, 0xff00, 0x0000, 0xff00, 0xff00 },
2483 { 500, 500, 0x0000, 0xff00, 0x0000, 0xff00 },
2484 { 0, 500, 0x0000, 0x0000, 0xff00, 0xff00 },
2485
2486 { 10, 0, 0x8000, 0x0000, 0x8000, 0x8000 },
2487 { 0, 20, 0xff00, 0xff00, 0xff00, 0x0000 },
2488 { 5, 30, 0x4000, 0xc000, 0x7000, 0x9000 },
2489
2490 { 30, 0, 0x9000, 0x8800, 0xcc00, 0xff00 },
2491 { 5, 12, 0x9900, 0xaa00, 0xbb00, 0xcc00 },
2492 { 0, 30, 0x5000, 0xd000, 0x9000, 0xbb00 },
2493
2494 { 35, 3, 0xaa00, 0x6500, 0x4300, 0x2100 },
2495 { 50, 6, 0x9800, 0x9800, 0x9800, 0x2000 },
2496 { 60, 10, 0x0100, 0x0200, 0x0300, 0x3000 },
2497
2498 { 60, 2, 0x0700, 0x0800, 0x0900, 0xff00 },
2499 { 73, 10, 0x9900, 0x8800, 0x7700, 0xff00 },
2500 { 66, 23, 0x1100, 0x2200, 0x3300, 0xff00 },
2501
2502 { 80, 1, 0xa000, 0x6000, 0x4000, 0x2000 },
2503 { 76, 9, 0x7000, 0x5000, 0x3000, 0x1000 },
2504 { 85, 23, 0x3300, 0x3300, 0x3300, 0x3300 },
2505
2506 { 90, 4, 0x4400, 0x5500, 0x6600, 0x9900 },
2507 { 95, 12, 0x4500, 0x5600, 0x6700, 0x9900 },
2508 { 85, 14, 0x4600, 0x5700, 0x6800, 0x9900 },
2509 };
2511 {
2512 { 0, 1, 2 }, { 3, 4, 5 }, { 6, 7, 8 }, { 9, 10, 11 }, { 12, 13, 14 }, { 15, 16, 17 }, { 18, 19, 20 },
2513 { 2, 1, 0 }, { 3, 5, 4 }, { 7, 6, 8 }, { 10, 11, 9 }, { 14, 13, 12 }, { 17, 15, 16 }, { 19, 20, 18 }
2514 };
2515
2517 for (
i = 0;
i < 4;
i++) vrect[
i].
y += 250;
2519
2521
2523 for (
i = 0;
i < 7*3;
i++) vtri[
i].
y += 100;
2525
2527 }
2528
2529
2530
2533
2535 {
2538 }
2539
2541
2544
2548
2550 9, &log_brush, 0,
NULL );
2552
2555
2558
2560 16, &log_brush, 0,
NULL );
2562
2565
2568
2570 9, &log_brush, 0,
NULL );
2572
2575
2578
2579
2580
2588 12, &log_brush, 0,
NULL );
2589 ok( wide_pen != 0,
"failed to create pen\n" );
2592
2593 for (
i = 1;
i < 20;
i++)
2594 {
2596 i, &log_brush, 0,
NULL );
2597 ok( wide_pen != 0,
"failed to create pen\n" );
2604 }
2606
2607 for (
i = 1;
i < 20;
i++)
2608 {
2610 i, &log_brush, 0,
NULL );
2617 }
2619
2624
2625
2626
2633
2636 for (
i = 0;
i < 80;
i++)
2637 {
2642 }
2645
2652
2660
2670
2673
2675
2676
2677
2683
2684
2688
2691
2695
2697
2700
2707}
_STLP_DECLSPEC complex< float > _STLP_CALL cos(const complex< float > &)
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
FORCEINLINE VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
DWORD GetPixel(LPDIRECTDRAWSURFACE7 Surface, UINT x, UINT y)
static VOID BitBlt(_In_ ULONG Left, _In_ ULONG Top, _In_ ULONG Width, _In_ ULONG Height, _In_reads_bytes_(Delta *Height) PUCHAR Buffer, _In_ ULONG BitsPerPixel, _In_ ULONG Delta)
DWORD WINAPI SetLayout(_In_ HDC hdc, _In_ DWORD dwLayout)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble GLdouble top
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
BOOL WINAPI GdiAlphaBlend(HDC hdcDst, int xDst, int yDst, int widthDst, int heightDst, HDC hdcSrc, int xSrc, int ySrc, int widthSrc, int heightSrc, BLENDFUNCTION blendFunction)
BOOL WINAPI GdiGradientFill(HDC hdc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode)
static const RECT hline_clips[]
static const BITMAPINFOHEADER dib_brush_header_24
static const DWORD rop3[256]
static const RECT patblt_clips[]
static const RECT bias_check[]
static BOOL rop_uses_src(DWORD rop)
static const RECT vline_clips[]
static const RECT line_clips[]
static const DWORD polypoly_counts[]
static const POINT poly_lines[]
static const BYTE rle8_data[20]
static DWORD get_stride(const BITMAPINFO *bmi)
static const BITMAPINFOHEADER dib_brush_header_8888
static const BITMAPINFOHEADER dib_brush_header_4
static const DWORD four_by_four_data[16]
static const RECT wide_lines[]
static const BITMAPINFOHEADER dib_brush_header_8
static const POINT polypoly_lines[]
static const RECT rectangles[]
static const BITMAPINFOHEADER dib_brush_header_1
static void solid_patblt(HDC hdc, int x, int y, int width, int height, COLORREF color)
static const DWORD ddb_brush_bits[8]
static const BITMAPINFOHEADER dib_brush_header_555
static void compare_hash(HDC hdc, const BITMAPINFO *bmi, BYTE *bits, const char *info)
static void reset_bounds(HDC hdc)
BITMAPINFOHEADER bmiHeader
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
BOOL WINAPI Polyline(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ int cpt)
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
HPEN WINAPI ExtCreatePen(_In_ DWORD iPenStyle, _In_ DWORD cWidth, _In_ const LOGBRUSH *plbrush, _In_ DWORD cStyle, _In_reads_opt_(cStyle) const DWORD *pstyle)
COLORREF WINAPI GetTextColor(_In_ HDC)
BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HBRUSH WINAPI CreateHatchBrush(_In_ int, _In_ COLORREF)
HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
#define PALETTERGB(r, g, b)
COLORREF WINAPI GetBkColor(_In_ HDC)
LONG WINAPI GetBitmapBits(_In_ HBITMAP hbit, _In_ LONG cb, _Out_writes_bytes_(cb) LPVOID lpvBits)
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
struct tagBITMAPINFO BITMAPINFO
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
int WINAPI SetROP2(_In_ HDC, _In_ int)
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
UINT WINAPI SetPaletteEntries(_In_ HPALETTE hpal, _In_ UINT iStart, _In_ UINT cEntries, _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
BOOL WINAPI PaintRgn(_In_ HDC, _In_ HRGN)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
BOOL WINAPI SetRectRgn(_In_ HRGN, _In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI ExtFloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF, _In_ UINT)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI PolyPolyline(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const DWORD *asz, _In_ DWORD csz)
int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int)
int WINAPI StretchDIBits(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ const VOID *, _In_ const BITMAPINFO *, _In_ UINT, _In_ DWORD)
HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP)