blob: 320ddfa2290a3817785ec03ee0eb7da2be22a509 [file] [log] [blame]
/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
package org.mmtk.utility.gcspy;
import org.mmtk.vm.VM;
import org.vmmagic.pragma.*;
/**
* Color.java
*
* Cut-down implementation of java.awt.Color sufficient to provide
* the server side (Stream) with colours
*/
@Uninterruptible public class Color {
/**
* Some gcspy standard colours (taken from gcspy_color_db.c).
*/
public static final Color Black = new Color(0, 0, 0);
public static final Color Blue = new Color(0, 0, 255);
public static final Color Cyan = new Color(0, 255, 255);
public static final Color DarkGray = new Color(64, 64, 64);
public static final Color Gray = new Color(128, 128, 128);
public static final Color Green = new Color(0, 255, 0);
public static final Color LightGray = new Color(192, 192, 192);
public static final Color Magenta = new Color(255, 0, 255);
public static final Color MidGray = new Color(160, 160, 160);
public static final Color NavyBlue = new Color(0, 0, 150);
public static final Color OffWhite = new Color(230, 230, 230);
public static final Color Orange = new Color(255, 200, 0);
public static final Color Pink = new Color(255, 175, 175);
public static final Color Red = new Color(255, 0, 0);
public static final Color White = new Color(255, 255, 255);
public static final Color Yellow = new Color(255, 255, 0);
private short r; // red component
private short g; // green component
private short b; // blue component
/**
* Constructor for a simple RGB colour model.
*
* @param r red component
* @param g green component
* @param b blue component
*/
public Color(short r, short g, short b) {
if (VM.VERIFY_ASSERTIONS)
VM.assertions._assert((0 <= r) && (r <= 255) &&
(0 <= g) && (g <= 255) &&
(0 <= b) && (b <= 255));
this.r = r;
this.g = g;
this.b = b;
}
/**
* Constructor for a simple RGB colour model.
*
* @param r red component
* @param g green component
* @param b blue component
*/
private Color(int r, int g, int b) {
this((short) r, (short) g, (short) b);
}
/**
* Red component
*
* @return the red component
*/
public short getRed() { return r; }
/**
* Green component
*
* @return the green component
*/
public short getGreen() { return g; }
/**
* Blue component
*
* @return the blue component
*/
public short getBlue() { return b; }
}