Lines Matching defs:y

779 	var $y; // current position in user unit for cell positioning
2055 // pba is background positioning area (from CSS background-origin) may not always be set [x,y,w,h]
2208 if ($properties['BACKGROUND-REPEAT'] == 'no-repeat' || $properties['BACKGROUND-REPEAT'] == 'repeat-y') {
2286 $this->patterns[$n] = ['x' => $clx, 'y' => $cly, 'w' => $clw, 'h' => $clh, 'pgh' => $this->h, 'image_id' => $this->bodyBackgroundImage['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $this->bodyBackgroundImage['x_pos'], 'y_pos' => $this->bodyBackgroundImage['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $this->bodyBackgroundImage['itype']];
2355 $s .= sprintf('%.3F %.3F %.3F %.3F re f Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE) . "\n";
2400 $s .= $this->gradient->Gradient($pb['x'], $pb['y'], $pb['w'], $pb['h'], $pb['gradtype'], $pb['stops'], $pb['colorspace'], $pb['coords'], $pb['extend'], true);
2408 $pb['y'] -= $adjustmenty;
2414 $this->patterns[$n] = ['x' => $pb['x'], 'y' => $pb['y'], 'w' => $pb['w'], 'h' => $pb['h'], 'pgh' => $this->h, 'image_id' => $pb['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $pb['x_pos'], 'y_pos' => $pb['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $pb['itype'], 'bpa' => $pb['bpa']];
2417 $y = ($this->h - $pb['y']) * Mpdf::SCALE;
2433 $y0 = $pb['y'];
2439 $y0 = $pb['bpa']['y'];
2529 while ($y_pos > ($pb['y'] - $pb['bpa']['y'])) {
2537 $y = $y0 + $y_pos + ($ih * $yi);
2543 $s .= sprintf("q %s %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $opac, $iw * Mpdf::SCALE, $ih * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $ih)) * Mpdf::SCALE, $pb['image_id']) . "\n";
2553 $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) . "\n";
2592 $s .= sprintf('%.3F %.3F %.3F %.3F re %s Q', $pb['x'] * Mpdf::SCALE, ($this->h - $pb['y']) * Mpdf::SCALE, $pb['w'] * Mpdf::SCALE, -$pb['h'] * Mpdf::SCALE, 'f') . "\n";
2598 $s .= $this->gradient->Gradient($pb['x'], $pb['y'], $pb['w'], $pb['h'], $pb['gradtype'], $pb['stops'], $pb['colorspace'], $pb['coords'], $pb['extend'], true);
2604 $pb['y'] -= $adjustmenty;
2608 $this->patterns[$n] = ['x' => $pb['x'], 'y' => $pb['y'], 'w' => $pb['w'], 'h' => $pb['h'], 'pgh' => $this->h, 'image_id' => $pb['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $pb['x_pos'], 'y_pos' => $pb['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $pb['itype']];
2610 $y = ($this->h - $pb['y']) * Mpdf::SCALE;
2617 $pb['clippath'] = sprintf(' q 0 w %.3F %.3F m %.3F %.3F l %.3F %.3F l %.3F %.3F l %.3F %.3F l W n ', $x, $y, $x, $y + $h, $x + $w, $y + $h, $x + $w, $y, $x, $y);
2632 $y0 = $pb['y'];
2638 $y0 = $pb['bpa']['y'];
2642 $pb['bpa'] = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h];
2722 while ($y_pos > ($pb['y'] - $pb['bpa']['y'])) {
2729 $y = $y0 + $y_pos + ($ih * $yi);
2735 $s .= sprintf("q %s %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $opac, $iw * Mpdf::SCALE, $ih * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $ih)) * Mpdf::SCALE, $pb['image_id']) . "\n";
2744 $s .= sprintf('q /Pattern cs /P%d scn %s %.3F %.3F %.3F %.3F re f Q', $n, $opac, $x, $y, $w, $h) . "\n";
2874 $this->blk[$b]['y0'] = $this->y; // ?? $this->tMargin
2938 if (isset($this->blk[$this->blklvl]['y0']) && $this->y == $this->blk[$this->blklvl]['y0']) {
2941 if ((isset($this->blk[$this->blklvl]['y0']) && $this->y > $this->blk[$this->blklvl]['y0']) || $this->flowingBlockAttr['is_table']) {
2946 $sy = $this->y;
2950 $this->y = $sy;
2980 $this->y = $this->tMargin;
3006 $this->blk[$bl]['y0'] = $this->y;
3107 if (isset($this->blk[$this->blklvl]['y0']) && $this->y == $this->blk[$this->blklvl]['y0'] && !$this->extrapagebreak) { // mPDF 6 pagebreaktype
3114 if ((isset($this->blk[$this->blklvl]['y0']) && $this->y > $this->blk[$this->blklvl]['y0']) || $this->flowingBlockAttr['is_table'] || $this->extrapagebreak) {
3120 $sy = $this->y;
3130 $this->y = $sy;
3296 $this->blk[$bl]['y0'] = $this->y;
3337 list($name, $c, $m, $y, $k) = preg_split("/\t/", $sc);
3340 $y = intval($y);
3342 $this->AddSpotColor($name, $c, $m, $y, $k);
3346 function AddSpotColor($name, $c, $m, $y, $k)
3351 $this->spotColors[$name] = ['i' => $i, 'c' => $c, 'm' => $m, 'y' => $y, 'k' => $k];
3794 function Rect($x, $y, $w, $h, $style = '')
3804 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$h * Mpdf::SCALE, $op));
4311 function SetLink($link, $y = 0, $page = -1)
4314 if ($y == -1) {
4315 $y = $this->y;
4320 $this->links[$link] = [$page, $y];
4323 function Link($x, $y, $w, $h, $link)
4325 $l = [$x * Mpdf::SCALE, $this->hPt - $y * Mpdf::SCALE, $w * Mpdf::SCALE, $h * Mpdf::SCALE, $link];
4345 $this->columnLinks[$this->CurrCol][(int) $this->x][(int) $this->y] = $ref; // *COLUMNS*
4348 function Text($x, $y, $txt, $OTLdata = [], $textvar = 0, $aixextra = '', $coordsys = '', $return = false)
4386 $py = $y;
4389 $py = ($this->h - $y) * Mpdf::SCALE;
4441 $s .= ' ' . $this->_dounderline($x, $y + $adjusty, $txt, $OTLdata, $textvar);
4467 $s .= ' ' . $this->_dounderline($x, $y + $adjusty, $txt, $OTLdata, $textvar);
4483 function WriteText($x, $y, $txt)
4521 $this->Text($x, $y, $txt, $OTLdata, $textvar);
4755 ($this->y + $this->divheight > $this->PageBreakTrigger)
4756 || ($this->y + $h > $this->PageBreakTrigger)
4758 $this->y + ($h * 2) + $bottom > $this->PageBreakTrigger
4785 // Test: to put line through centre of cell: $this->Line($this->x,$this->y+($h/2),$this->x+50,$this->y+($h/2));
4798 // COLUMNS Update/overwrite the lowest bottom of printing y value for a column
4801 $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y + $h;
4803 $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y + $this->divheight;
4823 $boxtop = $this->y + $lineBox['boxtop'];
4824 $boxbottom = $this->y + $lineBox['boxbottom'];
4833 $bg_boxtop = $this->y + $lineBox['background-boxtop'] - $lineBox['background-baseline-shift'];
4834 $bg_boxbottom = $this->y + $lineBox['background-boxbottom'] - $lineBox['background-baseline-shift'];
4839 $bord_boxtop = $this->y + $lineBox['border-boxtop'] - $lineBox['border-baseline-shift'];
4840 $bord_boxbottom = $this->y + $lineBox['border-boxbottom'] - $lineBox['border-baseline-shift'];
4846 $boxtop = $this->y;
4848 $boxbottom = $this->y + $h;
4880 $boxtop = $this->y + $baseline + $va - ($this->FontSize * (1 + $exth / 2) * (0.5 + $bfx));
5106 $y = $this->y;
5171 $py = ($this->h - ($this->y + $glyphYorigin - $baseline_shift)) * Mpdf::SCALE;
5267 $sub .= ' ' . $this->_dounderline($this->x + $dx, $this->y + $ubaseline + $adjusty, $txt, $OTLdata, $textvar);
5318 $sub .=' ' . $this->_dounderline($this->x + $dx, $this->y + $sbaseline + $adjusty, $txt, $OTLdata, $textvar);
5353 $sub .=' ' . $this->_dounderline($this->x + $dx, $this->y + $obaseline + $adjusty, $txt, $OTLdata, $textvar);
5372 $s .= sprintf(' 1 0 0 1 %.4F %.4F cm', $ts['x'] * Mpdf::SCALE, -$ts['y'] * Mpdf::SCALE) . "\n";
5404 $this->y += $h;
5418 function applyGPOSpdf($txt, $aix, $x, $y, $OTLdata, $textvar = 0)
5761 $s = sprintf(' BT ' . $aix . ' 0 Tc 0 Tw [%s] TJ ET ', $x, $y, $tj);
5768 function _kern($txt, $mode, $aix, $x, $y)
5775 $s = sprintf(' BT ' . $aix, $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE);
5814 $s .= sprintf(' BT ' . $aix . ' [%s] TJ ET ', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $tj);
5827 $s .= sprintf(' BT ' . $aix . ' [%s] TJ ET ', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $tj);
5941 $start_y = $this->y;
5973 if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
6068 if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
6106 if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
6169 if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
6485 $this->breakpoints[$this->CurrCol][] = $this->y;
6519 $usey = $this->y + 0.002;
6544 $this->y += $stackHeight;
6633 if (!$is_table && ($this->y + $check_h) > ($this->PageBreakTrigger + $buff) and ! $this->InFooter and $this->AcceptPageBreak()) {
6663 $this->breakpoints[$this->CurrCol][] = $this->y;
6671 $this->breakpoints[$this->CurrCol][] = $this->y;
6676 $this->blk[$this->blklvl]['y0'] = $this->y;
6679 $this->blk[$this->blklvl]['float_start_y'] = $this->y;
6682 $this->breakpoints[$this->CurrCol][] = $this->y;
6699 $this->breakpoints[$this->CurrCol][] = $this->y;
6720 $usey = $this->y + 0.002;
6874 } // false -> don't advance y
6907 $yadj = $this->y - $this->objectbuffer[$k]['OUTER-Y'];
7042 if ($this->y < $fry1 || $this->y < $fly1) {
7043 $drop = max($fry1, $fly1) - $this->y;
7058 $h1 = ($this->y - $this->blk[$this->blklvl]['y0']) + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'];
7062 if ($this->y + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w'] + $extra > $this->PageBreakTrigger) {
7063 $extra = $this->PageBreakTrigger - ($this->y + $this->blk[$this->blklvl]['padding_bottom'] + $this->blk[$this->blklvl]['border_bottom']['w']);
7072 $this->breakpoints[$this->CurrCol][] = $this->y;
7078 $this->blk[$this->blklvl]['y1'] = $this->y;
7083 if ($this->y + $this->blk[$this->blklvl]['margin_bottom'] < $this->PageBreakTrigger and ! $this->InFooter) {
7086 $this->breakpoints[$this->CurrCol][] = $this->y;
7107 $save_y = $this->y;
7124 $y = $objattr['OUTER-Y'];
7125 $this->y = $y - $this->FontSize / 2;
7128 $this->Bookmark($objattr['CONTENT'], $objattr['bklevel'], $y - $this->FontSize);
7145 $y = $objattr['POS-Y'];
7147 $y = $objattr['OUTER-Y'] - $this->FontSize / 2;
7150 // linking $y-1 in the Columnbuffer with entry in $this->columnAnnots
7152 $this->y = $y - 1;
7154 $this->Line($x - 1, $y - 1, $x - 1, $y - 1);
7155 $this->Annotation($objattr['CONTENT'], $x, $y, $objattr['ICON'], $objattr['AUTHOR'], $objattr['SUBJECT'], $objattr['OPACITY'], $objattr['COLOR'], (isset($objattr['POPUP']) ? $objattr['POPUP'] : ''), (isset($objattr['FILE']) ? $objattr['FILE'] : ''));
7157 $y = $objattr['OUTER-Y'];
7164 $this->y = $y;
7187 $this->y += ($objattr['linewidth'] / 2) + $objattr['margin_top'] / $k;
7188 $this->Line($x, $this->y, $x + $objattr['INNER-WIDTH'], $this->y);
7254 $cy = $y + $h / 2;
7331 $this->Rect($x, $y, $w, $h, 'F');
7568 $this->y += $yadj;
7570 $this->_printListBullet($this->x, $this->y, $size, $type, $col);
7650 $this->form->print_ob_checkbox($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir, $x, $y);
7654 $this->form->print_ob_radio($objattr, $w, $h, $texto, $rtlalign, $k, $blockdir, $x, $y);
7661 $this->y = $save_y;
7667 function _printListBullet($x, $y, $size, $type, $color)
7669 // x and y are the centre of the bullet; size is the width and/or height in mm
7676 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re f', ($x - $size / 2) * Mpdf::SCALE, ($this->h - $y + $size / 2) * Mpdf::SCALE, ($size) * Mpdf::SCALE, (-$size) * Mpdf::SCALE));
7678 $this->Circle($x, $y, $size / 2, 'F'); // Fill
7682 $this->Circle($x, $y, $size / 2 - $lw / 2, 'S'); // Stroke
7780 $this->breakpoints[$this->CurrCol][] = $this->y;
7819 $usey = $this->y + 0.002;
7846 $objattr = $this->inlineObject($objattr['type'], $this->lMargin + $fpaddingL + ($contentWidth / Mpdf::SCALE), ($this->y + $h_corr), $objattr, $this->lMargin, ($contentWidth / Mpdf::SCALE), $maximumW, $stackHeight, true, $is_table);
7958 $usey = $this->y + 0.002;
8439 if (!$is_table && ($this->y + $check_h) > $this->PageBreakTrigger and ! $this->InFooter and $this->AcceptPageBreak()) {
8473 $this->breakpoints[$this->CurrCol][] = $this->y;
8481 $this->breakpoints[$this->CurrCol][] = $this->y;
8488 $this->blk[$this->blklvl]['y0'] = $this->y;
8491 $this->blk[$this->blklvl]['float_start_y'] = $this->y;
8500 $this->breakpoints[$this->CurrCol][] = $this->y;
8511 } // false -> don't advance y
8540 $yadj = $this->y - $this->objectbuffer[$k]['OUTER-Y'];
8642 $this->y += $stackHeight;
8763 if (isset($this->floatmargins['L']) && $this->floatmargins['L']['skipline'] && $this->floatmargins['L']['y0'] != $this->y) {
8764 $yadj = $this->y - $this->floatmargins['L']['y0'];
8765 $this->floatmargins['L']['y0'] = $this->y;
8781 if (isset($this->floatmargins['R']) && $this->floatmargins['R']['skipline'] && $this->floatmargins['R']['y0'] != $this->y) {
8782 $yadj = $this->y - $this->floatmargins['R']['y0'];
8783 $this->floatmargins['R']['y0'] = $this->y;
8840 function Image($file, $x, $y, $w = 0, $h = 0, $type = '', $link = '', $paint = true, $constrain = true, $watermark = false, $shownoimg = true, $allowvector = true)
8936 $y = $this->watermark_pos[1];
8950 $y = ($this->tMargin + ($this->h - ($this->tMargin + $this->bMargin)) / 2) - ($h / 2);
8953 $y = ($this->h / 2) - ($h / 2);
8959 $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x * Mpdf::SCALE - $sx * $info['x'], (($this->h - $y) * Mpdf::SCALE) - $sy * $info['y'], $info['i']);
8964 $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x * Mpdf::SCALE - $sx * $info['x'], (($this->h - $y) * Mpdf::SCALE) - $sy * $info['y'], $info['i']);
8966 $outstring = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $w * Mpdf::SCALE, $h * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $h)) * Mpdf::SCALE, $info['i']);
9005 $y += 5;
9011 if ($y + $h > $this->PageBreakTrigger and ! $this->InFooter and $this->AcceptPageBreak()) {
9015 $y = $this->tMargin; // mPDF 5.7.3
9022 $y = $this->y0;
9033 $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x * Mpdf::SCALE - $sx * $info['x'], (($this->h - $y) * Mpdf::SCALE) - $sy * $info['y'], $info['i']);
9038 $outstring = sprintf('q %.3F 0 0 %.3F %.3F %.3F cm /FO%d Do Q', $sx, $sy, $x * Mpdf::SCALE - $sx * $info['x'], (($this->h - $y) * Mpdf::SCALE) - $sy * $info['y'], $info['i']);
9040 $outstring = sprintf("q %.3F 0 0 %.3F %.3F %.3F cm /I%d Do Q", $w * Mpdf::SCALE, $h * Mpdf::SCALE, $x * Mpdf::SCALE, ($this->h - ($y + $h)) * Mpdf::SCALE, $info['i']);
9047 $this->Link($x, $y, $w, $h, $link);
9051 $this->y = $y + $h;
9058 $sizesarray['Y'] = $y; // Position before painting image
9085 function inlineObject($type, $x, $y, $objattr, $Lmargin, $widthUsed, $maxWidth, $lineHeight, $paint = false, $is_table = false)
9144 if (($y + $h + $lineHeight > $this->PageBreakTrigger) && !$this->InFooter && !$is_table) {
9163 if (($y + $displayheight + $lineHeight > $this->PageBreakTrigger) && !$this->InFooter) {
9170 elseif (($y + $displayheight > $this->PageBreakTrigger) && !$this->InFooter && !$is_table) {
9185 $objattr['BORDER-Y'] = $y;
9189 $objattr['INNER-Y'] = $y;
9204 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9208 $objattr['INNER-Y'] = $y + $objattr['padding_top'] / $k + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9218 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9222 $objattr['INNER-Y'] = $y + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9232 $objattr['BORDER-Y'] = $y + $objattr['margin_top'] / $k + (($objattr['border_top']['w'] / $k) / 2);
9234 $objattr['INNER-Y'] = $y + $objattr['padding_top'] / $k + $objattr['margin_top'] / $k + ($objattr['border_top']['w'] / $k);
9246 // if (($y + $h > $this->PageBreakTrigger) && !$this->InFooter) {
9247 // $h=$this->h - $y - $this->bMargin;
9300 $objattr['OUTER-Y'] = $y;
9361 if ($collapsible && ($this->y == $this->tMargin) && (!$this->ColActive)) {
9366 $this->y += $this->lasth;
9368 $this->y += $h;
9379 // and also used in writingFlowingBlock at top and bottom of blocks to move y (not to draw/paint anything)
9380 // adds lines (y) where DIV bgcolors are filled in
9383 if ($collapsible && (sprintf("%0.4f", $this->y) == sprintf("%0.4f", $this->tMargin)) && (!$this->ColActive)) {
9388 // if ($collapsible && (sprintf("%0.4f", $this->y)==sprintf("%0.4f", $this->y0)) && ($this->ColActive) && $this->CurrCol == 0) { return; } // *COLUMNS*
9389 if ($collapsible && (sprintf("%0.4f", $this->y) == sprintf("%0.4f", $this->y0)) && ($this->ColActive)) {
9396 $this->y += $h;
9444 $this->y += $h;
9460 function SetY($y)
9462 // Set y position and reset x
9464 if ($y >= 0) {
9465 $this->y = $y;
9467 $this->y = $this->h + $y;
9471 function SetXY($x, $y)
9473 // Set x and y positions
9474 $this->SetY($y);
9704 $this->y = $this->margin_header;
9778 $top_y = $this->y = $this->h - $this->margin_footer;
9781 if ($this->y == $this->h) {
9782 $top_y = $this->y = ($this->h + 0.01);
9800 $fheight = $this->y - $top_y;
9855 $f['y'] += $adj;
9871 function Annotation($text, $x = 0, $y = 0, $icon = 'Note', $author = '', $subject = '', $opacity = 0, $colarray = false, $popup = '', $file = '')
9882 if ($y == 0) {
9883 $y = $this->y;
9891 if ($y == 0) {
9892 $y = $this->tMargin;
9903 $y -= $this->FontSize / 2;
9912 $an = ['txt' => $text, 'x' => $x, 'y' => $y, 'opt' => ['Icon' => $icon, 'T' => $author, 'Subj' => $subject, 'C' => $colarray, 'CA' => $opacity, 'popup' => $popup, 'file' => $file]];
9935 $this->columnAnnots[$this->CurrCol][intval($this->x)][intval($this->y)] = $ref;
10083 if (!($pagesel && $this->page == 1 && (sprintf("%0.4f", $this->y) == sprintf("%0.4f", $this->tMargin)))) {
10302 $this->y = $this->tMargin;
10394 $this->y = $this->tMargin;
10467 function _dounderline($x, $y, $txt, $OTLdata = false, $textvar = 0)
10469 // Now print line exactly where $y secifies - called from Text() and Cell() - adjust position there
10473 return sprintf('%.3F %.3F m %.3F %.3F l S', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, ($x * Mpdf::SCALE) + $w, ($this->h - $y) * Mpdf::SCALE);
10587 function Rotate($angle, $x = -1, $y = -1)
10592 if ($y == -1) {
10593 $y = $this->y;
10604 $cy = ($this->h - $y) * Mpdf::SCALE;
10609 function CircularText($x, $y, $r, $text, $align = 'top', $fontfamily = '', $fontsize = 0, $fontstyle = '', $kerning = 120, $fontwidth = 100, $divider = '')
10615 $this->directWrite->CircularText($x, $y, $r, $text, $align, $fontfamily, $fontsize, $fontstyle, $kerning, $fontwidth, $divider);
10619 function RoundedRect($x, $y, $w, $h, $r, $style = '')
10632 $this->writer->write(sprintf('%.3F %.3F m', ($x + $r) * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE));
10634 $yc = $y + $r;
10635 $this->writer->write(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - $y) * Mpdf::SCALE));
10639 $yc = $y + $h - $r;
10644 $yc = $y + $h - $r;
10645 $this->writer->write(sprintf('%.3F %.3F l', $xc * Mpdf::SCALE, ($hp - ($y + $h)) * Mpdf::SCALE));
10649 $yc = $y + $r;
11775 $this->y += ($adv);
11782 $topy = $content[$firstrow][0]['y'] - $this->y;
11785 $y = $this->y;
11809 $y = Arrays::get($tablehf, 'y', null) - $topy;
11810 $this->y = $y;
11897 $this->Rect($x - $xadj, $y - $yadj, $w + $wadj, $h + $hadj, 'F');
11915 $this->y += ($h - $mih) / 2;
11917 $this->y += $h - $mih;
11936 $this->Rect($x + ($table['border_spacing_H'] / 2), $y + ($table['border_spacing_V'] / 2), $w - $table['border_spacing_H'], $h - $table['border_spacing_V'], 'F');
11938 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => ($x + ($table['border_spacing_H'] / 2)), 'y' => ($y + ($table['border_spacing_V'] / 2)), 'w' => ($w - $table['border_spacing_H']), 'h' => ($h - $table['border_spacing_V']), 'col' => $color];
11943 $this->Rect($x, $y, $w, $h, 'F');
11945 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'col' => $color];
11958 $py = $y + ($table['border_spacing_V'] / 2);
11963 $py = $y;
11970 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
11981 $py = $y + ($table['border_spacing_V'] / 2);
11986 $py = $y;
11993 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12000 $py = $y + ($table['border_spacing_V'] / 2);
12005 $py = $y;
12011 $this->patterns[$n] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'pgh' => $this->h, 'image_id' => $tablehf['background-image']['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $tablehf['background-image']['x_pos'], 'y_pos' => $tablehf['background-image']['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'itype' => $tablehf['background-image']['itype']];
12019 $this->tableBackgrounds[$level * 9 + 8][] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'image_id' => $tablehf['background-image']['image_id'], 'orig_w' => $tablehf['background-image']['orig_w'], 'orig_h' => $tablehf['background-image']['orig_h'], 'x_pos' => $tablehf['background-image']['x_pos'], 'y_pos' => $tablehf['background-image']['y_pos'], 'x_repeat' => $tablehf['background-image']['x_repeat'], 'y_repeat' => $tablehf['background-image']['y_repeat'], 'clippath' => '', 'resize' => $tablehf['background-image']['resize'], 'opacity' => $tablehf['background-image']['opacity'], 'itype' => $tablehf['background-image']['itype']];
12027 $this->_tableRect($x + ($table['border_spacing_H'] / 2) + ($border_details['L']['w'] / 2), $y + ($table['border_spacing_V'] / 2) + ($border_details['T']['w'] / 2), $w - $table['border_spacing_H'] - ($border_details['L']['w'] / 2) - ($border_details['R']['w'] / 2), $h - $table['border_spacing_V'] - ($border_details['T']['w'] / 2) - ($border_details['B']['w'] / 2), $border, $border_details, false, $table['borders_separate']);
12029 $this->_tableRect($x, $y, $w, $h, $border, $border_details, true, $table['borders_separate']); // true causes buffer
12046 $opy = $this->y;
12075 $this->y -= ($h - $mih) / 2; // Undo what was added earlier VERTICAL ALIGN
12077 $this->y += (($h - $mih) / 2) + ($padding['T'] + $border_details['T']['w']) + ($mih - ($padding['T'] + $border_details['T']['w'] + $border_details['B']['w'] + $padding['B']));
12079 $this->y += (($h - $mih) / 2) + ($padding['T'] + $border_details['T']['w']);
12082 $this->y -= $h - $mih; // Undo what was added earlier VERTICAL ALIGN
12084 $this->y += $h - ($border_details['B']['w'] + $padding['B']);
12086 $this->y += $h - $mih + ($padding['T'] + $border_details['T']['w']);
12090 $this->y += $mih - ($border_details['B']['w'] + $padding['B']);
12092 $this->y += ($padding['T'] + $border_details['T']['w']);
12096 $this->Rotate($angle, $this->x, $this->y);
12107 $this->Text($this->x, $this->y, $str, $textbuffer[0][18], $textbuffer[0][8]); // textvar
12112 $this->y = $opy;
12126 $this->y += $yadj;
12138 $gy = $y;
12144 $cly = $y + ($table['border_spacing_V'] / 2);
12149 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
12151 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12161 $gy = $y;
12167 $cly = $y + ($table['border_spacing_V'] / 2);
12172 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
12174 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
12191 $gy = $y;
12197 $cly = $y + ($table['border_spacing_V'] / 2);
12202 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => $s, 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
12204 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
12218 $tby = $y;
12248 $this->y = $y + $h; // Update y coordinate
12400 $save_y = $this->y;
12402 $this->y = $this->margin_header;
12417 $h = ($this->y - $this->margin_header);
12428 $this->y = $save_y;
13064 $this->y = 1;
13815 $this->fixedPosBlockBBox = [$tag, $attr, $this->x, $this->y];
13843 $currpos = $this->page * 1000 + $this->y;
13857 $this->y = (round($this->blk[$this->blklvl]['float_endpos'] * 1000) % 1000000) / 1000; // mod changes operands to integers before processing
13908 function WriteFixedPosHTML($html, $x, $y, $w, $h, $overflow = 'visible', $bounding = [])
13916 // When used internally, $x $y $w $h and $overflow are all overridden by $bounding
13922 $save_y = $this->y;
13946 $y = 0;
13952 if ($y > $this->h) {
13953 $y = $this->h - $h;
13962 // $x, $y, $w, $h are inside of $bbox_ = containing box for $inner_
14357 $y = $cont_y + $bbox_top + $bbox_mt + $bbox_bt + $bbox_pt;
14363 // Set (temporary) values for x y w h to do first paint, if values are auto
14365 $y = $cont_y + $bbox_mt + $bbox_bt + $bbox_pt;
14368 $y = $cont_y + $bbox_top + $bbox_mt + $bbox_bt + $bbox_pt;
14396 $this->y = $y;
14428 $this->y = $y;
14434 $inner_h = $this->y - $y;
14437 if (($this->y + $bbox_pb + $bbox_bb) > ($cont_y + $cont_h)) {
14438 $adj = ($this->y + $bbox_pb + $bbox_bb) - ($cont_y + $cont_h);
14452 $y = $inner_y;
14465 $y = $inner_y;
14484 $this->y = $y;
14494 $actual_h = $this->y - $y;
14515 $this->y = $y;
14535 $actual_h = $this->y - $y;
14595 // WHEN HEIGHT // BOTTOM EDGE IS KNOWN and $this->y is set to the bottom
14620 $clip_y1 = $this->y;
14621 if (!empty($bounding) && ($this->y + $bbox_pb + $bbox_bb) > ($bbox_y + $bbox_bt + $bbox_pt + $inner_h + $bbox_pb + $bbox_bb )) {
14627 $ch = $clip_y1 - $y;
14628 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op));
14630 $tmp = "q\n" . sprintf('%.3F %.3F %.3F %.3F re %s', $x * Mpdf::SCALE, ($this->h - $y) * Mpdf::SCALE, $w * Mpdf::SCALE, -$ch * Mpdf::SCALE, $op);
14639 $tmp = "q\n" . $this->transformScale(($shrink_f * 100), ($shrink_f * 100), $x, $y, true);
14650 $this->transformScale(($shrink_f * 100), ($shrink_f * 100), $x, $y);
14701 $ly1 = (($this->h - ($lk[1] / Mpdf::SCALE)) - $y);
14702 $ly2 = $y + ($ly1 * $shrink_f);
14713 $f['y'] = $y + (($f['y'] - $y) * $shrink_f);
14724 $adjx = -($lk['x'] - $bbox_x) + ($preroth - ($lk['y'] - $bbox_y));
14725 $adjy = -($lk['y'] - $bbox_y) + ($lk['x'] - $bbox_x);
14727 $adjx = -($lk['x'] - $bbox_x) + ($lk['y'] - $bbox_y);
14728 $adjy = -($lk['y'] - $bbox_y) - ($lk['x'] - $bbox_x) + $prerotw;
14737 $lk['y'] += $adjy;
14741 $lk['y'] = $y + (($lk['y'] - $y) * $shrink_f);
14886 // $px and py are padding long axis (x) and short axis (y)
14890 $y = $b - $py;
14892 if (( (($x + $added) * ($x + $added)) / ($a * $a) + (($y + $added) * ($y + $added)) / ($b * $b) ) <= 1) {
14896 $t = atan2($y, $x);
15281 $end = $currpos = ($this->page * 1000 + $this->y);
15306 $this->y = (round($end * 1000) % 1000000) / 1000; // mod changes operands to integers before processing
15320 $currpos = ($this->page * 1000 + $this->y);
15440 $objattr['wmf_y'] = $info['y'];
15444 $objattr['wmf_y'] = $info['y'];
15907 $bak_y = $this->y;
16096 $ily = $this->y;
16156 $this->y += $this->table[($level + 1)][$objattr['nestedcontent']]['h']; // nested table height
16212 if (isset($this->floatmargins['R']) && $this->y <= $this->floatmargins['R']['y1'] && $this->y >= $this->floatmargins['R']['y0']) {
16215 if (isset($this->floatmargins['L']) && $this->y <= $this->floatmargins['L']['y1'] && $this->y >= $this->floatmargins['L']['y0']) {
16220 list($skipln) = $this->inlineObject($objattr['type'], '', $this->y, $objattr, $this->lMargin, ($this->flowingBlockAttr['contentWidth'] / Mpdf::SCALE), $maxWidth, $this->flowingBlockAttr['height'], false, $is_table);
16224 $iby = $this->y;
16247 $yadj = $iby - $this->y;
16268 $y = $this->tMargin - $paint_ht_corr;
16285 $y = $this->y0 - $paint_ht_corr;
16294 $fy = $this->y;
16422 } // To move the y up when new column/page started if div border needed
16431 $this->y+= $this->_computeLineheight($this->cellLineHeight);
16435 $this->breakpoints[$this->CurrCol][] = $this->y;
16444 $y = $this->tMargin - $paint_ht_corr;
16461 $y = $this->y0 - $paint_ht_corr;
16476 $y = $this->tMargin - $paint_ht_corr;
16492 $y = $this->y0 - $paint_ht_corr;
16510 $y = $this->tMargin - $paint_ht_corr;
16527 $y = $this->y0 - $paint_ht_corr;
16576 if ((isset($this->blk[$this->blklvl]['border']) || isset($this->blk[$this->blklvl]['bgcolor']) || isset($this->blk[$this->blklvl]['box_shadow'])) && $blockstate && ($this->y != $this->oldy)) {
16577 $bottom_y = $this->y; // Does not include Bottom Margin
16583 $this->y = $bottom_y;
16590 $ch = $this->y - $bak_y;
16591 $this->y = $bak_y;
16631 $save_y = $this->y;
16653 $y1 = $this->y;
16810 $save_y = $this->y;
16814 $this->y = $y0 - $this->FontSize / 2 + $this->blk[$blvl]['border_top']['w'] / 2;
16826 $this->y = $save_y;
17115 $this->y = $save_y;
17246 if ($sh['x'] || $sh['y']) {
17247 $shadow .= sprintf(' q 1 0 0 1 %.4F %.4F cm', $sh['x'] * Mpdf::SCALE, -$sh['y'] * Mpdf::SCALE) . "\n";
17540 if ($sh['x'] || $sh['y']) {
17552 'y' => $y0,
17564 'y' => 0,
17585 'y' => $gy,
17655 'y' => $gy,
17684 $bpa = ['x' => $x0, 'y' => $y0, 'w' => $w, 'h' => $h];
17691 $bpa['y'] = $y0 + $this->blk[$blvl]['border_top']['w'];
17693 $bpa['y'] = $y0;
17700 $bpa['h'] = $bpay - $bpa['y'];
17707 $bpa['y'] = $y0 + $this->blk[$blvl]['border_top']['w'] + $this->blk[$blvl]['padding_top'];
17709 $bpa['y'] = $y0 + $this->blk[$blvl]['padding_top'];
17716 $bpa['h'] = $bpay - $bpa['y'];
17722 'y' => $y0,
17825 $this->ColDetails[$this->CurrCol]['bottom_margin'] = $this->y + $h;
17827 $save_y = $this->y;
17831 $y0 = $this->y; // top
17833 $y1 = $this->y + $h; // bottom
17840 $this->y = $y0 + ($tbd['w'] / 2);
17843 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $this->y);
17847 $this->Line($x0, $this->y, $x0 + $w, $this->y);
17849 $this->y += $tbd['w'];
17861 $this->y = $y0 + ($tbd['w'] / 2);
17863 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + ($tbd['w'] / 2), $y0 + $h - ($tbd['w'] / 2));
17865 $this->y = $y0;
17868 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + ($tbd['w'] / 2), $y0 + $h);
17870 $this->y += $tbd['w'];
17882 $this->y = $y0 + ($tbd['w'] / 2);
17884 $this->Line($x0 + $w - ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $y0 + $h - ($tbd['w'] / 2));
17886 $this->y = $y0;
17889 $this->Line($x0 + $w - ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $y0 + $h);
17891 $this->y += $tbd['w'];
17902 $this->y = $y0 + $h - ($tbd['w'] / 2);
17905 $this->Line($x0 + ($tbd['w'] / 2), $this->y, $x0 + $w - ($tbd['w'] / 2), $this->y);
17909 $this->Line($x0, $this->y, $x0 + $w, $this->y);
17911 $this->y += $tbd['w'];
17919 $this->y = $save_y;
20326 $remainingpage = ($this->h - $this->bMargin - $this->y) - $this->kwt_height;
20702 $y = 0;
20705 $y += $heightrow[$k];
20717 $cell['y0'] = $y;
20719 return [$y, $h];
20751 function _tableRect($x, $y, $w, $h, $bord = -1, $details = [], $buffer = false, $bSeparate = false, $cort = 'cell', $tablecorner = '', $bsv = 0, $bsh = 0)
20756 $this->Rect($x, $y, $w, $h);
20765 $this->Rect($x, $y, $w, $h);
20815 $this->cellBorderBuffer[] = pack("A16nCnda6A10d14", str_pad(sprintf("%08.7f", $dom), 16, "0", STR_PAD_LEFT), $cbord, ord($side), $details[$side]['s'], $details[$side]['w'], $details[$side]['c'], $details[$side]['style'], $x, $y, $w, $h, $details['mbw']['BL'], $details['mbw']['BR'], $details['mbw']['RT'], $details['mbw']['RB'], $details['mbw']['TL'], $details['mbw']['TR'], $details['mbw']['LT'], $details['mbw']['LB'], $details['cellposdom'], 0);
20818 $this->cellBorderBuffer[] = pack("A16nCnda6A10d14", str_pad(sprintf("%08.7f", ($dom + 4)), 16, "0", STR_PAD_LEFT), $cbord, ord($side), $details[$side]['s'], $details[$side]['w'], $details[$side]['c'], $details[$side]['style'], $x, $y, $w, $h, $details['mbw']['BL'], $details['mbw']['BR'], $details['mbw']['RT'], $details['mbw']['RB'], $details['mbw']['TL'], $details['mbw']['TR'], $details['mbw']['LT'], $details['mbw']['LB'], $details['cellposdom'], 1);
20848 $y2 = $y + $h;
20859 $ly1 = $y;
20860 $ly2 = $y;
20893 $ly1 = $y;
20927 $ly1 = $y;
21065 'y' => $ly1 + $yadj,
21227 'y' => $ly1 + $yadj + $yadj3,
21270 $this->Line($cbo['x'], $cbo['y'], $cbo['x2'], $cbo['y2']);
21879 $this->breakpoints[$this->CurrCol][] = $this->y;
21888 $this->y += ($table['margin']['T']);
21904 $this->y += $adv;
21911 $y0 = $this->y;
21913 $outerfilled = $this->y; // Keep track of how far down the outer DIV bgcolor is painted (NB rowspans)
21914 $this->outerfilled = $this->y;
21918 $y0 = $this->y;
21926 $this->tbrot_y0 = $this->y - $adv - $table['margin']['T'];
21991 $y = $h = 0;
22012 list($y, $h) = $this->_tableGetHeight($table, $i, $j);
22014 $y += $y0;
22017 $tablefooter[$i][$js]['y'] = $y;
22116 list($y, $h) = $this->_tableGetHeight($table, $i, $j);
22118 $y += $y0;
22119 $y -= $returny;
22132 if ($j == $startcol && ((($y + $maxrowheight + $extra ) > ($pagetrigger + 0.001)) || (($this->keepColumns || !$this->ColActive) && !empty($tablefooter) && ($y + $maxrowheight + $tablefooterrowheight + $extra) > $pagetrigger) && ($this->tableLevel == 1 && $i < ($numrows - $table['headernrows']))) && ($y0 > 0 || $x0 > 0) && !$this->InFooter && $this->autoPageBreak) {
22150 $this->y = $y;
22151 $ya = $this->y;
22154 $this->tbrot_h += $this->y - $ya;
22156 $tablefooteradj = $this->y - $ya;
22158 $y -= $y0;
22159 $returny += $y;
22164 $this->y = $y + $y0;
22215 $this->y += $adv;
22218 // Rotated table split over pages - needs this->y for borders/backgrounds
22220 // $this->y = $y0 + $this->tbrot_w;
22245 $bh = $this->y - $by + $tablefooteradj;
22287 $this->Line($blx, $this->y + ($this->splitTableBorderWidth / 2), $blx + $blw, $this->y + ($this->splitTableBorderWidth / 2));
22302 $this->tableBackgrounds[$level * 9][] = ['gradient' => false, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'col' => $color];
22310 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22318 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22331 $this->tableBackgrounds[$level * 9 + 2][] = ['x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
22360 $returny -= $y;
22386 $this->Line($blx, $this->y - ($this->splitTableBorderWidth / 2), $blx + $blw, $this->y - ($this->splitTableBorderWidth / 2));
22417 $this->y += $adv;
22428 $this->tbrot_y0 = $this->y;
22440 $ya = $this->y;
22443 $this->tbrot_h = $this->y - $ya;
22445 $tableheaderadj = $this->y - $ya;
22455 $this->y += ($adv);
22463 $y = $y0 = $this->y;
22474 $y0 = $this->y; // this->y0 is global used by Columns - $y0 is internal to tablewrite
22478 $y = $y0;
22482 $this->y = $y;
22484 $y0 = $y = $this->y;
22493 $this->y = $y;
22498 $y0 = $y = $this->y;
22537 $divh += $adv; // last row: fill bottom half of bottom border (y advanced at end)
22540 if (($this->y + $divh) > $outerfilled) { // if not already painted by previous rowspan
22542 $bak_y = $this->y;
22543 if ($outerfilled > $this->y) {
22544 $divh = ($this->y + $divh) - $outerfilled;
22545 $this->y = $outerfilled;
22549 $outerfilled = $this->y + $divh;
22556 $this->y = $bak_y;
22588 $this->Rect($x - $xadj, $y - $yadj, $w + $wadj, $h + $hadj, 'F');
22634 $this->Rect($x + ($table['border_spacing_H'] / 2), $y + ($table['border_spacing_V'] / 2), $w - $table['border_spacing_H'], $h - $table['border_spacing_V'], 'F');
22636 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => ($x + ($table['border_spacing_H'] / 2)), 'y' => ($y + ($table['border_spacing_V'] / 2)), 'w' => ($w - $table['border_spacing_H']), 'h' => ($h - $table['border_spacing_V']), 'col' => $color];
22641 $this->Rect($x, $y, $w, $h, 'F');
22643 $this->tableBackgrounds[$level * 9 + $leveladj][] = ['gradient' => false, 'x' => $x, 'y' => $y, 'w' => $w, 'h' => $h, 'col' => $color];
22655 $py = $y + ($table['border_spacing_V'] / 2);
22660 $py = $y;
22667 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22678 $py = $y + ($table['border_spacing_V'] / 2);
22683 $py = $y;
22690 $this->tableBackgrounds[$level * 9 + 7][] = ['gradient' => true, 'x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
22697 $py = $y + ($table['border_spacing_V'] / 2);
22702 $py = $y;
22708 $this->patterns[$n] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'pgh' => $this->h, 'image_id' => $cell['background-image']['image_id'], 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $cell['background-image']['x_pos'], 'y_pos' => $cell['background-image']['y_pos'], 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat];
22726 $this->tableBackgrounds[$level * 9 + 8][] = ['x' => $px, 'y' => $py, 'w' => $pw, 'h' => $ph, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
22769 $tableheader[$i][$j]['y'] = $y;
22813 $this->_tableRect($x + ($table['border_spacing_H'] / 2) + ($bord_det['L']['w'] / 2), $y + ($table['border_spacing_V'] / 2) + ($bord_det['T']['w'] / 2), $w - $table['border_spacing_H'] - ($bord_det['L']['w'] / 2) - ($bord_det['R']['w'] / 2), $h - $table['border_spacing_V'] - ($bord_det['T']['w'] / 2) - ($bord_det['B']['w'] / 2), $bord, $bord_det, false, $table['borders_separate']);
22815 $this->_tableRect($x, $y, $w, $h, $bord, $bord_det, true, $table['borders_separate']); // true causes buffer
22824 $this->y += ($h - $cell['mih']) / 2;
22826 $this->y += $h - $cell['mih'];
22852 $opy = $this->y;
22899 $this->y -= ($h - $cell['mih']) / 2; // Undo what was added earlier VERTICAL ALIGN
22901 $this->y += (($h - $cell['mih']) / 2) + $cell['padding']['T'] + ($cell['mih'] - ($cell['padding']['T'] + $cell['padding']['B']));
22903 $this->y += (($h - $cell['mih']) / 2) + ($cell['padding']['T'] + ($table['border_spacing_V'] / 2));
22906 $this->y -= $h - $cell['mih']; // Undo what was added earlier VERTICAL ALIGN
22908 $this->y += $h - ($cell['padding']['B'] + ($table['border_spacing_V'] / 2));
22910 $this->y += $h - $cell['mih'] + ($cell['padding']['T'] + ($table['border_spacing_V'] / 2));
22914 $this->y += $cell['mih'] - ($cell['padding']['B'] + ($table['border_spacing_V'] / 2));
22916 $this->y += ($cell['padding']['T'] + ($table['border_spacing_V'] / 2));
22919 $this->Rotate($angle, $this->x, $this->y);
22930 $this->Text($this->x, $this->y, $str, $cell['textbuffer'][0][18], $cell['textbuffer'][0][8]); // textvar
22989 $this->y += $yadj;
22992 $this->y = $opy;
23001 $gy = $y;
23007 $cly = $y + ($table['border_spacing_V'] / 2);
23012 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
23014 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23023 $gy = $y;
23029 $cly = $y + ($table['border_spacing_V'] / 2);
23034 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => $s];
23036 $this->tableBackgrounds[$level * 9 + 4][] = ['gradient' => true, 'x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23052 $gy = $y;
23058 $cly = $y + ($table['border_spacing_V'] / 2);
23063 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx + ($table['border_spacing_H'] / 2), 'y' => $gy + ($table['border_spacing_V'] / 2), 'w' => $gw - $table['border_spacing_V'], 'h' => $gh - $table['border_spacing_H'], 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => $s, 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
23065 $this->tableBackgrounds[$level * 9 + 5][] = ['x' => $gx, 'y' => $gy, 'w' => $gw, 'h' => $gh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
23080 $tby = $y;
23123 $this->breakpoints[$this->CurrCol][] = $y + $h;
23132 $this->y = $y + $h;
23133 } // last row jump (update this->y position)
23151 $this->y += $table['padding']['B'] + $table['border_details']['B']['w'] + $table['border_spacing_V'] / 2;
23153 $this->y += $table['max_cell_border_width']['B'] / 2;
23180 $bh = $this->y - $by;
23221 $this->tableBackgrounds[$level * 9][] = ['gradient' => false, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'col' => $color];
23229 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23237 $this->tableBackgrounds[$level * 9 + 1][] = ['gradient' => true, 'x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'gradtype' => $g['type'], 'stops' => $g['stops'], 'colorspace' => $g['colorspace'], 'coords' => $g['coords'], 'extend' => $g['extend'], 'clippath' => ''];
23250 $this->tableBackgrounds[$level * 9 + 2][] = ['x' => $bx, 'y' => $by, 'w' => $bw, 'h' => $bh, 'image_id' => $image_id, 'orig_w' => $orig_w, 'orig_h' => $orig_h, 'x_pos' => $x_pos, 'y_pos' => $y_pos, 'x_repeat' => $x_repeat, 'y_repeat' => $y_repeat, 'clippath' => '', 'resize' => $resize, 'opacity' => $opacity, 'itype' => $itype];
23283 $this->y += ($table['margin']['B']);
23288 $this->breakpoints[$this->CurrCol][] = $this->y;
23328 function Bookmark($txt, $level = 0, $y = 0)
23334 if ($y == -1) {
23336 $y = $this->y;
23338 $y = $this->y0;
23342 // else y is used as set, or =0 i.e. top of page
23344 $bmo = ['t' => $txt, 'l' => $level, 'y' => $y, 'p' => $this->page];
23450 if ($this->y == $this->tMargin && (!$this->mirrorMargins || ($this->mirrorMargins && $this->page % 2 == 1))) {
23470 $ily = $this->y;
24232 $this->breakpoints[$this->CurrCol][] = $this->y; // *COLUMNS*
24248 $this->y = $this->y0;
24320 if (isset($this->y) && $this->y > $this->tMargin) {
24364 $this->y0 = $this->y;
24396 $this->y = $this->y0;
24443 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24446 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24448 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24450 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24452 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24454 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24456 $this->columnbuffer[$key]['rel_y'] = $s['y'] + $this->ColDetails[$s['col']]['add_y'] - $this->y0;
24536 $yadj = ($s['rel_y'] - $s['y']) - ($last_col_bottom) + $this->y0;
24550 $this->columnbuffer[$key]['newy'] = $s['y'] + $yadj;
24552 $clb = $s['y'] + $yadj + $s['h']; // bottom_margin of current
24560 if (isset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])])) {
24561 $ref = $this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])];
24564 unset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])]);
24567 if (isset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])])) {
24568 $ref = $this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])];
24570 $this->form->forms[$ref]['y'] += ($yadj);
24571 unset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])]);
24574 if (isset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])])) {
24575 $ref = $this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])];
24581 $this->PageAnnots[$this->page][$ref]['y'] += ($yadj); // unlike PageLinks, Page annots has y values from top in mm
24582 unset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])]);
24591 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $this->y0, 'p' => $v['p']];
24608 // Set ratio to expand y values or heights
24618 if (isset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])])) {
24619 $ref = $this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])];
24620 $this->PageLinks[$this->page][$ref][1] -= ($yadj * Mpdf::SCALE); // y value
24622 unset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])]);
24625 if (isset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])])) {
24626 $ref = $this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])];
24628 $this->form->forms[$ref]['y'] += ($yadj);
24629 unset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])]);
24632 if (isset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])])) {
24633 $ref = $this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])];
24634 $this->PageAnnots[$this->page][$ref]['y'] += ($yadj);
24635 unset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])]);
24661 // Set ratio to expand y values or heights
24692 $this->y = $lowest_bottom_y;
24706 $clb = $s['y'] + $s['h'];
24713 $this->columnbuffer[$key]['rel_y'] = $s['y']; // Marks position sensitive data to process later
24721 // Set ratio to expand y values or heights
24728 $yadj = ($s['y'] - $this->y0) * ($ratio - 1);
24733 if (isset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])])) {
24734 $ref = $this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])];
24735 $this->PageLinks[$this->page][$ref][1] -= ($yadj * Mpdf::SCALE); // y value
24737 unset($this->columnLinks[$s['col']][intval($s['x'])][intval($s['y'])]);
24740 if (isset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])])) {
24741 $ref = $this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])];
24743 $this->form->forms[$ref]['y'] += ($yadj);
24744 unset($this->columnForms[$s['col']][intval($s['x'])][intval($s['y'])]);
24747 if (isset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])])) {
24748 $ref = $this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])];
24749 $this->PageAnnots[$this->page][$ref]['y'] += ($yadj);
24750 unset($this->columnAnnots[$s['col']][intval($s['x'])][intval($s['y'])]);
24761 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $this->y0, 'p' => $v['p']];
24779 // Set ratio to expand y values or heights
24808 $this->y = $lowest_bottom_y;
24813 // If page has not ended but height adjustment was disabled by custom column-break - adjust y
24831 $clb = $s['y'] + $s['h'];
24851 $this->y = $lowest_bottom_y;
24857 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $v['y'], 'p' => $v['p']];
24961 $this->_tableRect($cba['x'], $cba['y'], $cba['w'], $cba['h'], $cba['bord'], $details, false, false);
24995 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $v['y'], 'p' => $v['p']];
25090 $ay = $v['y'] - $this->tbrot_y0;
25106 $v['y'] = ($by);
25117 $v['y'] = $this->tbrot_y0;
25118 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $v['y'], 'p' => $this->page];
25136 $this->y = $this->tbrot_y0 + $this->tbrot_w;
25195 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $v['y'], 'p' => $v['p']];
25216 // $yadj = $this->y - $this->kwt_y0 ;
25256 $v['y'] = $by;
25266 if ($v['y'] != 0) {
25267 $v['y'] += $yadj;
25269 $this->BMoutlines[] = ['t' => $v['t'], 'l' => $v['l'], 'y' => $v['y'], 'p' => $this->page];
25318 $this->y += $this->kwt_height;
25334 function Circle($x, $y, $r, $style = 'S')
25336 $this->Ellipse($x, $y, $r, $r, $style);
25339 function Ellipse($x, $y, $rx, $ry, $style = 'S')
25354 $this->writer->write(sprintf('%.3F %.3F m %.3F %.3F %.3F %.3F %.3F %.3F c', ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x + $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE));
25355 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $lx) * Mpdf::SCALE, ($h - ($y - $ry)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - ($y - $ly)) * Mpdf::SCALE, ($x - $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE));
25356 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c', ($x - $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x - $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, $x * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE));
25357 $this->writer->write(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F c %s', ($x + $lx) * Mpdf::SCALE, ($h - ($y + $ry)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - ($y + $ly)) * Mpdf::SCALE, ($x + $rx) * Mpdf::SCALE, ($h - $y) * Mpdf::SCALE, $op));
26100 function WriteBarcode($code, $showtext = 1, $x = '', $y = '', $size = 1, $border = 0, $paddingL = 1, $paddingR = 1, $paddingT = 2, $paddingB = 2, $height = 1, $bgcol = false, $col = false, $btype = 'ISBN', $supplement = '0', $supplement_code = '', $k = 1)
26146 if (empty($y)) {
26147 $y = $this->y;
26185 $ypos = $y;
26215 $ypos = $y + $paddingT;
26279 $this->y = $y + $paddingT - ($codestr_fontsize ) - $tisbnm;
26365 $y_text = $y + $paddingT + $bch - ($num_height / 2);
26366 $y_text_outer = $y + $paddingT + $bch - ($num_height * ($outerfontsize / 3) / 2);
26369 $this->y = $y_text_outer;
26389 $this->y = $y_text;
26394 $this->y = $y_text;
26405 $this->y = $y_text_outer;
26430 $ypos = $y + $paddingT + $num_height + 0.5;
26458 $this->y = $y + $paddingT;
26464 $this->y = $y + $paddingT;
26474 $this->SetY($y);
26480 function WriteBarcode2($code, $x = '', $y = '', $size = 1, $height = 1, $bgcol = false, $col = false, $btype = 'IMB', $print_ratio = '', $k = 1, $quiet_zone_left = null, $quiet_zone_right = null)
26493 if (empty($y)) {
26494 $y = $this->y;
26524 $ypos = $y;
26552 $ypos = $y + $tlm + ($bch * $v['p'] / $arrcode['maxh']);
26561 $this->Rect($x, $y, $fbw, ($arrcode['lightTB'] * $xres * $height), 'F');
26562 $this->Rect($x, $y + $tlm + $bch, $fbw, ($arrcode['lightTB'] * $xres * $height), 'F');
26570 $this->SetY($y);
26592 function transformScale($s_x, $s_y, $x = '', $y = '', $returnstring = false)
26598 if ($y === '') {
26599 $y = $this->y;
26606 $y = ($this->h - $y) * Mpdf::SCALE;
26618 $tm[5] = $y * (1 - $s_y);
26647 function transformRotate($angle, $x = '', $y = '', $returnstring = false)
26653 if ($y === '') {
26654 $y = $this->y;
26658 $y = ($this->h - $y) * Mpdf::SCALE;
26667 $tm[4] = $x + $tm[1] * $y - $tm[0] * $x;
26668 $tm[5] = $y - $tm[0] * $y - $tm[1] * $x;
26670 // rotate the coordinate system around ($x,$y)
26681 function transformSkew($angle_x, $angle_y, $x = '', $y = '', $returnstring = false)
26687 if ($y === '') {
26688 $y = $this->y;
26695 $y = ($this->h - $y) * Mpdf::SCALE;
26703 $tm[4] = -$tm[2] * $y;
27304 if ($this->y == 0) {
27305 $y = $_y;
27307 $y = $this->y;
27314 $size = $this->useTemplate($tplidx, $x, $y, $w);
27315 $this->Rect($x, $y, $size['width'], $size['height']);
27320 if (($y + $h + $spacing + $maxh) > $this->PageBreakTrigger && $n != $pagecount) {
27323 $y = $_y;
27325 $y += $h + $spacing;