PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.3
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.3
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
visualizer / vendor / phpoffice / phpexcel / Classes / PHPExcel / Style / Fill.php

Fill.php in Visualizer – Tables & Charts Manager with Built-in AI Generator 3.0.3, at vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/Fill.php

322 lines 8.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PHPExcel
4 *
5 * Copyright (c) 2006 - 2014 PHPExcel
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 *
21 * @category PHPExcel
22 * @package PHPExcel_Style
23 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
25 * @version ##VERSION##, ##DATE##
26 */
27
28
29 /**
30 * PHPExcel_Style_Fill
31 *
32 * @category PHPExcel
33 * @package PHPExcel_Style
34 * @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
35 */
36 class PHPExcel_Style_Fill extends PHPExcel_Style_Supervisor implements PHPExcel_IComparable
37 {
38 /* Fill types */
39 const FILL_NONE = 'none';
40 const FILL_SOLID = 'solid';
41 const FILL_GRADIENT_LINEAR = 'linear';
42 const FILL_GRADIENT_PATH = 'path';
43 const FILL_PATTERN_DARKDOWN = 'darkDown';
44 const FILL_PATTERN_DARKGRAY = 'darkGray';
45 const FILL_PATTERN_DARKGRID = 'darkGrid';
46 const FILL_PATTERN_DARKHORIZONTAL = 'darkHorizontal';
47 const FILL_PATTERN_DARKTRELLIS = 'darkTrellis';
48 const FILL_PATTERN_DARKUP = 'darkUp';
49 const FILL_PATTERN_DARKVERTICAL = 'darkVertical';
50 const FILL_PATTERN_GRAY0625 = 'gray0625';
51 const FILL_PATTERN_GRAY125 = 'gray125';
52 const FILL_PATTERN_LIGHTDOWN = 'lightDown';
53 const FILL_PATTERN_LIGHTGRAY = 'lightGray';
54 const FILL_PATTERN_LIGHTGRID = 'lightGrid';
55 const FILL_PATTERN_LIGHTHORIZONTAL = 'lightHorizontal';
56 const FILL_PATTERN_LIGHTTRELLIS = 'lightTrellis';
57 const FILL_PATTERN_LIGHTUP = 'lightUp';
58 const FILL_PATTERN_LIGHTVERTICAL = 'lightVertical';
59 const FILL_PATTERN_MEDIUMGRAY = 'mediumGray';
60
61 /**
62 * Fill type
63 *
64 * @var string
65 */
66 protected $_fillType = PHPExcel_Style_Fill::FILL_NONE;
67
68 /**
69 * Rotation
70 *
71 * @var double
72 */
73 protected $_rotation = 0;
74
75 /**
76 * Start color
77 *
78 * @var PHPExcel_Style_Color
79 */
80 protected $_startColor;
81
82 /**
83 * End color
84 *
85 * @var PHPExcel_Style_Color
86 */
87 protected $_endColor;
88
89 /**
90 * Create a new PHPExcel_Style_Fill
91 *
92 * @param boolean $isSupervisor Flag indicating if this is a supervisor or not
93 * Leave this value at default unless you understand exactly what
94 * its ramifications are
95 * @param boolean $isConditional Flag indicating if this is a conditional style or not
96 * Leave this value at default unless you understand exactly what
97 * its ramifications are
98 */
99 public function __construct($isSupervisor = FALSE, $isConditional = FALSE)
100 {
101 // Supervisor?
102 parent::__construct($isSupervisor);
103
104 // Initialise values
105 if ($isConditional) {
106 $this->_fillType = NULL;
107 }
108 $this->_startColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_WHITE, $isSupervisor, $isConditional);
109 $this->_endColor = new PHPExcel_Style_Color(PHPExcel_Style_Color::COLOR_BLACK, $isSupervisor, $isConditional);
110
111 // bind parent if we are a supervisor
112 if ($isSupervisor) {
113 $this->_startColor->bindParent($this, '_startColor');
114 $this->_endColor->bindParent($this, '_endColor');
115 }
116 }
117
118 /**
119 * Get the shared style component for the currently active cell in currently active sheet.
120 * Only used for style supervisor
121 *
122 * @return PHPExcel_Style_Fill
123 */
124 public function getSharedComponent()
125 {
126 return $this->_parent->getSharedComponent()->getFill();
127 }
128
129 /**
130 * Build style array from subcomponents
131 *
132 * @param array $array
133 * @return array
134 */
135 public function getStyleArray($array)
136 {
137 return array('fill' => $array);
138 }
139
140 /**
141 * Apply styles from array
142 *
143 * <code>
144 * $objPHPExcel->getActiveSheet()->getStyle('B2')->getFill()->applyFromArray(
145 * array(
146 * 'type' => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
147 * 'rotation' => 0,
148 * 'startcolor' => array(
149 * 'rgb' => '000000'
150 * ),
151 * 'endcolor' => array(
152 * 'argb' => 'FFFFFFFF'
153 * )
154 * )
155 * );
156 * </code>
157 *
158 * @param array $pStyles Array containing style information
159 * @throws PHPExcel_Exception
160 * @return PHPExcel_Style_Fill
161 */
162 public function applyFromArray($pStyles = null) {
163 if (is_array($pStyles)) {
164 if ($this->_isSupervisor) {
165 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($this->getStyleArray($pStyles));
166 } else {
167 if (array_key_exists('type', $pStyles)) {
168 $this->setFillType($pStyles['type']);
169 }
170 if (array_key_exists('rotation', $pStyles)) {
171 $this->setRotation($pStyles['rotation']);
172 }
173 if (array_key_exists('startcolor', $pStyles)) {
174 $this->getStartColor()->applyFromArray($pStyles['startcolor']);
175 }
176 if (array_key_exists('endcolor', $pStyles)) {
177 $this->getEndColor()->applyFromArray($pStyles['endcolor']);
178 }
179 if (array_key_exists('color', $pStyles)) {
180 $this->getStartColor()->applyFromArray($pStyles['color']);
181 }
182 }
183 } else {
184 throw new PHPExcel_Exception("Invalid style array passed.");
185 }
186 return $this;
187 }
188
189 /**
190 * Get Fill Type
191 *
192 * @return string
193 */
194 public function getFillType() {
195 if ($this->_isSupervisor) {
196 return $this->getSharedComponent()->getFillType();
197 }
198 return $this->_fillType;
199 }
200
201 /**
202 * Set Fill Type
203 *
204 * @param string $pValue PHPExcel_Style_Fill fill type
205 * @return PHPExcel_Style_Fill
206 */
207 public function setFillType($pValue = PHPExcel_Style_Fill::FILL_NONE) {
208 if ($this->_isSupervisor) {
209 $styleArray = $this->getStyleArray(array('type' => $pValue));
210 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
211 } else {
212 $this->_fillType = $pValue;
213 }
214 return $this;
215 }
216
217 /**
218 * Get Rotation
219 *
220 * @return double
221 */
222 public function getRotation() {
223 if ($this->_isSupervisor) {
224 return $this->getSharedComponent()->getRotation();
225 }
226 return $this->_rotation;
227 }
228
229 /**
230 * Set Rotation
231 *
232 * @param double $pValue
233 * @return PHPExcel_Style_Fill
234 */
235 public function setRotation($pValue = 0) {
236 if ($this->_isSupervisor) {
237 $styleArray = $this->getStyleArray(array('rotation' => $pValue));
238 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
239 } else {
240 $this->_rotation = $pValue;
241 }
242 return $this;
243 }
244
245 /**
246 * Get Start Color
247 *
248 * @return PHPExcel_Style_Color
249 */
250 public function getStartColor() {
251 return $this->_startColor;
252 }
253
254 /**
255 * Set Start Color
256 *
257 * @param PHPExcel_Style_Color $pValue
258 * @throws PHPExcel_Exception
259 * @return PHPExcel_Style_Fill
260 */
261 public function setStartColor(PHPExcel_Style_Color $pValue = null) {
262 // make sure parameter is a real color and not a supervisor
263 $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue;
264
265 if ($this->_isSupervisor) {
266 $styleArray = $this->getStartColor()->getStyleArray(array('argb' => $color->getARGB()));
267 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
268 } else {
269 $this->_startColor = $color;
270 }
271 return $this;
272 }
273
274 /**
275 * Get End Color
276 *
277 * @return PHPExcel_Style_Color
278 */
279 public function getEndColor() {
280 return $this->_endColor;
281 }
282
283 /**
284 * Set End Color
285 *
286 * @param PHPExcel_Style_Color $pValue
287 * @throws PHPExcel_Exception
288 * @return PHPExcel_Style_Fill
289 */
290 public function setEndColor(PHPExcel_Style_Color $pValue = null) {
291 // make sure parameter is a real color and not a supervisor
292 $color = $pValue->getIsSupervisor() ? $pValue->getSharedComponent() : $pValue;
293
294 if ($this->_isSupervisor) {
295 $styleArray = $this->getEndColor()->getStyleArray(array('argb' => $color->getARGB()));
296 $this->getActiveSheet()->getStyle($this->getSelectedCells())->applyFromArray($styleArray);
297 } else {
298 $this->_endColor = $color;
299 }
300 return $this;
301 }
302
303 /**
304 * Get hash code
305 *
306 * @return string Hash code
307 */
308 public function getHashCode() {
309 if ($this->_isSupervisor) {
310 return $this->getSharedComponent()->getHashCode();
311 }
312 return md5(
313 $this->getFillType()
314 . $this->getRotation()
315 . $this->getStartColor()->getHashCode()
316 . $this->getEndColor()->getHashCode()
317 . __CLASS__
318 );
319 }
320
321 }
322