visible = false; $this->blurRadius = 6; $this->distance = 2; $this->direction = 0; $this->alignment = self::SHADOW_BOTTOM_RIGHT; $this->color = new \PhpOffice\PhpSpreadsheet\Style\Color(\PhpOffice\PhpSpreadsheet\Style\Color::COLOR_BLACK); $this->alpha = 50; } /** * Get Visible. * * @return bool */ public function getVisible() { return $this->visible; } /** * Set Visible. * * @param bool $pValue * * @return Shadow */ public function setVisible($pValue = false) { $this->visible = $pValue; return $this; } /** * Get Blur radius. * * @return int */ public function getBlurRadius() { return $this->blurRadius; } /** * Set Blur radius. * * @param int $pValue * * @return Shadow */ public function setBlurRadius($pValue = 6) { $this->blurRadius = $pValue; return $this; } /** * Get Shadow distance. * * @return int */ public function getDistance() { return $this->distance; } /** * Set Shadow distance. * * @param int $pValue * * @return Shadow */ public function setDistance($pValue = 2) { $this->distance = $pValue; return $this; } /** * Get Shadow direction (in degrees). * * @return int */ public function getDirection() { return $this->direction; } /** * Set Shadow direction (in degrees). * * @param int $pValue * * @return Shadow */ public function setDirection($pValue = 0) { $this->direction = $pValue; return $this; } /** * Get Shadow alignment. * * @return int */ public function getAlignment() { return $this->alignment; } /** * Set Shadow alignment. * * @param int $pValue * * @return Shadow */ public function setAlignment($pValue = 0) { $this->alignment = $pValue; return $this; } /** * Get Color. * * @return \PhpOffice\PhpSpreadsheet\Style\Color */ public function getColor() { return $this->color; } /** * Set Color. * * @param \PhpOffice\PhpSpreadsheet\Style\Color $pValue * * @throws \PhpOffice\PhpSpreadsheet\Exception * * @return Shadow */ public function setColor(\PhpOffice\PhpSpreadsheet\Style\Color $pValue = null) { $this->color = $pValue; return $this; } /** * Get Alpha. * * @return int */ public function getAlpha() { return $this->alpha; } /** * Set Alpha. * * @param int $pValue * * @return Shadow */ public function setAlpha($pValue = 0) { $this->alpha = $pValue; return $this; } /** * Get hash code. * * @return string Hash code */ public function getHashCode() { return md5( ($this->visible ? 't' : 'f') . $this->blurRadius . $this->distance . $this->direction . $this->alignment . $this->color->getHashCode() . $this->alpha . __CLASS__ ); } /** * Implement PHP __clone to create a deep clone, not just a shallow copy. */ public function __clone() { $vars = get_object_vars($this); foreach ($vars as $key => $value) { if (is_object($value)) { $this->$key = clone $value; } else { $this->$key = $value; } } } }