Fixed some bugs.
[reactos.git] / reactos / subsys / win32k / objects / region.c
1 #include <windows.h>
2 #include <ddk/ntddk.h>
3 #include <win32k/region.h>
4 #include <win32k/gdiobj.h>
5
6 //#define NDEBUG
7 #include <win32k/debug1.h>
8
9 /* FUNCTIONS *****************************************************************/
10
11 INT STDCALL
12 W32kGetBoxRgn(HRGN hRgn, PRECT Rect)
13 {
14 return 0;
15 }
16
17 HRGN STDCALL
18 W32kCropRgn(HRGN hDest, HRGN hSrc, const RECT* Rect, const POINT* Point)
19 {
20 return NULL;
21 }
22
23 HRGN STDCALL
24 W32kUnionRectWithRgn(HRGN hDest, const RECT* Rect)
25 {
26 }
27
28 INT STDCALL
29 W32kCombineRgn(HRGN hDest,
30 HRGN hSrc1,
31 HRGN hSrc2,
32 INT CombineMode)
33 {
34 UNIMPLEMENTED;
35 }
36
37 HRGN STDCALL
38 W32kCreateEllipticRgn(INT LeftRect,
39 INT TopRect,
40 INT RightRect,
41 INT BottomRect)
42 {
43 UNIMPLEMENTED;
44 }
45
46 HRGN STDCALL
47 W32kCreateEllipticRgnIndirect(CONST PRECT rc)
48 {
49 UNIMPLEMENTED;
50 }
51
52 HRGN STDCALL
53 W32kCreatePolygonRgn(CONST PPOINT pt,
54 INT Count,
55 INT PolyFillMode)
56 {
57 UNIMPLEMENTED;
58 }
59
60 HRGN STDCALL
61 W32kCreatePolyPolygonRgn(CONST PPOINT pt,
62 CONST PINT PolyCounts,
63 INT Count,
64 INT PolyFillMode)
65 {
66 UNIMPLEMENTED;
67 }
68
69 HRGN STDCALL
70 W32kCreateRectRgn(INT LeftRect,
71 INT TopRect,
72 INT RightRect,
73 INT BottomRect)
74 {
75 RGNDATA* Region;
76 PRECT Rect;
77 /*
78 DPRINT("W32kCreateRectRgn(LeftRect %d, TopRect %d, RightRect %d, "
79 "BottomRect %d)\n", LeftRect, TopRect, RightRect, BottomRect);
80
81 Region = (RGNDATA*)GDIOBJ_AllocObject(sizeof(RGNDATA) + sizeof(RECT) - 1, 0);
82 Region->rdh.dwSize = sizeof(RGNDATA) + sizeof(RECT) - 1;
83 Region->rdh.iType = RDH_RECTANGLES;
84 Region->rdh.nCount = 0;
85 Rect = (PRECT)Region->Buffer;
86 Rect->left = LeftRect;
87 Rect->right = RightRect;
88 Rect->top = TopRect;
89 Rect->bottom = BottomRect;
90 Region->rdh.rcBound = *Rect;
91
92 return(GDIOBJ_PtrToHandle((PGDIOBJ)Region, 0));
93 */
94 return NULL;
95 }
96
97 HRGN STDCALL
98 W32kCreateRectRgnIndirect(CONST PRECT rc)
99 {
100 return(W32kCreateRectRgn(rc->left, rc->top, rc->right, rc->bottom));
101 }
102
103 HRGN STDCALL
104 W32kCreateRoundRectRgn(INT LeftRect,
105 INT TopRect,
106 INT RightRect,
107 INT BottomRect,
108 INT WidthEllipse,
109 INT HeightEllipse)
110 {
111 UNIMPLEMENTED;
112 }
113
114 BOOL STDCALL
115 W32kEqualRgn(HRGN hSrcRgn1,
116 HRGN hSrcRgn2)
117 {
118 UNIMPLEMENTED;
119 }
120
121 HRGN STDCALL
122 W32kExtCreateRegion(CONST PXFORM Xform,
123 DWORD Count,
124 CONST PRGNDATA RgnData)
125 {
126 UNIMPLEMENTED;
127 }
128
129 BOOL STDCALL
130 W32kFillRgn(HDC hDC,
131 HRGN hRgn,
132 HBRUSH hBrush)
133 {
134 UNIMPLEMENTED;
135 }
136
137 BOOL STDCALL
138 W32kFrameRgn(HDC hDC,
139 HRGN hRgn,
140 HBRUSH hBrush,
141 INT Width,
142 INT Height)
143 {
144 UNIMPLEMENTED;
145 }
146
147 INT STDCALL
148 W32kGetRgnBox(HRGN hRgn,
149 LPRECT hRect)
150 {
151 UNIMPLEMENTED;
152 }
153
154 BOOL STDCALL
155 W32kInvertRgn(HDC hDC,
156 HRGN hRgn)
157 {
158 UNIMPLEMENTED;
159 }
160
161 INT STDCALL
162 W32kOffsetRgn(HRGN hRgn,
163 INT XOffset,
164 INT YOffset)
165 {
166 UNIMPLEMENTED;
167 }
168
169 BOOL STDCALL
170 W32kPaintRgn(HDC hDC,
171 HRGN hRgn)
172 {
173 UNIMPLEMENTED;
174 }
175
176 BOOL STDCALL
177 W32kPtInRegion(HRGN hRgn,
178 INT X,
179 INT Y)
180 {
181 UNIMPLEMENTED;
182 }
183
184 BOOL STDCALL
185 W32kRectInRegion(HRGN hRgn,
186 CONST LPRECT rc)
187 {
188 UNIMPLEMENTED;
189 }
190
191 BOOL STDCALL
192 W32kSetRectRgn(HRGN hRgn,
193 INT LeftRect,
194 INT TopRect,
195 INT RightRect,
196 INT BottomRect)
197 {
198 UNIMPLEMENTED;
199 }
200