. **/ class CSvgPath extends CSvgTag { protected $directions; protected $last_value = 0; public function __construct($directions = '') { parent::__construct('path'); $this->directions = $directions; } public function moveTo($x, $y): self { $this->directions .= ' M'.round($x).','.ceil($y); return $this; } public function lineTo($x, $y): self { $this->directions .= ' L'.round($x).','.ceil($y); return $this; } public function closePath(): self { $this->directions .= ' Z'; return $this; } public function toString($destroy = true): string { if (trim($this->directions) !== '') { $this->setAttribute('d', trim($this->directions)); } return parent::toString($destroy); } }