drupal-civicrm/sites/all/modules/civicrm/packages/OpenFlashChart/php-ofc-library/dot_base.php
2018-01-14 13:10:16 +00:00

231 lines
3.9 KiB
PHP

<?php
/**
* A private class. All the other line-dots inherit from this.
* Gives them all some common methods.
*/
class dot_base
{
/**
* @param $type string
* @param $value integer
*/
function __construct($type, $value=null)
{
$this->type = $type;
if( isset( $value ) )
$this->value( $value );
}
/**
* For line charts that only require a Y position
* for each point.
* @param $value as integer, the Y position
*/
function value( $value )
{
$this->value = $value;
}
/**
* For scatter charts that require an X and Y position for
* each point.
*
* @param $x as integer
* @param $y as integer
*/
function position( $x, $y )
{
$this->x = $x;
$this->y = $y;
}
/**
* @param $colour is a string, HEX colour, e.g. '#FF0000' red
*/
function colour($colour)
{
$this->colour = $colour;
return $this;
}
/**
* The tooltip for this dot.
*/
function tooltip( $tip )
{
$this->tip = $tip;
return $this;
}
/**
* @param $size is an integer. Size of the dot.
*/
function size($size)
{
$tmp = 'dot-size';
$this->$tmp = $size;
return $this;
}
/**
* a private method
*/
function type( $type )
{
$this->type = $type;
return $this;
}
/**
* @param $size is an integer. The size of the hollow 'halo' around the dot that masks the line.
*/
function halo_size( $size )
{
$tmp = 'halo-size';
$this->$tmp = $size;
return $this;
}
/**
* @param $do as string. One of three options (examples):
* - "http://example.com" - browse to this URL
* - "https://example.com" - browse to this URL
* - "trace:message" - print this message in the FlashDevelop debug pane
* - all other strings will be called as Javascript functions, so a string "hello_world"
* will call the JS function "hello_world(index)". It passes in the index of the
* point.
*/
function on_click( $do )
{
$tmp = 'on-click';
$this->$tmp = $do;
}
}
/**
* Draw a hollow dot
*/
class hollow_dot extends dot_base
{
function __construct($value=null)
{
parent::__construct( 'hollow-dot', $value );
}
}
/**
* Draw a star
*/
class star extends dot_base
{
/**
* The constructor, takes an optional $value
*/
function __construct($value=null)
{
parent::__construct( 'star', $value );
}
/**
* @param $angle is an integer.
*/
function rotation($angle)
{
$this->rotation = $angle;
return $this;
}
/**
* @param $is_hollow is a boolean.
*/
function hollow($is_hollow)
{
$this->hollow = $is_hollow;
}
}
/**
* Draw a 'bow tie' shape.
*/
class bow extends dot_base
{
/**
* The constructor, takes an optional $value
*/
function __construct($value=null)
{
parent::__construct( 'bow', $value );
}
/**
* Rotate the anchor object.
* @param $angle is an integer.
*/
function rotation($angle)
{
$this->rotation = $angle;
return $this;
}
}
/**
* An <i><b>n</b></i> sided shape.
*/
class anchor extends dot_base
{
/**
* The constructor, takes an optional $value
*/
function __construct($value=null)
{
parent::__construct( 'anchor', $value );
}
/**
* Rotate the anchor object.
* @param $angle is an integer.
*/
function rotation($angle)
{
$this->rotation = $angle;
return $this;
}
/**
* @param $sides is an integer. Number of sides this shape has.
*/
function sides($sides)
{
$this->sides = $sides;
return $this;
}
}
/**
* A simple dot
*/
class dot extends dot_base
{
/**
* The constructor, takes an optional $value
*/
function __construct($value=null)
{
parent::__construct( 'dot', $value );
}
}
/**
* A simple dot
*/
class solid_dot extends dot_base
{
/**
* The constructor, takes an optional $value
*/
function __construct($value=null)
{
parent::__construct( 'solid-dot', $value );
}
}