JAL-2778 Tidy
[jalview.git] / src / jalview / viewmodel / OverviewDimensionsShowHidden.java
index 5bd4bba..ec2efa2 100644 (file)
@@ -97,16 +97,14 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
     // get mouse location in viewport coords, add translation in viewport
     // coords,
     // convert back to pixel coords
-    int vpx = Math.round((float) mousex * alwidth / width);
+    int vpx = Math.round(mousex * widthRatio);
     int visXAsRes = hiddenCols.findColumnPosition(vpx) + xdiff;
 
-    int vpy = Math.round((float) mousey * alheight / sequencesHeight);
+    int vpy = Math.round(mousey * heightRatio);
     int visYAsRes = hiddenSeqs.findIndexWithoutHiddenSeqs(vpy) + ydiff;
 
     // update viewport accordingly
-    updateViewportFromTopLeft(visXAsRes, visYAsRes,
-            hiddenSeqs,
-            hiddenCols);
+    updateViewportFromTopLeft(visXAsRes, visYAsRes, hiddenSeqs, hiddenCols);
   }
 
   @Override
@@ -127,6 +125,11 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
       visYAsSeq = 0;
     }
 
+    if (ranges.isWrappedMode())
+    {
+      visYAsSeq = 0; // sorry, no vertical scroll when wrapped
+    }
+
     // Determine where scrollCol should be, given visXAsRes
 
     // get viewport width in residues
@@ -163,8 +166,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
       // went past the end of the alignment, adjust backwards
       if (ranges.getEndSeq() < visAlignHeight)
       {
-        visYAsSeq = hiddenSeqs.findIndexWithoutHiddenSeqs(hiddenSeqs
-                .subtractVisibleRows(vpheight - 1, alheight - 1));
+        visYAsSeq = hiddenSeqs.findIndexWithoutHiddenSeqs(
+                hiddenSeqs.subtractVisibleRows(vpheight - 1, alheight - 1));
       }
       else
       {
@@ -173,8 +176,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
     }
 
     // update viewport
-    ranges.setStartRes(visXAsRes);
-    ranges.setStartSeq(visYAsSeq);
+    ranges.setStartResAndSeq(visXAsRes, visYAsSeq);
   }
 
   /**
@@ -200,22 +202,21 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
     int startSeq = hiddenSeqs.adjustForHiddenSeqs(ranges.getStartSeq());
     int endSeq = hiddenSeqs.adjustForHiddenSeqs(ranges.getEndSeq());
 
-    setBoxPosition(startRes, startSeq, endRes - startRes + 1, endSeq
-            - startSeq + 1);
+    setBoxPosition(startRes, startSeq, endRes - startRes + 1,
+            endSeq - startSeq + 1);
   }
 
   @Override
   public AlignmentColsCollectionI getColumns(AlignmentI al)
   {
-    return new AllColsCollection(0,
-            ranges.getAbsoluteAlignmentWidth() - 1, al);
+    return new AllColsCollection(0, ranges.getAbsoluteAlignmentWidth() - 1,
+            al);
   }
 
   @Override
   public AlignmentRowsCollectionI getRows(AlignmentI al)
   {
-    return new AllRowsCollection(0,
-            ranges.getAbsoluteAlignmentHeight() - 1,
+    return new AllRowsCollection(0, ranges.getAbsoluteAlignmentHeight() - 1,
             al);
   }
 
@@ -224,12 +225,15 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
   {
     alwidth = ranges.getAbsoluteAlignmentWidth();
     alheight = ranges.getAbsoluteAlignmentHeight();
+
+    widthRatio = (float) alwidth / width;
+    heightRatio = (float) alheight / sequencesHeight;
   }
 
   @Override
   protected int getLeftXFromCentreX(int mousex, HiddenColumns hidden)
   {
-    int vpx = Math.round((float) mousex * alwidth / width);
+    int vpx = Math.round(mousex * widthRatio);
     return hidden.subtractVisibleColumns(ranges.getViewportWidth() / 2,
             vpx);
   }
@@ -237,7 +241,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
   @Override
   protected int getTopYFromCentreY(int mousey, HiddenSequences hidden)
   {
-    int vpy = Math.round((float) mousey * alheight / sequencesHeight);
+    int vpy = Math.round(mousey * heightRatio);
     return hidden.subtractVisibleRows(ranges.getViewportHeight() / 2, vpy);
   }
 
@@ -247,8 +251,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions
   {
     // get alignment position of x and box (can get directly from vpranges) and
     // calculate difference between the positions
-    int vpx = Math.round((float) x * alwidth / width);
-    int vpy = Math.round((float) y * alheight / sequencesHeight);
+    int vpx = Math.round(x * widthRatio);
+    int vpy = Math.round(y * heightRatio);
 
     xdiff = ranges.getStartRes() - hiddenCols.findColumnPosition(vpx);
     ydiff = ranges.getStartSeq()