Blame view

sources/3rdparty/dompdf/include/positioner.cls.php 1.16 KB
31b7f2792   Kload   Upgrade to ownclo...
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
  <?php
  /**
   * @package dompdf
   * @link    http://www.dompdf.com/
   * @author  Benj Carson <benjcarson@digitaljunkies.ca>
   * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
   * @version $Id: positioner.cls.php 448 2011-11-13 13:00:03Z fabien.menager $
   */
  
  /**
   * Base Positioner class
   *
   * Defines postioner interface
   *
   * @access private
   * @package dompdf
   */
  abstract class Positioner {
    
    /**
     * @var Frame_Decorator
     */
    protected $_frame;
    
    //........................................................................
  
    function __construct(Frame_Decorator $frame) {
      $this->_frame = $frame;
    }
    
    /**
     * Class destructor
     */
    function __destruct() {
      clear_object($this);
    }
    //........................................................................
  
    abstract function position();
    
    function move($offset_x, $offset_y, $ignore_self = false) {
      list($x, $y) = $this->_frame->get_position();
      
      if ( !$ignore_self ) {
        $this->_frame->set_position($x + $offset_x, $y + $offset_y);
      }
      
      foreach($this->_frame->get_children() as $child) {
        $child->move($offset_x, $offset_y);
      }
    }
  }