[ Index ] |
PHP Cross Reference of moodle-2.8 |
[Summary view] [Print] [Text view]
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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:29:05 2014 | Cross-referenced by PHPXref 0.7.1 |