Blame view

sources/3rdparty/dompdf/include/canvas_factory.cls.php 1.47 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
53
54
55
56
57
58
59
  <?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: canvas_factory.cls.php 448 2011-11-13 13:00:03Z fabien.menager $
   */
  
  /**
   * Create canvas instances
   *
   * The canvas factory creates canvas instances based on the
   * availability of rendering backends and config options.
   *
   * @package dompdf
   */
  class Canvas_Factory {
  
    /**
     * Constructor is private: this is a static class
     */
    private function __construct() { }
  
    /**
     * @param string|array $paper
     * @param string $orientation
     * @param string $class
     * 
     * @return Canvas
     */
    static function get_instance($paper = null, $orientation = null,  $class = null) {
  
      $backend = strtolower(DOMPDF_PDF_BACKEND);
      
      if ( isset($class) && class_exists($class, false) )
        $class .= "_Adapter";
      
      else if ( (DOMPDF_PDF_BACKEND === "auto" || $backend === "pdflib" ) &&
                class_exists("PDFLib", false) )
        $class = "PDFLib_Adapter";
  
      // FIXME The TCPDF adapter is not ready yet
      //else if ( (DOMPDF_PDF_BACKEND === "auto" || $backend === "cpdf") )
      //  $class = "CPDF_Adapter";
  
      else if ( $backend === "tcpdf")
        $class = "TCPDF_Adapter";
        
      else if ( $backend === "gd" )
        $class = "GD_Adapter";
      
      else
        $class = "CPDF_Adapter";
  
      return new $class($paper, $orientation);
          
    }
  }