JAL-4375 JAL-4381 Removal of AnnotationColouring and associated code
[jalview.git] / src / jalview / renderer / AnnotationRenderer.java
index 524e291..d0ee0e9 100644 (file)
@@ -32,10 +32,8 @@ import java.awt.Stroke;
 import java.awt.geom.AffineTransform;
 import java.awt.image.ImageObserver;
 import java.util.BitSet;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Hashtable;
-import java.util.List;
 import java.util.Map;
 
 import org.jfree.graphics2d.svg.SVGGraphics2D;
@@ -53,7 +51,6 @@ import jalview.datamodel.Annotation;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.HiddenColumns;
 import jalview.datamodel.ProfilesI;
-import jalview.datamodel.annotations.AnnotationColouringI;
 import jalview.renderer.api.AnnotationRendererFactoryI;
 import jalview.renderer.api.AnnotationRowRendererI;
 import jalview.schemes.ColourSchemeI;
@@ -1452,7 +1449,6 @@ public class AnnotationRenderer
         continue;
       }
 
-      boolean individualColour = false;
       if (aa_annotations[column].colour == null)
       {
         g.setColor(Color.black);
@@ -1460,17 +1456,14 @@ public class AnnotationRenderer
       else
       {
         g.setColor(aa_annotations[column].colour);
-        individualColour = true;
       }
 
       boolean value1Exists = column > 0
               && aa_annotations[column - 1] != null;
       float value1 = 0f;
-      Color color1 = null;
       if (value1Exists)
       {
         value1 = aa_annotations[column - 1].value;
-        color1 = aa_annotations[column - 1].colour;
       }
       float value2 = aa_annotations[column].value;
       boolean nextValueExists = aa_annotations.length > column + 1
@@ -1495,8 +1488,6 @@ public class AnnotationRenderer
       y1 = y - yValueToPixelHeight(value1, min, range, graphHeight);
       y2 = y - yValueToPixelHeight(value2, min, range, graphHeight);
 
-      float v1 = value1;
-      float v2 = value2;
       int a1 = (x - 1) * charWidth + charWidth / 2;
       int b1 = y1;
       int a2 = x * charWidth + charWidth / 2;
@@ -1506,7 +1497,6 @@ public class AnnotationRenderer
         // only draw an initial half-line
         a1 = x * charWidth;
         b1 = y1 + (y2 - y1) / 2;
-        v1 = value1 + (value2 - value1) / 2;
       }
       else if (x == eRes - sRes)
       {
@@ -1514,23 +1504,11 @@ public class AnnotationRenderer
         // line
         a2 = x * charWidth - 1;
         b2 = y1 + (y2 - y1) / 2;
-        v2 = value1 + (value2 - value1) / 2;
       }
       else
       {
       }
-      AnnotationColouringI ac = aa_annotations[column]
-              .getAnnotationColouring();
-      List<Map.Entry<Float, Color>> valCols = ac == null ? null
-              : ac.rangeColours(v1, v2);
-      if (valCols != null)
-      {
-        drawSegmentedLine(g, valCols, a1, b1, a2, b2);
-      }
-      else
-      {
-        drawLine(g, a1, b1, a2, b2);
-      }
+      drawLine(g, a1, b1, a2, b2);
       x++;
     }
 
@@ -1576,93 +1554,6 @@ public class AnnotationRenderer
     return dashedLineLookup.get(charWidth);
   }
 
-  private void drawSegmentedLine(Graphics g,
-          List<Map.Entry<Float, Color>> valCols, int x1, int y1, int x2,
-          int y2)
-  {
-    if (valCols == null || valCols.size() == 0)
-    {
-      return;
-    }
-    // let's only go forwards+up|down -- try and avoid providing right to left
-    // x values
-    if (x2 < x1)
-    {
-      int tmp = y2;
-      y2 = y1;
-      y1 = tmp;
-      tmp = x2;
-      x2 = x1;
-      x1 = tmp;
-      Collections.reverse(valCols);
-    }
-    Graphics2D g2d = (Graphics2D) g.create();
-    float yd = y2 - y1;
-    boolean reverse = yd > 0; // reverse => line going DOWN (y increasing)
-    Map.Entry<Float, Color> firstValCol = valCols.remove(0);
-    float firstVal = firstValCol.getKey();
-    Color firstCol = firstValCol.getValue();
-    int yy1 = 0;
-    yy1 = reverse ? (int) Math.ceil(y1 + firstVal * yd)
-            : (int) Math.floor(y1 + firstVal * yd);
-    Color thisCol = firstCol;
-    for (int i = 0; i < valCols.size(); i++)
-    {
-      Map.Entry<Float, Color> valCol = valCols.get(i);
-      float val = valCol.getKey();
-      Color col = valCol.getValue();
-      int clipX = x1 - 1;
-      int clipW = x2 - x1 + 2;
-      int clipY = 0;
-      int clipH = 0;
-      int yy2 = 0;
-      if (reverse) // line going down
-      {
-        yy2 = (int) Math.ceil(y1 + val * yd);
-        g2d.setColor(thisCol);
-        clipY = yy1 - 1;
-        clipH = yy2 - yy1;
-        if (i == 0)
-        {
-          // highest segment, don't clip at the top
-          clipY -= 2;
-          clipH += 2;
-        }
-        if (i == valCols.size() - 1)
-        {
-          // lowest segment, don't clip at the bottom
-          clipH += 2;
-        }
-      }
-      else // line going up (or level)
-      {
-        yy2 = (int) Math.floor(y1 + val * yd);
-        // g2d.setColor(Color.cyan); g2d.drawRect(x1 - 1, yy1, x2 - x1 + 1, yy2
-        // -
-        // yy1 + 1);
-        g2d.setColor(col);
-        clipY = yy2;
-        clipH = yy1 - yy2;
-        if (i == 0)
-        {
-          // lowest segment, don't clip at the bottom
-          clipH += 2;
-        }
-        if (i == valCols.size() - 1)
-        {
-          // highest segment, don't clip at the top
-          clipY -= 2;
-          clipH += 2;
-        }
-      }
-      g2d.setClip(clipX, clipY, clipW, clipH);
-      drawLine(g2d, x1, y1, x2, y2);
-      yy1 = yy2;
-      thisCol = col;
-    }
-    g2d.dispose();
-  }
-
   private static int yValueToPixelHeight(float value, float min,
           float range, int graphHeight)
   {