示例#1
0
 /**
  * Изменяет, 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);
     }
 }
示例#2
0
 /**
  * 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);
     }
 }
示例#3
0
 /**
  *
  * Вычитает из высоты и ширины размера координаты точки или
  * высоту и ширину другого размера и возвращает получившийся размер.
  *
  * @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();
 }