JAL-2674 working refactor of drawPanel iteration
[jalview.git] / src / jalview / gui / SeqCanvas.java
index 2c8a5df..82e4481 100755 (executable)
@@ -852,35 +852,23 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
     else
     {
       int screenY = 0;
-      final int screenYMax = endRes - startRes;
       int blockStart = startRes;
-      int blockEnd = endRes; // equals blockStart + screenYMax - screenY;
+      int blockEnd = endRes;
 
       HiddenColumns hidden = av.getAlignment().getHiddenColumns();
       VisibleBlocksVisBoundsIterator regions = (VisibleBlocksVisBoundsIterator) hidden
-              .getVisibleBlocksIterator(startRes, endRes, true);// hidden.iterator();
+              .getVisibleBlocksIterator(startRes, endRes, true);
+
       while (regions.hasNext())
       {
         int[] region = regions.next();
         blockEnd = region[1];
         blockStart = region[0];
-/*        int hideStart = region[0];
-        int hideEnd = region[1];
 
-        if (hideStart <= blockStart)
-        {
-          blockStart += (hideEnd - hideStart) + 1; // convert startRes to an
-                                                   // absolute value
-          blockEnd += (hideEnd - hideStart) + 1;
-          continue;
-        }
-*/
         /*
          * draw up to just before the next hidden region, or the end of
          * the visible region, whichever comes first
          */
-//        blockEnd = Math.min(hideStart - 1,
-//                blockEnd);
         g1.translate(screenY * charWidth, 0);
 
         draw(g1, blockStart, blockEnd, startSeq, endSeq, yOffset);
@@ -890,8 +878,7 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
          * triangle on top) if we reached it
          */
         if (av.getShowHiddenMarkers()
-                && (regions.hasNext() || regions.endsAtHidden()))// blockEnd ==
-                                                           // hideStart - 1)
+                && (regions.hasNext() || regions.endsAtHidden()))
         {
           g1.setColor(Color.blue);
 
@@ -902,25 +889,7 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
 
         g1.translate(-screenY * charWidth, 0);
         screenY += blockEnd - blockStart + 1;
-        /*       blockStart = hideEnd + 1;
-        blockEnd = blockStart + screenYMax - screenY;
-        
-        if (screenY > screenYMax)
-        {
-          // already rendered last block
-          return;
-        }*/
       }
-
-      /*      if (screenY <= screenYMax)
-      {
-        // remaining visible region to render
-        blockEnd = blockStart + screenYMax - screenY;
-        g1.translate(screenY * charWidth, 0);
-        draw(g1, blockStart, blockEnd, startSeq, endSeq, yOffset);
-      
-        g1.translate(-screenY * charWidth, 0);
-      }*/
     }
 
   }
@@ -1135,20 +1104,13 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
       int blockEnd = endRes;
 
       HiddenColumns hidden = av.getAlignment().getHiddenColumns();
-      Iterator<int[]> regions = hidden.iterator();
+      VisibleBlocksVisBoundsIterator regions = (VisibleBlocksVisBoundsIterator) hidden
+              .getVisibleBlocksIterator(startRes, endRes, true);
       while (regions.hasNext())
       {
         int[] region = regions.next();
-        int hideStart = region[0];
-        int hideEnd = region[1];
-
-        if (hideStart <= blockStart)
-        {
-          blockStart += (hideEnd - hideStart) + 1;
-          continue;
-        }
-
-        blockEnd = hideStart - 1;
+        blockEnd = region[1];
+        blockStart = region[0];
 
         g.translate(screenY * charWidth, 0);
         drawPartialGroupOutline(g, group,
@@ -1156,24 +1118,6 @@ public class SeqCanvas extends JComponent implements ViewportListenerI
 
         g.translate(-screenY * charWidth, 0);
         screenY += blockEnd - blockStart + 1;
-        blockStart = hideEnd + 1;
-
-        if (screenY > (endRes - startRes))
-        {
-          // already rendered last block
-          break;
-        }
-      }
-
-      if (screenY <= (endRes - startRes))
-      {
-        // remaining visible region to render
-        blockEnd = blockStart + (endRes - startRes) - screenY;
-        g.translate(screenY * charWidth, 0);
-        drawPartialGroupOutline(g, group,
-                blockStart, blockEnd, startSeq, endSeq, offset);
-        
-        g.translate(-screenY * charWidth, 0);
       }
     }
   }