[ Index ]

PHP Cross Reference of moodle-2.8

title

Body

[close]

/lib/phpexcel/PHPExcel/Worksheet/ -> HeaderFooterDrawing.php (source)

   1  <?php
   2  /**
   3   * PHPExcel
   4   *
   5   * Copyright (c) 2006 - 2014 PHPExcel
   6   *
   7   * This library is free software; you can redistribute it and/or
   8   * modify it under the terms of the GNU Lesser General Public
   9   * License as published by the Free Software Foundation; either
  10   * version 2.1 of the License, or (at your option) any later version.
  11   *
  12   * This library is distributed in the hope that it will be useful,
  13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15   * Lesser General Public License for more details.
  16   *
  17   * You should have received a copy of the GNU Lesser General Public
  18   * License along with this library; if not, write to the Free Software
  19   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  20   *
  21   * @category   PHPExcel
  22   * @package    PHPExcel_Worksheet
  23   * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
  24   * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
  25   * @version    ##VERSION##, ##DATE##
  26   */
  27  
  28  
  29  /**
  30   * PHPExcel_Worksheet_HeaderFooterDrawing
  31   *
  32   * @category   PHPExcel
  33   * @package    PHPExcel_Worksheet
  34   * @copyright  Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
  35   */
  36  class PHPExcel_Worksheet_HeaderFooterDrawing extends PHPExcel_Worksheet_Drawing implements PHPExcel_IComparable
  37  {
  38      /**
  39       * Path
  40       *
  41       * @var string
  42       */
  43      private $_path;
  44  
  45      /**
  46       * Name
  47       *
  48       * @var string
  49       */
  50      protected $_name;
  51  
  52      /**
  53       * Offset X
  54       *
  55       * @var int
  56       */
  57      protected $_offsetX;
  58  
  59      /**
  60       * Offset Y
  61       *
  62       * @var int
  63       */
  64      protected $_offsetY;
  65  
  66      /**
  67       * Width
  68       *
  69       * @var int
  70       */
  71      protected $_width;
  72  
  73      /**
  74       * Height
  75       *
  76       * @var int
  77       */
  78      protected $_height;
  79  
  80      /**
  81       * Proportional resize
  82       *
  83       * @var boolean
  84       */
  85      protected $_resizeProportional;
  86  
  87      /**
  88       * Create a new PHPExcel_Worksheet_HeaderFooterDrawing
  89       */
  90      public function __construct()
  91      {
  92          // Initialise values
  93          $this->_path                = '';
  94          $this->_name                = '';
  95          $this->_offsetX                = 0;
  96          $this->_offsetY                = 0;
  97          $this->_width                = 0;
  98          $this->_height                = 0;
  99          $this->_resizeProportional    = true;
 100      }
 101  
 102      /**
 103       * Get Name
 104       *
 105       * @return string
 106       */
 107      public function getName() {
 108          return $this->_name;
 109      }
 110  
 111      /**
 112       * Set Name
 113       *
 114       * @param string $pValue
 115       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 116       */
 117      public function setName($pValue = '') {
 118          $this->_name = $pValue;
 119          return $this;
 120      }
 121  
 122      /**
 123       * Get OffsetX
 124       *
 125       * @return int
 126       */
 127      public function getOffsetX() {
 128          return $this->_offsetX;
 129      }
 130  
 131      /**
 132       * Set OffsetX
 133       *
 134       * @param int $pValue
 135       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 136       */
 137      public function setOffsetX($pValue = 0) {
 138          $this->_offsetX = $pValue;
 139          return $this;
 140      }
 141  
 142      /**
 143       * Get OffsetY
 144       *
 145       * @return int
 146       */
 147      public function getOffsetY() {
 148          return $this->_offsetY;
 149      }
 150  
 151      /**
 152       * Set OffsetY
 153       *
 154       * @param int $pValue
 155       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 156       */
 157      public function setOffsetY($pValue = 0) {
 158          $this->_offsetY = $pValue;
 159          return $this;
 160      }
 161  
 162      /**
 163       * Get Width
 164       *
 165       * @return int
 166       */
 167      public function getWidth() {
 168          return $this->_width;
 169      }
 170  
 171      /**
 172       * Set Width
 173       *
 174       * @param int $pValue
 175       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 176       */
 177      public function setWidth($pValue = 0) {
 178          // Resize proportional?
 179          if ($this->_resizeProportional && $pValue != 0) {
 180              $ratio = $this->_width / $this->_height;
 181              $this->_height = round($ratio * $pValue);
 182          }
 183  
 184          // Set width
 185          $this->_width = $pValue;
 186  
 187          return $this;
 188      }
 189  
 190      /**
 191       * Get Height
 192       *
 193       * @return int
 194       */
 195      public function getHeight() {
 196          return $this->_height;
 197      }
 198  
 199      /**
 200       * Set Height
 201       *
 202       * @param int $pValue
 203       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 204       */
 205      public function setHeight($pValue = 0) {
 206          // Resize proportional?
 207          if ($this->_resizeProportional && $pValue != 0) {
 208              $ratio = $this->_width / $this->_height;
 209              $this->_width = round($ratio * $pValue);
 210          }
 211  
 212          // Set height
 213          $this->_height = $pValue;
 214  
 215          return $this;
 216      }
 217  
 218      /**
 219       * Set width and height with proportional resize
 220       * Example:
 221       * <code>
 222       * $objDrawing->setResizeProportional(true);
 223       * $objDrawing->setWidthAndHeight(160,120);
 224       * </code>
 225       *
 226       * @author Vincent@luo MSN:[email protected]
 227       * @param int $width
 228       * @param int $height
 229       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 230       */
 231  	public function setWidthAndHeight($width = 0, $height = 0) {
 232          $xratio = $width / $this->_width;
 233          $yratio = $height / $this->_height;
 234          if ($this->_resizeProportional && !($width == 0 || $height == 0)) {
 235              if (($xratio * $this->_height) < $height) {
 236                  $this->_height = ceil($xratio * $this->_height);
 237                  $this->_width  = $width;
 238              } else {
 239                  $this->_width    = ceil($yratio * $this->_width);
 240                  $this->_height    = $height;
 241              }
 242          }
 243          return $this;
 244      }
 245  
 246      /**
 247       * Get ResizeProportional
 248       *
 249       * @return boolean
 250       */
 251      public function getResizeProportional() {
 252          return $this->_resizeProportional;
 253      }
 254  
 255      /**
 256       * Set ResizeProportional
 257       *
 258       * @param boolean $pValue
 259       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 260       */
 261      public function setResizeProportional($pValue = true) {
 262          $this->_resizeProportional = $pValue;
 263          return $this;
 264      }
 265  
 266      /**
 267       * Get Filename
 268       *
 269       * @return string
 270       */
 271      public function getFilename() {
 272          return basename($this->_path);
 273      }
 274  
 275      /**
 276       * Get Extension
 277       *
 278       * @return string
 279       */
 280      public function getExtension() {
 281          $parts = explode(".", basename($this->_path));
 282          return end($parts);
 283      }
 284  
 285      /**
 286       * Get Path
 287       *
 288       * @return string
 289       */
 290      public function getPath() {
 291          return $this->_path;
 292      }
 293  
 294      /**
 295       * Set Path
 296       *
 297       * @param     string         $pValue            File path
 298       * @param     boolean        $pVerifyFile    Verify file
 299       * @throws     PHPExcel_Exception
 300       * @return PHPExcel_Worksheet_HeaderFooterDrawing
 301       */
 302      public function setPath($pValue = '', $pVerifyFile = true) {
 303          if ($pVerifyFile) {
 304              if (file_exists($pValue)) {
 305                  $this->_path = $pValue;
 306  
 307                  if ($this->_width == 0 && $this->_height == 0) {
 308                      // Get width/height
 309                      list($this->_width, $this->_height) = getimagesize($pValue);
 310                  }
 311              } else {
 312                  throw new PHPExcel_Exception("File $pValue not found!");
 313              }
 314          } else {
 315              $this->_path = $pValue;
 316          }
 317          return $this;
 318      }
 319  
 320      /**
 321       * Get hash code
 322       *
 323       * @return string    Hash code
 324       */
 325  	public function getHashCode() {
 326          return md5(
 327                $this->_path
 328              . $this->_name
 329              . $this->_offsetX
 330              . $this->_offsetY
 331              . $this->_width
 332              . $this->_height
 333              . __CLASS__
 334          );
 335      }
 336  
 337      /**
 338       * Implement PHP __clone to create a deep clone, not just a shallow copy.
 339       */
 340  	public function __clone() {
 341          $vars = get_object_vars($this);
 342          foreach ($vars as $key => $value) {
 343              if (is_object($value)) {
 344                  $this->$key = clone $value;
 345              } else {
 346                  $this->$key = $value;
 347              }
 348          }
 349      }
 350  }


Generated: Fri Nov 28 20:29:05 2014 Cross-referenced by PHPXref 0.7.1