X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSequenceRenderer.java;h=a3dd5a6d10249d88e8684b83cdd3371841f68823;hb=c560f35750c96eb1ee4e0e18adf581788ac00ad5;hp=25bcb6d5f8e7433f78354289affe9812aeac79a1;hpb=49685e6426d5ac136dce4907196751680c667670;p=jalview.git diff --git a/src/jalview/gui/SequenceRenderer.java b/src/jalview/gui/SequenceRenderer.java index 25bcb6d..a3dd5a6 100755 --- a/src/jalview/gui/SequenceRenderer.java +++ b/src/jalview/gui/SequenceRenderer.java @@ -25,26 +25,35 @@ import jalview.schemes.*; /** * DOCUMENT ME! - * + * * @author $author$ * @version $Revision$ */ public class SequenceRenderer { AlignViewport av; + FontMetrics fm; + boolean renderGaps = true; + SequenceGroup currentSequenceGroup = null; + SequenceGroup[] allGroups = null; + Color resBoxColour; + Graphics graphics; + boolean monospacedFont; + boolean forOverview = false; /** * Creates a new SequenceRenderer object. - * - * @param av DOCUMENT ME! + * + * @param av + * DOCUMENT ME! */ public SequenceRenderer(AlignViewport av) { @@ -53,8 +62,9 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param b DOCUMENT ME! + * + * @param b + * DOCUMENT ME! */ public void prepare(Graphics g, boolean renderGaps) { @@ -64,9 +74,7 @@ public class SequenceRenderer // If EPS graphics, stringWidth will be a double, not an int double dwidth = fm.getStringBounds("M", g).getWidth(); - monospacedFont = - (dwidth == fm.getStringBounds("|", g).getWidth() - && (float) av.charWidth == dwidth); + monospacedFont = (dwidth == fm.getStringBounds("|", g).getWidth() && (float) av.charWidth == dwidth); this.renderGaps = renderGaps; } @@ -92,10 +100,13 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param cs DOCUMENT ME! - * @param seq DOCUMENT ME! - * @param i DOCUMENT ME! + * + * @param cs + * DOCUMENT ME! + * @param seq + * DOCUMENT ME! + * @param i + * DOCUMENT ME! */ void getBoxColour(ColourSchemeI cs, SequenceI seq, int i) { @@ -103,7 +114,8 @@ public class SequenceRenderer { resBoxColour = cs.findColour(seq.getCharAt(i), i); } - else if (forOverview && !jalview.util.Comparison.isGap(seq.getCharAt(i))) + else if (forOverview + && !jalview.util.Comparison.isGap(seq.getCharAt(i))) { resBoxColour = Color.lightGray; } @@ -115,19 +127,28 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param g DOCUMENT ME! - * @param seq DOCUMENT ME! - * @param sg DOCUMENT ME! - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! - * @param x1 DOCUMENT ME! - * @param y1 DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * + * @param g + * DOCUMENT ME! + * @param seq + * DOCUMENT ME! + * @param sg + * DOCUMENT ME! + * @param start + * DOCUMENT ME! + * @param end + * DOCUMENT ME! + * @param x1 + * DOCUMENT ME! + * @param y1 + * DOCUMENT ME! + * @param width + * DOCUMENT ME! + * @param height + * DOCUMENT ME! */ - public void drawSequence(SequenceI seq, SequenceGroup[] sg, - int start, int end, int y1) + public void drawSequence(SequenceI seq, SequenceGroup[] sg, int start, + int end, int y1) { allGroups = sg; @@ -141,16 +162,24 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param seq DOCUMENT ME! - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! - * @param x1 DOCUMENT ME! - * @param y1 DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * + * @param seq + * DOCUMENT ME! + * @param start + * DOCUMENT ME! + * @param end + * DOCUMENT ME! + * @param x1 + * DOCUMENT ME! + * @param y1 + * DOCUMENT ME! + * @param width + * DOCUMENT ME! + * @param height + * DOCUMENT ME! */ - public synchronized void drawBoxes(SequenceI seq, int start, int end, int y1) + public synchronized void drawBoxes(SequenceI seq, int start, int end, + int y1) { int i = start; int length = seq.getLength(); @@ -185,7 +214,7 @@ public class SequenceRenderer if (tempColour != null) { graphics.fillRect(av.charWidth * (curStart - start), y1, - curWidth, av.charHeight); + curWidth, av.charHeight); } graphics.setColor(resBoxColour); @@ -203,20 +232,27 @@ public class SequenceRenderer } graphics.fillRect(av.charWidth * (curStart - start), y1, curWidth, - av.charHeight); + av.charHeight); } /** * DOCUMENT ME! - * - * @param seq DOCUMENT ME! - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! - * @param x1 DOCUMENT ME! - * @param y1 DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * + * @param seq + * DOCUMENT ME! + * @param start + * DOCUMENT ME! + * @param end + * DOCUMENT ME! + * @param x1 + * DOCUMENT ME! + * @param y1 + * DOCUMENT ME! + * @param width + * DOCUMENT ME! + * @param height + * DOCUMENT ME! */ public void drawText(SequenceI seq, int start, int end, int y1) { @@ -230,11 +266,8 @@ public class SequenceRenderer } graphics.setColor(av.textColour); - if (monospacedFont - && av.showText - && allGroups.length == 0 - && !av.getColourText() - && av.thresholdTextColour == 0) + if (monospacedFont && av.showText && allGroups.length == 0 + && !av.getColourText() && av.thresholdTextColour == 0) { if (av.renderGaps) { @@ -243,8 +276,8 @@ public class SequenceRenderer else { char gap = av.getGapCharacter(); - graphics.drawString(seq.getSequenceAsString(start, end + 1).replace(gap, - ' '), 0, y1); + graphics.drawString(seq.getSequenceAsString(start, end + 1) + .replace(gap, ' '), 0, y1); } } else @@ -268,7 +301,7 @@ public class SequenceRenderer } if (currentSequenceGroup.thresholdTextColour > 0 - || currentSequenceGroup.getColourText()) + || currentSequenceGroup.getColourText()) { getboxColour = true; getBoxColour(currentSequenceGroup.cs, seq, i); @@ -280,10 +313,8 @@ public class SequenceRenderer if (currentSequenceGroup.thresholdTextColour > 0) { - if (resBoxColour.getRed() + - resBoxColour.getBlue() + - resBoxColour.getGreen() < - currentSequenceGroup.thresholdTextColour) + if (resBoxColour.getRed() + resBoxColour.getBlue() + + resBoxColour.getGreen() < currentSequenceGroup.thresholdTextColour) { graphics.setColor(currentSequenceGroup.textColour2); } @@ -324,9 +355,8 @@ public class SequenceRenderer getBoxColour(av.globalColourScheme, seq, i); } - if (resBoxColour.getRed() + - resBoxColour.getBlue() + - resBoxColour.getGreen() < av.thresholdTextColour) + if (resBoxColour.getRed() + resBoxColour.getBlue() + + resBoxColour.getGreen() < av.thresholdTextColour) { graphics.setColor(av.textColour2); } @@ -335,9 +365,8 @@ public class SequenceRenderer } charOffset = (av.charWidth - fm.charWidth(s)) / 2; - graphics.drawString(String.valueOf(s), - charOffset + av.charWidth * (i - start), - y1); + graphics.drawString(String.valueOf(s), charOffset + av.charWidth + * (i - start), y1); } } @@ -345,9 +374,10 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param res DOCUMENT ME! - * + * + * @param res + * DOCUMENT ME! + * * @return DOCUMENT ME! */ boolean inCurrentSequenceGroup(int res) @@ -359,8 +389,8 @@ public class SequenceRenderer for (int i = 0; i < allGroups.length; i++) { - if ( (allGroups[i].getStartRes() <= res) && - (allGroups[i].getEndRes() >= res)) + if ((allGroups[i].getStartRes() <= res) + && (allGroups[i].getEndRes() >= res)) { currentSequenceGroup = allGroups[i]; @@ -373,22 +403,30 @@ public class SequenceRenderer /** * DOCUMENT ME! - * - * @param seq DOCUMENT ME! - * @param start DOCUMENT ME! - * @param end DOCUMENT ME! - * @param x1 DOCUMENT ME! - * @param y1 DOCUMENT ME! - * @param width DOCUMENT ME! - * @param height DOCUMENT ME! + * + * @param seq + * DOCUMENT ME! + * @param start + * DOCUMENT ME! + * @param end + * DOCUMENT ME! + * @param x1 + * DOCUMENT ME! + * @param y1 + * DOCUMENT ME! + * @param width + * DOCUMENT ME! + * @param height + * DOCUMENT ME! */ - public void drawHighlightedText(SequenceI seq, int start, int end, int x1, - int y1) + public void drawHighlightedText(SequenceI seq, int start, int end, + int x1, int y1) { int pady = av.charHeight / 5; int charOffset = 0; graphics.setColor(Color.BLACK); - graphics.fillRect(x1, y1, av.charWidth * (end - start + 1), av.charHeight); + graphics.fillRect(x1, y1, av.charWidth * (end - start + 1), + av.charHeight); graphics.setColor(Color.white); char s = '~'; @@ -404,9 +442,10 @@ public class SequenceRenderer } charOffset = (av.charWidth - fm.charWidth(s)) / 2; - graphics.drawString(String.valueOf(s), - charOffset + x1 + (av.charWidth * (i - start)), - (y1 + av.charHeight) - pady); + graphics + .drawString(String.valueOf(s), charOffset + x1 + + (av.charWidth * (i - start)), + (y1 + av.charHeight) - pady); } } } @@ -425,9 +464,8 @@ public class SequenceRenderer char s = seq.getCharAt(res); charOffset = (av.charWidth - fm.charWidth(s)) / 2; - graphics.drawString(String.valueOf(s), - charOffset + x1, - (y1 + av.charHeight) - pady); + graphics.drawString(String.valueOf(s), charOffset + x1, + (y1 + av.charHeight) - pady); } }