diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Pdf/Canvas.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Pdf/Canvas.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,182 @@ + array(), + 'XObject' => array(), + 'ExtGState' => array()); + + /** + * Object constructor + * + * @param float $width + * @param float $height + */ + public function __construct($width, $height) + { + $this->_width = $width; + $this->_height = $height; + } + + /** + * Add procedure set to the canvas description + * + * @param string $procSetName + */ + protected function _addProcSet($procSetName) + { + $this->_procset[$procSetName] = 1; + } + + /** + * Attach resource to the canvas + * + * Method returns a name of the resource which can be used + * as a resource reference within drawing instructions stream + * Allowed types: 'ExtGState', 'ColorSpace', 'Pattern', 'Shading', + * 'XObject', 'Font', 'Properties' + * + * @param string $type + * @param Zend_Pdf_Resource $resource + * @return string + */ + protected function _attachResource($type, Zend_Pdf_Resource $resource) + { + // Check, that resource is already attached to resource set. + $resObject = $resource->getResource(); + foreach ($this->_resources[$type] as $resName => $collectedResObject) { + if ($collectedResObject === $resObject) { + return $resName; + } + } + + $idCounter = 1; + do { + $newResName = $type[0] . $idCounter++; + } while (isset($this->_resources[$type][$newResName])); + + $this->_resources[$type][$newResName] = $resObject; + + return $newResName; + } + + /** + * Returns dictionaries of used resources. + * + * Used for canvas implementations interoperability + * + * Structure of the returned array: + * array( + * => array( + * => , + * => , + * => , + * ... + * ), + * => array( + * => , + * => , + * => , + * ... + * ), + * ... + * 'ProcSet' => array() + * ) + * + * where ProcSet array is a list of used procedure sets names (strings). + * Allowed procedure set names: 'PDF', 'Text', 'ImageB', 'ImageC', 'ImageI' + * + * @internal + * @return array + */ + public function getResources() + { + $this->_resources['ProcSet'] = array_keys($this->_procSet); + return $this->_resources; + } + + /** + * Get drawing instructions stream + * + * It has to be returned as a PDF stream object to make it reusable. + * + * @internal + * @returns Zend_Pdf_Resource_ContentStream + */ + public function getContents() + { + /** @todo implementation */ + } + + /** + * Return the height of this page in points. + * + * @return float + */ + public function getHeight() + { + return $this->_height; + } + + /** + * Return the width of this page in points. + * + * @return float + */ + public function getWidth() + { + return $this->_width; + } +}