示例#1
0
 /**
  * Render the elements.
  *
  * @param ReportHtml $renderer
  * @param bool       $sub
  * @param bool       $inat
  *
  * @return string
  */
 public function render($renderer, $sub = false, $inat = true)
 {
     if (!empty($this->attrs["wt_style"])) {
         $renderer->setCurrentStyle($this->attrs["wt_style"]);
     }
     $this->text = $this->getStart() . $this->text;
     foreach ($this->elements as $element) {
         if (is_string($element) && $element == "footnotetexts") {
             $renderer->footnotes();
         } elseif (is_string($element) && $element == "addpage") {
             $renderer->addPage();
         } elseif ($element instanceof ReportBaseHtml) {
             $element->render($renderer, true, false);
         } else {
             $element->render($renderer);
         }
     }
     $this->text .= $this->getEnd();
     if ($sub) {
         return $this->text;
     }
     // If not called by an other attribute
     if ($inat) {
         $startX = $renderer->getX();
         $startY = $renderer->getY();
         $width = $renderer->getRemainingWidth();
         echo "<div style=\"position: absolute;top: ", $startY, "pt;", $renderer->alignRTL, ": ", $startX, "pt;width: ", $width, "pt;\">";
         $startY += $renderer->getCurrentStyleHeight() + 2;
         $renderer->setY($startY);
     }
     echo $this->text;
     if ($inat) {
         echo "</div>\n";
     }
 }