JAL-2759 rationalise visible contigs iteration
[jalview.git] / src / jalview / datamodel / VisibleContigsIterator.java
index d7594f9..ff060ac 100644 (file)
@@ -13,6 +13,8 @@ public class VisibleContigsIterator implements Iterator<int[]>
 
   private int currentPosition = 0;
 
+  private boolean endsAtHidden = false;
+
   VisibleContigsIterator(int start, int end,
           List<int[]> hiddenColumns)
   {
@@ -24,6 +26,7 @@ public class VisibleContigsIterator implements Iterator<int[]>
 
       for (int[] region : hiddenColumns)
       {
+        endsAtHidden = false;
         hideStart = region[0];
         hideEnd = region[1];
 
@@ -36,6 +39,7 @@ public class VisibleContigsIterator implements Iterator<int[]>
         {
           int[] contig = new int[] { vstart, hideStart - 1 };
           vcontigs.add(contig);
+          endsAtHidden = true;
         }
         vstart = hideEnd + 1;
 
@@ -50,6 +54,7 @@ public class VisibleContigsIterator implements Iterator<int[]>
       {
         int[] contig = new int[] { vstart, end - 1 };
         vcontigs.add(contig);
+        endsAtHidden = false;
       }
     }
     else
@@ -72,5 +77,10 @@ public class VisibleContigsIterator implements Iterator<int[]>
     currentPosition++;
     return result;
   }
+
+  public boolean endsAtHidden()
+  {
+    return endsAtHidden;
+  }
 }