xref: /reactos/win32ss/gdi/gdi32/objects/arc.c (revision fc16259f)
1c2c66affSColin Finck #include <precomp.h>
2c2c66affSColin Finck 
3c2c66affSColin Finck BOOL
4c2c66affSColin Finck WINAPI
Arc(_In_ HDC hdc,_In_ INT xLeft,_In_ INT yTop,_In_ INT xRight,_In_ INT yBottom,_In_ INT xStartArc,_In_ INT yStartArc,_In_ INT xEndArc,_In_ INT yEndArc)5c2c66affSColin Finck Arc(
6c2c66affSColin Finck     _In_ HDC hdc,
7c2c66affSColin Finck     _In_ INT xLeft,
8c2c66affSColin Finck     _In_ INT yTop,
9c2c66affSColin Finck     _In_ INT xRight,
10c2c66affSColin Finck     _In_ INT yBottom,
11c2c66affSColin Finck     _In_ INT xStartArc,
12c2c66affSColin Finck     _In_ INT yStartArc,
13c2c66affSColin Finck     _In_ INT xEndArc,
14c2c66affSColin Finck     _In_ INT yEndArc)
15c2c66affSColin Finck {
16c2c66affSColin Finck     HANDLE_METADC(BOOL,
17c2c66affSColin Finck                   Arc,
18c2c66affSColin Finck                   FALSE,
19c2c66affSColin Finck                   hdc,
20c2c66affSColin Finck                   xLeft,
21c2c66affSColin Finck                   yTop,
22c2c66affSColin Finck                   xRight,
23c2c66affSColin Finck                   yBottom,
24c2c66affSColin Finck                   xStartArc,
25c2c66affSColin Finck                   yStartArc,
26c2c66affSColin Finck                   xEndArc,
27c2c66affSColin Finck                   yEndArc);
28c2c66affSColin Finck 
2966587152Sjimtabor     if ( GdiConvertAndCheckDC(hdc) == NULL ) return FALSE;
3066587152Sjimtabor 
31c2c66affSColin Finck     return NtGdiArcInternal(GdiTypeArc,
32c2c66affSColin Finck                             hdc,
33c2c66affSColin Finck                             xLeft,
34c2c66affSColin Finck                             yTop,
35c2c66affSColin Finck                             xRight,
36c2c66affSColin Finck                             yBottom,
37c2c66affSColin Finck                             xStartArc,
38c2c66affSColin Finck                             yStartArc,
39c2c66affSColin Finck                             xEndArc,
40c2c66affSColin Finck                             yEndArc);
41c2c66affSColin Finck }
42c2c66affSColin Finck 
43c2c66affSColin Finck 
44c2c66affSColin Finck /*
45c2c66affSColin Finck  * @implemented
46c2c66affSColin Finck  */
47c2c66affSColin Finck BOOL
48c2c66affSColin Finck WINAPI
AngleArc(_In_ HDC hdc,_In_ INT x,_In_ INT y,_In_ DWORD dwRadius,_In_ FLOAT eStartAngle,_In_ FLOAT eSweepAngle)49c2c66affSColin Finck AngleArc(
50c2c66affSColin Finck     _In_ HDC hdc,
51c2c66affSColin Finck     _In_ INT x,
52c2c66affSColin Finck     _In_ INT y,
53c2c66affSColin Finck     _In_ DWORD dwRadius,
54c2c66affSColin Finck     _In_ FLOAT eStartAngle,
55c2c66affSColin Finck     _In_ FLOAT eSweepAngle)
56c2c66affSColin Finck {
57*fc16259fSJames Tabor     HANDLE_EMETAFDC(BOOL,
58c2c66affSColin Finck                   AngleArc,
59c2c66affSColin Finck                   FALSE,
60c2c66affSColin Finck                   hdc,
61c2c66affSColin Finck                   x,
62c2c66affSColin Finck                   y,
63c2c66affSColin Finck                   dwRadius,
64*fc16259fSJames Tabor                   eStartAngle,
65*fc16259fSJames Tabor                   eSweepAngle);
66c2c66affSColin Finck 
6766587152Sjimtabor     if ( GdiConvertAndCheckDC(hdc) == NULL ) return FALSE;
6866587152Sjimtabor 
69c2c66affSColin Finck     return NtGdiAngleArc(hdc,
70c2c66affSColin Finck                          x,
71c2c66affSColin Finck                          y,
72c2c66affSColin Finck                          dwRadius,
73c2c66affSColin Finck                          RCAST(DWORD, eStartAngle),
74c2c66affSColin Finck                          RCAST(DWORD, eSweepAngle));
75c2c66affSColin Finck }
76c2c66affSColin Finck 
77c2c66affSColin Finck BOOL
78c2c66affSColin Finck WINAPI
ArcTo(_In_ HDC hdc,_In_ INT xLeft,_In_ INT yTop,_In_ INT xRight,_In_ INT yBottom,_In_ INT xRadial1,_In_ INT yRadial1,_In_ INT xRadial2,_In_ INT yRadial2)79c2c66affSColin Finck ArcTo(
80c2c66affSColin Finck     _In_ HDC hdc,
81c2c66affSColin Finck     _In_ INT xLeft,
82c2c66affSColin Finck     _In_ INT yTop,
83c2c66affSColin Finck     _In_ INT xRight,
84c2c66affSColin Finck     _In_ INT yBottom,
85c2c66affSColin Finck     _In_ INT xRadial1,
86c2c66affSColin Finck     _In_ INT yRadial1,
87c2c66affSColin Finck     _In_ INT xRadial2,
88c2c66affSColin Finck     _In_ INT yRadial2)
89c2c66affSColin Finck {
90*fc16259fSJames Tabor     HANDLE_EMETAFDC(BOOL,
91c2c66affSColin Finck                   ArcTo,
92c2c66affSColin Finck                   FALSE,
93c2c66affSColin Finck                   hdc,
94c2c66affSColin Finck                   xLeft,
95c2c66affSColin Finck                   yTop,
96c2c66affSColin Finck                   xRight,
97c2c66affSColin Finck                   yBottom,
98c2c66affSColin Finck                   xRadial1,
99c2c66affSColin Finck                   yRadial1,
100c2c66affSColin Finck                   xRadial2,
101c2c66affSColin Finck                   yRadial2);
102c2c66affSColin Finck 
10366587152Sjimtabor     if ( GdiConvertAndCheckDC(hdc) == NULL ) return FALSE;
10466587152Sjimtabor 
105c2c66affSColin Finck     return NtGdiArcInternal(GdiTypeArcTo,
106c2c66affSColin Finck                             hdc,
107c2c66affSColin Finck                             xLeft,
108c2c66affSColin Finck                             yTop,
109c2c66affSColin Finck                             xRight,
110c2c66affSColin Finck                             yBottom,
111c2c66affSColin Finck                             xRadial1,
112c2c66affSColin Finck                             yRadial1,
113c2c66affSColin Finck                             xRadial2,
114c2c66affSColin Finck                             yRadial2);
115c2c66affSColin Finck }
116c2c66affSColin Finck 
117c2c66affSColin Finck BOOL
118c2c66affSColin Finck WINAPI
Chord(_In_ HDC hdc,_In_ INT xLeft,_In_ INT yTop,_In_ INT xRight,_In_ INT yBottom,_In_ INT xRadial1,_In_ INT yRadial1,_In_ INT xRadial2,_In_ INT yRadial2)119c2c66affSColin Finck Chord(
120c2c66affSColin Finck     _In_ HDC hdc,
121c2c66affSColin Finck     _In_ INT xLeft,
122c2c66affSColin Finck     _In_ INT yTop,
123c2c66affSColin Finck     _In_ INT xRight,
124c2c66affSColin Finck     _In_ INT yBottom,
125c2c66affSColin Finck     _In_ INT xRadial1,
126c2c66affSColin Finck     _In_ INT yRadial1,
127c2c66affSColin Finck     _In_ INT xRadial2,
128c2c66affSColin Finck     _In_ INT yRadial2)
129c2c66affSColin Finck {
130c2c66affSColin Finck     HANDLE_METADC(BOOL,
131c2c66affSColin Finck                   Chord,
132c2c66affSColin Finck                   FALSE,
133c2c66affSColin Finck                   hdc,
134c2c66affSColin Finck                   xLeft,
135c2c66affSColin Finck                   yTop,
136c2c66affSColin Finck                   xRight,
137c2c66affSColin Finck                   yBottom,
138c2c66affSColin Finck                   xRadial1,
139c2c66affSColin Finck                   yRadial1,
140c2c66affSColin Finck                   xRadial2,
141c2c66affSColin Finck                   yRadial2);
142c2c66affSColin Finck 
14366587152Sjimtabor     if ( GdiConvertAndCheckDC(hdc) == NULL ) return FALSE;
14466587152Sjimtabor 
145c2c66affSColin Finck     return NtGdiArcInternal(GdiTypeChord,
146c2c66affSColin Finck                             hdc,
147c2c66affSColin Finck                             xLeft,
148c2c66affSColin Finck                             yTop,
149c2c66affSColin Finck                             xRight,
150c2c66affSColin Finck                             yBottom,
151c2c66affSColin Finck                             xRadial1,
152c2c66affSColin Finck                             yRadial1,
153c2c66affSColin Finck                             xRadial2,
154c2c66affSColin Finck                             yRadial2);
155c2c66affSColin Finck }
156c2c66affSColin Finck 
157c2c66affSColin Finck 
158c2c66affSColin Finck /*
159c2c66affSColin Finck  * @unimplemented
160c2c66affSColin Finck  */
161c2c66affSColin Finck BOOL
162c2c66affSColin Finck WINAPI
Pie(_In_ HDC hdc,_In_ INT xLeft,_In_ INT yTop,_In_ INT xRight,_In_ INT yBottom,_In_ INT xRadial1,_In_ INT yRadial1,_In_ INT xRadial2,_In_ INT yRadial2)163c2c66affSColin Finck Pie(
164c2c66affSColin Finck     _In_ HDC hdc,
165c2c66affSColin Finck     _In_ INT xLeft,
166c2c66affSColin Finck     _In_ INT yTop,
167c2c66affSColin Finck     _In_ INT xRight,
168c2c66affSColin Finck     _In_ INT yBottom,
169c2c66affSColin Finck     _In_ INT xRadial1,
170c2c66affSColin Finck     _In_ INT yRadial1,
171c2c66affSColin Finck     _In_ INT xRadial2,
172c2c66affSColin Finck     _In_ INT yRadial2)
173c2c66affSColin Finck {
174c2c66affSColin Finck     HANDLE_METADC(BOOL,
175c2c66affSColin Finck                   Pie,
176c2c66affSColin Finck                   FALSE,
177c2c66affSColin Finck                   hdc,
178c2c66affSColin Finck                   xLeft,
179c2c66affSColin Finck                   yTop,
180c2c66affSColin Finck                   xRight,
181c2c66affSColin Finck                   yBottom,
182c2c66affSColin Finck                   xRadial1,
183c2c66affSColin Finck                   yRadial1,
184c2c66affSColin Finck                   xRadial2,
185c2c66affSColin Finck                   yRadial2);
186c2c66affSColin Finck 
18766587152Sjimtabor     if ( GdiConvertAndCheckDC(hdc) == NULL ) return FALSE;
18866587152Sjimtabor 
189c2c66affSColin Finck     return NtGdiArcInternal(GdiTypePie,
190c2c66affSColin Finck                             hdc,
191c2c66affSColin Finck                             xLeft,
192c2c66affSColin Finck                             yTop,
193c2c66affSColin Finck                             xRight,
194c2c66affSColin Finck                             yBottom,
195c2c66affSColin Finck                             xRadial1,
196c2c66affSColin Finck                             yRadial1,
197c2c66affSColin Finck                             xRadial2,
198c2c66affSColin Finck                             yRadial2);
199c2c66affSColin Finck }
200c2c66affSColin Finck 
201c2c66affSColin Finck 
202