Open Source Repository

Home /jfreechart/jfreechart-1.0.9 | Repository Home



org/jfree/chart/plot/RainbowPalette.java
/* ===========================================================
 * JFreeChart : a free chart library for the Java(tm) platform
 * ===========================================================
 *
 * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors.
 *
 * Project Info:  http://www.jfree.org/jfreechart/index.html
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 * License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 * USA.  
 *
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 * in the United States and other countries.]
 *
 * -------------------
 * RainbowPalette.java
 * -------------------
 * (C) Copyright 2002-2007, by David M. O'Donnell and Contributors.
 *
 * Original Author:  David M. O'Donnell;
 * Contributor(s):   David Gilbert (for Object Refinery Limited);
 *
 * Changes
 * -------
 * 26-Nov-2002 : Version 1 contributed by David M. O'Donnell (DG);
 * 26-Mar-2003 : Implemented Serializable (DG);
 * ------------- JFREECHART 1.0.x ---------------------------------------------
 * 31-Jan-2007 : Deprecated (DG);
 *
 */

package org.jfree.chart.plot;

import java.io.Serializable;

import org.jfree.chart.renderer.xy.XYBlockRenderer;


/**
 * Contains the data to construct an 8-bit rainbow palette
 * This come from an old application which ran on 8-bit graphics device.
 * Thus indexes 0 and 1 were preserved for rendering white and black 
 * respectively.
 
 @deprecated This class is no longer supported (as of version 1.0.4).  If 
 *     you are creating contour plots, please try to use {@link XYPlot} and 
 *     {@link XYBlockRenderer}.
 */
public class RainbowPalette extends ColorPalette implements Serializable {

    /** For serialization. */
    private static final long serialVersionUID = -1906707320728242478L;
    
    /** The red values. */
    private int[] red = {255,   0120115111106102,  97,  
                          93,  88,  84,  79,  75,  70,  66,  61,
                          57,  52,  48,  43,  39,  34,  30,  25
                          21,  16,  12,   7,   3,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   0,   0,
                           0,   0,   0,   0,   0,   0,   0,   0
                           0,   0,   0,   0,   0,   0,   1,   5,
                          10,  14,  19,  23,  28,  32,  37,  41
                          46,  50,  55,  59,  64,  68,  73,  77,
                          82,  86,  91,  95100104109113
                         118123127132136141145150,
                         154159163168172177181186
                         190195199204208213217222,
                         226231235240244249253255
                         255255255255255255255255,
                         255255255255255255255255
                         255255255255255255255255,
                         255255255255255255255255
                         255255255255255255255255,
                         255255255255255255255255
                         255255255255255255255255};

    /** The green values. */
    private int[] green = {255,   0,   0,   0,   0,   0,   0,   0,
                             0,   0,   0,   0,   0,   0,   0,   0,
                             0,   0,   0,   0,   0,   0,   0,   0,
                             0,   0,   0,   0,   0,   2,   6,  11,
                            15,  20,  24,  29,  33,  38,  42,  47,
                            51,  56,  60,  65,  69,  74,  78,  83,
                            87,  92,  96101105110114119,
                           123128132137141146150155,
                           159164168173177182186191
                           195200204209213218222227,
                           231236241245250254255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255255
                           255255255255255255255255,
                           255255255255255255255252
                           248243239234230225221216,
                           212207203198194189185180
                           176171167162158153149144,
                           140135131126122117113108
                           104,  99,  95,  90,  86,  81,  77,  72,
                            68,  63,  59,  54,  50,  45,  41,  36,  
                            32,  27,  23,  18,  14,   9,   5,   0};

    /** The blue values. */
    private int[] blue = {255,   0255255255255255255
                          255255255255255255255255,
                          255255255255255255255255
                          255255255255255255255255,
                          255255255255255255255255
                          255255255255255255255255,
                          255255255255255255255255
                          255255255255255255255255,
                          255255255255255255255255
                          255255255255255255255255,
                          255255255255255255251247
                          242238233229224220215211,
                          206202197193188184179175
                          170166161157152148143139,
                          134130125121116112107103,  
                          98,  94,  89,  85,  80,  76,  71,  67,
                           62,  58,  53,  49,  44,  40,  35,  31,  
                           26,  22,  17,  13,   8,   4,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,   
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,   
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,   
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,  
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,   
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,  
                            0,   0,   0,   0,   0,   0,   0,   0,
                            0,   0,   0,   0,   0,   0,   0,   0,  
                            0,   0,   0,   0,   0,   0,   0,   0};

    /**
     * Default constructor.
     */
    public RainbowPalette() {
        super();
        initialize();
    }

    /**
     * Intializes the palettes indexes
     */
    public void initialize() {

        setPaletteName("Rainbow");

        this.r = new int[this.red.length];
        this.g = new int[this.green.length];
        this.b = new int[this.blue.length];
        System.arraycopy(this.red, 0this.r, 0this.red.length);
        System.arraycopy(this.green, 0this.g, 0this.green.length);
        System.arraycopy(this.blue, 0this.b, 0this.blue.length);

    }

}