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 }