[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/Image/Canvas/ -> WithMap.php (source)

   1  <?php
   2  
   3  /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
   4  
   5  /**
   6   * Image_Canvas
   7   *
   8   * Canvas based creation of images to facilitate different output formats
   9   *
  10   * PHP versions 4 and 5
  11   *
  12   * LICENSE: This library is free software; you can redistribute it and/or modify
  13   * it under the terms of the GNU Lesser General Public License as published by
  14   * the Free Software Foundation; either version 2.1 of the License, or (at your
  15   * option) any later version. This library is distributed in the hope that it
  16   * will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
  17   * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
  18   * General Public License for more details. You should have received a copy of
  19   * the GNU Lesser General Public License along with this library; if not, write
  20   * to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  21   * 02111-1307 USA
  22   *
  23   * @category   Images
  24   * @package    Image_Canvas
  25   * @author     Jesper Veggerby <pear.nosey@veggerby.dk>
  26   * @copyright  Copyright (C) 2003, 2004 Jesper Veggerby Hansen
  27   * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  28   * @version    CVS: $Id: WithMap.php,v 1.3 2005/08/24 20:37:35 nosey Exp $
  29   * @link       http://pear.php.net/pepr/pepr-proposal-show.php?id=212
  30   */
  31  
  32  /**
  33   *  Class for handling different output formats including a HTML image map
  34   * 
  35   * @category   Images
  36   * @package    Image_Canvas
  37   * @author     Jesper Veggerby <pear.nosey@veggerby.dk>
  38   * @copyright  Copyright (C) 2003, 2004 Jesper Veggerby Hansen
  39   * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  40   * @version    Release: @package_version@
  41   * @link       http://pear.php.net/pepr/pepr-proposal-show.php?id=212
  42   * @since      version 0.2.0
  43   * @abstract
  44   */
  45  class Image_Canvas_WithMap extends Image_Canvas
  46  {
  47  
  48      /**
  49       * The image map
  50       * @var Image_Canvas_ImageMap
  51       * @access private
  52       */
  53      var $_imageMap = null;
  54  
  55      /**
  56       * Create the canvas.
  57       *
  58       * Parameters available:
  59       *
  60       * 'width' The width of the graph on the canvas
  61       *
  62       * 'height' The height of the graph on the canvas
  63       *
  64       * 'left' The left offset of the graph on the canvas
  65       *
  66       * 'top' The top offset of the graph on the canvas
  67       * 
  68       * 'usemap' Initialize an image map
  69       *
  70       * @param array $params Parameter array
  71       * @abstract
  72       */
  73      function Image_Canvas_WithMap($params)
  74      {
  75          parent::Image_Canvas($params);
  76                  
  77          if ((isset($params['usemap'])) && ($params['usemap'] === true)) {
  78              $this->_imageMap =& Image_Canvas::factory(
  79                  'ImageMap',
  80                  array(
  81                      'left' => $this->_left,
  82                      'top' => $this->_top,
  83                      'width' => $this->_width,
  84                      'height' => $this->_height
  85                  )
  86              );
  87          }
  88      }
  89      /**
  90       * Draw a line
  91       *
  92       * Parameter array:
  93       * 'x0': int X start point
  94       * 'y0': int Y start point
  95       * 'x1': int X end point
  96       * 'y1': int Y end point
  97       * 'color': mixed [optional] The line color
  98       * @param array $params Parameter array
  99       */
 100      function line($params)
 101      {
 102          if (isset($this->_imageMap)) {
 103              $this->_imageMap->line($params);
 104          }
 105          parent::line($params);
 106      }
 107  
 108      /**
 109       * Adds vertex to a polygon
 110       *
 111       * Parameter array:
 112       * 'x': int X point
 113       * 'y': int Y point
 114       * @param array $params Parameter array
 115       */
 116      function addVertex($params)
 117      {
 118          if (isset($this->_imageMap)) {
 119              $this->_imageMap->addVertex($params);
 120          }
 121          parent::addVertex($params);
 122      }
 123  
 124      /**
 125       * Adds "splined" vertex to a polygon
 126       *
 127       * Parameter array:
 128       * 'x': int X point
 129       * 'y': int Y point
 130       * 'p1x': X Control point 1
 131       * 'p1y': Y Control point 1
 132       * 'p2x': X Control point 2
 133       * 'p2y': Y Control point 2
 134       * @param array $params Parameter array
 135       */
 136      function addSpline($params)
 137      {
 138          if (isset($this->_imageMap)) {
 139              $this->_imageMap->addSpline($params);
 140          }
 141          parent::addSpline($params);
 142      }
 143  
 144      /**
 145       * Draws a polygon
 146       *
 147       * Parameter array:
 148       * 'connect': bool [optional] Specifies whether the start point should be
 149       *   connected to the endpoint (closed polygon) or not (connected line)
 150       * 'fill': mixed [optional] The fill color
 151       * 'line': mixed [optional] The line color
 152       * @param array $params Parameter array
 153       */
 154      function polygon($params)
 155      {
 156          if (isset($this->_imageMap)) {
 157              $this->_imageMap->polygon($params);
 158          }
 159          parent::polygon($params);
 160      }
 161  
 162      /**
 163       * Draw a rectangle
 164       *
 165       * Parameter array:
 166       * 'x0': int X start point
 167       * 'y0': int Y start point
 168       * 'x1': int X end point
 169       * 'y1': int Y end point
 170       * 'fill': mixed [optional] The fill color
 171       * 'line': mixed [optional] The line color
 172       * @param array $params Parameter array
 173       */
 174      function rectangle($params)
 175      {
 176          if (isset($this->_imageMap)) {
 177              $this->_imageMap->rectangle($params);
 178          }        
 179          parent::rectangle($params);
 180      }
 181  
 182      /**
 183       * Draw an ellipse
 184       *
 185       * Parameter array:
 186       * 'x': int X center point
 187       * 'y': int Y center point
 188       * 'rx': int X radius
 189       * 'ry': int Y radius
 190       * 'fill': mixed [optional] The fill color
 191       * 'line': mixed [optional] The line color
 192       * @param array $params Parameter array
 193       */
 194      function ellipse($params)
 195      {
 196          if (isset($this->_imageMap)) {
 197              $this->_imageMap->ellipse($params);
 198          }        
 199          parent::ellipse($params);
 200      }
 201  
 202      /**
 203       * Draw a pie slice
 204       *
 205       * Parameter array:
 206       * 'x': int X center point
 207       * 'y': int Y center point
 208       * 'rx': int X radius
 209       * 'ry': int Y radius
 210       * 'v1': int The starting angle (in degrees)
 211       * 'v2': int The end angle (in degrees)
 212       * 'srx': int [optional] Starting X-radius of the pie slice (i.e. for a doughnut)
 213       * 'sry': int [optional] Starting Y-radius of the pie slice (i.e. for a doughnut)
 214       * 'fill': mixed [optional] The fill color
 215       * 'line': mixed [optional] The line color
 216       * @param array $params Parameter array
 217       */
 218      function pieslice($params)
 219      {
 220          if (isset($this->_imageMap)) {
 221              $this->_imageMap->pieslice($params);
 222          }        
 223          parent::pieslice($params);
 224      }
 225  
 226      /**
 227       * Writes text
 228       *
 229       * Parameter array:
 230       * 'x': int X-point of text
 231       * 'y': int Y-point of text
 232       * 'text': string The text to add
 233       * 'alignment': array [optional] Alignment
 234       * 'color': mixed [optional] The color of the text
 235       */
 236      function addText($params)
 237      {
 238          if (isset($this->_imageMap)) {
 239              $this->_imageMap->addText($params);
 240          }
 241          parent::addText($params);
 242      }
 243  
 244      /**
 245       * Overlay image
 246       *
 247       * Parameter array:
 248       * 'x': int X-point of overlayed image
 249       * 'y': int Y-point of overlayed image
 250       * 'filename': string The filename of the image to overlay
 251       * 'width': int [optional] The width of the overlayed image (resizing if possible)
 252       * 'height': int [optional] The height of the overlayed image (resizing if possible)
 253       * 'alignment': array [optional] Alignment
 254       */
 255      function image($params)
 256      {
 257          if (isset($this->_imageMap)) {
 258              $this->_imageMap->image($params);
 259          }
 260          parent::image($params);
 261      }
 262  
 263      /**
 264       * Get the imagemap
 265       * @return Image_Graph_ImageMap The image map (or false if none)
 266       */
 267      function &getImageMap()
 268      {
 269          $result = null;
 270          if (isset($this->_imageMap)) {
 271              $result =& $this->_imageMap;
 272          }
 273          return $result;
 274      }
 275  
 276  }
 277  
 278  ?>


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7