783{
787
788 TRACE(
"hdc = %p, handletable = %p, record = %p, numHandles = %d\n",
790 if (!mr)
return FALSE;
791
793
796 {
798 break;
800 break;
802 {
804
806 break;
807 }
809 {
811
812 if (
info->state.mode == pSetMapMode->
iMode &&
814 break;
817
820
821 break;
822 }
824 {
827 break;
828 }
830 {
833 break;
834 }
836 {
839 break;
840 }
842 {
845 break;
846 }
848 {
851 break;
852 }
854 {
857 break;
858 }
860 {
863 break;
864 }
866 {
869 break;
870 }
872 {
877 break;
878 }
880 {
882 TRACE(
"EMR_INTERSECTCLIPRECT: rect %d,%d - %d, %d\n",
887 break;
888 }
890 {
892 if( pSelectObject->
ihObject & 0x80000000 ) {
893
894
895
896
898 0x7fffffff ) );
899 } else {
900
901
904 }
905 break;
906 }
908 {
912 break;
913 }
915 {
917
920
921 TRACE(
"SetWindowOrgEx: %d,%d\n",
info->state.wndOrgX,
info->state.wndOrgY);
922
925
926 break;
927 }
929 {
931
933 break;
938
939 TRACE(
"SetWindowExtEx: %d,%d\n",
info->state.wndExtX,
info->state.wndExtY);
940
943
944 break;
945 }
947 {
949
952 TRACE(
"SetViewportOrgEx: %d,%d\n",
info->state.vportOrgX,
info->state.vportOrgY);
953
956
957 break;
958 }
960 {
962
964 break;
969 TRACE(
"SetViewportExtEx: %d,%d\n",
info->state.vportExtX,
info->state.vportExtY);
970
973
974 break;
975 }
977 {
981 break;
982 }
984 {
990
992 FIXME(
"EMR_EXTCREATEPEN: Need to copy brush bitmap\n");
993
997 break;
998 }
1000 {
1007 break;
1008 }
1010 {
1014 break;
1015 }
1017 {
1020 break;
1021 }
1023 {
1026 break;
1027 }
1029 {
1033 break;
1034 }
1036 {
1040 break;
1041 }
1043 {
1045
1049 for(
i = 0;
i < pPoly->
cpts;
i++)
1050 {
1053 }
1056 break;
1057 }
1059 {
1061
1065 for(
i = 0;
i < pPoly->
cpts;
i++)
1066 {
1069 }
1072 break;
1073 }
1075 {
1077
1081 for(
i = 0;
i < pPoly->
cpts;
i++)
1082 {
1085 }
1088 break;
1089 }
1091 {
1093
1097 for(
i = 0;
i < pPoly->
cpts;
i++)
1098 {
1101 }
1104 break;
1105 }
1107 {
1109
1113 for(
i = 0;
i < pPoly->
cpts;
i++)
1114 {
1117 }
1120 break;
1121 }
1123 {
1125
1126
1127
1131 for(
i = 0;
i < pPolyPoly->
cpts;
i++)
1132 {
1135 }
1138 break;
1139 }
1141 {
1143
1144
1145
1149 for(
i = 0;
i < pPolyPoly->
cpts;
i++)
1150 {
1153 }
1156 break;
1157 }
1158
1160 {
1165
1166
1167
1169
1170 if (!pts)
1171 break;
1172
1173 for (
i = 0;
i < pPolyDraw16->
cpts; ++
i)
1174 {
1175 pts[
i].
x = ptl[
i].
x;
1176 pts[
i].
y = ptl[
i].
y;
1177 }
1178
1181 break;
1182 }
1183
1185 {
1187
1189 pStretchDIBits->
xDest,
1190 pStretchDIBits->
yDest,
1193 pStretchDIBits->
xSrc,
1194 pStretchDIBits->
ySrc,
1195 pStretchDIBits->
cxSrc,
1196 pStretchDIBits->
cySrc,
1200 pStretchDIBits->
dwRop);
1201 break;
1202 }
1203
1205 {
1209 int old_mode;
1210
1215 TRACE(
"EMR_EXTTEXTOUTA: x,y = %d, %d. rect = %s. flags %08x\n",
1218
1220
1221
1223
1224
1225
1226
1227
1230
1235
1237 break;
1238 }
1239
1241 {
1245 int old_mode;
1246
1251 TRACE(
"EMR_EXTTEXTOUTW: x,y = %d, %d. rect = %s. flags %08x\n",
1254
1256
1257
1259
1260
1261
1262
1263
1266
1271
1273 break;
1274 }
1275
1277 {
1279
1282
1283 break;
1284 }
1285
1287 {
1289
1290 if( lpSelectPal->
ihPal & 0x80000000 ) {
1292 } else {
1294 }
1295 break;
1296 }
1297
1299 {
1301 break;
1302 }
1303
1305 {
1307#ifdef __REACTOS__
1310#endif
1312
1314#ifdef __REACTOS__
1316#else
1318#endif
1320
1322 break;
1323 }
1324
1326 {
1328 break;
1329 }
1330
1332 {
1334 info->state.world_transform = lpXfrm->
xform;
1335
1338
1339 break;
1340 }
1341
1343 {
1346 break;
1347 }
1348
1350 {
1353 break;
1354 }
1355
1357 {
1360 break;
1361 }
1362
1364 {
1368 break;
1369 }
1370
1372 {
1376 break;
1377 }
1378
1380 {
1382
1383
1388
1389 break;
1390 }
1391
1393 {
1395
1396
1397
1401 break;
1402 }
1403
1405 {
1407
1412
1413 break;
1414 }
1415
1417 {
1419
1424
1425 break;
1426 }
1427
1429 {
1431
1433
1434 break;
1435 }
1436
1438 {
1440
1442
1443 break;
1444 }
1445
1447 {
1449
1453 FIXME(
"OffsetClipRgn\n");
1454
1455 break;
1456 }
1457
1459 {
1461
1467 FIXME(
"ExcludeClipRect\n");
1468
1469 break;
1470 }
1471
1473 {
1475
1477 break;
1478 if (!lpScaleViewportExtEx->
xNum || !lpScaleViewportExtEx->
xDenom ||
1479 !lpScaleViewportExtEx->
yNum || !lpScaleViewportExtEx->
yDenom)
1480 break;
1482 lpScaleViewportExtEx->
xDenom);
1484 lpScaleViewportExtEx->
yDenom);
1485 if (
info->state.vportExtX == 0)
info->state.vportExtX = 1;
1486 if (
info->state.vportExtY == 0)
info->state.vportExtY = 1;
1489
1490 TRACE(
"EMRSCALEVIEWPORTEXTEX %d/%d %d/%d\n",
1491 lpScaleViewportExtEx->
xNum,lpScaleViewportExtEx->
xDenom,
1492 lpScaleViewportExtEx->
yNum,lpScaleViewportExtEx->
yDenom);
1493
1496
1497 break;
1498 }
1499
1501 {
1503
1505 break;
1506 if (!lpScaleWindowExtEx->
xNum || !lpScaleWindowExtEx->
xDenom ||
1507 !lpScaleWindowExtEx->
yNum || !lpScaleWindowExtEx->
yDenom)
1508 break;
1510 lpScaleWindowExtEx->
xDenom);
1512 lpScaleWindowExtEx->
yDenom);
1513 if (
info->state.wndExtX == 0)
info->state.wndExtX = 1;
1514 if (
info->state.wndExtY == 0)
info->state.wndExtY = 1;
1517
1518 TRACE(
"EMRSCALEWINDOWEXTEX %d/%d %d/%d\n",
1519 lpScaleWindowExtEx->
xNum,lpScaleWindowExtEx->
xDenom,
1520 lpScaleWindowExtEx->
yNum,lpScaleWindowExtEx->
yDenom);
1521
1524
1525 break;
1526 }
1527
1529 {
1531
1532 switch(lpModifyWorldTrans->
iMode) {
1534 info->state.world_transform.eM11 =
info->state.world_transform.eM22 = 1;
1535 info->state.world_transform.eM12 =
info->state.world_transform.eM21 = 0;
1536 info->state.world_transform.eDx =
info->state.world_transform.eDy = 0;
1539 break;
1542 &
info->state.world_transform);
1545 break;
1548 &lpModifyWorldTrans->
xform);
1551 break;
1552 default:
1553 FIXME(
"Unknown imode %d\n", lpModifyWorldTrans->
iMode);
1554 break;
1555 }
1556 break;
1557 }
1558
1560 {
1562
1567
1568 break;
1569 }
1570
1572 {
1574
1582
1583 break;
1584 }
1585
1587 {
1589
1599
1600 break;
1601 }
1602
1604 {
1606
1616
1617 break;
1618 }
1619
1621 {
1623
1633
1634 break;
1635 }
1636
1638 {
1640
1650
1651 break;
1652 }
1653
1655 {
1657
1663
1664 break;
1665 }
1666
1668 {
1674
1675 break;
1676 }
1677
1679 {
1682 break;
1683 }
1684
1686 {
1689 break;
1690 }
1691
1693 {
1695 break;
1696 }
1697
1699 {
1701 break;
1702 }
1703
1705 {
1707 break;
1708 }
1709
1711 {
1712
1714 break;
1715 }
1716
1718 {
1719
1721 break;
1722 }
1723
1725 {
1726
1728 break;
1729 }
1730
1732 {
1734 break;
1735 }
1736
1738 {
1740 break;
1741 }
1742
1744 {
1747 break;
1748 }
1749
1751 {
1753 break;
1754 }
1755
1757 {
1761 break;
1762 }
1763
1765 {
1769 break;
1770 }
1771
1773 {
1776 break;
1777 }
1778
1780 {
1783 break;
1784 }
1785
1787 {
1790
1793
1794 break;
1795 }
1796
1798 {
1800
1805
1806 break;
1807 }
1808
1810 {
1812
1815
1816 break;
1817 }
1818
1820 {
1823
1824
1825
1826
1831 {
1832 ERR(
"Invalid EMR_CREATEDIBPATTERNBRUSHPT record\n");
1833 break;
1834 }
1835
1836
1839 if(!lpPackedStruct)
1840 {
1842 break;
1843 }
1844
1845
1847 ((
const BYTE *)lpCreate) + lpCreate->offBmi,
1848 lpCreate->cbBmi );
1850 ((
const BYTE *)lpCreate) + lpCreate->offBits,
1851 lpCreate->cbBits );
1852
1856
1858 break;
1859 }
1860
1862 {
1866
1867
1868
1870 {
1872
1873
1874
1875
1876 bm.bmType = 0;
1877 bm.bmWidth =
pbi->bmiHeader.biWidth;
1878 bm.bmHeight =
abs(
pbi->bmiHeader.biHeight);
1879 bm.bmWidthBytes = 4 * ((
pbi->bmiHeader.biWidth + 31) / 32);
1880 bm.bmPlanes =
pbi->bmiHeader.biPlanes;
1881 bm.bmBitsPixel =
pbi->bmiHeader.biBitCount;
1882 bm.bmBits = (
BYTE *)mr + pCreateMonoBrush->
offBits;
1884 }
1886 {
1887
1889
1893 }
1894 else
1895 {
1898 }
1899
1901
1902
1904 break;
1905 }
1906
1908 {
1910
1914 } else {
1916 HBRUSH hBrush, hBrushOld;
1917 HBITMAP hBmp = 0, hBmpOld = 0;
1919
1922
1930
1934
1937
1941 }
1942 break;
1943 }
1944
1946 {
1948
1949 TRACE(
"EMR_STRETCHBLT: %d, %d %dx%d -> %d, %d %dx%d. rop %08x offBitsSrc %d\n",
1953
1956 pStretchBlt->
dwRop);
1957 } else {
1959 HBRUSH hBrush, hBrushOld;
1960 HBITMAP hBmp = 0, hBmpOld = 0;
1962
1965
1973
1977
1980 pStretchBlt->
dwRop);
1981
1985 }
1986 break;
1987 }
1988
1989 case EMR_ALPHABLEND:
1990 {
1992
1993 TRACE(
"EMR_ALPHABLEND: %d, %d %dx%d -> %d, %d %dx%d. blendfn %08x offBitsSrc %d\n",
1997
1999 FIXME(
"EMR_ALPHABLEND: offBmiSrc == 0\n");
2000 } else {
2002 HBITMAP hBmp = 0, hBmpOld = 0;
2005
2008
2012
2016
2020 }
2021 break;
2022 }
2023
2025 {
2028 HBRUSH hBrush, hBrushOld;
2029 HBITMAP hBmp, hBmpOld, hBmpMask;
2031
2034
2042
2048
2061 hBmpMask,
2069 break;
2070 }
2071
2073 {
2076 HBRUSH hBrush, hBrushOld;
2077 HBITMAP hBmp, hBmpOld, hBmpMask;
2080
2083
2087
2095
2101
2107 pts,
2113 hBmpMask,
2120 break;
2121 }
2122
2124 {
2126
2128 pSetDIBitsToDevice->
xDest,
2129 pSetDIBitsToDevice->
yDest,
2130 pSetDIBitsToDevice->
cxSrc,
2131 pSetDIBitsToDevice->
cySrc,
2132 pSetDIBitsToDevice->
xSrc,
2133 pSetDIBitsToDevice->
ySrc,
2135 pSetDIBitsToDevice->
cScans,
2139 break;
2140 }
2141
2143 {
2147 XFORM xform, xformOld;
2148 int gModeOld;
2149
2152
2160
2161
2163 {
2174 }
2177
2180 break;
2181 }
2182
2184 {
2188 XFORM xform, xformOld;
2189 int gModeOld;
2190
2193
2201
2202
2204 {
2215 }
2218
2221 break;
2222 }
2223
2225 {
2232 break;
2233 }
2234
2236 {
2245 break;
2246 }
2247
2249 {
2254 break;
2255 }
2256
2258 {
2263 break;
2264 }
2265
2266 case EMR_SETTEXTJUSTIFICATION:
2267 {
2270 break;
2271 }
2272
2273 case EMR_SETLAYOUT:
2274 {
2275 const EMRSETLAYOUT *pSetLayout = (const EMRSETLAYOUT *)mr;
2277 break;
2278 }
2279
2280 case EMR_GRADIENTFILL:
2281 {
2285 break;
2286 }
2287
2288 case EMR_DRAWESCAPE:
2289 {
2292 break;
2293 }
2294
2295 case EMR_EXTESCAPE:
2296 {
2299 break;
2300 }
2301
2302 case EMR_NAMEDESCAPE:
2303 {
2305 INT rounded_size = (pemr->
cjIn+3) & ~3;
2307 break;
2308 }
2309
2312 case EMR_STARTDOC:
2313 case EMR_SMALLTEXTOUT:
2314 case EMR_FORCEUFIMAPPING:
2315 case EMR_COLORCORRECTPALETTE:
2316 case EMR_SETICMPROFILEA:
2317 case EMR_SETICMPROFILEW:
2318 case EMR_TRANSPARENTBLT:
2320 case EMR_COLORMATCHTOTARGETW:
2321 case EMR_CREATECOLORSPACEW:
2322
2323 default:
2324
2325
2326 FIXME(
"type %d is unimplemented\n",
type);
2327 break;
2328 }
2333
2335}
struct _RGNDATAHEADER RGNDATAHEADER
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)
struct tagEMRESCAPE * PEMRESCAPE
struct tagEMRESCAPE * PEMRNAMEDESCAPE
GLint GLint GLsizei GLsizei height
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
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)
BOOL Polygon(CONST PPOINT UnsafePoints, int Count, int polyFillMode)
COLORADJUSTMENT ColorAdjustment
PALETTEENTRY aPalEntries[1]
INT WINAPI NamedEscape(HDC hdc, PWCHAR pDriver, INT iEsc, INT cjIn, LPSTR pjIn, INT cjOut, LPSTR pjOut)
HBITMAP WINAPI CreateDIBSection(HDC hDC, CONST BITMAPINFO *BitmapInfo, UINT Usage, VOID **Bits, HANDLE hSection, DWORD dwOffset)
_Inout_ PERBANDINFO * pbi
BOOL WINAPI ArcTo(_In_ HDC hdc, _In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom, _In_ INT xRadial1, _In_ INT yRadial1, _In_ INT xRadial2, _In_ INT yRadial2)
HBRUSH WINAPI CreateBrushIndirect(_In_ const LOGBRUSH *plb)
BOOL WINAPI DeleteColorSpace(_In_ HCOLORSPACE)
#define EMR_SELECTCLIPPATH
#define EMR_SETWINDOWEXTEX
#define EMR_SETVIEWPORTEXTEX
int WINAPI ChoosePixelFormat(_In_ HDC hdc, _In_ const PIXELFORMATDESCRIPTOR *ppfd)
BOOL WINAPI Chord(_In_ HDC hdc, _In_ INT xLeft, _In_ INT yTop, _In_ INT xRight, _In_ INT yBottom, _In_ INT xRadial1, _In_ INT yRadial1, _In_ INT xRadial2, _In_ INT yRadial2)
int WINAPI SetDIBitsToDevice(_In_ HDC, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ int, _In_ int, _In_ UINT, _In_ UINT, _In_ CONST VOID *, _In_ CONST BITMAPINFO *, _In_ UINT)
BOOL WINAPI PolyBezier(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
HGDIOBJ WINAPI GetStockObject(_In_ int)
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)
BOOL WINAPI Ellipse(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HCOLORSPACE WINAPI SetColorSpace(_In_ HDC, _In_ HCOLORSPACE)
#define EMR_CREATEPALETTE
UINT WINAPI RealizePalette(_In_ HDC)
BOOL WINAPI PolylineTo(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
#define EMR_EXTSELECTCLIPRGN
BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR *)
HPEN WINAPI ExtCreatePen(_In_ DWORD iPenStyle, _In_ DWORD cWidth, _In_ const LOGBRUSH *plbrush, _In_ DWORD cStyle, _In_reads_opt_(cStyle) const DWORD *pstyle)
#define EMR_SETMAPPERFLAGS
#define EMR_SETMITERLIMIT
HPEN WINAPI CreatePenIndirect(_In_ const LOGPEN *)
#define EMR_SETCOLORADJUSTMENT
BOOL WINAPI SetBrushOrgEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI FrameRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH, _In_ int, _In_ int)
#define EMR_STROKEANDFILLPATH
int WINAPI SetICMMode(_In_ HDC, _In_ int)
int WINAPI SetDIBits(_In_opt_ HDC, _In_ HBITMAP, _In_ UINT, _In_ UINT, _In_ CONST VOID *, _In_ CONST BITMAPINFO *, _In_ UINT)
int WINAPI IntersectClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
int WINAPI ExcludeClipRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HPALETTE WINAPI CreatePalette(_In_reads_(_Inexpressible_(2 *sizeof(WORD)+plpal->palNumEntries *sizeof(PALETTEENTRY))) const LOGPALETTE *)
BOOL WINAPI PolyBezierTo(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_ DWORD cpt)
BOOL WINAPI LPtoDP(_In_ HDC hdc, _Inout_updates_(c) LPPOINT lppt, _In_ int c)
HBITMAP WINAPI CreateBitmapIndirect(_In_ const BITMAP *pbm)
HPALETTE WINAPI SelectPalette(_In_ HDC, _In_ HPALETTE, _In_ BOOL)
BOOL WINAPI MoveToEx(_In_ HDC, _In_ int, _In_ int, _Out_opt_ LPPOINT)
BOOL WINAPI MaskBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ HBITMAP, _In_ int, _In_ int, _In_ DWORD)
BOOL WINAPI InvertRgn(_In_ HDC, _In_ HRGN)
BOOL WINAPI SelectClipPath(_In_ HDC, _In_ int)
BOOL WINAPI FlattenPath(_In_ HDC)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
BOOL WINAPI FillPath(_In_ HDC)
#define EMR_CREATEMONOBRUSH
HRGN WINAPI ExtCreateRegion(_In_opt_ const XFORM *lpx, _In_ DWORD nCount, _In_reads_bytes_(nCount) const RGNDATA *lpData)
#define EMR_SELECTPALETTE
#define EMR_GLSBOUNDEDRECORD
int WINAPI SetMetaRgn(_In_ HDC)
BOOL WINAPI StretchBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
HCOLORSPACE WINAPI CreateColorSpaceA(_In_ LPLOGCOLORSPACEA pLogColorSpace)
BOOL WINAPI ResizePalette(_In_ HPALETTE, _In_ UINT)
BOOL WINAPI SetColorAdjustment(_In_ HDC, _In_ const COLORADJUSTMENT *)
BOOL WINAPI SetTextJustification(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI SetMiterLimit(_In_ HDC, _In_ FLOAT, _Out_opt_ PFLOAT)
BOOL WINAPI RestoreDC(_In_ HDC, _In_ int)
#define EMR_SETARCDIRECTION
#define EMR_SETSTRETCHBLTMODE
#define EMR_SETPALETTEENTRIES
BOOL WINAPI ExtTextOutA(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define EMR_OFFSETCLIPRGN
#define EMR_REALIZEPALETTE
BOOL WINAPI GdiComment(_In_ HDC hdc, _In_ UINT nSize, _In_reads_bytes_(nSize) const BYTE *lpData)
#define EMR_SETCOLORSPACE
#define EMR_SETPOLYFILLMODE
BOOL WINAPI StrokePath(_In_ HDC)
#define EMR_SETWINDOWORGEX
#define EMR_EXTCREATEFONTINDIRECTW
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
#define MWT_RIGHTMULTIPLY
#define EMR_SETBRUSHORGEX
struct tagEMRCREATECOLORSPACE * PEMRCREATECOLORSPACE
int WINAPI DrawEscape(_In_ HDC hdc, _In_ int iEscape, _In_ int cjIn, _In_reads_bytes_opt_(cjIn) LPCSTR lpIn)
BOOL WINAPI PatBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD)
#define EMR_RESIZEPALETTE
BOOL WINAPI StrokeAndFillPath(_In_ HDC)
BOOL WINAPI SetPixelV(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF)
int WINAPI FillRgn(_In_ HDC, _In_ HRGN, _In_ HBRUSH)
BOOL WINAPI WidenPath(_In_ HDC)
BOOL WINAPI PlgBlt(_In_ HDC hdcDest, _In_reads_(3) const POINT *lpPoint, _In_ HDC hdcSrc, _In_ int xSrc, _In_ int ySrc, _In_ int width, _In_ int height, _In_opt_ HBITMAP hbmMask, _In_ int xMask, _In_ int yMask)
BOOL WINAPI Rectangle(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
#define EMR_CREATEDIBPATTERNBRUSHPT
int WINAPI SetBkMode(_In_ HDC, _In_ int)
int WINAPI OffsetClipRgn(_In_ HDC, _In_ int, _In_ int)
#define EMR_CREATECOLORSPACE
#define EMR_SETVIEWPORTORGEX
#define EMR_CREATEBRUSHINDIRECT
HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ const VOID *pvPackedDIB, _In_ UINT uUsage)
BOOL WINAPI RoundRect(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int)
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)
BOOL WINAPI PolyTextOutA(_In_ HDC hdc, _In_reads_(nstrings) const POLYTEXTA *ppt, _In_ int nstrings)
BOOL WINAPI PolyDraw(_In_ HDC hdc, _In_reads_(cpt) const POINT *apt, _In_reads_(cpt) const BYTE *aj, _In_ int cpt)
BOOL WINAPI PolyPolygon(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const INT *asz, _In_ int csz)
HBITMAP WINAPI CreateDIBitmap(_In_ HDC hdc, _In_opt_ const BITMAPINFOHEADER *pbmih, _In_ DWORD fdwInit, _In_opt_ const VOID *pvInit, _In_opt_ const BITMAPINFO *pbmi, _In_ UINT uUsage)
BOOL WINAPI EndPath(_In_ HDC)
int WINAPI ExtEscape(_In_ HDC hdc, _In_ int iEscape, _In_ int cjInput, _In_reads_bytes_opt_(cjInput) LPCSTR lpInData, _In_ int cjOutput, _Out_writes_bytes_opt_(cjOutput) LPSTR lpOutData)
#define EMR_MODIFYWORLDTRANSFORM
#define EMR_SCALEWINDOWEXTEX
BOOL WINAPI ExtFloodFill(_In_ HDC, _In_ int, _In_ int, _In_ COLORREF, _In_ UINT)
BOOL WINAPI AngleArc(_In_ HDC hdc, _In_ INT x, _In_ INT y, _In_ DWORD dwRadius, _In_ FLOAT eStartAngle, _In_ FLOAT eSweepAngle)
BOOL WINAPI LineTo(_In_ HDC, _In_ int, _In_ int)
BOOL WINAPI BeginPath(_In_ HDC hdc)
#define EMR_SETWORLDTRANSFORM
BOOL WINAPI PolyPolyline(_In_ HDC hdc, _In_ const POINT *apt, _In_reads_(csz) const DWORD *asz, _In_ DWORD csz)
int WINAPI SaveDC(_In_ HDC)
BOOL WINAPI ModifyWorldTransform(_In_ HDC, _In_opt_ const XFORM *, _In_ DWORD)
#define EMR_SCALEVIEWPORTEXTEX
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)
DWORD WINAPI SetMapperFlags(_In_ HDC, _In_ DWORD)
BOOL WINAPI CloseFigure(_In_ HDC hdc)
BOOL WINAPI AbortPath(_In_ HDC hdc)
#define EMR_DELETECOLORSPACE
BOOL WINAPI PolyTextOutW(_In_ HDC hdc, _In_reads_(nstrings) const POLYTEXTW *ppt, _In_ int nstrings)
BOOL WINAPI Pie(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int)