[PSDK] Add missing QDC_ALL_PATHS.
[reactos.git] / reactos / include / psdk / wingdi.h
index 3f01224..ea603a7 100644 (file)
@@ -419,12 +419,17 @@ extern "C" {
 #define OUT_RASTER_PRECIS      6
 #define OUT_TT_ONLY_PRECIS     7
 #define OUT_OUTLINE_PRECIS     8
+#define OUT_SCREEN_OUTLINE_PRECIS      9
+#define OUT_PS_ONLY_PRECIS     10
 #define CLIP_DEFAULT_PRECIS    0
 #define CLIP_CHARACTER_PRECIS  1
 #define CLIP_STROKE_PRECIS     2
 #define CLIP_MASK      15
 #define CLIP_LH_ANGLES 16
 #define CLIP_TT_ALWAYS 32
+#if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN)
+#define CLIP_DFA_DISABLE       64
+#endif
 #define CLIP_EMBEDDED  128
 #define DEFAULT_QUALITY        0
 #define DRAFT_QUALITY  1
@@ -1188,9 +1193,23 @@ extern "C" {
 #define DMTT_DOWNLOAD_OUTLINE  4
 #define DMCOLLATE_FALSE        0
 #define DMCOLLATE_TRUE 1
-#define DM_SPECVERSION 800
-#define DM_GRAYSCALE   1
-#define DM_INTERLACED  2
+
+
+#define DMDO_DEFAULT    0
+#define DMDO_90         1
+#define DMDO_180        2
+#define DMDO_270        3
+
+#define DMDFO_DEFAULT   0
+#define DMDFO_STRETCH   1
+#define DMDFO_CENTER    2
+
+
+#define DM_GRAYSCALE            0x00000001
+#define DM_INTERLACED           0x00000002
+#define DMDISPLAYFLAGS_TEXTMODE 0x00000004
+
+
 #define DM_UPDATE      1
 #define DM_COPY        2
 #define DM_PROMPT      4
@@ -1200,6 +1219,15 @@ extern "C" {
 #define DM_OUT_BUFFER  DM_COPY
 #define DM_OUT_DEFAULT DM_UPDATE
 
+
+#if (WINVER >= 0x0500) || (_WIN32_WINNT >= _WIN32_WINNT_NT4)
+#define DM_SPECVERSION 0x0401
+#elif (WINVER >= 0x0400)
+#define DM_SPECVERSION 0x0400
+#else
+#define DM_SPECVERSION 0x0320
+#endif
+
 #define DM_ORIENTATION        0x00000001
 #define DM_PAPERSIZE          0x00000002
 #define DM_PAPERLENGTH        0x00000004
@@ -1233,10 +1261,7 @@ extern "C" {
 #define DM_DISPLAYFIXEDOUTPUT 0x20000000
 #endif
 
-#define DMDO_DEFAULT            0
-#define DMDO_90                 1
-#define DMDO_180                2
-#define DMDO_270                3
+#define QDC_ALL_PATHS 0x00000001
 
 #define DMICMMETHOD_NONE       1
 #define DMICMMETHOD_SYSTEM     2
@@ -1329,6 +1354,7 @@ extern "C" {
 #define LAYOUT_VBH 4 // Vertical before horizontal
 #define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)
 #define LAYOUT_BITMAPORIENTATIONPRESERVED 8
+#define CAPTUREBLT 0x40000000
 #define NOMIRRORBITMAP 0x80000000
 #if (WINVER > 0x400)
 #define CS_ENABLE           0x00000001
@@ -1529,22 +1555,13 @@ typedef struct _devicemodeA {
       short dmCopies;
       short dmDefaultSource;
       short dmPrintQuality;
-#ifdef __WINESRC__
     } DUMMYSTRUCTNAME1;
-#else
-    } DUMMYSTRUCTNAME;
-#endif
     struct {
       POINTL dmPosition;
       DWORD  dmDisplayOrientation;
       DWORD  dmDisplayFixedOutput;
     } DUMMYSTRUCTNAME2;
-#ifdef __WINESRC__
   } DUMMYUNIONNAME1;
-#else
-  } DUMMYUNIONNAME;
-#endif
-
   short  dmColor;
   short  dmDuplex;
   short  dmYResolution;
@@ -1590,22 +1607,13 @@ typedef struct _devicemodeW {
       short dmCopies;
       short dmDefaultSource;
       short dmPrintQuality;
-#ifdef __WINESRC__
     } DUMMYSTRUCTNAME1;
-#else
-    } DUMMYSTRUCTNAME;
-#endif
     struct {
       POINTL dmPosition;
       DWORD  dmDisplayOrientation;
       DWORD  dmDisplayFixedOutput;
     } DUMMYSTRUCTNAME2;
-#ifdef __WINESRC__
   } DUMMYUNIONNAME1;
