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 * $Id: RainbowPalette.java,v 1.1.2.3 2007/01/31 15:56:19 mungady Exp $ 036 * 037 * Changes 038 * ------- 039 * 26-Nov-2002 : Version 1 contributed by David M. O'Donnell (DG); 040 * 26-Mar-2003 : Implemented Serializable (DG); 041 * ------------- JFREECHART 1.0.x --------------------------------------------- 042 * 31-Jan-2007 : Deprecated (DG); 043 * 044 */ 045 046 package org.jfree.chart.plot; 047 048 import java.io.Serializable; 049 050 import org.jfree.chart.renderer.xy.XYBlockRenderer; 051 052 053 /** 054 * Contains the data to construct an 8-bit rainbow palette 055 * This come from an old application which ran on 8-bit graphics device. 056 * Thus indexes 0 and 1 were preserved for rendering white and black 057 * respectively. 058 * 059 * @deprecated This class is no longer supported. If you are creating 060 * contour plots, please try to use {@link XYPlot} and 061 * {@link XYBlockRenderer}. 062 */ 063 public class RainbowPalette extends ColorPalette implements Serializable { 064 065 /** For serialization. */ 066 private static final long serialVersionUID = -1906707320728242478L; 067 068 /** The red values. */ 069 private int[] red = {255, 0, 120, 115, 111, 106, 102, 97, 070 93, 88, 84, 79, 75, 70, 66, 61, 071 57, 52, 48, 43, 39, 34, 30, 25, 072 21, 16, 12, 7, 3, 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, 0, 0, 085 0, 0, 0, 0, 0, 0, 0, 0, 086 0, 0, 0, 0, 0, 0, 1, 5, 087 10, 14, 19, 23, 28, 32, 37, 41, 088 46, 50, 55, 59, 64, 68, 73, 77, 089 82, 86, 91, 95, 100, 104, 109, 113, 090 118, 123, 127, 132, 136, 141, 145, 150, 091 154, 159, 163, 168, 172, 177, 181, 186, 092 190, 195, 199, 204, 208, 213, 217, 222, 093 226, 231, 235, 240, 244, 249, 253, 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 255, 255, 255, 255, 255, 255, 255, 255, 100 255, 255, 255, 255, 255, 255, 255, 255}; 101 102 /** The green values. */ 103 private int[] green = {255, 0, 0, 0, 0, 0, 0, 0, 104 0, 0, 0, 0, 0, 0, 0, 0, 105 0, 0, 0, 0, 0, 0, 0, 0, 106 0, 0, 0, 0, 0, 2, 6, 11, 107 15, 20, 24, 29, 33, 38, 42, 47, 108 51, 56, 60, 65, 69, 74, 78, 83, 109 87, 92, 96, 101, 105, 110, 114, 119, 110 123, 128, 132, 137, 141, 146, 150, 155, 111 159, 164, 168, 173, 177, 182, 186, 191, 112 195, 200, 204, 209, 213, 218, 222, 227, 113 231, 236, 241, 245, 250, 254, 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, 255, 126 255, 255, 255, 255, 255, 255, 255, 255, 127 255, 255, 255, 255, 255, 255, 255, 252, 128 248, 243, 239, 234, 230, 225, 221, 216, 129 212, 207, 203, 198, 194, 189, 185, 180, 130 176, 171, 167, 162, 158, 153, 149, 144, 131 140, 135, 131, 126, 122, 117, 113, 108, 132 104, 99, 95, 90, 86, 81, 77, 72, 133 68, 63, 59, 54, 50, 45, 41, 36, 134 32, 27, 23, 18, 14, 9, 5, 0}; 135 136 /** The blue values. */ 137 private int[] blue = {255, 0, 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, 255, 255, 146 255, 255, 255, 255, 255, 255, 255, 255, 147 255, 255, 255, 255, 255, 255, 251, 247, 148 242, 238, 233, 229, 224, 220, 215, 211, 149 206, 202, 197, 193, 188, 184, 179, 175, 150 170, 166, 161, 157, 152, 148, 143, 139, 151 134, 130, 125, 121, 116, 112, 107, 103, 152 98, 94, 89, 85, 80, 76, 71, 67, 153 62, 58, 53, 49, 44, 40, 35, 31, 154 26, 22, 17, 13, 8, 4, 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 0, 0, 0, 0, 0, 0, 0, 0, 168 0, 0, 0, 0, 0, 0, 0, 0}; 169 170 /** 171 * Default constructor. 172 */ 173 public RainbowPalette() { 174 super(); 175 initialize(); 176 } 177 178 /** 179 * Intializes the palettes indexes 180 */ 181 public void initialize() { 182 183 setPaletteName("Rainbow"); 184 185 this.r = new int[this.red.length]; 186 this.g = new int[this.green.length]; 187 this.b = new int[this.blue.length]; 188 System.arraycopy(this.red, 0, this.r, 0, this.red.length); 189 System.arraycopy(this.green, 0, this.g, 0, this.green.length); 190 System.arraycopy(this.blue, 0, this.b, 0, this.blue.length); 191 192 } 193 194 }