public function drawClippingPolygon($points)
{
$oldFillColor = $this->fillColor;
$oldStrokeColor = $this->strokeColor;
$oldStrokeWidth = $this->strokeWidth;
$oldStrokeDashLength = $this->strokeDashLength;
$oldStrokeDashGap = $this->strokeDashGap;
$this->setFillColor($this->backgroundColor);
$this->setStrokeWidth(false);
$i = 1;
$polygon = null;
foreach ($points as $coord) {
if ($i == 1) {
$polygon .= $coord['x'] . " " . $coord['y'] . " m\n";
} else {
if ($i <= count($points)) {
$polygon .= $coord['x'] . " " . $coord['y'] . " l\n";
}
}
$i++;
}
$polygon .= "h\n";
$polygon .= "W\n";
$co_index = $this->getContentObject();
$this->objects[$co_index]->setStream("\n{$polygon}\nF\n");
$this->setFillColor($oldFillColor);
if (null !== $oldStrokeColor) {
$this->setStrokeColor($oldStrokeColor);
$this->setStrokeWidth($oldStrokeWidth, $oldStrokeDashLength, $oldStrokeDashGap);
}
return $this;
}