Exemplo n.º 1
0
 /**
  * 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);
     }
 }