* @author Stefan Neufeind * @copyright 2003-2009 The PHP Group * @license http://www.gnu.org/copyleft/lesser.html LGPL License 2.1 * @version SVN: $Id: Star.php 291170 2009-11-23 03:50: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 a triangle. * * @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_Star extends Image_Graph_Marker { /** * 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(); $d = $this->_size / 5; $x = round($x); $y = round($y); $this->_canvas->addVertex(array('x' => $x, 'y' => $y - $this->_size)); $this->_canvas->addVertex(array('x' => $x + round($d), 'y' => $y - round($d))); $this->_canvas->addVertex(array('x' => $x + $this->_size, 'y' => $y - round($d))); $this->_canvas->addVertex(array('x' => $x + round(2 * $d), 'y' => $y + round($d))); $this->_canvas->addVertex(array('x' => $x + round(3 * $d), 'y' => $y + $this->_size)); $this->_canvas->addVertex(array('x' => $x, 'y' => $y + round(3 * $d))); $this->_canvas->addVertex(array('x' => $x - round(3 * $d), 'y' => $y + $this->_size)); $this->_canvas->addVertex(array('x' => $x - round(2 * $d), 'y' => $y + round($d))); $this->_canvas->addVertex(array('x' => $x - $this->_size, 'y' => $y - round($d))); $this->_canvas->addVertex(array('x' => $x - round($d), 'y' => $y - round($d))); $this->_canvas->polygon(array('connect' => true)); parent::_drawMarker($x, $y, $values); } } ?>