* @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version CVS: $Id$ * @link http://pear.php.net/package/Image_Graph */ /** * Include file Image/Graph/Marker.php */ require_once 'Image/Graph/Marker.php'; /** * Data marker as circle (require GD2) * * @category Images * @package Image_Graph * @subpackage Marker * @author Jesper Veggerby * @copyright Copyright (C) 2003, 2004 Jesper Veggerby Hansen * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version Release: @package_version@ * @link http://pear.php.net/package/Image_Graph */ class Image_Graph_Marker_Circle extends Image_Graph_Marker { /** * The 'size' of the marker, the meaning depends on the specific Marker * implementation * @var int * @access private */ var $_size = 10; /** * Draw the marker on the canvas * * @param int $x The X (horizontal) position (in pixels) of the marker on * the canvas * @param int $y The Y (vertical) position (in pixels) of the marker on the * canvas * @param array $values The values representing the data the marker 'points' to * @access private */ function _drawMarker($x, $y, $values = false) { $this->_getFillStyle(); $this->_getLineStyle(); $dA = 2*pi()/($this->_size*2); $angle = 0; while ($angle < 2*pi()) { $this->_canvas->addVertex(array('x' => $x + $this->_size*cos($angle), 'y' => $y - $this->_size*sin($angle) )); $angle += $dA; } $this->_canvas->addVertex(array('x' => $x + $this->_size*cos(0), 'y' => $y - $this->_size*sin(0) )); $this->_canvas->polygon(array('connect' => true)); parent::_drawMarker($x, $y, $values); } } ?>