Lines Matching refs:table

25 		// called from block after new div e.g. <div> ... <table> ...    Outputs block top margin/border and padding
38 if ($this->mpdf->tableLevel) { // i.e. now a nested table coming...
39 // Save current level table
41 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['baseProperties'] = $this->mpdf->base_table_properties;
42 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cells'] = $this->mpdf->cell;
43 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['currrow'] = $this->mpdf->row;
44 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['currcol'] = $this->mpdf->col;
49 if ($this->mpdf->tableLevel > 1) { // inherit table properties from cell in which nested
67 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['level'] = $this->mpdf->tableLevel;
68 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['levelid'] = $this->mpdf->tbctr[$this->mpdf->tableLevel];
74 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nestedpos'] = [
85 $table = &$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]];
87 // New table - any level
88 $table['direction'] = $this->mpdf->directionality;
89 $table['bgcolor'] = false;
90 $table['va'] = false;
91 $table['txta'] = false;
92 $table['topntail'] = false;
93 $table['thead-underline'] = false;
94 $table['border'] = false;
95 $table['border_details']['R']['w'] = 0;
96 $table['border_details']['L']['w'] = 0;
97 $table['border_details']['T']['w'] = 0;
98 $table['border_details']['B']['w'] = 0;
99 $table['border_details']['R']['style'] = '';
100 $table['border_details']['L']['style'] = '';
101 $table['border_details']['T']['style'] = '';
102 $table['border_details']['B']['style'] = '';
103 $table['max_cell_border_width']['R'] = 0;
104 $table['max_cell_border_width']['L'] = 0;
105 $table['max_cell_border_width']['T'] = 0;
106 $table['max_cell_border_width']['B'] = 0;
107 $table['padding']['L'] = false;
108 $table['padding']['R'] = false;
109 $table['padding']['T'] = false;
110 $table['padding']['B'] = false;
111 $table['margin']['L'] = false;
112 $table['margin']['R'] = false;
113 $table['margin']['T'] = false;
114 $table['margin']['B'] = false;
115 $table['a'] = false;
116 $table['border_spacing_H'] = false;
117 $table['border_spacing_V'] = false;
118 $table['decimal_align'] = false;
123 $table['nc'] = $table['nr'] = 0;
129 if ($this->mpdf->tableLevel > 1) { // inherit table properties from cell in which nested
130 $table['direction'] = $direction;
131 $table['txta'] = $txta;
132 $table['cellLineHeight'] = $cellLineHeight;
133 $table['cellLineStackingStrategy'] = $cellLineStackingStrategy;
134 $table['cellLineStackingShift'] = $cellLineStackingShift;
146 $table['headernrows'] = 0;
147 $table['footernrows'] = 0;
166 $table['a'] = $this->getAlign($attr['ALIGN']);
168 if (!$table['a']) {
169 if ($table['direction'] === 'rtl') {
170 $table['a'] = 'R';
172 $table['a'] = 'L';
177 $table['direction'] = strtolower($properties['DIRECTION']);
179 $table['direction'] = strtolower($attr['DIR']);
181 $table['direction'] = $this->mpdf->blk[$this->mpdf->blklvl]['direction'];
185 if ($table['bgcolor'] === false) { // @todo cleaner initialization
186 $table['bgcolor'] = [];
188 $table['bgcolor'][-1] = $properties['BACKGROUND-COLOR'];
190 if ($table['bgcolor'] === false) {
191 $table['bgcolor'] = [];
193 $table['bgcolor'][-1] = $properties['BACKGROUND'];
195 if ($table['bgcolor'] === false) {
196 $table['bgcolor'] = [];
198 $table['bgcolor'][-1] = $attr['BGCOLOR'];
202 $table['va'] = $this->getAlign($properties['VERTICAL-ALIGN']);
205 $table['txta'] = $this->getAlign($properties['TEXT-ALIGN']);
218 $table['topntail'] = $properties['TOPNTAIL'];
221 $table['thead-underline'] = $properties['THEAD-UNDERLINE'];
227 $table['border'] = Border::ALL;
228 $table['border_details']['R'] = $bord;
229 $table['border_details']['L'] = $bord;
230 $table['border_details']['T'] = $bord;
231 $table['border_details']['B'] = $bord;
235 if ($table['direction'] === 'rtl') { // *OTL*
236 $table['border_details']['R'] = $this->mpdf->border_details($properties['BORDER-LEFT']); // *OTL*
239 $table['border_details']['R'] = $this->mpdf->border_details($properties['BORDER-RIGHT']);
241 $this->mpdf->setBorder($table['border'], Border::RIGHT, $table['border_details']['R']['s']);
244 if ($table['direction'] === 'rtl') { // *OTL*
245 $table['border_details']['L'] = $this->mpdf->border_details($properties['BORDER-RIGHT']); // *OTL*
248 $table['border_details']['L'] = $this->mpdf->border_details($properties['BORDER-LEFT']);
250 $this->mpdf->setBorder($table['border'], Border::LEFT, $table['border_details']['L']['s']);
253 $table['border_details']['B'] = $this->mpdf->border_details($properties['BORDER-BOTTOM']);
254 $this->mpdf->setBorder($table['border'], Border::BOTTOM, $table['border_details']['B']['s']);
257 $table['border_details']['T'] = $this->mpdf->border_details($properties['BORDER-TOP']);
258 $this->mpdf->setBorder($table['border'], Border::TOP, $table['border_details']['T']['s']);
262 if ($table['border']) {
327 $table['cellLineHeight'] = $this->mpdf->fixLineheight($properties['LINE-HEIGHT']);
329 $table['cellLineHeight'] = $this->mpdf->blk[$this->mpdf->blklvl]['line_height'];
333 $table['cellLineStackingStrategy'] = strtolower($properties['LINE-STACKING-STRATEGY']);
335 $table['cellLineStackingStrategy'] = $this->mpdf->blk[$this->mpdf->blklvl]['line_stacking_strategy'];
337 $table['cellLineStackingStrategy'] = 'inline-line-height';
341 $table['cellLineStackingShift'] = strtolower($properties['LINE-STACKING-SHIFT']);
343 $table['cellLineStackingShift'] = $this->mpdf->blk[$this->mpdf->blklvl]['line_stacking_shift'];
345 $table['cellLineStackingShift'] = 'consider-shifts';
349 $table['padding']['L'] = $this->sizeConverter->convert($properties['PADDING-LEFT'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
352 $table['padding']['R'] = $this->sizeConverter->convert($properties['PADDING-RIGHT'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
355 $table['padding']['T'] = $this->sizeConverter->convert($properties['PADDING-TOP'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
358 $table['padding']['B'] = $this->sizeConverter->convert($properties['PADDING-BOTTOM'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
370 $table['margin']['T'] = $this->sizeConverter->convert($properties['MARGIN-TOP'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
374 $table['margin']['B'] = $this->sizeConverter->convert($properties['MARGIN-BOTTOM'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
377 $table['margin']['L'] = $this->sizeConverter->convert($properties['MARGIN-LEFT'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
381 $table['margin']['R'] = $this->sizeConverter->convert($properties['MARGIN-RIGHT'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
384 $table['a'] = 'C';
386 $table['a'] = 'R';
388 $table['a'] = 'L';
392 $table['borders_separate'] = true;
394 $table['borders_separate'] = false;
400 $table['border_spacing_H'] = $this->sizeConverter->convert($properties['BORDER-SPACING-H'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
403 $table['border_spacing_V'] = $this->sizeConverter->convert($properties['BORDER-SPACING-V'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
406 if (!$table['borders_separate']) {
407 $table['border_spacing_H'] = $table['border_spacing_V'] = 0;
411 $table['empty_cells'] = strtolower($properties['EMPTY-CELLS']); // 'hide' or 'show'
413 $table['empty_cells'] = '';
422 $table['page_break_after'] = strtoupper($properties['PAGE-BREAK-AFTER']);
427 $table['gradient'] = $properties['BACKGROUND-GRADIENT'];
433 $table['background-image'] = $ret;
439 $table['overflow'] = strtolower($properties['OVERFLOW']); // 'hidden' 'wrap' or 'visible' or 'auto'
440 if (($this->mpdf->ColActive || $this->mpdf->tableLevel > 1) && $table['overflow'] === 'visible') {
441 unset($table['overflow']);
446 $table['cell_padding'] = $attr['CELLPADDING'];
448 $table['cell_padding'] = false;
455 $table['border'] = Border::ALL;
456 $table['border_details']['R'] = $bord;
457 $table['border_details']['L'] = $bord;
458 $table['border_details']['T'] = $bord;
459 $table['border_details']['B'] = $bord;
467 if ($table['borders_separate']) {
468 $tblblw = $table['margin']['L'] + $table['margin']['R'] + $table['border_details']['L']['w'] / 2 + $table['border_details']['R']['w'] / 2;
470 $tblblw = $table['margin']['L'] + $table['margin']['R'] + $table['max_cell_border_width']['L'] / 2 + $table['max_cell_border_width']['R'] / 2;
473 // % needs to be of inner box without table margins etc.
476 $table['w'] = $wmm + $tblblw;
479 $table['wpercent'] = (int) $w; // makes 80% -> 80
483 $table['w'] = $wmm + $tblblw;
486 if (isset($table['w']) && $table['w'] > $this->mpdf->blk[$this->mpdf->blklvl]['inner_width']) {
487 $table['w'] = $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'];
521 unset($table);
532 // In case a colspan (on a row after first row) exceeded number of columns in table
533 for ($k = 0; $k < $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nr']; $k++) {
534 for ($l = 0; $l < $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc']; $l++) {
570 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cells'] = $this->mpdf->cell;
571 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['wc'] = array_pad(
573 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'],
576 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['hr'] = array_pad(
578 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nr'],
582 // Move table footer <tfoot> row to end of table
583 if (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot'])
584 && count($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot'])) {
586 foreach ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot'] as $r => $val) {
593 foreach ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cells'] as $k => $row) {
600 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot'] = [];
602 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['is_tfoot'][$i] = true;
605 if (isset($this->mpdf->table[$this->mpdf->tableLevel + 1]) && count($this->mpdf->table[$this->mpdf->tableLevel + 1])) {
606 foreach ($this->mpdf->table[$this->mpdf->tableLevel + 1] as $nid => $nested) {
607 $this->mpdf->table[$this->mpdf->tableLevel + 1][$nid]['nestedpos'][0] -= count($temptf);
610 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cells'] = array_merge($temp, $temptf);
617 if (isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][-1])) {
618 $temptrbgc[-1] = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][-1];
620 for ($k = 0; $k < $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nr']; $k++) {
622 $temptrbgi[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trbackground-images'][$k])
623 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trbackground-images'][$k]
625 $temptrbgg[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trgradients'][$k])
626 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trgradients'][$k]
628 $temptrbgc[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$k])
629 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$k]
633 for ($k = 0; $k < $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nr']; $k++) {
635 $temptrbgi[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trbackground-images'][$k])
636 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trbackground-images'][$k]
638 $temptrbgg[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trgradients'][$k])
639 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trgradients'][$k]
641 $temptrbgc[] = isset($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$k])
642 ? $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'][$k]
646 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trbackground-images'] = $temptrbgi;
647 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['trgradients'] = $temptrbgg;
648 $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['bgcolor'] = $temptrbgc;
653 if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['direction'] === 'rtl') {
654 $this->mpdf->_reverseTableDir($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]);
658 $this->mpdf->_fixTableBorders($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]);
665 // Max width for rotated table
667 $this->mpdf->tbrot_maxh = $this->mpdf->blk[$this->mpdf->blklvl]['inner_width']; // Max width for rotated table
668 $this->mpdf->tbrot_align = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['a'];
680 // deal with nested table
682 $this->mpdf->_tableColumnWidth($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]], true);
684 $tmiw = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['miw'];
685 $tmaw = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['maw'];
686 $tl = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['tl'];
688 // Go down to lower table level
691 // Reset lower level table
692 $this->mpdf->base_table_properties = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['baseProperties'];
699 $this->mpdf->cell = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['cells'];
706 $this->mpdf->row = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['currrow'];
707 $this->mpdf->col = $this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['currcol'];
711 $objattr['table'] = $this->mpdf->tbctr[$this->mpdf->tableLevel];
746 if (isset($this->mpdf->table[1][1]['overflow']) && $this->mpdf->table[1][1]['overflow'] === 'visible') {
752 // 'Keep-with-table', rotated tables, page-break-inside:avoid, or columns");
754 $this->mpdf->_tableColumnWidth($this->mpdf->table[1][1], true);
755 $this->mpdf->_tableWidth($this->mpdf->table[1][1]);
761 list($check, $tablemiw) = $this->mpdf->_tableColumnWidth($this->mpdf->table[1][1], true);
762 $save_table = $this->mpdf->table;
786 $this->mpdf->shrinkTable($this->mpdf->table[1][1], $this->mpdf->shrin_k);
788 $this->mpdf->_tableColumnWidth($this->mpdf->table[1][1]); // repeat
790 // Shrink table values - and redo columnWidth
793 $this->mpdf->shrinkTable($this->mpdf->table[$lvl][$nid], $this->mpdf->shrin_k);
794 $this->mpdf->_tableColumnWidth($this->mpdf->table[$lvl][$nid]);
799 // Set table cell widths for top level table
801 $this->mpdf->SetLineHeight('', $this->mpdf->table[1][1]['cellLineHeight']);
803 // Top level table
804 $this->mpdf->_tableWidth($this->mpdf->table[1][1]);
807 // Now work through any nested tables setting child table[w'] = parent cell['w']
811 // HERE set child table width = cell width
813 list($parentrow, $parentcol, $parentnid) = $this->mpdf->table[$lvl][$nid]['nestedpos'];
815 $c = & $this->mpdf->table[$lvl - 1][$parentnid]['cells'][$parentrow][$parentcol];
820 $parentwidth += $this->mpdf->table[$lvl - 1][$parentnid]['wc'][$parentcol + $cs];
823 $parentwidth = $this->mpdf->table[$lvl - 1][$parentnid]['wc'][$parentcol];
834 if ($this->mpdf->table[$lvl - 1][$parentnid]['borders_separate']) {
835 $parentwidth -= $br + $bl + $c['padding']['L'] + $c['padding']['R'] + $this->mpdf->table[$lvl - 1][$parentnid]['border_spacing_H'];
840 if ($this->mpdf->table[$lvl - 1][$parentnid]['borders_separate']) {
841 $parentwidth -= $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['L']['w']
842 + $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['R']['w'] + $c['padding']['L']
843 + $c['padding']['R'] + $this->mpdf->table[$lvl - 1][$parentnid]['border_spacing_H'];
845 $parentwidth -= $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['L']['w'] / 2
846 + $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['R']['w'] / 2 + $c['padding']['L'] + $c['padding']['R'];
849 if (!empty($this->mpdf->table[$lvl][$nid]['wpercent']) && $lvl > 1) {
850 $this->mpdf->table[$lvl][$nid]['w'] = $parentwidth;
851 } elseif ($parentwidth > $this->mpdf->table[$lvl][$nid]['maw']) {
852 $this->mpdf->table[$lvl][$nid]['w'] = $this->mpdf->table[$lvl][$nid]['maw'];
854 $this->mpdf->table[$lvl][$nid]['w'] = $parentwidth;
857 $this->mpdf->_tableWidth($this->mpdf->table[$lvl][$nid]);
865 list($tableheight, $maxrowheight, $fullpage, $remainingpage, $maxfirstrowheight) = $this->mpdf->_tableHeight($this->mpdf->table[$lvl][$nid]);
869 if ($this->mpdf->table[1][1]['overflow'] === 'visible') {
882 list($finished, $r, $c, $p, $y, $y0) = $this->mpdf->_tableWrite($this->mpdf->table[1][1], true, $r, $c, $p, $y);
916 } elseif ($this->mpdf->table_keep_together || ($this->mpdf->table[1][1]['nr'] == 1 && !$this->mpdf->writingHTMLfooter)) {
969 $this->mpdf->SetLineHeight('', $this->mpdf->table[1][1]['cellLineHeight']);
970 $this->mpdf->table = $save_table;
972 $this->mpdf->shrinkTable($this->mpdf->table[1][1], $this->mpdf->shrin_k);
974 $this->mpdf->_tableColumnWidth($this->mpdf->table[1][1]); // repeat
976 // Shrink table values - and redo columnWidth
980 $this->mpdf->shrinkTable($this->mpdf->table[$lvl][$nid], $this->mpdf->shrin_k);
982 $this->mpdf->_tableColumnWidth($this->mpdf->table[$lvl][$nid]);
985 // Set table cell widths for top level table
986 // Top level table
987 $this->mpdf->_tableWidth($this->mpdf->table[1][1]);
989 // Now work through any nested tables setting child table[w'] = parent cell['w']
993 // HERE set child table width = cell width
995 list($parentrow, $parentcol, $parentnid) = $this->mpdf->table[$lvl][$nid]['nestedpos'];
996 $c = & $this->mpdf->table[$lvl - 1][$parentnid]['cells'][$parentrow][$parentcol];
1001 $parentwidth += $this->mpdf->table[$lvl - 1][$parentnid]['wc'][$parentcol + $cs];
1004 $parentwidth = $this->mpdf->table[$lvl - 1][$parentnid]['wc'][$parentcol];
1015 if ($this->mpdf->table[$lvl - 1][$parentnid]['borders_separate']) {
1016 $parentwidth -= $br + $bl + $c['padding']['L'] + $c['padding']['R'] + $this->mpdf->table[$lvl - 1][$parentnid]['border_spacing_H'];
1021 if ($this->mpdf->table[$lvl - 1][$parentnid]['borders_separate']) {
1022 $parentwidth -= $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['L']['w']
1023 + $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['R']['w'] + $c['padding']['L'] + $c['padding']['R']
1024 + $this->mpdf->table[$lvl - 1][$parentnid]['border_spacing_H'];
1026 $parentwidth -= ($this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['L']['w']
1027 + $this->mpdf->table[$lvl - 1][$parentnid]['simple']['border_details']['R']['w']) / 2 + $c['padding']['L'] + $c['padding']['R'];
1030 if (!empty($this->mpdf->table[$lvl][$nid]['wpercent']) && $lvl > 1) {
1031 $this->mpdf->table[$lvl][$nid]['w'] = $parentwidth;
1032 } elseif ($parentwidth > $this->mpdf->table[$lvl][$nid]['maw']) {
1033 $this->mpdf->table[$lvl][$nid]['w'] = $this->mpdf->table[$lvl][$nid]['maw'];
1035 $this->mpdf->table[$lvl][$nid]['w'] = $parentwidth;
1038 $this->mpdf->_tableWidth($this->mpdf->table[$lvl][$nid]);
1046 list($tableheight, $maxrowheight, $fullpage, $remainingpage, $maxfirstrowheight) = $this->mpdf->_tableHeight($this->mpdf->table[$lvl][$nid]);
1070 } elseif ($this->mpdf->table_keep_together || ($this->mpdf->table[1][1]['nr'] == 1 && !$this->mpdf->writingHTMLfooter)) {
1123 // keep-with-table: if page has advanced, print out buffer now, else done in fn. _Tablewrite()
1131 $this->mpdf->_tableWrite($this->mpdf->table[1][1]);
1153 $this->mpdf->maxPosR = max($this->mpdf->maxPosR, $this->mpdf->x + $this->mpdf->table[1][1]['w']);
1156 $this->mpdf->lastblockbottommargin = $this->mpdf->table[1][1]['margin']['B'];
1160 if (isset($this->mpdf->table[1][1]['page_break_after'])) {
1161 $page_break_after = $this->mpdf->table[1][1]['page_break_after'];
1164 // Keep-with-table
1182 $this->mpdf->table = []; //array
1252 * returns a scaling factor used as $shrin_k to resize the table
1253 * Overcompensating will be quicker but may unnecessarily shrink table too much