Merge remote-tracking branch 'origin/develop' into bug/JAL-2491
[jalview.git] / src / jalview / viewmodel / ViewportRanges.java
index ac310cc..da39e36 100644 (file)
@@ -22,6 +22,7 @@ package jalview.viewmodel;
 
 import jalview.api.AlignViewportI;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.HiddenColumns;
 
 /**
  * Slightly less embryonic class which: Supplies and updates viewport properties
@@ -80,6 +81,22 @@ public class ViewportRanges extends ViewportProperties
   }
 
   /**
+   * Get alignment width in cols, excluding hidden cols
+   */
+  public int getVisibleAlignmentWidth()
+  {
+    return al.getWidth() - al.getHiddenColumns().getSize();
+  }
+
+  /**
+   * Get alignment height in rows, excluding hidden rows
+   */
+  public int getVisibleAlignmentHeight()
+  {
+    return al.getHeight();
+  }
+
+  /**
    * Set first residue visible in the viewport, and retain the current width.
    * Fires a property change event.
    * 
@@ -461,14 +478,15 @@ public class ViewportRanges extends ViewportProperties
       scrollUp(false);
     }
 
-    while (x < av.getColumnSelection().adjustForHiddenColumns(startRes))
+    HiddenColumns hidden = al.getHiddenColumns();
+    while (x < hidden.adjustForHiddenColumns(startRes))
     {
       if (!scrollRight(false))
       {
         break;
       }
     }
-    while (x > av.getColumnSelection().adjustForHiddenColumns(endRes))
+    while (x > hidden.adjustForHiddenColumns(endRes))
     {
       if (!scrollRight(true))
       {