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