uk.ac.starlink.ttools.plot
Class DensityStyle

java.lang.Object
  extended by uk.ac.starlink.ttools.plot.DensityStyle
All Implemented Interfaces:
Icon, Style

public abstract class DensityStyle
extends Object
implements Style, Icon

Style for the way that a density map (2d histogram) is plotted.

Since:
1 Dec 2005
Author:
Mark Taylor

Nested Class Summary
static class DensityStyle.Channel
          Enumeration class which describes a colour channel.
 
Field Summary
static DensityStyle.Channel BLUE
          Blue colour channel.
static DensityStyle.Channel GREEN
          Green colour channel.
static DensityStyle.Channel RED
          Red colour channel.
 
Constructor Summary
DensityStyle(DensityStyle.Channel channel)
          Constructs a new style which plots in a given colour channel.
 
Method Summary
 int getIconHeight()
           
 int getIconWidth()
           
 Icon getLegendIcon()
          Returns an icon suitable for displaying in a legend for this style.
 Shader getShader()
          Returns the shader to use in indexed (non-RGB) mode.
protected abstract  boolean isRGB()
          Indicates whether the plotting is currently to be treated as three-channel RGB plotting or as single-channel intensity plotting.
 int levelBits(byte level)
          Defines how the style looks.
 void paintIcon(Component c, Graphics g, int x, int y)
           
 void setShader(Shader shader)
          Sets the shader to use in indexed (non-RGB) mode.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RED

public static final DensityStyle.Channel RED
Red colour channel.


GREEN

public static final DensityStyle.Channel GREEN
Green colour channel.


BLUE

public static final DensityStyle.Channel BLUE
Blue colour channel.

Constructor Detail

DensityStyle

public DensityStyle(DensityStyle.Channel channel)
Constructs a new style which plots in a given colour channel.

Parameters:
channel - colour channel
Method Detail

setShader

public void setShader(Shader shader)
Sets the shader to use in indexed (non-RGB) mode. This should be an absolute shader.

Parameters:
shader - shader

getShader

public Shader getShader()
Returns the shader to use in indexed (non-RGB) mode. This should be an absolute shader.

Returns:
shader

levelBits

public int levelBits(byte level)
Defines how the style looks. This converts an unsigned byte value (that is a value in the range 0-255 got by doing value=0x000000ff&level) to a bitmask which can be OR-ed with an existing integer to give a 32-type ARGB colour value.

Parameters:
level - unsigned byte value
Returns:
ORable bit mask for modifying a colour value

isRGB

protected abstract boolean isRGB()
Indicates whether the plotting is currently to be treated as three-channel RGB plotting or as single-channel intensity plotting.

Returns:
true iff plotting is currently three-channel

getLegendIcon

public Icon getLegendIcon()
Description copied from interface: Style
Returns an icon suitable for displaying in a legend for this style.

Specified by:
getLegendIcon in interface Style

getIconHeight

public int getIconHeight()
Specified by:
getIconHeight in interface Icon

getIconWidth

public int getIconWidth()
Specified by:
getIconWidth in interface Icon

paintIcon

public void paintIcon(Component c,
                      Graphics g,
                      int x,
                      int y)
Specified by:
paintIcon in interface Icon

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2009 Central Laboratory of the Research Councils. All Rights Reserved.