2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2003-12-12 15:47:37 +00:00
|
|
|
|
2015-03-08 23:36:49 +00:00
|
|
|
/* Convert WIN32 ROP into an ENG ROP */
|
|
|
|
#define WIN32_ROP3_TO_ENG_ROP4(dwRop4) ((((dwRop4) & 0x00FF0000) >> 16) | (((dwRop4) & 0x00FF0000) >> 8))
|
|
|
|
#define WIN32_ROP4_TO_ENG_ROP4(dwRop4) ((dwRop4) >> 16)
|
|
|
|
|
|
|
|
#define WIN32_ROP4_USES_SOURCE(Rop) ((((Rop) & 0xCCCC0000) >> 2) != ((Rop) & 0x33330000))
|
2014-12-30 21:03:13 +00:00
|
|
|
|
2015-02-11 21:32:54 +00:00
|
|
|
/* The range of valid ROP2 values is 1 .. 16 */
|
|
|
|
#define FIXUP_ROP2(rop2) ((((rop2) - 1) & 0xF) + 1)
|
|
|
|
|
2003-12-12 15:47:37 +00:00
|
|
|
/* Brush functions */
|
|
|
|
|
2008-05-30 15:18:51 +00:00
|
|
|
extern HDC hSystemBM;
|
2008-06-17 05:19:08 +00:00
|
|
|
extern HSEMAPHORE hsemDriverMgmt;
|
2008-05-30 15:18:51 +00:00
|
|
|
|
2003-12-13 10:18:01 +00:00
|
|
|
/* Line functions */
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiLineTo(DC *dc,
|
|
|
|
int XEnd,
|
|
|
|
int YEnd);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiMoveToEx(DC *dc,
|
|
|
|
int X,
|
|
|
|
int Y,
|
2016-09-07 03:20:18 +00:00
|
|
|
LPPOINT Point);
|
2003-12-13 10:18:01 +00:00
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiPolyBezier(DC *dc,
|
|
|
|
LPPOINT pt,
|
|
|
|
DWORD Count);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiPolyline(DC *dc,
|
|
|
|
LPPOINT pt,
|
|
|
|
int Count);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiPolyBezierTo(DC *dc,
|
|
|
|
LPPOINT pt,
|
|
|
|
DWORD Count);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiPolyPolyline(DC *dc,
|
|
|
|
LPPOINT pt,
|
2008-10-07 23:02:41 +00:00
|
|
|
PULONG PolyPoints,
|
2003-12-13 10:18:01 +00:00
|
|
|
DWORD Count);
|
|
|
|
|
|
|
|
BOOL FASTCALL
|
|
|
|
IntGdiPolylineTo(DC *dc,
|
|
|
|
LPPOINT pt,
|
|
|
|
DWORD Count);
|
|
|
|
|
2013-09-27 23:36:39 +00:00
|
|
|
BOOL FASTCALL
|
|
|
|
GreMoveTo( HDC hdc,
|
|
|
|
INT x,
|
|
|
|
INT y,
|
|
|
|
LPPOINT pptOut);
|
|
|
|
|
2003-12-13 10:57:29 +00:00
|
|
|
/* Shape functions */
|
|
|
|
|
2010-05-26 22:29:45 +00:00
|
|
|
BOOL
|
|
|
|
NTAPI
|
|
|
|
GreGradientFill(
|
|
|
|
HDC hdc,
|
2007-10-19 23:21:45 +00:00
|
|
|
PTRIVERTEX pVertex,
|
2010-05-26 22:29:45 +00:00
|
|
|
ULONG nVertex,
|
|
|
|
PVOID pMesh,
|
|
|
|
ULONG nMesh,
|
|
|
|
ULONG ulMode);
|
2006-09-13 13:43:39 +00:00
|
|
|
|
2003-12-13 13:45:18 +00:00
|
|
|
/* DC functions */
|
|
|
|
|
2003-12-13 15:49:32 +00:00
|
|
|
HDC FASTCALL
|
|
|
|
IntGdiCreateDC(PUNICODE_STRING Driver,
|
|
|
|
PUNICODE_STRING Device,
|
2007-09-07 12:21:26 +00:00
|
|
|
PVOID pUMdhpdev,
|
2005-03-07 22:24:33 +00:00
|
|
|
CONST PDEVMODEW InitData,
|
|
|
|
BOOL CreateAsIC);
|
2003-12-13 15:49:32 +00:00
|
|
|
|
2004-12-12 01:40:39 +00:00
|
|
|
/* Stock objects */
|
|
|
|
|
2011-03-21 14:52:08 +00:00
|
|
|
VOID FASTCALL
|
|
|
|
IntSetSysColors(UINT nColors, CONST INT *Elements, CONST COLORREF *Colors);
|
2004-12-12 01:40:39 +00:00
|
|
|
|
2006-08-08 20:00:53 +00:00
|
|
|
HGDIOBJ FASTCALL
|
|
|
|
IntGetSysColorBrush(INT Object);
|
|
|
|
|
|
|
|
DWORD FASTCALL
|
|
|
|
IntGetSysColor(INT nIndex);
|
|
|
|
|
2004-12-12 21:58:42 +00:00
|
|
|
/* Other Stuff */
|
|
|
|
|
2015-09-09 13:49:39 +00:00
|
|
|
NTSTATUS
|
|
|
|
APIENTRY
|
|
|
|
NtGdiFlushUserBatch(
|
|
|
|
VOID);
|
2021-09-13 01:33:14 +00:00
|
|
|
|
2015-09-09 13:49:39 +00:00
|
|
|
DWORD
|
|
|
|
APIENTRY
|
|
|
|
NtDxEngGetRedirectionBitmap(
|
|
|
|
DWORD Unknown0);
|
|
|
|
|
2006-05-22 14:46:31 +00:00
|
|
|
HBITMAP
|
|
|
|
FASTCALL
|
2014-10-24 17:31:46 +00:00
|
|
|
IntCreateCompatibleBitmap(
|
|
|
|
_In_ PDC Dc,
|
|
|
|
_In_ INT Width,
|
|
|
|
_In_ INT Height,
|
|
|
|
_In_ UINT Bpp,
|
|
|
|
_In_ UINT Planes);
|
2006-05-22 14:46:31 +00:00
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
|
2007-08-02 00:16:31 +00:00
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
|
2007-08-23 00:31:26 +00:00
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
|
2007-08-23 00:31:26 +00:00
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
UINT APIENTRY
|
2007-08-23 00:31:26 +00:00
|
|
|
IntGetPaletteEntries(HPALETTE hpal,
|
|
|
|
UINT StartIndex,
|
|
|
|
UINT Entries,
|
|
|
|
LPPALETTEENTRY pe);
|
|
|
|
|
2008-11-29 22:48:58 +00:00
|
|
|
UINT APIENTRY
|
2007-08-23 00:31:26 +00:00
|
|
|
IntGetSystemPaletteEntries(HDC hDC,
|
|
|
|
UINT StartIndex,
|
|
|
|
UINT Entries,
|
|
|
|
LPPALETTEENTRY pe);
|
|
|
|
|
2011-08-27 12:38:23 +00:00
|
|
|
VOID FASTCALL CreateStockObjects (VOID);
|
|
|
|
VOID FASTCALL CreateSysColorObjects (VOID);
|
|
|
|
|
2015-05-29 20:57:23 +00:00
|
|
|
PPOINT GDI_Bezier (const POINT *Points, INT count, PINT nPtsOut);
|
2011-09-20 19:41:33 +00:00
|
|
|
|
|
|
|
BOOL FASTCALL IntFillArc( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, double StartArc, double EndArc, ARCTYPE arctype);
|
|
|
|
BOOL FASTCALL IntDrawArc( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, double StartArc, double EndArc, ARCTYPE arctype, PBRUSH pbrush);
|
|
|
|
|
|
|
|
BOOL FASTCALL IntFillEllipse( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, PBRUSH pbrush);
|
|
|
|
BOOL FASTCALL IntDrawEllipse( PDC dc, INT XLeft, INT YLeft, INT Width, INT Height, PBRUSH pbrush);
|
|
|
|
BOOL FASTCALL IntFillRoundRect( PDC dc, INT Left, INT Top, INT Right, INT Bottom, INT Wellipse, INT Hellipse, PBRUSH pbrush);
|
|
|
|
BOOL FASTCALL IntDrawRoundRect( PDC dc, INT Left, INT Top, INT Right, INT Bottom, INT Wellipse, INT Hellipse, PBRUSH pbrush);
|