[WIN32K]
[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
126 NTAPI
127 GreGradientFill(
128 HDC hdc,
129 PTRIVERTEX pVertex,
130 ULONG nVertex,
131 PVOID pMesh,
132 ULONG nMesh,
133 ULONG ulMode);
134
135 /* DC functions */
136
137 BOOL FASTCALL
138 IntGdiGetDCOrg(PDC pDC, PPOINTL pPointl);
139
140 INT FASTCALL
141 IntGdiGetObject(HANDLE handle, INT count, LPVOID buffer);
142
143 HDC FASTCALL
144 IntGdiCreateDC(PUNICODE_STRING Driver,
145 PUNICODE_STRING Device,
146 PVOID pUMdhpdev,
147 CONST PDEVMODEW InitData,
148 BOOL CreateAsIC);
149
150 /* Coord functions */
151
152 BOOL FASTCALL
153 IntGdiCombineTransform(LPXFORM XFormResult,
154 LPXFORM xform1,
155 LPXFORM xform2);
156
157 /* Stock objects */
158
159 BOOL FASTCALL
160 IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors);
161
162 HGDIOBJ FASTCALL
163 IntGetSysColorBrush(INT Object);
164
165 DWORD FASTCALL
166 IntGetSysColor(INT nIndex);
167
168 /* Other Stuff */
169
170 INT FASTCALL
171 IntGdiGetDeviceCaps(PDC dc, INT Index);
172
173 INT
174 FASTCALL
175 IntGdiEscape(PDC dc,
176 INT Escape,
177 INT InSize,
178 LPCSTR InData,
179 LPVOID OutData);
180
181 NTSTATUS
182 FASTCALL
183 IntEnumDisplaySettings(
184 IN PUNICODE_STRING pDeviceName OPTIONAL,
185 IN DWORD iModeNum,
186 IN OUT LPDEVMODEW pDevMode,
187 IN DWORD dwFlags);
188
189 LONG
190 FASTCALL
191 IntChangeDisplaySettings(
192 IN PUNICODE_STRING pDeviceName OPTIONAL,
193 IN LPDEVMODEW pDevMode,
194 IN DWORD dwflags,
195 IN PVOID lParam OPTIONAL);
196
197 HBITMAP
198 FASTCALL
199 IntCreateCompatibleBitmap(PDC Dc,
200 INT Width,
201 INT Height);
202
203 HBITMAP APIENTRY
204 IntGdiCreateBitmap(
205 INT Width,
206 INT Height,
207 UINT Planes,
208 UINT BitsPixel,
209 IN OPTIONAL LPBYTE pBits);
210
211 HDC APIENTRY IntGdiGetDCState(HDC hDC);
212
213 WORD APIENTRY IntGdiSetHookFlags(HDC hDC, WORD Flags);
214
215 VOID APIENTRY IntGdiSetDCState ( HDC hDC, HDC hDCSave );
216
217 LONG APIENTRY IntSetBitmapBits(PSURFACE bmp, DWORD Bytes, IN PBYTE Bits);
218
219 LONG APIENTRY IntGetBitmapBits(PSURFACE bmp, DWORD Bytes, OUT PBYTE Bits);
220
221 UINT APIENTRY IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
222
223 UINT APIENTRY IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
224
225 UINT APIENTRY
226 IntAnimatePalette(HPALETTE hPal, UINT StartIndex,
227 UINT NumEntries, CONST PPALETTEENTRY PaletteColors);
228
229 UINT APIENTRY
230 IntGetPaletteEntries(HPALETTE hpal,
231 UINT StartIndex,
232 UINT Entries,
233 LPPALETTEENTRY pe);
234
235 UINT APIENTRY
236 IntSetPaletteEntries(HPALETTE hpal,
237 UINT Start,
238 UINT Entries,
239 CONST LPPALETTEENTRY pe);
240
241 UINT APIENTRY
242 IntGetSystemPaletteEntries(HDC hDC,
243 UINT StartIndex,
244 UINT Entries,
245 LPPALETTEENTRY pe);
246 UINT APIENTRY
247 IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors);
248
249 UINT APIENTRY
250 IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors);
251
252 BOOL APIENTRY
253 GreStretchBltMask(IN HDC hdcDst,
254 IN INT xDst,
255 IN INT yDst,
256 IN INT cxDst,
257 IN INT cyDst,
258 IN HDC hdcSrc,
259 IN INT xSrc,
260 IN INT ySrc,
261 IN INT cxSrc,
262 IN INT cySrc,
263 IN DWORD dwRop,
264 IN DWORD dwBackColor,
265 IN HDC hdcMask,
266 IN INT xMask,
267 IN INT yMask);