- God is a second-hand imitation of Gé. Fix for bug 1213.
[reactos.git] / reactos / subsys / 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 XLATEOBJ* FASTCALL
9 IntGdiCreateBrushXlate(PDC Dc, GDIBRUSHOBJ *BrushObj, BOOLEAN *Failed);
10
11 VOID FASTCALL
12 IntGdiInitBrushInstance(GDIBRUSHINST *BrushInst, PGDIBRUSHOBJ BrushObj, XLATEOBJ *XlateObj);
13
14 HBRUSH STDCALL
15 IntGdiCreateDIBBrush(
16 CONST BITMAPINFO *BitmapInfo,
17 UINT ColorSpec,
18 UINT BitmapInfoSize,
19 CONST VOID *PackedDIB);
20
21 HBRUSH STDCALL
22 IntGdiCreateHatchBrush(
23 INT Style,
24 COLORREF Color);
25
26 HBRUSH STDCALL
27 IntGdiCreatePatternBrush(
28 HBITMAP hBitmap);
29
30 HBRUSH STDCALL
31 IntGdiCreateSolidBrush(
32 COLORREF Color);
33
34 HBRUSH STDCALL
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 PGDIBRUSHOBJ BrushObj);
46
47 /* Pen functions */
48
49 HPEN FASTCALL
50 IntGdiCreatePenIndirect(PLOGPEN lgpn);
51
52 /* Line functions */
53
54 BOOL FASTCALL
55 IntGdiLineTo(DC *dc,
56 int XEnd,
57 int YEnd);
58
59 BOOL FASTCALL
60 IntGdiMoveToEx(DC *dc,
61 int X,
62 int Y,
63 LPPOINT Point);
64
65 BOOL FASTCALL
66 IntGdiPolyBezier(DC *dc,
67 LPPOINT pt,
68 DWORD Count);
69
70 BOOL FASTCALL
71 IntGdiPolyline(DC *dc,
72 LPPOINT pt,
73 int Count);
74
75 BOOL FASTCALL
76 IntGdiPolyBezierTo(DC *dc,
77 LPPOINT pt,
78 DWORD Count);
79
80 BOOL FASTCALL
81 IntGdiPolyPolyline(DC *dc,
82 LPPOINT pt,
83 LPDWORD PolyPoints,
84 DWORD Count);
85
86 BOOL FASTCALL
87 IntGdiPolylineTo(DC *dc,
88 LPPOINT pt,
89 DWORD Count);
90
91 BOOL FASTCALL
92 IntGdiArc(DC *dc,
93 int LeftRect,
94 int TopRect,
95 int RightRect,
96 int BottomRect,
97 int XStartArc,
98 int YStartArc,
99 int XEndArc,
100 int YEndArc);
101
102 INT FASTCALL
103 IntGdiGetArcDirection(DC *dc);
104
105 /* Shape functions */
106
107 BOOL FASTCALL
108 IntGdiPolygon(PDC dc,
109 PPOINT UnsafePoints,
110 int Count);
111
112 BOOL FASTCALL
113 IntGdiPolyPolygon(DC *dc,
114 LPPOINT Points,
115 LPINT PolyCounts,
116 int Count);
117
118 /* Rgn functions */
119
120 int FASTCALL
121 IntGdiGetClipBox(HDC hDC,
122 LPRECT rc);
123
124 HRGN FASTCALL REGION_CropRgn(HRGN hDst, HRGN hSrc, const PRECT lpRect, PPOINT lpPt);
125 void FASTCALL REGION_UnionRectWithRegion(const RECT *rect, ROSRGNDATA *rgn);
126 INT FASTCALL UnsafeIntGetRgnBox(PROSRGNDATA Rgn, LPRECT pRect);
127 BOOL FASTCALL UnsafeIntRectInRegion(PROSRGNDATA Rgn, CONST LPRECT rc);
128
129 #define UnsafeIntCreateRectRgnIndirect(prc) \
130 NtGdiCreateRectRgn((prc)->left, (prc)->top, (prc)->right, (prc)->bottom)
131
132 #define UnsafeIntUnionRectWithRgn(rgndest, prc) \
133 REGION_UnionRectWithRegion((prc), (rgndest))
134
135 /* DC functions */
136
137 BOOL FASTCALL
138 IntGdiGetDCOrgEx(DC *dc, LPPOINT Point);
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 PUNICODE_STRING Output,
147 CONST PDEVMODEW InitData,
148 BOOL CreateAsIC);
149
150 COLORREF FASTCALL
151 IntGetDCColor(HDC hDC, ULONG Object);
152
153 COLORREF FASTCALL
154 IntSetDCColor(HDC hDC, ULONG Object, COLORREF Color);
155
156 /* Coord functions */
157
158 BOOL FASTCALL
159 IntGdiCombineTransform(LPXFORM XFormResult,
160 LPXFORM xform1,
161 LPXFORM xform2);
162
163 /* RECT functions */
164
165 VOID FASTCALL
166 IntGdiSetRect(PRECT Rect, INT left, INT top, INT right, INT bottom);
167
168 VOID FASTCALL
169 IntGdiSetEmptyRect(PRECT Rect);
170
171 BOOL FASTCALL
172 IntGdiIsEmptyRect(const RECT* Rect);
173
174 VOID FASTCALL
175 IntGdiOffsetRect(LPRECT Rect, INT x, INT y);
176
177 BOOL FASTCALL
178 IntGdiUnionRect(PRECT Dest, const RECT* Src1, const RECT* Src2);
179
180 BOOL FASTCALL
181 IntGdiIntersectRect(PRECT Dest, const RECT* Src1, const RECT* Src2);
182
183 /* Stock objects */
184
185 BOOL FASTCALL
186 IntSetSysColors(UINT nColors, INT *Elements, COLORREF *Colors);
187
188 BOOL FASTCALL
189 IntGetSysColorBrushes(HBRUSH *Brushes, UINT nBrushes);
190
191 BOOL FASTCALL
192 IntGetSysColorPens(HPEN *Pens, UINT nPens);
193
194 BOOL FASTCALL
195 IntGetSysColors(COLORREF *Colors, UINT nColors);
196
197 /* Other Stuff */
198
199 INT FASTCALL
200 IntGdiGetDeviceCaps(PDC dc, INT Index);
201
202 int STDCALL IntGdiExtSelectClipRgn (PDC dc, HRGN hrgn, int fnMode);
203
204 INT
205 FASTCALL
206 IntGdiEscape(PDC dc,
207 INT Escape,
208 INT InSize,
209 LPCSTR InData,
210 LPVOID OutData);
211
212 BOOL
213 FASTCALL
214 IntEnumDisplaySettings(
215 IN PUNICODE_STRING pDeviceName OPTIONAL,
216 IN DWORD iModeNum,
217 IN OUT LPDEVMODEW pDevMode,
218 IN DWORD dwFlags);
219
220 LONG
221 FASTCALL
222 IntChangeDisplaySettings(
223 IN PUNICODE_STRING pDeviceName OPTIONAL,
224 IN LPDEVMODEW pDevMode,
225 IN DWORD dwflags,
226 IN PVOID lParam OPTIONAL);
227
228 #endif /* _WIN32K_INTGDI_H */
229