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;
1567 for(
i = 1;
i <= 16;
i++)
1583 for(
i = 0;
i < 16;
i++)
1604 for(
i = 0,
y = 10;
i < 256;
i++)
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;
1727 for(
i = 0,
y = 10;
i < 256;
i++)
1754 for(
i = 0,
y = 10;
i < 256;
i++)
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;
1781 for(
i = 0,
y = 10;
i < 256;
i++)
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;
1808 for(
i = 0,
y = 10;
i < 256;
i++)
1829 brush_colors[0].rgbRed = 0xff;
1830 brush_colors[1].rgbRed = 0xff;
1831 brush_colors[1].rgbGreen = 0xff;
1832 brush_colors[1].rgbBlue = 0xff;
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;
1845 for(
i = 0,
y = 10;
i < 256;
i++)
1867 for(
i = 0,
y = 10;
i < 256;
i++)
1885 memset(brush_bits, 0, 16 * 4);
1886 brush_bits[0] = 0xf0;
1887 brush_bits[4] = 0xf0;
1888 brush_bits[8] = 0xf0;
1892 for(
i = 0,
y = 10;
i < 256;
i++)
1914 for(
i = 0,
y = 10;
i < 256;
i++)
1969 for(
i = 0,
y = 10;
i < 256;
i++)
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++)
2094 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2099 GdiAlphaBlend(
hdc, 50, 50, 256, 256, src_dc, 0, 0, 256, 256, blend );
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++)
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;
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++)
2137 BYTE b = (
x / 3 + 2 *
y) % 64;
2138 ((
DWORD *)src_bits)[
y * 256 +
x] =
r |
g << 6 |
b << 12;
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++)
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;
2163 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
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;
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;
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;
2212 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
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;
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;
2251 GdiAlphaBlend(
hdc, 100, 100, 256, 256, src_dc, 0, 0, 256, 256, blend );
2261 for (
i = 0;
i < 256;
i += 13)
2267 for (
i = 0;
i < 256;
i += 13)
2273 for (
i = 0;
i < 256;
i += 13)
2290 for (
y = 0;
y < 16;
y++)
2291 for (
x = 0;
x < 16;
x++)
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);
2354 for (
i = 0;
i < 256;
i++)
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;
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 );
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;
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 );
2392 src_bi->bmiHeader.biHeight = -4;
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 );
2410 for (
i = 0;
i < 256;
i++)
2435 for (
i = 0;
i < 256;
i++)
2440 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2444 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2448 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2452 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2454 for (
j = 0;
j < 256;
j++)
2458 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
2462 ok(
s ==
g,
"got %08x and %08x\n",
s,
g );
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 }
2482 { 250, 0, 0xff00, 0x0000, 0xff00, 0xff00 },
2483 { 500, 500, 0x0000, 0xff00, 0x0000, 0xff00 },
2484 { 0, 500, 0x0000, 0x0000, 0xff00, 0xff00 },
2486 { 10, 0, 0x8000, 0x0000, 0x8000, 0x8000 },
2487 { 0, 20, 0xff00, 0xff00, 0xff00, 0x0000 },
2488 { 5, 30, 0x4000, 0xc000, 0x7000, 0x9000 },
2490 { 30, 0, 0x9000, 0x8800, 0xcc00, 0xff00 },
2491 { 5, 12, 0x9900, 0xaa00, 0xbb00, 0xcc00 },
2492 { 0, 30, 0x5000, 0xd000, 0x9000, 0xbb00 },
2494 { 35, 3, 0xaa00, 0x6500, 0x4300, 0x2100 },
2495 { 50, 6, 0x9800, 0x9800, 0x9800, 0x2000 },
2496 { 60, 10, 0x0100, 0x0200, 0x0300, 0x3000 },
2498 { 60, 2, 0x0700, 0x0800, 0x0900, 0xff00 },
2499 { 73, 10, 0x9900, 0x8800, 0x7700, 0xff00 },
2500 { 66, 23, 0x1100, 0x2200, 0x3300, 0xff00 },
2502 { 80, 1, 0xa000, 0x6000, 0x4000, 0x2000 },
2503 { 76, 9, 0x7000, 0x5000, 0x3000, 0x1000 },
2504 { 85, 23, 0x3300, 0x3300, 0x3300, 0x3300 },
2506 { 90, 4, 0x4400, 0x5500, 0x6600, 0x9900 },
2507 { 95, 12, 0x4500, 0x5600, 0x6700, 0x9900 },
2508 { 85, 14, 0x4600, 0x5700, 0x6800, 0x9900 },
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 }
2517 for (
i = 0;
i < 4;
i++) vrect[
i].
y += 250;
2523 for (
i = 0;
i < 7*3;
i++) vtri[
i].
y += 100;
2550 9, &log_brush, 0,
NULL );
2560 16, &log_brush, 0,
NULL );
2570 9, &log_brush, 0,
NULL );
2588 12, &log_brush, 0,
NULL );
2589 ok( wide_pen != 0,
"failed to create pen\n" );
2593 for (
i = 1;
i < 20;
i++)
2596 i, &log_brush, 0,
NULL );
2597 ok( wide_pen != 0,
"failed to create pen\n" );
2607 for (
i = 1;
i < 20;
i++)
2610 i, &log_brush, 0,
NULL );
2636 for (
i = 0;
i < 80;
i++)
int WINAPI CombineRgn(_In_opt_ HRGN hrgnDest, _In_opt_ HRGN hrgnSrc1, _In_opt_ HRGN hrgnSrc2, _In_ int fnCombineMode)
DWORD WINAPI SetLayout(_In_ HDC hdc, _In_ DWORD dwLayout)
static const RECT bias_check[]
static void compare_hash_broken_todo(HDC hdc, const BITMAPINFO *bmi, BYTE *bits, const char *info, int num_broken, BOOL todo)
static const BITMAPINFOHEADER dib_brush_header_555
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)
COLORREF WINAPI GetBkColor(_In_ HDC)
FORCEINLINE VOID SetPixel(_In_ ULONG Left, _In_ ULONG Top, _In_ UCHAR Color)
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)
HPEN WINAPI CreatePen(_In_ int, _In_ int, _In_ COLORREF)
BITMAPINFOHEADER bmiHeader
HBRUSH WINAPI CreateHatchBrush(_In_ int, _In_ COLORREF)
static const POINT polypoly_lines[]
BOOL WINAPI PaintRgn(_In_ HDC, _In_ HRGN)
static const DWORD rop3[256]
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
static DWORD get_stride(const BITMAPINFO *bmi)
GLdouble GLdouble GLdouble r
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
GLint GLint GLint GLint GLint x
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
static const BYTE rle8_data[20]
DWORD GetPixel(LPDIRECTDRAWSURFACE7 Surface, UINT x, UINT y)
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
int WINAPI ExtSelectClipRgn(_In_ HDC, _In_opt_ HRGN, _In_ int)
int WINAPI SetBkMode(_In_ HDC, _In_ int)
int WINAPI SetROP2(_In_ HDC, _In_ int)
static const RECT vline_clips[]
COLORREF WINAPI GetTextColor(_In_ HDC)
static const BITMAPINFOHEADER dib_brush_header_1
_STLP_DECLSPEC complex< float > _STLP_CALL cos(const complex< float > &)
static const BITMAPINFOHEADER dib_brush_header_24
HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL)
BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
static void reset_bounds(HDC hdc)
static const POINT poly_lines[]
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
static const DWORD ddb_brush_bits[8]
HRGN WINAPI CreateRectRgn(_In_ int, _In_ int, _In_ int, _In_ int)
BOOL WINAPI SetRectRgn(_In_ HRGN, _In_ int, _In_ int, _In_ int, _In_ int)
HBRUSH WINAPI CreatePatternBrush(_In_ HBITMAP)
GLboolean GLboolean GLboolean b
static const RECT patblt_clips[]
HPALETTE WINAPI CreatePalette(_In_reads_(_Inexpressible_(2 *sizeof(WORD)+plpal->palNumEntries *sizeof(PALETTEENTRY))) const LOGPALETTE *)
LONG WINAPI GetBitmapBits(_In_ HBITMAP hbit, _In_ LONG cb, _Out_writes_bytes_(cb) LPVOID lpvBits)
static const DWORD polypoly_counts[]
BOOL WINAPI PolyPolyline(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const DWORD *asz, _In_ DWORD csz)
static const RECT rectangles[]
COLORREF WINAPI SetTextColor(_In_ HDC, _In_ COLORREF)
static BOOL rop_uses_src(DWORD rop)
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 i
BOOL WINAPI DeleteDC(_In_ HDC)
#define PALETTERGB(r, g, b)
static void solid_patblt(HDC hdc, int x, int y, int width, int height, COLORREF color)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
static const RECT wide_lines[]
static const BITMAPINFOHEADER dib_brush_header_4
UINT WINAPI SetPaletteEntries(_In_ HPALETTE hpal, _In_ UINT iStart, _In_ UINT cEntries, _In_reads_(cEntries) CONST PALETTEENTRY *pPalEntries)
static const RECT hline_clips[]
struct tagLOGPALETTE LOGPALETTE
static const DWORD four_by_four_data[16]
BOOL WINAPI GdiGradientFill(HDC hdc, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
GLint GLint GLint GLint GLint GLint y
BOOL WINAPI Polyline(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ int cpt)
HPEN WINAPI ExtCreatePen(_In_ DWORD iPenStyle, _In_ DWORD cWidth, _In_ const LOGBRUSH *plbrush, _In_ DWORD cStyle, _In_reads_opt_(cStyle) const DWORD *pstyle)
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
GLdouble GLdouble GLdouble GLdouble top
GLboolean GLboolean GLboolean GLboolean a
static void compare_hash(HDC hdc, const BITMAPINFO *bmi, BYTE *bits, const char *info)
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
static const RECT line_clips[]
static const BITMAPINFOHEADER dib_brush_header_8888
static VOID NTAPI 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)
static DWORD get_dib_size(const BITMAPINFO *bmi)
BOOL WINAPI ExtFloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF, _In_ UINT)
struct tagBITMAPINFO BITMAPINFO
HBITMAP WINAPI CreateBitmap(_In_ INT cx, _In_ INT cy, _In_ UINT cPlanes, _In_ UINT cBitsPerPel, _In_opt_ const VOID *pvBits)
static const BITMAPINFOHEADER dib_brush_header_8