Я ничего не нашел для класса Circle, но кто-то нашел функцию, которая уменьшит размер вашего кода.Он делает то же самое, что и вы, создавая многоугольники в форме круга.
http://www.geocodezip.com/v3_polygon_example_donut.html
Функция drawCircle (point, radius, dir) использует dir для различения положительного пространства и дырок.Вы должны чередовать их, чтобы создать дыры.