Package guicomponents

Source Code of guicomponents.FCScheme

package guicomponents;

import java.awt.Color;
import java.io.IOException;
import java.io.InputStream;

import processing.core.PApplet;
import processing.core.PImage;

public class FCScheme implements GConstants {

  protected static PApplet app;

  public static final int RED_SCHEME     = 0;
  public static final int GREEN_SCHEME   = 1;
  public static final int YELLOW_SCHEME  = 2;
  public static final int PURPLE_SCHEME  = 3;
  public static final int ORANGE_SCHEME   = 4;
  public static final int CYAN_SCHEME   = 5;
  public static final int BLUE_SCHEME   = 6;
  public static final int GREY_SCHEME   = 7;
  public static final int SCHEME_8    = 8;
  public static final int SCHEME_9    = 9;
  public static final int SCHEME_10    = 10;
  public static final int SCHEME_11    = 11;
  public static final int SCHEME_12    = 12;
  public static final int SCHEME_13    = 13;
  public static final int SCHEME_14    = 14;
  public static final int SCHEME_15    = 15;


  private static int[][] palettes = null;
  private static Color[][] jpalettes = null;

  /**
   * Set the color scheme to one of the preset schemes
   * BLUE / GREEN / RED /  PURPLE / YELLOW / CYAN / GREY
   * or if you have created your own schemes following the instructions
   * at gui4processing.lagers.org.uk/colorscheme.html then you can enter
   * the appropriate numeric value of the scheme.
   *
   * @param theApplet
   * @param schemeNo
   * @return the color scheme based on the scheme number
   */
  public static int[] getColor(PApplet theApplet, int schemeNo){
    app = theApplet;
    schemeNo = Math.abs(schemeNo) % 16;
    if(palettes == null)
      makePalettes();
    return palettes[schemeNo];
  }

  /**
   * Set the color scheme to one of the preset schemes
   * BLUE / GREEN / RED /  PURPLE / YELLOW / CYAN / GREY
   * or if you have created your own schemes following the instructions
   * at gui4processing.lagers.org.uk/colorscheme.html then you can enter
   * the appropriate numeric value of the scheme.
   *
   * @param theApplet
   * @param schemeNo
   * @return the color scheme based on the scheme number
   */
  public static Color[] getJavaColor(PApplet theApplet, int schemeNo){
    app = theApplet;
    schemeNo = Math.abs(schemeNo) % 16;
    if(palettes == null)
      makePalettes();
    return jpalettes[schemeNo];
  }

 
  private static void makePalettes(){
    // Load the image
    PImage image = null;;
    InputStream is = app.createInput("user_gui_palette.png");
    if(is != null){
      try {
        is.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
      image = app.loadImage("user_gui_palette.png");
      GMessenger.message(USER_COL_SCHEME, null, null);
    }
    else {
      // User image not provided
      image = app.loadImage("default_gui_palette.png");
    }
    // Now make the palletes
    palettes = new int[16][16];
    jpalettes = new Color[16][16];
    for(int p = 0; p <16; p++)
      for(int c = 0; c < 16; c++){
        int col =  image.get(c * 16 + 8, p * 16 + 8);
        palettes[p][c] = col;
        jpalettes[p][c] = new Color((col >> 16) & 0xff, (col >> 8) & 0xff, col & 0xff);
      }
  }
}
TOP

Related Classes of guicomponents.FCScheme

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.