94 lines
1.7 KiB
PHP
94 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace PhpOffice\PhpSpreadsheet\Reader\Xlsx;
|
|
|
|
class Theme
|
|
{
|
|
/**
|
|
* Theme Name.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $themeName;
|
|
|
|
/**
|
|
* Colour Scheme Name.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $colourSchemeName;
|
|
|
|
/**
|
|
* Colour Map.
|
|
*
|
|
* @var array of string
|
|
*/
|
|
private $colourMap;
|
|
|
|
/**
|
|
* Create a new Theme.
|
|
*
|
|
* @param mixed $themeName
|
|
* @param mixed $colourSchemeName
|
|
* @param mixed $colourMap
|
|
*/
|
|
public function __construct($themeName, $colourSchemeName, $colourMap)
|
|
{
|
|
// Initialise values
|
|
$this->themeName = $themeName;
|
|
$this->colourSchemeName = $colourSchemeName;
|
|
$this->colourMap = $colourMap;
|
|
}
|
|
|
|
/**
|
|
* Get Theme Name.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getThemeName()
|
|
{
|
|
return $this->themeName;
|
|
}
|
|
|
|
/**
|
|
* Get colour Scheme Name.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getColourSchemeName()
|
|
{
|
|
return $this->colourSchemeName;
|
|
}
|
|
|
|
/**
|
|
* Get colour Map Value by Position.
|
|
*
|
|
* @param mixed $index
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getColourByIndex($index)
|
|
{
|
|
if (isset($this->colourMap[$index])) {
|
|
return $this->colourMap[$index];
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* 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)) && ($key != '_parent')) {
|
|
$this->$key = clone $value;
|
|
} else {
|
|
$this->$key = $value;
|
|
}
|
|
}
|
|
}
|
|
}
|