-#else
-  } DUMMYUNIONNAME;
-#endif
-
   short  dmColor;
   short  dmDuplex;
   short  dmYResolution;
@@ -2893,78 +2901,294 @@ typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMO
 typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
 
 
-#define RGB(r,g,b)     ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16)))
+#define GetRValue(rgb) ((BYTE)(rgb))
+#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
+#define GetBValue(rgb) ((BYTE)((rgb)>>16))
+#define GetAValue(rgb) ((BYTE)((rgb)>>24))
+
+#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
+#define RGBA(r,g,b,a)       ((COLORREF)((((DWORD)(BYTE)(a))<<24) | RGB(r,g,b)))
+#define PALETTERGB(r,g,b)   (0x02000000 | RGB(r,g,b))
+#define PALETTEINDEX(i)     ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))
+
 #define MAKEPOINTS(l) (*((POINTS*)&(l)))
-#define MAKEROP4(f,b)  (DWORD)((((b)<<8)&0xFF000000)|(f))
-#define PALETTEINDEX(i)        ((0x01000000|(COLORREF)(WORD)(i)))
-#define PALETTERGB(r,g,b)      (0x02000000|RGB(r,g,b))
-int WINAPI AbortDoc(_In_ HDC);
-BOOL WINAPI AbortPath(_In_ HDC);
-int WINAPI AddFontResourceA(LPCSTR);
-int WINAPI AddFontResourceW(LPCWSTR);
-#if (_WIN32_WINNT >= 0x0500)
+#define MAKEROP4(f,b) (DWORD)((((b)<<8)&0xFF000000)|(f))
+
+INT
+WINAPI
+AbortDoc(
+    _In_ HDC hdc);
+
+BOOL
+WINAPI
+AbortPath(
+    _In_ HDC hdc);
+
+int
+WINAPI
+AddFontResourceA(
+    _In_ LPCSTR pszFilename);
+
+int
+WINAPI
+AddFontResourceW(
+    _In_ LPCWSTR pszFilename);
 
 HANDLE
 WINAPI
 AddFontMemResourceEx(
-  _In_reads_bytes_(cjSize) PVOID pFileView,
-  _In_ DWORD cjSize,
-  _Reserved_ PVOID pvResrved,
-  _In_ DWORD* pNumFonts);
+    _In_reads_bytes_(cjSize) PVOID pvFileView,
+    _In_ DWORD cjSize,
+    _Reserved_ PVOID pvResrved,
+    _In_ DWORD* pNumFonts);
 
-int WINAPI AddFontResourceExA(_In_ LPCSTR, _In_ DWORD, _Reserved_ PVOID);
-int WINAPI AddFontResourceExW(_In_ LPCWSTR, _In_ DWORD, _Reserved_ PVOID);
+INT
+WINAPI
+AddFontResourceExA(
+    _In_ LPCSTR pszFilename,
+    _In_ DWORD fl,
+    _Reserved_ PVOID pvReserved);
 
