#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
#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
#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
#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
#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
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;
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;
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)
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);
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);