X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/timetracker.git/blobdiff_plain/098a79f0819ebb89b7d48df4a6b154af4560f68e..9a23a8c0a51b7ec38a96f525484134f3cb85dc7e:/WEB-INF/lib/libchart/classes/view/primitive/Primitive.php diff --git a/WEB-INF/lib/libchart/classes/view/primitive/Primitive.php b/WEB-INF/lib/libchart/classes/view/primitive/Primitive.php new file mode 100644 index 00000000..b6b26bd8 --- /dev/null +++ b/WEB-INF/lib/libchart/classes/view/primitive/Primitive.php @@ -0,0 +1,70 @@ +. + * + */ + + /** + * Graphic primitives, extends GD with chart related primitives. + * + * @author Jean-Marc Trémeaux (jm.tremeaux at gmail.com) + */ + class Primitive { + private $img; + + /** + * Creates a new primitive object + * + * @param resource GD image resource + */ + public function Primitive($img) { + $this->img = $img; + } + + /** + * Draws a straight line. + * + * @param integer line start (X) + * @param integer line start (Y) + * @param integer line end (X) + * @param integer line end (Y) + * @param Color line color + */ + public function line($x1, $y1, $x2, $y2, $color, $width = 1) { + imagefilledpolygon($this->img, array($x1, $y1 - $width / 2, $x1, $y1 + $width / 2, $x2, $y2 + $width / 2, $x2, $y2 - $width / 2), 4, $color->getColor($this->img)); + // imageline($this->img, $x1, $y1, $x2, $y2, $color->getColor($this->img)); + } + + /** + * Draw a filled gray box with thick borders and darker corners. + * + * @param integer top left coordinate (x) + * @param integer top left coordinate (y) + * @param integer bottom right coordinate (x) + * @param integer bottom right coordinate (y) + * @param Color edge color + * @param Color corner color + */ + public function outlinedBox($x1, $y1, $x2, $y2, $color0, $color1) { + imagefilledrectangle($this->img, $x1, $y1, $x2, $y2, $color0->getColor($this->img)); + imagerectangle($this->img, $x1, $y1, $x1 + 1, $y1 + 1, $color1->getColor($this->img)); + imagerectangle($this->img, $x2 - 1, $y1, $x2, $y1 + 1, $color1->getColor($this->img)); + imagerectangle($this->img, $x1, $y2 - 1, $x1 + 1, $y2, $color1->getColor($this->img)); + imagerectangle($this->img, $x2 - 1, $y2 - 1, $x2, $y2, $color1->getColor($this->img)); + } + + } +?> \ No newline at end of file