-#endif
+INT
+WINAPI
+AddFontResourceExW(
+    _In_ LPCWSTR pszFilename,
+    _In_ DWORD fl,
+    _Reserved_ PVOID pvReserved);
 
-BOOL WINAPI AngleArc(_In_ HDC, _In_ int, _In_ int, _In_ DWORD, _In_ FLOAT, _In_ FLOAT);
+BOOL
+WINAPI
+AngleArc(
+    _In_ HDC hdc,
+    _In_ INT x,
+    _In_ INT y,
+    _In_ DWORD dwRadius,
+    _In_ FLOAT eStartAngle,
+    _In_ FLOAT eSweepAngle);
 
 BOOL
 WINAPI
 AnimatePalette(
-  _In_ HPALETTE hPal,
-  _In_ UINT iStartIndex,
-  _In_ UINT cEntries,
-  _In_reads_(cEntries) CONST PALETTEENTRY *ppe);
+    _In_ HPALETTE hPal,
+    _In_ UINT iStartIndex,
+    _In_ UINT cEntries,
+    _In_reads_(cEntries) CONST PALETTEENTRY *ppe);
 
-BOOL WINAPI Arc(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int);
-BOOL WINAPI ArcTo(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int);
-BOOL WINAPI BeginPath(_In_ HDC);
-BOOL WINAPI BitBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_opt_ HDC, _In_ int, _In_ int, _In_ DWORD);
-BOOL WINAPI CancelDC(_In_ HDC);
+BOOL
+WINAPI
+Arc(
+    _In_ HDC hdc,
+    _In_ INT xLeft,
+    _In_ INT yTop,
+    _In_ INT xRight,
+    _In_ INT yBottom,
+    _In_ INT xStartArc,
+    _In_ INT yStartArc,
+    _In_ INT xEndArc,
+    _In_ INT yEndArc);
+
+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);
+
+BOOL
+WINAPI
+BeginPath(
+    _In_ HDC hdc);
+
+BOOL
+WINAPI
+BitBlt(
+    _In_ HDC hdcDest,
+    _In_ INT xDest,
+    _In_ INT yDest,
+    _In_ INT cxDest,
+    _In_ INT cyDest,
+    _In_opt_ HDC hdcSrc,
+    _In_ INT xSrc,
+    _In_ INT ySrc,
+    _In_ DWORD dwRop);
+
+BOOL
+WINAPI
+CancelDC(
+    _In_ HDC hdc);
 
 BOOL
 WINAPI
 CheckColorsInGamut(
   _In_ HDC hdc,
-  _In_reads_(nCount) LPVOID lpRGBTriple,
-  _Out_writes_bytes_(nCount) LPVOID dlpBuffer,
+  _In_reads_(nCount) LPVOID pRGBTriple,
+  _Out_writes_bytes_(nCount) LPVOID pvBuffer,
   _In_ DWORD nCount);
 
