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