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($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, $dompdf); } }
|