-BOOL WINAPI Chord(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ int);
-int WINAPI ChoosePixelFormat(_In_ HDC, _In_ CONST PIXELFORMATDESCRIPTOR*);
-HENHMETAFILE WINAPI CloseEnhMetaFile(_In_ HDC);
-BOOL WINAPI CloseFigure(_In_ HDC);
-HMETAFILE WINAPI CloseMetaFile(_In_ HDC);
-BOOL WINAPI ColorMatchToTarget(_In_ HDC, _In_ HDC, _In_ DWORD);
-int WINAPI CombineRgn(_In_opt_ HRGN, _In_opt_ HRGN, _In_opt_ HRGN, _In_ int);
-BOOL WINAPI CombineTransform(_Out_ LPXFORM, _In_ const XFORM*, _In_ const XFORM*);
-HENHMETAFILE WINAPI CopyEnhMetaFileA(_In_ HENHMETAFILE, _In_opt_ LPCSTR);
-HENHMETAFILE WINAPI CopyEnhMetaFileW(_In_ HENHMETAFILE, _In_opt_ LPCWSTR);
-HMETAFILE WINAPI CopyMetaFileA(_In_ HMETAFILE, _In_opt_ LPCSTR);
-HMETAFILE WINAPI CopyMetaFileW(_In_ HMETAFILE, _In_opt_ LPCWSTR);
-HBITMAP WINAPI CreateBitmap(_In_ int, _In_ int, _In_ UINT, _In_ UINT, _In_opt_ CONST VOID*);
-HBITMAP WINAPI CreateBitmapIndirect(_In_ const BITMAP*);
-HBRUSH WINAPI CreateBrushIndirect(_In_ const LOGBRUSH*);
-HCOLORSPACE WINAPI CreateColorSpaceA(_In_ LPLOGCOLORSPACEA);
-HCOLORSPACE WINAPI CreateColorSpaceW(_In_ LPLOGCOLORSPACEW);
-HBITMAP WINAPI CreateCompatibleBitmap(_In_ HDC, _In_ int, _In_ int);
-HDC WINAPI CreateCompatibleDC(_In_opt_ HDC);
-HDC WINAPI CreateDCA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ const DEVMODEA*);
-HDC WINAPI CreateDCW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ const DEVMODEW*);
-HBITMAP WINAPI CreateDIBitmap(_In_ HDC, _In_opt_ CONST BITMAPINFOHEADER*, _In_ DWORD, _In_opt_ CONST VOID*, _In_opt_ CONST BITMAPINFO*, _In_ UINT);
-HBRUSH WINAPI CreateDIBPatternBrush(_In_ HGLOBAL, _In_ UINT);
-HBRUSH WINAPI CreateDIBPatternBrushPt(_In_ CONST VOID*, _In_ UINT);
+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
+ChoosePixelFormat(
+    _In_ HDC hdc,
+    _In_ const PIXELFORMATDESCRIPTOR* ppfd);
+
+HENHMETAFILE
+WINAPI
+CloseEnhMetaFile(
+    _In_ HDC hdc);
+
+BOOL
+WINAPI
+CloseFigure(
+    _In_ HDC hdc);
+
+HMETAFILE
+WINAPI
+CloseMetaFile(
+    _In_ HDC hdc);
+
+BOOL
+WINAPI
+ColorMatchToTarget(
+    _In_ HDC hdc,
+    _In_ HDC hdcTarget,
+    _In_ DWORD uAction);
+
+int
+WINAPI
+CombineRgn(
+    _In_opt_ HRGN hrgnDest,
+    _In_opt_ HRGN hrgnSrc1,
+    _In_opt_ HRGN hrgnSrc2,
+    _In_ int fnCombineMode);
+
+BOOL
+WINAPI
+CombineTransform(
+    _Out_ LPXFORM pxformResult,
+    _In_ const XFORM* pxform1,
+    _In_ const XFORM* pxform2);
+
+HENHMETAFILE
+WINAPI
+CopyEnhMetaFileA(
+    _In_ HENHMETAFILE hemfSrc,
+    _In_opt_ LPCSTR pszFile);
+
+HENHMETAFILE
+WINAPI
+CopyEnhMetaFileW(
+    _In_ HENHMETAFILE hemfSrc,
+    _In_opt_ LPCWSTR pszFile);
+
+HMETAFILE
+WINAPI
+CopyMetaFileA(
+    _In_ HMETAFILE hmfSrc,
+    _In_opt_ LPCSTR pszFile);
+
+HMETAFILE
+WINAPI
+CopyMetaFileW(
+    _In_ HMETAFILE hmfSrc,
+    _In_opt_ LPCWSTR pszFile);
+
+HBITMAP
+WINAPI
+CreateBitmap(
+    _In_ INT cx,
+    _In_ INT cy,
+    _In_ UINT cPlanes,
+    _In_ UINT cBitsPerPel,
+    _In_opt_ const VOID* pvBits);
+
+HBITMAP
+WINAPI
+CreateBitmapIndirect(
+    _In_ const BITMAP* pbm);
+
+HBRUSH
+WINAPI
+CreateBrushIndirect(
+    _In_ const LOGBRUSH* plb);
+
+HCOLORSPACE
+WINAPI
+CreateColorSpaceA(
+    _In_ LPLOGCOLORSPACEA pLogColorSpace);
+
+HCOLORSPACE
+WINAPI
+CreateColorSpaceW(
+    _In_ LPLOGCOLORSPACEW pLogColorSpace);
+
+HBITMAP
+WINAPI
+CreateCompatibleBitmap(
+    _In_ HDC hdc,
+    _In_ INT cx,
+    _In_ INT cy);
+
+HDC
+WINAPI
+CreateCompatibleDC(
+    _In_opt_ HDC hdc);
+
+HDC
+WINAPI
+CreateDCA(
+    _In_opt_ LPCSTR pszDriver,
+    _In_opt_ LPCSTR pszDevice,
+    _In_opt_ LPCSTR pszOutput,
+    _In_opt_ const DEVMODEA* pdmInit);
+
+HDC
+WINAPI
+CreateDCW(
+    _In_opt_ LPCWSTR pszDriver,
+    _In_opt_ LPCWSTR pszDevice,
+    _In_opt_ LPCWSTR psz,
+    _In_opt_ const DEVMODEW* pdmInit);
+
+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);
+
+HBRUSH
+WINAPI
+CreateDIBPatternBrush(
+    _In_ HGLOBAL hglbDIBPacked,
+    _In_ UINT uUsage);
+
+HBRUSH
+WINAPI
+CreateDIBPatternBrushPt(
+    _In_ const VOID* pvPackedDIB,
+    _In_ UINT uUsage);
 
 #define GDI_WIDTHBYTES(bits)  ((DWORD)(((bits) + 31) & (~31)) / 8)
 #define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount)
