X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Frenderer%2Fseqfeatures%2FFeatureRenderer.java;h=1f47da3421c039c2f9f15950421709927a2004bc;hb=d943fcd0dc04fd4974344eddd13902c89fb595b2;hp=d6619150a01ac2812b054f332425b0bf5f69dc33;hpb=fb2d7072a283815141262d70d5f11a5e966d500b;p=jalview.git diff --git a/src/jalview/renderer/seqfeatures/FeatureRenderer.java b/src/jalview/renderer/seqfeatures/FeatureRenderer.java index d661915..1f47da3 100644 --- a/src/jalview/renderer/seqfeatures/FeatureRenderer.java +++ b/src/jalview/renderer/seqfeatures/FeatureRenderer.java @@ -101,8 +101,7 @@ public class FeatureRenderer extends FeatureRendererModel g.setColor(featureColour); - g.fillRect((i - start) * charWidth, y1, charWidth, - charHeight); + g.fillRect((i - start) * charWidth, y1, charWidth, charHeight); if (colourOnly || !validCharWidth) { @@ -111,8 +110,8 @@ public class FeatureRenderer extends FeatureRendererModel g.setColor(Color.white); int charOffset = (charWidth - fm.charWidth(s)) / 2; - g.drawString(String.valueOf(s), charOffset - + (charWidth * (i - start)), pady); + g.drawString(String.valueOf(s), + charOffset + (charWidth * (i - start)), pady); } return true; } @@ -200,8 +199,8 @@ public class FeatureRenderer extends FeatureRendererModel g.setColor(Color.black); int charOffset = (charWidth - fm.charWidth(s)) / 2; - g.drawString(String.valueOf(s), charOffset - + (charWidth * (i - start)), pady); + g.drawString(String.valueOf(s), + charOffset + (charWidth * (i - start)), pady); } return true; } @@ -217,7 +216,8 @@ public class FeatureRenderer extends FeatureRendererModel return null; } - if (Comparison.isGap(seq.getCharAt(column))) + // column is 'base 1' but getCharAt is an array index (ie from 0) + if (Comparison.isGap(seq.getCharAt(column - 1))) { /* * returning null allows the colour scheme to provide gap colour @@ -416,7 +416,8 @@ public class FeatureRenderer extends FeatureRendererModel * Returns the sequence feature colour rendered at the given column position, * or null if none found. The feature of highest render order (i.e. on top) is * found, subject to both feature type and feature group being visible, and - * its colour returned. + * its colour returned. This method is suitable when no feature transparency + * applied (only the topmost visible feature colour is rendered). *

* Note this method does not check for a gap in the column so would return the * colour for features enclosing a gapped column. Check for gap before calling @@ -438,7 +439,8 @@ public class FeatureRenderer extends FeatureRendererModel * inspect features in reverse renderOrder (the last in the array is * displayed on top) until we find one that is rendered at the position */ - for (int renderIndex = renderOrder.length - 1; renderIndex >= 0; renderIndex--) + for (int renderIndex = renderOrder.length + - 1; renderIndex >= 0; renderIndex--) { String type = renderOrder[renderIndex]; if (!showFeatureOfType(type)) @@ -460,7 +462,7 @@ public class FeatureRenderer extends FeatureRendererModel } } } - + /* * no displayed feature found at position */