left; } /** * Set Left. * * @param float $left * * @return $this */ public function setLeft($left) { $this->left = $left; return $this; } /** * Get Right. * * @return float */ public function getRight() { return $this->right; } /** * Set Right. * * @param float $right * * @return $this */ public function setRight($right) { $this->right = $right; return $this; } /** * Get Top. * * @return float */ public function getTop() { return $this->top; } /** * Set Top. * * @param float $top * * @return $this */ public function setTop($top) { $this->top = $top; return $this; } /** * Get Bottom. * * @return float */ public function getBottom() { return $this->bottom; } /** * Set Bottom. * * @param float $bottom * * @return $this */ public function setBottom($bottom) { $this->bottom = $bottom; return $this; } /** * Get Header. * * @return float */ public function getHeader() { return $this->header; } /** * Set Header. * * @param float $header * * @return $this */ public function setHeader($header) { $this->header = $header; return $this; } /** * Get Footer. * * @return float */ public function getFooter() { return $this->footer; } /** * Set Footer. * * @param float $footer * * @return $this */ public function setFooter($footer) { $this->footer = $footer; return $this; } /** * 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; } } } public static function fromCentimeters(float $value): float { return $value / 2.54; } public static function toCentimeters(float $value): float { return $value * 2.54; } public static function fromMillimeters(float $value): float { return $value / 25.4; } public static function toMillimeters(float $value): float { return $value * 25.4; } public static function fromPoints(float $value): float { return $value / 72; } public static function toPoints(float $value): float { return $value * 72; } }