/** * PDF image renderer * * @param ReportTcpdf $renderer */ public function render($renderer) { global $lastpicbottom, $lastpicpage, $lastpicleft, $lastpicright; // Check for a pagebreak first if ($renderer->checkPageBreakPDF($this->height + 5)) { $this->y = $renderer->GetY(); } $curx = $renderer->GetX(); // If current position (left)set "." if ($this->x == ".") { $this->x = $renderer->GetX(); } else { $this->x = $renderer->addMarginX($this->x); $renderer->SetX($curx); } if ($this->y == ".") { //-- first check for a collision with the last picture if (isset($lastpicbottom)) { if ($renderer->PageNo() == $lastpicpage && $lastpicbottom >= $renderer->GetY() && $this->x >= $lastpicleft && $this->x <= $lastpicright) { $renderer->SetY($lastpicbottom + 5); } } $this->y = $renderer->GetY(); } else { $renderer->SetY($this->y); } if ($renderer->getRTL()) { $renderer->Image($this->file, $renderer->getPageWidth() - $this->x, $this->y, $this->width, $this->height, "", "", $this->line, false, 72, $this->align); } else { $renderer->Image($this->file, $this->x, $this->y, $this->width, $this->height, "", "", $this->line, false, 72, $this->align); } $lastpicpage = $renderer->PageNo(); $renderer->lastpicpage = $renderer->getPage(); $lastpicleft = $this->x; $lastpicright = $this->x + $this->width; $lastpicbottom = $this->y + $this->height; // Setup for the next line if ($this->line == "N") { $renderer->SetY($lastpicbottom); } }