# Summary

Drawing Operations:

- Draw a single point: `draw_point(Graphics *g, Point p)`
- Draw a line: `draw_line(Graphics *g, Point a, Point b)`
- Draw the outline of a rectangle: `draw_rect(Graphics *g, Rect r)`
- Draw a filled rectangle: `fill_rect(Graphics *g, Rect r)`
- Draw the outline of an ellipse: `draw_ellipse(Graphics *g, Rect r)`
- Draw a filled ellipse: `fill_ellipse(Graphics *g, Rect r)`
- Draw the outline of an arc: `draw_arc(Graphics *g, Rect r, int angle1, int angle2)`
- Draw a filled arc: `fill_arc(Graphics *g, Rect r, int angle1, int angle2)`
- Draw the outline of a polygon: `draw_polygon(Graphics *g, Point p[], int n)`
- Draw a filled polygon: `fill_polygon(Graphics *g, Point p[], int n)`