* @author Stefan Neufeind * @copyright 2003-2009 The PHP Group * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version SVN: $Id: Circle.php 291406 2009-11-29 00:54:22Z neufeind $ * @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 * @author Stefan Neufeind * @copyright 2003-2009 The PHP Group * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version Release: 0.8.0 * @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 * * @return void * @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); } } ?>