JAL-2491 Cursor scrolling
[jalview.git] / src / jalview / viewmodel / ViewportRanges.java
index 0583a8d..15f5023 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.viewmodel;
 
+import jalview.api.AlignViewportI;
 import jalview.datamodel.AlignmentI;
 
 /**
@@ -389,4 +390,33 @@ public class ViewportRanges extends ViewportProperties
     setStartRes((res / width) * width);
   }
 
+  // pass av here until hidden columns JAL-2388 merged, then use alignment
+  // instead
+  public void scrollToVisible(int x, int y, AlignViewportI av)
+  {
+    while (y < startSeq)
+    {
+      scrollUp(true);
+    }
+    while (y + 1 > endSeq)
+    {
+      scrollUp(false);
+    }
+
+    while (x < av.getColumnSelection().adjustForHiddenColumns(startRes))
+    {
+      if (!scrollRight(false))
+      {
+        break;
+      }
+    }
+    while (x > av.getColumnSelection().adjustForHiddenColumns(endRes))
+    {
+      if (!scrollRight(true))
+      {
+        break;
+      }
+    }
+  }
+
 }