X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fappletgui%2FSeqCanvas.java;h=3202fc44e803b1a56999cbabd7d2b827e0b71edf;hb=7bf593f3593a0392fb01d78644f7bfd75762a87e;hp=29616efbac3f4344d61f1f07d9359014bc385e2b;hpb=efc31b4a8d5cee63555586804a2b79c06bdb5a14;p=jalview.git diff --git a/src/jalview/appletgui/SeqCanvas.java b/src/jalview/appletgui/SeqCanvas.java index 29616ef..3202fc4 100755 --- a/src/jalview/appletgui/SeqCanvas.java +++ b/src/jalview/appletgui/SeqCanvas.java @@ -36,7 +36,6 @@ public class SeqCanvas AlignViewport av; - boolean showScores = false; boolean displaySearch = false; int[] searchResults = null; @@ -97,7 +96,7 @@ public class SeqCanvas } if (value != -1) { - int x = LABEL_WEST - fm.stringWidth(value + ""); + int x = LABEL_WEST - fm.stringWidth(String.valueOf(value))-av.charWidth/2; g.drawString(value + "", x, ypos + i * av.charHeight - av.charHeight / 5); } @@ -126,7 +125,7 @@ public class SeqCanvas } if (value != -1) { - g.drawString(value + "", 0, + g.drawString(value + "", av.charWidth/2, ypos + i * av.charHeight - av.charHeight / 5); } } @@ -258,24 +257,39 @@ public class SeqCanvas int LABEL_WEST, LABEL_EAST; public int getWrappedCanvasWidth(int cwidth) { - FontMetrics fm = getFontMetrics(av.getFont()); + FontMetrics fm = getFontMetrics(av.getFont()); - LABEL_EAST = 0; - LABEL_WEST = 0; + LABEL_EAST = 0; + LABEL_WEST = 0; - if (av.scaleRightWrapped) - { - LABEL_EAST = fm.stringWidth(av.alignment.getWidth() + "000"); - } + if (av.scaleRightWrapped) + { + LABEL_EAST = fm.stringWidth(getMask()+"0"); + } - if (av.scaleLeftWrapped) - { - LABEL_WEST = fm.stringWidth(av.alignment.getWidth() + ""); - } + if (av.scaleLeftWrapped) + { + LABEL_WEST = fm.stringWidth(getMask()); + } - return (cwidth - LABEL_EAST - LABEL_WEST) / av.charWidth; + return (cwidth - LABEL_EAST - LABEL_WEST) / av.charWidth; } + + /** + * Generates a string of zeroes. + * @return String + */ + String getMask() + { + String mask = "0"; + for (int i = av.alignment.getWidth(); i > 0; i /= 10) + { + mask += "0"; + } + return mask; + } + public void drawWrappedPanel(Graphics g, int canvasWidth, int canvasHeight, int startRes) { @@ -283,15 +297,16 @@ public class SeqCanvas FontMetrics fm = getFontMetrics(av.getFont()); - int LABEL_EAST = 0; if (av.scaleRightWrapped) { - LABEL_EAST = fm.stringWidth(al.getWidth() + "000"); + LABEL_EAST = fm.stringWidth(getMask()+"0"); } + int LABEL_WEST = 0; + if (av.scaleLeftWrapped) { - LABEL_WEST = fm.stringWidth(al.getWidth() + "0"); + LABEL_WEST = fm.stringWidth(getMask()); } int cWidth = (canvasWidth - LABEL_EAST - LABEL_WEST) / av.charWidth; @@ -313,9 +328,9 @@ public class SeqCanvas if (av.scaleRightWrapped) { - g.translate(canvasWidth - LABEL_EAST + av.charWidth, 0); + g.translate(canvasWidth - LABEL_EAST, 0); drawEastScale(g, startRes, endx, ypos); - g.translate( - (canvasWidth - LABEL_EAST + av.charWidth), 0); + g.translate( - (canvasWidth - LABEL_EAST), 0); } g.translate(LABEL_WEST, 0);