* $graph = new ezcGraphPieChart(); * $graph->background->color = '#FFFFFFFF'; * $graph->title = 'Access statistics'; * $graph->legend = false; * * $graph->data['Access statistics'] = new ezcGraphArrayDataSet( array( * 'Mozilla' => 19113, * 'Explorer' => 10917, * 'Opera' => 1464, * 'Safari' => 652, * 'Konqueror' => 474, * ) ); * * $graph->driver = new ezcGraphCairoDriver(); * * // No options yet. * * $graph->render( 400, 200, 'tutorial_driver_cairo.png' ); * * * @property float $imageMapResolution * Degree step used to interpolate round image primitives by * polygons for image maps * @property float $circleResolution * Resolution for circles, until I understand how to draw ellipses * with SWFShape::curveTo() * * @version 1.4beta1 * @package Graph */ class ezcGraphCairoDriverOptions extends ezcGraphDriverOptions { /** * Constructor * * @param array $options Default option array * @return void * @ignore */ public function __construct( array $options = array() ) { $this->properties['imageMapResolution'] = 10; $this->properties['circleResolution'] = 2.; parent::__construct( $options ); } /** * Set an option value * * @param string $propertyName * @param mixed $propertyValue * @throws ezcBasePropertyNotFoundException * If a property is not defined in this class * @return void * @ignore */ public function __set( $propertyName, $propertyValue ) { switch ( $propertyName ) { case 'imageMapResolution': if ( !is_numeric( $propertyValue ) || ( $propertyValue < 1 ) ) { throw new ezcBaseValueException( $propertyName, $propertyValue, 'int >= 1' ); } $this->properties['imageMapResolution'] = (int) $propertyValue; break; case 'circleResolution': if ( !is_numeric( $propertyValue ) || ( $propertyValue <= 0 ) ) { throw new ezcBaseValueException( $propertyName, $propertyValue, 'float > 0' ); } $this->properties['circleResolution'] = (float) $propertyValue; break; default: parent::__set( $propertyName, $propertyValue ); break; } } } ?>