code: def draw_polygon(
              self,
              *pts,
              close_path=True,
              stroke=None,
              stroke_width=1,
              stroke_dash=None,
              fill=None
              ) -> None:
          
          c = self.c
          c.save()
          c.new_path()
          for x,y in zip(*[iter(pts)]*2):
              c.line_to(x, y)
          if close_path:
              c.close_path()
          self._fill_and_stroke(stroke, stroke_width, stroke_dash, fill)
          c.restore()
docs: Draws the given polygon.