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