Blame view
dompdf/src/Positioner/Block.php
1.49 KB
670b6d6f8
![]() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
<?php /** * @package dompdf * @link http://dompdf.github.com/ * @author Benj Carson <benjcarson@digitaljunkies.ca> * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License */ namespace Dompdf\Positioner; use Dompdf\FrameDecorator\AbstractFrameDecorator; /** * Positions block frames * * @access private * @package dompdf */ class Block extends AbstractPositioner { function __construct(AbstractFrameDecorator $frame) { parent::__construct($frame); } //........................................................................ function position() { $frame = $this->_frame; $style = $frame->get_style(); $cb = $frame->get_containing_block(); $p = $frame->find_block_parent(); if ($p) { $float = $style->float; if (!$float || $float === "none") { $p->add_line(true); } $y = $p->get_current_line_box()->y; } else { $y = $cb["y"]; } $x = $cb["x"]; // Relative positionning if ($style->position === "relative") { $top = $style->length_in_pt($style->top, $cb["h"]); //$right = $style->length_in_pt($style->right, $cb["w"]); //$bottom = $style->length_in_pt($style->bottom, $cb["h"]); $left = $style->length_in_pt($style->left, $cb["w"]); $x += $left; $y += $top; } $frame->set_position($x, $y); } } |