code: def _draw_polygons(self, feature, bg, colour, extent, polygons, xo, yo):
          
          coords = []
          for polygon in polygons:
              coords.append([self._scale_coords(x, y, extent, xo, yo) for x, y in polygon])
          # Polygons are expensive to draw and the buildings layer is huge - so we convert to
          # lines in order to process updates fast enough to animate.
          if "type" in feature["properties"] and "building" in feature["properties"]["type"]:
              for line in coords:
                  self._draw_lines_internal(line, colour, bg)
          else:
              self._screen.fill_polygon(coords, colour=colour, bg=bg)
docs: Draw a set of polygons from a vector tile.