code: def render(self, rectangle, data):
          
  
          size = (1.0 - 2.0*self.margin) * rectangle.h
          offset = self.margin * rectangle.h
          per_mark = 1.0 / float(self.total)
          bottom = offset + size * float(self.index) * per_mark
          top = bottom + per_mark * size
  
          c = data['output']
          with c:
              c.translate(rectangle.x, rectangle.y)
              c.draw_polygon(
                  0, top, -self.width, bottom, self.width, bottom,
                  fill=self.color
                  )
docs: Draws the signature mark.
  
          Note that this draws OUTSIDE the rectangle we're given. If
          cropping is involved, then this obviously won't work.