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