/** * Изменяет, x-координату ыерхнего левого угла * * @param int * @throws IllegalArgumentException */ public function setLeft($left) { if (!is_int($left)) { throw new IllegalArgumentException(); } if ($this->size->getWidth() > 0) { $this->setX($left); } else { $x = $left + $this->getWidth(); $this->setX($x); } }
/** * Returns formated text according to box settings * * @return string */ protected function format() { if ($this->isBoxed()) { $line = array(); $lines = array(); foreach ($this->getWords() as $word) { $linesize = $this->getCoreBoxSize(implode(' ', array_merge($line, array(trim($word))))); if ($linesize->getWidth() <= $this->box->getWidth()) { $line[] = trim($word); } else { $lines[] = implode(' ', $line); $line = array(trim($word)); } } $lines[] = trim(implode(' ', $line)); return implode(PHP_EOL, $lines); } }
/** * * Вычитает из высоты и ширины размера координаты точки или * высоту и ширину другого размера и возвращает получившийся размер. * * @param Size $s * @param Size|Point $obj * @return Size * @throws IllegalArgumentException */ public static function subtract(Size $s, $obj) { if ($obj instanceof Size) { return new Size($s->getWidth() - $obj->getWidth(), $s->getHeight() - $obj->getHeight()); } else { if ($obj instanceof Point) { return new Size($s->getWidth() - $obj->getX(), $s->getHeigth() - $obj->getY()); } } throw new IllegalArgumentException(); }