package jalview.schemes;
+import jalview.api.ColorI;
import jalview.api.FeatureColourI;
import jalview.datamodel.SequenceFeature;
import jalview.util.Format;
{
private static final String BAR = "|";
- final private Color colour;
+ final private ColorI colour;
- final private Color minColour;
+ final private ColorI minColour;
- final private Color maxColour;
+ final private ColorI maxColour;
private boolean graduatedColour;
throw new IllegalArgumentException("Invalid colour descriptor: "
+ descriptor);
}
- return new FeatureColour(colour);
+ return new FeatureColour(new Colour(colour));
}
/*
- * autoScaled == true: colours range over actual score range
+ * autoScaled == true: colours range over actual score range;
* autoScaled == false ('abso'): colours range over min/max range
*/
boolean autoScaled = true;
FeatureColour featureColour;
try
{
- featureColour = new FeatureColour(
- new UserColourScheme(mincol).findColour('A'),
- new UserColourScheme(maxcol).findColour('A'), min, max);
+ featureColour = new FeatureColour(new Colour(new UserColourScheme(
+ mincol).findColour('A')), new Colour(new UserColourScheme(
+ maxcol).findColour('A')), min, max);
featureColour.setColourByLabel(labelColour);
featureColour.setAutoScaled(autoScaled);
// add in any additional parameters
*/
public FeatureColour()
{
- this((Color) null);
+ this((ColorI) null);
}
/**
*
* @param c
*/
- public FeatureColour(Color c)
+ public FeatureColour(ColorI c)
{
- minColour = Color.WHITE;
- maxColour = Color.BLACK;
+ minColour = new Colour(Color.WHITE);
+ maxColour = new Colour(Color.BLACK);
minRed = 0f;
minGreen = 0f;
minBlue = 0f;
colour = c;
}
+ public FeatureColour(Color c)
+ {
+ this(new Colour(c));
+ }
+
/**
* Constructor given a colour range and a score range
*
* @param min
* @param max
*/
- public FeatureColour(Color low, Color high, float min, float max)
+ public FeatureColour(ColorI low, ColorI high, float min, float max)
{
graduatedColour = true;
colour = null;
}
}
+ public FeatureColour(Color low, Color high, float min, float max)
+ {
+ this(new Colour(low), new Colour(high), min, max);
+ }
/**
* Copy constructor
*
*/
public FeatureColour(FeatureColour fc)
{
- graduatedColour = fc.graduatedColour;
colour = fc.colour;
minColour = fc.minColour;
maxColour = fc.maxColour;
return graduatedColour;
}
- /**
- * Sets the 'graduated colour' flag. If true, also sets 'colour by label' to
- * false.
- */
- void setGraduatedColour(boolean b)
- {
- graduatedColour = b;
- if (b)
- {
- setColourByLabel(false);
- }
- }
-
@Override
- public Color getColour()
+ public ColorI getColour()
{
return colour;
}
@Override
- public Color getMinColour()
+ public ColorI getMinColour()
{
return minColour;
}
@Override
- public Color getMaxColour()
+ public ColorI getMaxColour()
{
return maxColour;
}
setGraduatedColour(false);
}
}
+
+ /**
+ * Sets the 'graduated colour' flag. If true, also sets 'colour by label' to
+ * false.
+ */
+ void setGraduatedColour(boolean b)
+ {
+ graduatedColour = b;
+ if (b)
+ {
+ setColourByLabel(false);
+ }
+ }
+
@Override
public boolean isBelowThreshold()
{
* @return
*/
@Override
- public Color getColor(SequenceFeature feature)
+ public ColorI getColor(SequenceFeature feature)
{
if (isColourByLabel())
{
- return UserColourScheme
- .createColourFromName(feature.getDescription());
+ return new Colour(UserColourScheme.createColourFromName(feature
+ .getDescription()));
}
if (!isGraduatedColour())
{
scl = 1f;
}
- return new Color(minRed + scl * deltaRed, minGreen + scl * deltaGreen, minBlue + scl * deltaBlue);
+ return new Colour(new Color(minRed + scl * deltaRed, minGreen + scl
+ * deltaGreen, minBlue + scl * deltaBlue));
}
/**