Source for file Border.class.php
Documentation is available at Border.class.php
* This work is hereby released into the Public Domain.
* To view a copy of the public domain dedication,
* visit http://creativecommons.org/licenses/publicdomain/ or send a letter to
* Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
require_once dirname(__FILE__ ). "/../Graph.class.php";
* @package linea21.externals
* @param $color Border color
* @param int $style Border style
function awBorder($color = NULL, $style = LINE_SOLID) {
if(is_a($color, 'awColor')) {
* This method automatically shows the border if it is hidden
$this->style = (int) $style;
function hide($hide = TRUE) {
$this->hide = (bool) $hide;
function show($show = TRUE) {
$this->hide = (bool) !$show;
* Is the border visible ?
* Draw border as a rectangle
* @param $p1 Top-left corner
* @param $p2 Bottom-right corner
$line->setStyle($this->style);
$line->setLocation($p1, $p2);
$driver->rectangle($this->color, $line);
* Draw border as an ellipse
* @param $center Ellipse center
* @param int $width Ellipse width
* @param int $height Ellipse height
function ellipse($driver, $center, $width, $height) {
$driver->ellipse($this->color, $center, $width, $height);
awImage::drawError("Class Border: Dashed and dotted borders and not yet implemented on ellipses.");
* Draw border as a polygon
* @param $driver A Driver object
* @param &$polygon A Polygon object
function polygon($driver, &$polygon) {
$polygon->setStyle($this->style);
$driver->polygon($this->color, $polygon);
// In case of LINE_SOLID, Driver::polygon() uses imagepolygon()
// which automatically closes the shape. In any other case,
// we have to do it manually here.
$this->closePolygon($driver, $polygon);
* Draws the last line of a Polygon, between the first and last point
* @param $driver A Driver object
* @param &$polygon The polygon object to close
function closePolygon($driver, &$polygon) {
$first = $polygon->get(0);
$last = $polygon->get($polygon->count() - 1);
$line = new awLine($first, $last, $this->style, $polygon->getThickness());
$driver->line($this->color, $line);
|