<?php
namespace SVGCreator\ComplexFigures;
class LineEndArrow {
private $element;
public function __construct($x1, $y1, $x2, $y2) {
// Create marker
$marker = new \SVGCreator\Elements\Marker();
$marker->attr("id", "arrow")
->attr("viewBox", "0 0 10 10")
->attr("refX", 0)
->attr("refY", 5)
->attr("markerUnits", "strokeWidth")
->attr("markerWidth", 4)
->attr("markerHeight", 4)
->attr("orient", "auto")
->attr("fill", "#6aa84f")
->attr("stroke", "stroke")
->append(new \SVGCreator\Elements\Path())
->attr("d", "M 0 0 L 10 5 L 0 10 z");
// Create the line element
$this->element = new \SVGCreator\Elements\Line();
$this->element->attr('x1', $x1)
->attr('y1', $y1)
->attr('x2', $x2)
->attr('y2', $y2)
->attr('stroke', '#6aa84f')
->attr('stroke-width', '2px')
->attr('marker-end', 'url(#arrow)');
// Add the marker to the defs of this element
$this->element->addDef($marker);
}
/**
* Returns the element
* @return \SVGCreator\Elements\Line
*/
public function getElement() {
return $this->element;
}
}
|