X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Fviewmodel%2FOverviewDimensionsShowHidden.java;h=3aa6e1b0efbf36ac008c5d09485fd02ae4bfe4cf;hp=eaa3413ce9444303997058524aa2c5157e67f931;hb=aad3640b07f836362df7ea025fa09127a0a06145;hpb=783c351b9a8aed11ea41c9db193e8ae3be20b017 diff --git a/src/jalview/viewmodel/OverviewDimensionsShowHidden.java b/src/jalview/viewmodel/OverviewDimensionsShowHidden.java index eaa3413..3aa6e1b 100644 --- a/src/jalview/viewmodel/OverviewDimensionsShowHidden.java +++ b/src/jalview/viewmodel/OverviewDimensionsShowHidden.java @@ -80,7 +80,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int yAsSeq = getTopYFromCentreY(mousey, hiddenSeqs); // convert to visible positions - int visXAsRes = hiddenCols.findColumnPosition(xAsRes); + int visXAsRes = hiddenCols.absoluteToVisibleColumn(xAsRes); yAsSeq = hiddenSeqs.adjustForHiddenSeqs( hiddenSeqs.findIndexWithoutHiddenSeqs(yAsSeq)); yAsSeq = Math.max(yAsSeq, 0); // -1 if before first visible sequence @@ -101,8 +101,8 @@ 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(mousex * widthRatio); - int visXAsRes = hiddenCols.findColumnPosition(vpx) + xdiff; + int vpx = Math.round((float) mousex * alwidth / width); + int visXAsRes = hiddenCols.absoluteToVisibleColumn(vpx) + xdiff; int vpy = Math.round(mousey * heightRatio); int visYAsRes = hiddenSeqs.findIndexWithoutHiddenSeqs(vpy) + ydiff; @@ -143,7 +143,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int vpwidth = ranges.getViewportWidth(); // check in case we went off the edge of the alignment - int visAlignWidth = hiddenCols.findColumnPosition(alwidth - 1); + int visAlignWidth = hiddenCols.absoluteToVisibleColumn(alwidth - 1); if (visXAsRes + vpwidth - 1 > visAlignWidth) { // went past the end of the alignment, adjust backwards @@ -151,8 +151,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions // if last position was before the end of the alignment, need to update if (ranges.getEndRes() < visAlignWidth) { - visXAsRes = hiddenCols.findColumnPosition(hiddenCols - .subtractVisibleColumns(vpwidth - 1, alwidth - 1)); + visXAsRes = hiddenCols.absoluteToVisibleColumn(hiddenCols + .offsetByVisibleColumns(-(vpwidth - 1), alwidth - 1)); } else { @@ -202,8 +202,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions HiddenColumns hiddenCols) { // work with absolute values of startRes and endRes - int startRes = hiddenCols.adjustForHiddenColumns(ranges.getStartRes()); - int endRes = hiddenCols.adjustForHiddenColumns(ranges.getEndRes()); + int startRes = hiddenCols.visibleToAbsoluteColumn(ranges.getStartRes()); + int endRes = hiddenCols.visibleToAbsoluteColumn(ranges.getEndRes()); // work with absolute values of startSeq and endSeq int startSeq = hiddenSeqs.adjustForHiddenSeqs(ranges.getStartSeq()); @@ -245,8 +245,8 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions @Override protected int getLeftXFromCentreX(int mousex, HiddenColumns hidden) { - int vpx = Math.round(mousex * widthRatio); - return hidden.subtractVisibleColumns(ranges.getViewportWidth() / 2, + int vpx = Math.round((float) mousex * alwidth / width); + return hidden.offsetByVisibleColumns(-ranges.getViewportWidth() / 2, vpx); } @@ -272,7 +272,7 @@ public class OverviewDimensionsShowHidden extends OverviewDimensions int vpx = Math.round(x * widthRatio); int vpy = Math.round(y * heightRatio); - xdiff = ranges.getStartRes() - hiddenCols.findColumnPosition(vpx); + xdiff = ranges.getStartRes() - hiddenCols.absoluteToVisibleColumn(vpx); ydiff = ranges.getStartSeq() - hiddenSeqs.findIndexWithoutHiddenSeqs(vpy); }