2 /* Libchart - PHP chart library
3 * Copyright (C) 2005-2008 Jean-Marc Trémeaux (jm.tremeaux at gmail.com)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 * A set of colors, used for drawing series of data.
23 * @author Jean-Marc Trémeaux (jm.tremeaux at gmail.com)
24 * Created on 26 july 2007
28 public $shadowColorList;
31 * ColorSet constructor.
33 * @param $shadowFactor Shadow factor
34 * @param $colorArray Colors as an array
36 public function ColorSet($colorList, $shadowFactor) {
37 $this->colorList = $colorList;
38 $this->shadowColorList = array();
40 // Generate the shadow color set
41 foreach ($colorList as $color) {
42 $shadowColor = $color->getShadowColor($shadowFactor);
44 array_push($this->shadowColorList, $shadowColor);
49 * Reset the iterator over the collections of colors.
51 public function reset() {
52 reset($this->colorList);
53 reset($this->shadowColorList);
57 * Iterate over the colors and shadow colors. When we go after the last one, loop over.
60 public function next() {
61 $value = next($this->colorList);
62 next($this->shadowColorList);
64 // When we go after the last value, loop over.
65 if ($value == FALSE) {
71 * Returns the current color.
73 * @return Current color
75 public function currentColor() {
76 return current($this->colorList);
80 * Returns the current shadow color.
82 * @return Current shadow color
84 public function currentShadowColor() {
85 return current($this->shadowColorList);