001 /* ===========================================================
002 * JFreeChart : a free chart library for the Java(tm) platform
003 * ===========================================================
004 *
005 * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors.
006 *
007 * Project Info: http://www.jfree.org/jfreechart/index.html
008 *
009 * This library is free software; you can redistribute it and/or modify it
010 * under the terms of the GNU Lesser General Public License as published by
011 * the Free Software Foundation; either version 2.1 of the License, or
012 * (at your option) any later version.
013 *
014 * This library is distributed in the hope that it will be useful, but
015 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
016 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
017 * License for more details.
018 *
019 * You should have received a copy of the GNU Lesser General Public
020 * License along with this library; if not, write to the Free Software
021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
022 * USA.
023 *
024 * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
025 * in the United States and other countries.]
026 *
027 * -------------------
028 * RainbowPalette.java
029 * -------------------
030 * (C) Copyright 2002-2007, by David M. O'Donnell and Contributors.
031 *
032 * Original Author: David M. O'Donnell;
033 * Contributor(s): David Gilbert (for Object Refinery Limited);
034 *
035 * Changes
036 * -------
037 * 26-Nov-2002 : Version 1 contributed by David M. O'Donnell (DG);
038 * 26-Mar-2003 : Implemented Serializable (DG);
039 * ------------- JFREECHART 1.0.x ---------------------------------------------
040 * 31-Jan-2007 : Deprecated (DG);
041 *
042 */
043
044 package org.jfree.chart.plot;
045
046 import java.io.Serializable;
047
048 import org.jfree.chart.renderer.xy.XYBlockRenderer;
049
050
051 /**
052 * Contains the data to construct an 8-bit rainbow palette
053 * This come from an old application which ran on 8-bit graphics device.
054 * Thus indexes 0 and 1 were preserved for rendering white and black
055 * respectively.
056 *
057 * @deprecated This class is no longer supported (as of version 1.0.4). If
058 * you are creating contour plots, please try to use {@link XYPlot} and
059 * {@link XYBlockRenderer}.
060 */
061 public class RainbowPalette extends ColorPalette implements Serializable {
062
063 /** For serialization. */
064 private static final long serialVersionUID = -1906707320728242478L;
065
066 /** The red values. */
067 private int[] red = {255, 0, 120, 115, 111, 106, 102, 97,
068 93, 88, 84, 79, 75, 70, 66, 61,
069 57, 52, 48, 43, 39, 34, 30, 25,
070 21, 16, 12, 7, 3, 0, 0, 0,
071 0, 0, 0, 0, 0, 0, 0, 0,
072 0, 0, 0, 0, 0, 0, 0, 0,
073 0, 0, 0, 0, 0, 0, 0, 0,
074 0, 0, 0, 0, 0, 0, 0, 0,
075 0, 0, 0, 0, 0, 0, 0, 0,
076 0, 0, 0, 0, 0, 0, 0, 0,
077 0, 0, 0, 0, 0, 0, 0, 0,
078 0, 0, 0, 0, 0, 0, 0, 0,
079 0, 0, 0, 0, 0, 0, 0, 0,
080 0, 0, 0, 0, 0, 0, 0, 0,
081 0, 0, 0, 0, 0, 0, 0, 0,
082 0, 0, 0, 0, 0, 0, 0, 0,
083 0, 0, 0, 0, 0, 0, 0, 0,
084 0, 0, 0, 0, 0, 0, 1, 5,
085 10, 14, 19, 23, 28, 32, 37, 41,
086 46, 50, 55, 59, 64, 68, 73, 77,
087 82, 86, 91, 95, 100, 104, 109, 113,
088 118, 123, 127, 132, 136, 141, 145, 150,
089 154, 159, 163, 168, 172, 177, 181, 186,
090 190, 195, 199, 204, 208, 213, 217, 222,
091 226, 231, 235, 240, 244, 249, 253, 255,
092 255, 255, 255, 255, 255, 255, 255, 255,
093 255, 255, 255, 255, 255, 255, 255, 255,
094 255, 255, 255, 255, 255, 255, 255, 255,
095 255, 255, 255, 255, 255, 255, 255, 255,
096 255, 255, 255, 255, 255, 255, 255, 255,
097 255, 255, 255, 255, 255, 255, 255, 255,
098 255, 255, 255, 255, 255, 255, 255, 255};
099
100 /** The green values. */
101 private int[] green = {255, 0, 0, 0, 0, 0, 0, 0,
102 0, 0, 0, 0, 0, 0, 0, 0,
103 0, 0, 0, 0, 0, 0, 0, 0,
104 0, 0, 0, 0, 0, 2, 6, 11,
105 15, 20, 24, 29, 33, 38, 42, 47,
106 51, 56, 60, 65, 69, 74, 78, 83,
107 87, 92, 96, 101, 105, 110, 114, 119,
108 123, 128, 132, 137, 141, 146, 150, 155,
109 159, 164, 168, 173, 177, 182, 186, 191,
110 195, 200, 204, 209, 213, 218, 222, 227,
111 231, 236, 241, 245, 250, 254, 255, 255,
112 255, 255, 255, 255, 255, 255, 255, 255,
113 255, 255, 255, 255, 255, 255, 255, 255,
114 255, 255, 255, 255, 255, 255, 255, 255,
115 255, 255, 255, 255, 255, 255, 255, 255,
116 255, 255, 255, 255, 255, 255, 255, 255,
117 255, 255, 255, 255, 255, 255, 255, 255,
118 255, 255, 255, 255, 255, 255, 255, 255,
119 255, 255, 255, 255, 255, 255, 255, 255,
120 255, 255, 255, 255, 255, 255, 255, 255,
121 255, 255, 255, 255, 255, 255, 255, 255,
122 255, 255, 255, 255, 255, 255, 255, 255,
123 255, 255, 255, 255, 255, 255, 255, 255,
124 255, 255, 255, 255, 255, 255, 255, 255,
125 255, 255, 255, 255, 255, 255, 255, 252,
126 248, 243, 239, 234, 230, 225, 221, 216,
127 212, 207, 203, 198, 194, 189, 185, 180,
128 176, 171, 167, 162, 158, 153, 149, 144,
129 140, 135, 131, 126, 122, 117, 113, 108,
130 104, 99, 95, 90, 86, 81, 77, 72,
131 68, 63, 59, 54, 50, 45, 41, 36,
132 32, 27, 23, 18, 14, 9, 5, 0};
133
134 /** The blue values. */
135 private int[] blue = {255, 0, 255, 255, 255, 255, 255, 255,
136 255, 255, 255, 255, 255, 255, 255, 255,
137 255, 255, 255, 255, 255, 255, 255, 255,
138 255, 255, 255, 255, 255, 255, 255, 255,
139 255, 255, 255, 255, 255, 255, 255, 255,
140 255, 255, 255, 255, 255, 255, 255, 255,
141 255, 255, 255, 255, 255, 255, 255, 255,
142 255, 255, 255, 255, 255, 255, 255, 255,
143 255, 255, 255, 255, 255, 255, 255, 255,
144 255, 255, 255, 255, 255, 255, 255, 255,
145 255, 255, 255, 255, 255, 255, 251, 247,
146 242, 238, 233, 229, 224, 220, 215, 211,
147 206, 202, 197, 193, 188, 184, 179, 175,
148 170, 166, 161, 157, 152, 148, 143, 139,
149 134, 130, 125, 121, 116, 112, 107, 103,
150 98, 94, 89, 85, 80, 76, 71, 67,
151 62, 58, 53, 49, 44, 40, 35, 31,
152 26, 22, 17, 13, 8, 4, 0, 0,
153 0, 0, 0, 0, 0, 0, 0, 0,
154 0, 0, 0, 0, 0, 0, 0, 0,
155 0, 0, 0, 0, 0, 0, 0, 0,
156 0, 0, 0, 0, 0, 0, 0, 0,
157 0, 0, 0, 0, 0, 0, 0, 0,
158 0, 0, 0, 0, 0, 0, 0, 0,
159 0, 0, 0, 0, 0, 0, 0, 0,
160 0, 0, 0, 0, 0, 0, 0, 0,
161 0, 0, 0, 0, 0, 0, 0, 0,
162 0, 0, 0, 0, 0, 0, 0, 0,
163 0, 0, 0, 0, 0, 0, 0, 0,
164 0, 0, 0, 0, 0, 0, 0, 0,
165 0, 0, 0, 0, 0, 0, 0, 0,
166 0, 0, 0, 0, 0, 0, 0, 0};
167
168 /**
169 * Default constructor.
170 */
171 public RainbowPalette() {
172 super();
173 initialize();
174 }
175
176 /**
177 * Intializes the palettes indexes
178 */
179 public void initialize() {
180
181 setPaletteName("Rainbow");
182
183 this.r = new int[this.red.length];
184 this.g = new int[this.green.length];
185 this.b = new int[this.blue.length];
186 System.arraycopy(this.red, 0, this.r, 0, this.red.length);
187 System.arraycopy(this.green, 0, this.g, 0, this.green.length);
188 System.arraycopy(this.blue, 0, this.b, 0, this.blue.length);
189
190 }
191
192 }