@@ -3196,14 +3420,13 @@ GdiGradientFill(
 
 BOOL WINAPI GdiTransparentBlt(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT);
 BOOL WINAPI GdiIsMetaFileDC(HDC);
-#define GetCValue(cmyk) ((BYTE)(cmyk))
-#define GetMValue(cmyk) ((BYTE)((cmyk)>> 8))
-#define GetYValue(cmyk) ((BYTE)((cmyk)>>16))
-#define GetKValue(cmyk) ((BYTE)((cmyk)>>24))
-#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(c)|((WORD)((BYTE)(m))<<8))|(((DWORD)(BYTE)(y))<<16))|(((DWORD)(BYTE)(k))<<24)))
-#define GetRValue(c) ((BYTE)(c))
-#define GetGValue(c) ((BYTE)(((WORD)(c))>>8))
-#define GetBValue(c) ((BYTE)((c)>>16))
+
+#define GetKValue(cmyk) ((BYTE)(cmyk))
+#define GetYValue(cmyk) ((BYTE)((cmyk)>> 8))
+#define GetMValue(cmyk) ((BYTE)((cmyk)>>16))
+#define GetCValue(cmyk) ((BYTE)((cmyk)>>24))
+#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24)))
+
 int WINAPI GetArcDirection(_In_ HDC);
 BOOL WINAPI GetAspectRatioFilterEx(_In_ HDC, _Out_ LPSIZE);
 
@@ -4036,6 +4259,20 @@ BOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD);
 BOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
 BOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT);
 
+#if (WINVER >= 0x0500)
+
+typedef struct _WGLSWAP
+{
+    HDC hdc;
+    UINT uiFlags;
+} WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP;
+
+#define WGL_SWAPMULTIPLE_MAX 16
+
+DWORD WINAPI wglSwapMultipleBuffers(UINT, CONST WGLSWAP *);
+
+#endif // (WINVER >= 0x0500)
+
 #if (WINVER>= 0x0500)
 
 BOOL WINAPI AlphaBlend(_In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ HDC, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BLENDFUNCTION);