JAL-2349 min and max passed by renderer
authorJim Procter <jprocter@issues.jalview.org>
Sun, 11 Jun 2017 01:01:50 +0000 (11:01 +1000)
committerJim Procter <jprocter@issues.jalview.org>
Sun, 11 Jun 2017 01:02:09 +0000 (11:02 +1000)
src/jalview/renderer/ContactMapRenderer.java

index bd59315..dac8882 100644 (file)
@@ -65,8 +65,6 @@ public class ContactMapRenderer implements AnnotationRowRendererI
        * {profile type, #values, total count, char1, pct1, char2, pct2...}
        */
       ContactListI contacts = viewport.getContactList(_aa, column);
-      min = _aa.graphMin;
-      max = _aa.graphMax;
       if (contacts == null)
       {
         return;
@@ -84,7 +82,7 @@ public class ContactMapRenderer implements AnnotationRowRendererI
                 + (contacts.getContactHeight() * (ht - eht) / _aa.graphHeight);
         // TODO show maximum colour for range - sort of done
         // also need a 'getMaxPosForRange(start,end)'
-        g.setColor(getColorForRange(contacts, cstart, cend));
+        g.setColor(getColorForRange(min, max, contacts, cstart, cend));
 
         if (scale > 1)
         {
@@ -102,19 +100,19 @@ public class ContactMapRenderer implements AnnotationRowRendererI
 
   Color minColor = Color.white, maxColor = Color.magenta;
 
-  float min, max;
 
-  Color shadeFor(float value)
+  Color shadeFor(float min, float max, float value)
   {
     return jalview.util.ColorUtils.getGraduatedColour(value, 0, minColor,
             max, maxColor);
   }
 
-  public Color getColorForRange(ContactListI cl, int i, int j)
+  public Color getColorForRange(float min, float max, ContactListI cl,
+          int i, int j)
   {
     ContactRange cr = cl.getRangeFor(i, j);
     // average for moment - probably more interested in maxIntProj though
-    return shadeFor((float) cr.getMean());
+    return shadeFor(min, max, (float) cr.getMean());
   }
 
 }