예제 #1
0
 /**
  * Изменяет y-координату верхнего левого угла.
  *
  * @param int
  * @throws IllegalArgumentException
  */
 public function setTop($top)
 {
     if (!is_int($top)) {
         throw new IllegalArgumentException();
     }
     if ($this->size->getHeight() > 0) {
         $this->setY($top);
     } else {
         $y = $top + $this->getHeight();
         $this->setY($y);
     }
 }
예제 #2
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();
 }