Merge from amd64-branch:
[reactos.git] / reactos / subsystems / win32 / win32k / include / intgdi.h
1 #pragma once
2
3 #include "region.h"
4
5 /* Brush functions */
6
7 extern HDC hSystemBM;
8 extern HSEMAPHORE hsemDriverMgmt;
9
10 XLATEOBJ*
11 FASTCALL
12 IntCreateXlateForBlt(PDC pDCDest, PDC pDCSrc, SURFACE* pDestSurf, SURFACE* pSrcSurf);
13
14 HBRUSH APIENTRY
15 IntGdiCreateDIBBrush(
16 CONST BITMAPINFO *BitmapInfo,
17 UINT ColorSpec,
18 UINT BitmapInfoSize,
19 CONST VOID *PackedDIB);
20
21 HBRUSH APIENTRY
22 IntGdiCreateHatchBrush(
23 INT Style,
24 COLORREF Color);
25
26 HBRUSH APIENTRY
27 IntGdiCreatePatternBrush(
28 HBITMAP hBitmap);
29
30 HBRUSH APIENTRY
31 IntGdiCreateSolidBrush(
32 COLORREF Color);
33
34 HBRUSH APIENTRY
35 IntGdiCreateNullBrush(VOID);
36
37 BOOL FASTCALL
38 IntPatBlt(
39 PDC dc,
40 INT XLeft,
41 INT YLeft,
42 INT Width,
43 INT Height,
44 DWORD ROP,
45 PBRUSH BrushObj);
46
47 VOID FASTCALL
48 IntGdiSetSolidBrushColor(HBRUSH hBrush, COLORREF Color);
49
50 /* Pen functions */
51
52 HPEN APIENTRY
53 IntGdiExtCreatePen(DWORD, DWORD, IN ULONG, IN ULONG, IN ULONG_PTR, IN ULONG_PTR, DWORD, PULONG, IN ULONG, IN BOOL, IN OPTIONAL HBRUSH);
54
55 VOID FASTCALL
56 IntGdiSetSolidPenColor(HPEN hPen, COLORREF Color);
57
58 /* Line functions */
59
60 BOOL FASTCALL
61 IntGdiLineTo(DC *dc,
62 int XEnd,
63 int YEnd);
64
65 BOOL FASTCALL
66 IntGdiMoveToEx(DC *dc,
67 int X,
68 int Y,
69 LPPOINT Point,
70 BOOL BypassPath);
71
72 BOOL FASTCALL
73 IntGdiPolyBezier(DC *dc,
74 LPPOINT pt,
75 DWORD Count);
76
77 BOOL FASTCALL
78 IntGdiPolyline(DC *dc,
79 LPPOINT pt,
80 int Count);
81
82 BOOL FASTCALL
83 IntGdiPolyBezierTo(DC *dc,
84 LPPOINT pt,
85 DWORD Count);
86
87 BOOL FASTCALL
88 IntGdiPolyPolyline(DC *dc,
89 LPPOINT pt,
90 PULONG PolyPoints,
91 DWORD Count);
92
93 BOOL FASTCALL
94 IntGdiPolylineTo(DC *dc,
95 LPPOINT pt,
96 DWORD Count);
97
98 BOOL FASTCALL
99 IntGdiArc(DC *dc,
100 int LeftRect,
101 int TopRect,
102 int RightRect,
103 int BottomRect,
104 int XStartArc,
105 int YStartArc,
106 int XEndArc,
107 int YEndArc);
108
109 INT FASTCALL
110 IntGdiGetArcDirection(DC *dc);
111
112 /* Shape functions */
113
114 BOOL FASTCALL
115 IntGdiPolygon(PDC dc,
116 PPOINT UnsafePoints,
117 int Count);
118
119 BOOL FASTCALL
120 IntGdiPolyPolygon(DC *dc,
121 LPPOINT Points,
122 PULONG PolyCounts,
123 int Count);
124
125 BOOL FASTCALL IntGdiGradientFill(DC *dc,
126 PTRIVERTEX pVertex,
127 ULONG uVertex,
128 PVOID pMesh, ULONG uMesh, ULONG ulMode);
129
130 /* DC functions */
131
132 BOOL FASTCALL
133 IntGdiGetDCOrg(PDC pDC, PPOINTL pPointl);
134
135 INT FASTCALL
136 IntGdiGetObject(HANDLE handle, INT count, LPVOID buffer);
137
138 HDC FASTCALL
139 IntGdiCreateDC(PUNICODE_STRING Driver,
140 PUNICODE_STRING Device,
141 PVOID pUMdhpdev,
142 CONST PDEVMODEW InitData,
143 BOOL CreateAsIC);
144
145 /* Coord functions */
146
147 BOOL FASTCALL
148 IntGdiCombineTransform(LPXFORM XFormResult,
149 LPXFORM xform1,
150 LPXFORM xform2);
151
152 /* Stock objects */
153
154 BOOL FASTCALL
155 IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors);
156
157 HGDIOBJ FASTCALL
158 IntGetSysColorBrush(INT Object);
159
160 DWORD FASTCALL
161 IntGetSysColor(INT nIndex);
162
163 /* Other Stuff */
164
165 INT FASTCALL
166 IntGdiGetDeviceCaps(PDC dc, INT Index);
167
168 INT
169 FASTCALL
170 IntGdiEscape(PDC dc,
171 INT Escape,
172 INT InSize,
173 LPCSTR InData,
174 LPVOID OutData);
175
176 NTSTATUS
177 FASTCALL
178 IntEnumDisplaySettings(
179 IN PUNICODE_STRING pDeviceName OPTIONAL,
180 IN DWORD iModeNum,
181 IN OUT LPDEVMODEW pDevMode,
182 IN DWORD dwFlags);
183
184 LONG
185 FASTCALL
186 IntChangeDisplaySettings(
187 IN PUNICODE_STRING pDeviceName OPTIONAL,
188 IN LPDEVMODEW pDevMode,
189 IN DWORD dwflags,
190 IN PVOID lParam OPTIONAL);
191
192 HBITMAP
193 FASTCALL
194 IntCreateCompatibleBitmap(PDC Dc,
195 INT Width,
196 INT Height);
197
198 HBITMAP APIENTRY
199 IntGdiCreateBitmap(
200 INT Width,
201 INT Height,
202 UINT Planes,
203 UINT BitsPixel,
204 IN OPTIONAL LPBYTE pBits);
205
206 HDC APIENTRY IntGdiGetDCState(HDC hDC);
207
208 WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
209
210 VOID APIENTRY IntGdiSetDCState ( HDC hDC, HDC hDCSave );
211
212 LONG APIENTRY IntSetBitmapBits(PSURFACE bmp, DWORD Bytes, IN PBYTE Bits);
213
214 LONG APIENTRY IntGetBitmapBits(PSURFACE bmp, DWORD Bytes, OUT PBYTE Bits);
215
216 UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
217
218 UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
219
220 UINT APIENTRY
221 IntAnimatePalette(HPALETTE hPal, UINT StartIndex,
222 UINT NumEntries, CONST PPALETTEENTRY PaletteColors);
223
224 UINT APIENTRY
225 IntGetPaletteEntries(HPALETTE hpal,
226 UINT StartIndex,
227 UINT Entries,
228 LPPALETTEENTRY pe);
229
230 UINT APIENTRY
231 IntSetPaletteEntries(HPALETTE hpal,
232 UINT Start,
233 UINT Entries,
234 CONST LPPALETTEENTRY pe);
235
236 UINT APIENTRY
237 IntGetSystemPaletteEntries(HDC hDC,
238 UINT StartIndex,
239 UINT Entries,
240 LPPALETTEENTRY pe);
241 UINT APIENTRY
242 IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
243
244 UINT APIENTRY
245 IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
246
247 BOOL APIENTRY
248 GreStretchBltMask(IN HDC hdcDst,
249 IN INT xDst,
250 IN INT yDst,
251 IN INT cxDst,
252 IN INT cyDst,
253 IN HDC hdcSrc,
254 IN INT xSrc,
255 IN INT ySrc,
256 IN INT cxSrc,
257 IN INT cySrc,
258 IN DWORD dwRop,
259 IN DWORD dwBackColor,
260 IN HDC hdcMask,
261 IN INT xMask,
262 IN INT yMask);