/var/www/hkosl.com/imusiccircle/webadmin/libraies/dompdf/dompdf/include/canvas_factory.cls.php


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
<?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
 */

/**
 * 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 DOMPDF       $dompdf
   * @param string|array $paper
   * @param string       $orientation
   * @param string       $class
   *
   * @return Canvas
   */
  
static function get_instance(DOMPDF $dompdf$paper null$orientation null$class null) {

    
$backend strtolower(DOMPDF_PDF_BACKEND);
    
    if ( isset(
$class) && class_exists($classfalse) ) {
      
$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$dompdf);
  }
}