/**
  * {@inheritdoc}
  */
 public function equals($other)
 {
     if (!$other instanceof self) {
         throw new \InvalidArgumentException('Invalid Border Object');
     }
     return parent::equals($other);
 }
 /**
  * {@inheritdoc}
  */
 public function apply(CanvasInterface $canvas, AbstractStyledDrawable $drawable)
 {
     $fv = $drawable->getColor()->getValue();
     $sv = $this->getSecondColor()->getValue();
     $style = array_merge(array_fill(0, $this->getFirstColorShowTime(), $fv), array_fill(0, $this->getSecondColorShowTime(), $sv));
     if (false == @imagesetstyle($canvas->getHandler(), $style)) {
         throw new DrawableException('Could Not Apply The DashedLine Style');
     }
     return new StyledColor();
 }
 /**
  * Clone Pixel
  */
 public function __clone()
 {
     parent::__clone();
     $this->coordinate = clone $this->coordinate;
 }
 /** Clone Line */
 public function __clone()
 {
     parent::__clone();
     $this->startCoordinate = clone $this->startCoordinate;
     $this->endCoordinate = clone $this->endCoordinate;
 }
 /**
  * {@inheritdoc}
  */
 public function apply(CanvasInterface $canvas, AbstractStyledDrawable $drawable)
 {
     $this->canvas = new Canvas(new Dimension($this->getThickness(), $this->getThickness()));
     $this->canvas->fill($drawable->getColor());
     $style = new Brush($this->canvas, $this->show, $this->hide);
     return $style->apply($canvas, $drawable);
 }