code: func (f *Fpdf) ClipPolygon(points []PointType, outline bool) {
  	f.clipNest++
  	var s fmtBuffer
  	h := f.h
  	k := f.k
  	s.printf("q ")
  	for j, pt := range points {
  		s.printf("%.5f %.5f %s ", pt.X*k, (h-pt.Y)*k, strIf(j == 0, "m", "l"))
  	}
  	s.printf("h W %s", strIf(outline, "S", "n"))
  	f.out(s.String())
  }
docs: // ClipPolygon begins a clipping operation within a polygon. The figure is
  // defined by a series of vertices specified by points. The x and y fields of
  // the points use the units established in New(). The last point in the slice
  // will be implicitly joined to the first to close the polygon. outline is true
  // to draw a border with the current draw color and line width centered on the
  // polygon's perimeter. Only the outer half of the border will be shown. After
  // calling this method, all rendering operations (for example, Image(),
  // LinearGradient(), etc) will be clipped by the specified polygon. Call
  // ClipEnd() to restore unclipped operations.
  //
  // The ClipText() example demonstrates this method.