JAL-3383 get color as int options removed (to separate branch 3443)
[jalview.git] / src / jalview / renderer / OverviewRenderer.java
index 0768681..82e89e5 100644 (file)
@@ -50,18 +50,18 @@ import javax.swing.Timer;
 
 public class OverviewRenderer
 {
+  public static final String UPDATE = "OverviewUpdate";
+
   // transparency of hidden cols/seqs overlay
   private static final float TRANSPARENCY = 0.5f;
 
-  public static final String UPDATE = "OverviewUpdate";
-
   private static final int MAX_PROGRESS = 100;
 
-  final static int STATE_INIT = 0;
+  private static final int STATE_INIT = 0;
 
-  final static int STATE_NEXT = 1;
+  private static final int STATE_NEXT = 1;
 
-  final static int STATE_DONE = 2;
+  private static final int STATE_DONE = 2;
 
   private int state;
 
@@ -128,7 +128,29 @@ public class OverviewRenderer
 
   private AlignmentViewPanel panel;
 
-  // private int sequencesHeight;
+  private int ndone = 0;
+
+  private AlignmentRowsCollectionI rows;
+
+  private AlignmentColsCollectionI cols;
+
+  private Iterator<Integer> rowIterator;
+
+  private int alignmentHeight;
+
+  private int totalPixels;
+
+  private int lastRowUpdate;
+
+  private int lastUpdate;
+
+  private int[] pixels;
+
+  private BitSet bscol;
+
+  private final int w;
+
+  private final int h;
 
   public OverviewRenderer(AlignmentViewPanel panel,
           jalview.api.FeatureRenderer fr, OverviewDimensions od,
@@ -145,7 +167,7 @@ public class OverviewRenderer
    * @param alignment
    * @param resshader
    * @param colFinder
-   * @param shwoProgress
+   * @param showProgress
    *          possibly not, in JavaScript and for testng
    */
   public OverviewRenderer(AlignmentViewPanel panel,
@@ -153,28 +175,25 @@ public class OverviewRenderer
           AlignmentI alignment, ResidueShaderI resshader,
           OverviewResColourFinder colFinder, boolean showProgress)
   {
-    {
-      this.panel = panel;
-      finder = new FeatureColourFinder(fr);
-      al = alignment;
-      shader = resshader;
-      resColFinder = colFinder;
-      this.showProgress = showProgress;
-
-      w = od.getWidth();
-      h = od.getHeight();
-      rows = od.getRows(alignment);
-      cols = od.getColumns(alignment);
-      graphHeight = od.getGraphHeight();
-      alignmentHeight = od.getSequencesHeight();
-
-      pixelsPerSeq = od.getPixelsPerSeq();
-      pixelsPerCol = od.getPixelsPerCol();
-      colsPerPixel = Math.max(1, 1f / pixelsPerCol);
-
-      skippingColumns = (pixelsPerCol < 1);
-
-    }
+    this.panel = panel;
+    finder = new FeatureColourFinder(fr);
+    al = alignment;
+    shader = resshader;
+    resColFinder = colFinder;
+    this.showProgress = showProgress;
+
+    w = od.getWidth();
+    h = od.getHeight();
+    rows = od.getRows(alignment);
+    cols = od.getColumns(alignment);
+    graphHeight = od.getGraphHeight();
+    alignmentHeight = od.getSequencesHeight();
+
+    pixelsPerSeq = od.getPixelsPerSeq();
+    pixelsPerCol = od.getPixelsPerCol();
+    colsPerPixel = Math.max(1, 1f / pixelsPerCol);
+
+    skippingColumns = (pixelsPerCol < 1);
   }
 
   /**
@@ -423,16 +442,6 @@ public class OverviewRenderer
             : Math.round(icol * pixelsPerCol), w);
   }
 
-  private ActionListener listener = new ActionListener()
-  {
-    @Override
-    public void actionPerformed(ActionEvent e)
-    {
-      mainLoop();
-    }
-
-  };
-
   private boolean loop()
   {
     if (delay <= 0)
@@ -441,7 +450,14 @@ public class OverviewRenderer
     }
     if (timer == null)
     {
-      timer = new Timer(delay, listener);
+      timer = new Timer(delay, new ActionListener()
+      {
+        @Override
+        public void actionPerformed(ActionEvent e)
+        {
+          mainLoop();
+        }
+      });
       timer.setRepeats(false);
       timer.start();
     }
@@ -482,28 +498,6 @@ public class OverviewRenderer
     panel.overviewDone(miniMe);
   }
 
-  int ndone = 0;
-
-  private AlignmentRowsCollectionI rows;
-
-  private AlignmentColsCollectionI cols;
-
-  Iterator<Integer> rowIterator;
-
-  int alignmentHeight;
-
-  int totalPixels;
-
-  int lastRowUpdate;
-
-  int lastUpdate;
-
-  int[] pixels;
-
-  BitSet bscol;
-
-  int w, h;
-
   /*
    * Calculate progress update value and fire event
    * @param rowOffset number of rows to offset calculation by
@@ -536,8 +530,8 @@ public class OverviewRenderer
   {
     return (seq == null || icol >= seq.getLength()
             ? resColFinder.gapColourInt
-             : resColFinder.getResidueColourInt(true, shader, allGroups, seq,
-             icol, finder));
+            : resColFinder.getResidueColour(true, shader, allGroups, seq,
+                    icol, finder).getRGB());
   }
 
   /**
@@ -631,7 +625,9 @@ public class OverviewRenderer
         // get details of this alignment row
         if (rows.isHidden(alignmentRow))
         {
-          g2d.fillRect(0, pixelRow, w, endRow - 1 - pixelRow);
+          // BH 2019.09.24 fixes JAL-3440 Java+JavaScript off by one row in
+          // height
+          g2d.fillRect(0, pixelRow, w, endRow - pixelRow);
         }
         pixelRow = endRow;
       }